cici 0.5.0 → 0.6.0
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/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +28 -28
- package/.next/app-path-routes-manifest.json +3 -3
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/asset/[...path]/route.js +1 -1
- package/.next/server/app/api/asset/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/asset/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/[...nextauth]/route.js +1 -1
- package/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/reactions/route.js +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/reactions/route.js.nft.json +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/reactions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/route.js +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/route.js.nft.json +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/replies/route.js +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/replies/route.js.nft.json +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/replies/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/resolve/route.js +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/resolve/route.js.nft.json +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/resolve/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/route.js +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/route.js.nft.json +1 -1
- package/.next/server/app/api/blog/[id]/highlights/[hid]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/blog/[id]/highlights/route.js +1 -1
- package/.next/server/app/api/blog/[id]/highlights/route.js.nft.json +1 -1
- package/.next/server/app/api/blog/[id]/highlights/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/graphql/route.js +4 -4
- package/.next/server/app/api/graphql/route.js.nft.json +1 -1
- package/.next/server/app/api/graphql/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/mile/prompts/route.js +2 -2
- package/.next/server/app/api/mile/prompts/route.js.nft.json +1 -1
- package/.next/server/app/api/mile/prompts/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/upload/route.js +1 -1
- package/.next/server/app/api/upload/route.js.nft.json +1 -1
- package/.next/server/app/api/upload/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/webhooks/notification/route.js +1 -1
- package/.next/server/app/api/webhooks/notification/route.js.nft.json +1 -1
- package/.next/server/app/api/webhooks/notification/route_client-reference-manifest.js +1 -1
- package/.next/server/app/atom.xml/route.js +2 -2
- package/.next/server/app/atom.xml/route.js.nft.json +1 -1
- package/.next/server/app/atom.xml/route_client-reference-manifest.js +1 -1
- package/.next/server/app/atom.xml.body +1 -1
- package/.next/server/app/blog/[id]/page.js +1 -1
- package/.next/server/app/blog/[id]/page.js.nft.json +1 -1
- package/.next/server/app/blog/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/blog/page.js +2 -2
- package/.next/server/app/blog/page.js.nft.json +1 -1
- package/.next/server/app/blog/page_client-reference-manifest.js +1 -1
- package/.next/server/app/editor/page.js +1 -1
- package/.next/server/app/editor/page.js.nft.json +1 -1
- package/.next/server/app/editor/page_client-reference-manifest.js +1 -1
- package/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/memos/page.js +1 -1
- package/.next/server/app/memos/page.js.nft.json +1 -1
- package/.next/server/app/memos/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/robots.txt/route.js +1 -1
- package/.next/server/app/robots.txt/route.js.nft.json +1 -1
- package/.next/server/app/robots.txt/route_client-reference-manifest.js +1 -1
- package/.next/server/app/rss.xml/route.js +1 -1
- package/.next/server/app/rss.xml/route.js.nft.json +1 -1
- package/.next/server/app/rss.xml/route_client-reference-manifest.js +1 -1
- package/.next/server/app/rss.xml.body +1 -1
- package/.next/server/app/sitemap.xml/route.js +2 -2
- package/.next/server/app/sitemap.xml/route.js.nft.json +1 -1
- package/.next/server/app/sitemap.xml/route_client-reference-manifest.js +1 -1
- package/.next/server/app/sitemap.xml.body +5 -5
- package/.next/server/app/unavailable/page.js +1 -1
- package/.next/server/app/unavailable/page.js.nft.json +1 -1
- package/.next/server/app/unavailable/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +3 -3
- package/.next/server/chunks/1733.js +1 -1
- package/.next/{standalone/.next/server/chunks/5873.js → server/chunks/4996.js} +2 -2
- package/.next/server/chunks/5815.js +5 -5
- package/.next/server/chunks/6802.js +1 -1
- package/.next/server/chunks/880.js +1 -1
- package/.next/server/chunks/9193.js +1 -0
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +28 -28
- package/.next/standalone/.next/app-path-routes-manifest.json +3 -3
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/asset/[...path]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/asset/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/asset/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/[...nextauth]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/reactions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/reactions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/reactions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/comments/[cid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/replies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/replies/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/replies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/resolve/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/resolve/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/resolve/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/[hid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/blog/[id]/highlights/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/graphql/route.js +4 -4
- package/.next/standalone/.next/server/app/api/graphql/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/graphql/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mile/prompts/route.js +2 -2
- package/.next/standalone/.next/server/app/api/mile/prompts/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/mile/prompts/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/upload/route.js +1 -1
- package/.next/standalone/.next/server/app/api/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/upload/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/webhooks/notification/route.js +1 -1
- package/.next/standalone/.next/server/app/api/webhooks/notification/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/webhooks/notification/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/atom.xml/route.js +2 -2
- package/.next/standalone/.next/server/app/atom.xml/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/atom.xml/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/atom.xml.body +1 -1
- package/.next/standalone/.next/server/app/blog/[id]/page.js +1 -1
- package/.next/standalone/.next/server/app/blog/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/blog/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blog/page.js +2 -2
- package/.next/standalone/.next/server/app/blog/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/blog/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/editor/page.js +1 -1
- package/.next/standalone/.next/server/app/editor/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/editor/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/login/page.js +1 -1
- package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/memos/page.js +1 -1
- package/.next/standalone/.next/server/app/memos/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/memos/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/page.js +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/robots.txt/route.js +1 -1
- package/.next/standalone/.next/server/app/robots.txt/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/robots.txt/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/rss.xml/route.js +1 -1
- package/.next/standalone/.next/server/app/rss.xml/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/rss.xml/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/rss.xml.body +1 -1
- package/.next/standalone/.next/server/app/sitemap.xml/route.js +2 -2
- package/.next/standalone/.next/server/app/sitemap.xml/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/sitemap.xml/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/sitemap.xml.body +5 -5
- package/.next/standalone/.next/server/app/unavailable/page.js +1 -1
- package/.next/standalone/.next/server/app/unavailable/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/unavailable/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +3 -3
- package/.next/standalone/.next/server/chunks/1733.js +1 -1
- package/.next/{server/chunks/5873.js → standalone/.next/server/chunks/4996.js} +2 -2
- package/.next/standalone/.next/server/chunks/5815.js +5 -5
- package/.next/standalone/.next/server/chunks/6802.js +1 -1
- package/.next/standalone/.next/server/chunks/880.js +1 -1
- package/.next/standalone/.next/server/chunks/9193.js +1 -0
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/css/{5eeaf06f880f84fb.css → dd6c59348b6c0424.css} +1 -1
- package/.next/standalone/package.json +1 -1
- package/.next/static/css/{5eeaf06f880f84fb.css → dd6c59348b6c0424.css} +1 -1
- package/.next/trace +44 -44
- package/bin/cici.js +3 -1
- package/package.json +1 -1
- package/.next/server/chunks/5662.js +0 -1
- package/.next/server/chunks/7025.js +0 -1
- package/.next/standalone/.next/server/chunks/5662.js +0 -1
- package/.next/standalone/.next/server/chunks/7025.js +0 -1
- /package/.next/standalone/.next/static/{HOWKSv4_ROOr3QF8RZorl → -AMzTDPSsnBej5CTn9eL0}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{HOWKSv4_ROOr3QF8RZorl → -AMzTDPSsnBej5CTn9eL0}/_ssgManifest.js +0 -0
- /package/.next/static/{HOWKSv4_ROOr3QF8RZorl → -AMzTDPSsnBej5CTn9eL0}/_buildManifest.js +0 -0
- /package/.next/static/{HOWKSv4_ROOr3QF8RZorl → -AMzTDPSsnBej5CTn9eL0}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=6802,exports.ids=[6802],exports.modules={14230:(a,b,c)=>{Object.defineProperty(b,"B",{value:!0}),Object.defineProperty(b,"U",{enumerable:!0,get:function(){return n}});let d=c(28706),e=c(33675),f=c(29294),g=c(63033),h=c(26906),i=c(11938),j=c(82831),k=c(30787),l=c(31716),m=c(49290);function n(){let a="cookies",b=f.workAsyncStorage.getStore(),c=g.workUnitAsyncStorage.getStore();if(b){if(c&&"after"===c.phase&&!(0,l.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${b.route} used "cookies" inside "after(...)". This is not supported. If you need this data inside an "after" callback, use "cookies" outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E88",enumerable:!1,configurable:!0});if(b.forceStatic)return p(d.RequestCookiesAdapter.seal(new e.RequestCookies(new Headers({}))));if(b.dynamicShouldError)throw Object.defineProperty(new i.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E549",enumerable:!1,configurable:!0});if(c)switch(c.type){case"cache":let f=Object.defineProperty(Error(`Route ${b.route} used "cookies" inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use "cookies" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E398",enumerable:!1,configurable:!0});throw Error.captureStackTrace(f,n),b.invalidDynamicUsageError??=f,f;case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used "cookies" inside a function cached with "unstable_cache(...)". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use "cookies" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E157",enumerable:!1,configurable:!0});case"prerender":var k=b,q=c;let g=o.get(q);if(g)return g;let r=(0,j.makeHangingPromise)(q.renderSignal,k.route,"`cookies()`");return o.set(q,r),r;case"prerender-client":let s="`cookies`";throw Object.defineProperty(new m.InvariantError(`${s} must not be used within a client component. Next.js should be preventing ${s} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E693",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,h.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,h.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":return(0,h.delayUntilRuntimeStage)(c,function(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),c}(c.cookies));case"private-cache":return p(c.cookies);case"request":return(0,h.trackDynamicDataInDynamicRender)(c),p((0,d.areCookiesMutableInCurrentPhase)(c)?c.userspaceMutableCookies:c.cookies)}}(0,g.throwForMissingRequestStore)(a)}c(63036);let o=new WeakMap;function p(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),Object.defineProperties(c,{[Symbol.iterator]:{value:a[Symbol.iterator]?a[Symbol.iterator].bind(a):q.bind(a)},size:{get:()=>a.size},get:{value:a.get.bind(a)},getAll:{value:a.getAll.bind(a)},has:{value:a.has.bind(a)},set:{value:a.set.bind(a)},delete:{value:a.delete.bind(a)},clear:{value:"function"==typeof a.clear?a.clear.bind(a):r.bind(a,c)},toString:{value:a.toString.bind(a)}}),c}function q(){return this.getAll().map(a=>[a.name,a]).values()}function r(a){for(let a of this.getAll())this.delete(a.name);return a}(0,k.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`cookies()\` should be awaited before using its value. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E223",enumerable:!1,configurable:!0})})},28706:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{MutableRequestCookiesAdapter:function(){return l},ReadonlyRequestCookiesError:function(){return g},RequestCookiesAdapter:function(){return h},appendMutableCookies:function(){return k},areCookiesMutableInCurrentPhase:function(){return n},createCookiesWithMutableAccessCheck:function(){return m},getModifiedCookieValues:function(){return j},responseCookiesToRequestCookies:function(){return p}});let d=c(33675),e=c(63036),f=c(29294);class g extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options")}static callable(){throw new g}}class h{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return g.callable;default:return e.ReflectAdapter.get(a,b,c)}}})}}let i=Symbol.for("next.mutated.cookies");function j(a){let b=a[i];return b&&Array.isArray(b)&&0!==b.length?b:[]}function k(a,b){let c=j(b);if(0===c.length)return!1;let e=new d.ResponseCookies(a),f=e.getAll();for(let a of c)e.set(a);for(let a of f)e.set(a);return!0}class l{static wrap(a,b){let c=new d.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let g=[],h=new Set,j=()=>{let a=f.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=!0),g=c.getAll().filter(a=>h.has(a.name)),b){let a=[];for(let b of g){let c=new d.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case i:return g;case"delete":return function(...b){h.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){h.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return e.ReflectAdapter.get(a,b,c)}}});return k}}function m(a){let b=new Proxy(a.mutableCookies,{get(c,d,f){switch(d){case"delete":return function(...d){return o(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return o(a,"cookies().set"),c.set(...d),b};default:return e.ReflectAdapter.get(c,d,f)}}});return b}function n(a){return"action"===a.phase}function o(a,b){if(!n(a))throw new g}function p(a){let b=new d.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}},30787:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return i}});let d=function(a,b){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=e(b);if(c&&c.has(a))return c.get(a);var d={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(d,g,h):d[g]=a[g]}return d.default=a,c&&c.set(a,d),d}(c(74515));function e(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(e=function(a){return a?c:b})(a)}let f={current:null},g="function"==typeof d.cache?d.cache:a=>a,h=console.warn;function i(a){return function(...b){h(a(...b))}}g(a=>{try{h(f.current)}finally{f.current=null}})},31716:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isRequestAPICallableInsideAfter:function(){return i},throwForSearchParamsAccessInUseCache:function(){return h},throwWithStaticGenerationBailoutError:function(){return f},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return g}});let d=c(11938),e=c(3295);function f(a,b){throw Object.defineProperty(new d.StaticGenBailoutError(`Route ${a} couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E576",enumerable:!1,configurable:!0})}function g(a,b){throw Object.defineProperty(new d.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function h(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used "searchParams" inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await "searchParams" outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E779",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function i(){let a=e.afterTaskAsyncStorage.getStore();return(null==a?void 0:a.rootTaskSpawnPhase)==="action"}},34603:(a,b,c)=>{Object.defineProperty(b,"b",{enumerable:!0,get:function(){return m}});let d=c(67675),e=c(29294),f=c(63033),g=c(26906),h=c(11938),i=c(82831),j=c(30787),k=c(31716),l=c(49290);function m(){let a="headers",b=e.workAsyncStorage.getStore(),c=f.workUnitAsyncStorage.getStore();if(b){if(c&&"after"===c.phase&&!(0,k.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${b.route} used "headers" inside "after(...)". This is not supported. If you need this data inside an "after" callback, use "headers" outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E367",enumerable:!1,configurable:!0});if(b.forceStatic)return o(d.HeadersAdapter.seal(new Headers({})));if(c)switch(c.type){case"cache":{let a=Object.defineProperty(Error(`Route ${b.route} used "headers" inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use "headers" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E304",enumerable:!1,configurable:!0});throw Error.captureStackTrace(a,m),b.invalidDynamicUsageError??=a,a}case"private-cache":{let a=Object.defineProperty(Error(`Route ${b.route} used "headers" inside "use cache: private". Accessing "headers" inside a private cache scope is not supported. If you need this data inside a cached function use "headers" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E742",enumerable:!1,configurable:!0});throw Error.captureStackTrace(a,m),b.invalidDynamicUsageError??=a,a}case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used "headers" inside a function cached with "unstable_cache(...)". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use "headers" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E127",enumerable:!1,configurable:!0})}if(b.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`headers\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E525",enumerable:!1,configurable:!0});if(c)switch(c.type){case"prerender":case"prerender-runtime":var j=b,p=c;let e=n.get(p);if(e)return e;let f=(0,i.makeHangingPromise)(p.renderSignal,j.route,"`headers()`");return n.set(p,f),f;case"prerender-client":let q="`headers`";throw Object.defineProperty(new l.InvariantError(`${q} must not be used within a client component. Next.js should be preventing ${q} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E693",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,g.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,g.throwToInterruptStaticGeneration)(a,b,c);case"request":return(0,g.trackDynamicDataInDynamicRender)(c),o(c.headers)}}(0,f.throwForMissingRequestStore)(a)}c(63036);let n=new WeakMap;function o(a){let b=n.get(a);if(b)return b;let c=Promise.resolve(a);return n.set(a,c),Object.defineProperties(c,{append:{value:a.append.bind(a)},delete:{value:a.delete.bind(a)},get:{value:a.get.bind(a)},has:{value:a.has.bind(a)},set:{value:a.set.bind(a)},getSetCookie:{value:a.getSetCookie.bind(a)},forEach:{value:a.forEach.bind(a)},keys:{value:a.keys.bind(a)},values:{value:a.values.bind(a)},entries:{value:a.entries.bind(a)},[Symbol.iterator]:{value:a[Symbol.iterator].bind(a)}}),c}(0,j.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`headers()\` should be awaited before using its value. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E277",enumerable:!1,configurable:!0})})},35916:(a,b,c)=>{Object.defineProperty(b,"r",{enumerable:!0,get:function(){return k}});let d=c(63033),e=c(29294),f=c(26906),g=c(30787),h=c(11938),i=c(69168),j=c(49290);function k(){let a=e.workAsyncStorage.getStore(),b=d.workUnitAsyncStorage.getStore();switch((!a||!b)&&(0,d.throwForMissingRequestStore)("draftMode"),b.type){case"prerender-runtime":return(0,f.delayUntilRuntimeStage)(b,l(b.draftMode,a));case"request":return l(b.draftMode,a);case"cache":case"private-cache":case"unstable-cache":let c=(0,d.getDraftModeProviderForCacheScope)(a,b);if(c)return l(c,a);case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return l(null,a);default:return b}}function l(a,b){let c,d=a??m,e=n.get(d);return e||(c=function(a){let b=new o(a),c=Promise.resolve(b);return Object.defineProperty(c,"isEnabled",{get:()=>b.isEnabled,enumerable:!0,configurable:!0}),c.enable=b.enable.bind(b),c.disable=b.disable.bind(b),c}(a),n.set(d,c),c)}c(63036);let m={},n=new WeakMap;class o{constructor(a){this._provider=a}get isEnabled(){return null!==this._provider&&this._provider.isEnabled}enable(){p("draftMode().enable()",this.enable),null!==this._provider&&this._provider.enable()}disable(){p("draftMode().disable()",this.disable),null!==this._provider&&this._provider.disable()}}function p(a,b){let c=e.workAsyncStorage.getStore(),g=d.workUnitAsyncStorage.getStore();if(c){if((null==g?void 0:g.phase)==="after")throw Object.defineProperty(Error(`Route ${c.route} used "${a}" inside \`after\`. The enabled status of draftMode can be read inside \`after\` but you cannot enable or disable draftMode. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E348",enumerable:!1,configurable:!0});if(c.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${c.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(g)switch(g.type){case"cache":case"private-cache":{let d=Object.defineProperty(Error(`Route ${c.route} used "${a}" inside "use cache". The enabled status of draftMode can be read in caches but you must not enable or disable draftMode inside a cache. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E246",enumerable:!1,configurable:!0});throw Error.captureStackTrace(d,b),c.invalidDynamicUsageError??=d,d}case"unstable-cache":throw Object.defineProperty(Error(`Route ${c.route} used "${a}" inside a function cached with "unstable_cache(...)". The enabled status of draftMode can be read in caches but you must not enable or disable draftMode inside a cache. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E259",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":{let b=Object.defineProperty(Error(`Route ${c.route} used ${a} without first calling \`await connection()\`. See more info here: https://nextjs.org/docs/messages/next-prerender-sync-headers`),"__NEXT_ERROR_CODE",{value:"E126",enumerable:!1,configurable:!0});return(0,f.abortAndThrowOnSynchronousRequestDataAccess)(c.route,a,b,g)}case"prerender-client":let d="`draftMode`";throw Object.defineProperty(new j.InvariantError(`${d} must not be used within a client component. Next.js should be preventing ${d} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E693",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,f.postponeWithTracking)(c.route,a,g.dynamicTracking);case"prerender-legacy":g.revalidate=0;let e=Object.defineProperty(new i.DynamicServerError(`Route ${c.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.dynamicUsageDescription=a,c.dynamicUsageStack=e.stack,e;case"request":(0,f.trackDynamicDataInDynamicRender)(g)}}}(0,g.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`draftMode()\` should be awaited before using its value. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E377",enumerable:!1,configurable:!0})})},86802:(a,b,c)=>{c.r(b),c.d(b,{__esModule:()=>d.B,cookies:()=>d.U,draftMode:()=>f.r,headers:()=>e.b});var d=c(14230),e=c(34603),f=c(35916)}};
|
|
1
|
+
"use strict";exports.id=6802,exports.ids=[6802],exports.modules={14230:(a,b,c)=>{Object.defineProperty(b,"B",{value:!0}),Object.defineProperty(b,"U",{enumerable:!0,get:function(){return n}});let d=c(28706),e=c(33675),f=c(29294),g=c(63033),h=c(26906),i=c(11938),j=c(82831),k=c(30787),l=c(31716),m=c(49290);function n(){let a="cookies",b=f.workAsyncStorage.getStore(),c=g.workUnitAsyncStorage.getStore();if(b){if(c&&"after"===c.phase&&!(0,l.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${b.route} used "cookies" inside "after(...)". This is not supported. If you need this data inside an "after" callback, use "cookies" outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E88",enumerable:!1,configurable:!0});if(b.forceStatic)return p(d.RequestCookiesAdapter.seal(new e.RequestCookies(new Headers({}))));if(b.dynamicShouldError)throw Object.defineProperty(new i.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E549",enumerable:!1,configurable:!0});if(c)switch(c.type){case"cache":let f=Object.defineProperty(Error(`Route ${b.route} used "cookies" inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use "cookies" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E398",enumerable:!1,configurable:!0});throw Error.captureStackTrace(f,n),b.invalidDynamicUsageError??=f,f;case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used "cookies" inside a function cached with "unstable_cache(...)". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use "cookies" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E157",enumerable:!1,configurable:!0});case"prerender":var k=b,q=c;let g=o.get(q);if(g)return g;let r=(0,j.makeHangingPromise)(q.renderSignal,k.route,"`cookies()`");return o.set(q,r),r;case"prerender-client":let s="`cookies`";throw Object.defineProperty(new m.InvariantError(`${s} must not be used within a client component. Next.js should be preventing ${s} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E693",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,h.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,h.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":return(0,h.delayUntilRuntimeStage)(c,function(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),c}(c.cookies));case"private-cache":return p(c.cookies);case"request":return(0,h.trackDynamicDataInDynamicRender)(c),p((0,d.areCookiesMutableInCurrentPhase)(c)?c.userspaceMutableCookies:c.cookies)}}(0,g.throwForMissingRequestStore)(a)}c(63036);let o=new WeakMap;function p(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),Object.defineProperties(c,{[Symbol.iterator]:{value:a[Symbol.iterator]?a[Symbol.iterator].bind(a):q.bind(a)},size:{get:()=>a.size},get:{value:a.get.bind(a)},getAll:{value:a.getAll.bind(a)},has:{value:a.has.bind(a)},set:{value:a.set.bind(a)},delete:{value:a.delete.bind(a)},clear:{value:"function"==typeof a.clear?a.clear.bind(a):r.bind(a,c)},toString:{value:a.toString.bind(a)}}),c}function q(){return this.getAll().map(a=>[a.name,a]).values()}function r(a){for(let a of this.getAll())this.delete(a.name);return a}(0,k.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`cookies()\` should be awaited before using its value. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E223",enumerable:!1,configurable:!0})})},28706:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{MutableRequestCookiesAdapter:function(){return l},ReadonlyRequestCookiesError:function(){return g},RequestCookiesAdapter:function(){return h},appendMutableCookies:function(){return k},areCookiesMutableInCurrentPhase:function(){return n},createCookiesWithMutableAccessCheck:function(){return m},getModifiedCookieValues:function(){return j},responseCookiesToRequestCookies:function(){return p}});let d=c(33675),e=c(63036),f=c(29294);class g extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options")}static callable(){throw new g}}class h{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return g.callable;default:return e.ReflectAdapter.get(a,b,c)}}})}}let i=Symbol.for("next.mutated.cookies");function j(a){let b=a[i];return b&&Array.isArray(b)&&0!==b.length?b:[]}function k(a,b){let c=j(b);if(0===c.length)return!1;let e=new d.ResponseCookies(a),f=e.getAll();for(let a of c)e.set(a);for(let a of f)e.set(a);return!0}class l{static wrap(a,b){let c=new d.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let g=[],h=new Set,j=()=>{let a=f.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=!0),g=c.getAll().filter(a=>h.has(a.name)),b){let a=[];for(let b of g){let c=new d.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case i:return g;case"delete":return function(...b){h.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){h.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return e.ReflectAdapter.get(a,b,c)}}});return k}}function m(a){let b=new Proxy(a.mutableCookies,{get(c,d,f){switch(d){case"delete":return function(...d){return o(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return o(a,"cookies().set"),c.set(...d),b};default:return e.ReflectAdapter.get(c,d,f)}}});return b}function n(a){return"action"===a.phase}function o(a,b){if(!n(a))throw new g}function p(a){let b=new d.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}},30787:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return i}});let d=function(a,b){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=e(b);if(c&&c.has(a))return c.get(a);var d={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(d,g,h):d[g]=a[g]}return d.default=a,c&&c.set(a,d),d}(c(74515));function e(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(e=function(a){return a?c:b})(a)}let f={current:null},g="function"==typeof d.cache?d.cache:a=>a,h=console.warn;function i(a){return function(...b){h(a(...b))}}g(a=>{try{h(f.current)}finally{f.current=null}})},34603:(a,b,c)=>{Object.defineProperty(b,"b",{enumerable:!0,get:function(){return m}});let d=c(67675),e=c(29294),f=c(63033),g=c(26906),h=c(11938),i=c(82831),j=c(30787),k=c(31716),l=c(49290);function m(){let a="headers",b=e.workAsyncStorage.getStore(),c=f.workUnitAsyncStorage.getStore();if(b){if(c&&"after"===c.phase&&!(0,k.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${b.route} used "headers" inside "after(...)". This is not supported. If you need this data inside an "after" callback, use "headers" outside of the callback. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E367",enumerable:!1,configurable:!0});if(b.forceStatic)return o(d.HeadersAdapter.seal(new Headers({})));if(c)switch(c.type){case"cache":{let a=Object.defineProperty(Error(`Route ${b.route} used "headers" inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use "headers" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E304",enumerable:!1,configurable:!0});throw Error.captureStackTrace(a,m),b.invalidDynamicUsageError??=a,a}case"private-cache":{let a=Object.defineProperty(Error(`Route ${b.route} used "headers" inside "use cache: private". Accessing "headers" inside a private cache scope is not supported. If you need this data inside a cached function use "headers" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E742",enumerable:!1,configurable:!0});throw Error.captureStackTrace(a,m),b.invalidDynamicUsageError??=a,a}case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used "headers" inside a function cached with "unstable_cache(...)". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use "headers" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E127",enumerable:!1,configurable:!0})}if(b.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`headers\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E525",enumerable:!1,configurable:!0});if(c)switch(c.type){case"prerender":case"prerender-runtime":var j=b,p=c;let e=n.get(p);if(e)return e;let f=(0,i.makeHangingPromise)(p.renderSignal,j.route,"`headers()`");return n.set(p,f),f;case"prerender-client":let q="`headers`";throw Object.defineProperty(new l.InvariantError(`${q} must not be used within a client component. Next.js should be preventing ${q} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E693",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,g.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,g.throwToInterruptStaticGeneration)(a,b,c);case"request":return(0,g.trackDynamicDataInDynamicRender)(c),o(c.headers)}}(0,f.throwForMissingRequestStore)(a)}c(63036);let n=new WeakMap;function o(a){let b=n.get(a);if(b)return b;let c=Promise.resolve(a);return n.set(a,c),Object.defineProperties(c,{append:{value:a.append.bind(a)},delete:{value:a.delete.bind(a)},get:{value:a.get.bind(a)},has:{value:a.has.bind(a)},set:{value:a.set.bind(a)},getSetCookie:{value:a.getSetCookie.bind(a)},forEach:{value:a.forEach.bind(a)},keys:{value:a.keys.bind(a)},values:{value:a.values.bind(a)},entries:{value:a.entries.bind(a)},[Symbol.iterator]:{value:a[Symbol.iterator].bind(a)}}),c}(0,j.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`headers()\` should be awaited before using its value. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E277",enumerable:!1,configurable:!0})})},35916:(a,b,c)=>{Object.defineProperty(b,"r",{enumerable:!0,get:function(){return k}});let d=c(63033),e=c(29294),f=c(26906),g=c(30787),h=c(11938),i=c(69168),j=c(49290);function k(){let a=e.workAsyncStorage.getStore(),b=d.workUnitAsyncStorage.getStore();switch((!a||!b)&&(0,d.throwForMissingRequestStore)("draftMode"),b.type){case"prerender-runtime":return(0,f.delayUntilRuntimeStage)(b,l(b.draftMode,a));case"request":return l(b.draftMode,a);case"cache":case"private-cache":case"unstable-cache":let c=(0,d.getDraftModeProviderForCacheScope)(a,b);if(c)return l(c,a);case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return l(null,a);default:return b}}function l(a,b){let c,d=a??m,e=n.get(d);return e||(c=function(a){let b=new o(a),c=Promise.resolve(b);return Object.defineProperty(c,"isEnabled",{get:()=>b.isEnabled,enumerable:!0,configurable:!0}),c.enable=b.enable.bind(b),c.disable=b.disable.bind(b),c}(a),n.set(d,c),c)}c(63036);let m={},n=new WeakMap;class o{constructor(a){this._provider=a}get isEnabled(){return null!==this._provider&&this._provider.isEnabled}enable(){p("draftMode().enable()",this.enable),null!==this._provider&&this._provider.enable()}disable(){p("draftMode().disable()",this.disable),null!==this._provider&&this._provider.disable()}}function p(a,b){let c=e.workAsyncStorage.getStore(),g=d.workUnitAsyncStorage.getStore();if(c){if((null==g?void 0:g.phase)==="after")throw Object.defineProperty(Error(`Route ${c.route} used "${a}" inside \`after\`. The enabled status of draftMode can be read inside \`after\` but you cannot enable or disable draftMode. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E348",enumerable:!1,configurable:!0});if(c.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${c.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(g)switch(g.type){case"cache":case"private-cache":{let d=Object.defineProperty(Error(`Route ${c.route} used "${a}" inside "use cache". The enabled status of draftMode can be read in caches but you must not enable or disable draftMode inside a cache. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E246",enumerable:!1,configurable:!0});throw Error.captureStackTrace(d,b),c.invalidDynamicUsageError??=d,d}case"unstable-cache":throw Object.defineProperty(Error(`Route ${c.route} used "${a}" inside a function cached with "unstable_cache(...)". The enabled status of draftMode can be read in caches but you must not enable or disable draftMode inside a cache. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E259",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":{let b=Object.defineProperty(Error(`Route ${c.route} used ${a} without first calling \`await connection()\`. See more info here: https://nextjs.org/docs/messages/next-prerender-sync-headers`),"__NEXT_ERROR_CODE",{value:"E126",enumerable:!1,configurable:!0});return(0,f.abortAndThrowOnSynchronousRequestDataAccess)(c.route,a,b,g)}case"prerender-client":let d="`draftMode`";throw Object.defineProperty(new j.InvariantError(`${d} must not be used within a client component. Next.js should be preventing ${d} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E693",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,f.postponeWithTracking)(c.route,a,g.dynamicTracking);case"prerender-legacy":g.revalidate=0;let e=Object.defineProperty(new i.DynamicServerError(`Route ${c.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.dynamicUsageDescription=a,c.dynamicUsageStack=e.stack,e;case"request":(0,f.trackDynamicDataInDynamicRender)(g)}}}(0,g.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`draftMode()\` should be awaited before using its value. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E377",enumerable:!1,configurable:!0})})},86802:(a,b,c)=>{c.r(b),c.d(b,{__esModule:()=>d.B,cookies:()=>d.U,draftMode:()=>f.r,headers:()=>e.b});var d=c(14230),e=c(34603),f=c(35916)}};
|
|
@@ -11,4 +11,4 @@ title: ${a}
|
|
|
11
11
|
date: ${b}
|
|
12
12
|
${i}${h}${g}---
|
|
13
13
|
|
|
14
|
-
${c}`}function f(a){let b=a.match(/date:\s*(.+)/);return b?b[1]:void 0}function g(a){let b=a.match(/status:\s*(.+)/);return b?b[1].trim():void 0}c.d(b,{GU:()=>d,KI:()=>g,_x:()=>f,wM:()=>e})},20751:(a,b,c)=>{c.d(b,{iV:()=>g,vH:()=>e});let d="data",e={rootKeep:()=>".gitkeep",blogDir:()=>"blog",blogDirKeep:()=>"blog/.gitkeep",blogPost:a=>`blog/${a}.md`,blogFile:a=>`blog/${a}`,blogManifest:()=>"blog-manifest.json",memos:()=>"memos.json",likes:()=>"likes.json",siteConfig:()=>"site-config.json",highlightsDir:()=>"highlights",highlightsFile:a=>`highlights/${a}.json`},f=a=>`${d}/${a}`,g={root:()=>d,rootKeep:()=>f(e.rootKeep()),blogDir:()=>f(e.blogDir()),blogDirKeep:()=>f(e.blogDirKeep()),blogPost:a=>f(e.blogPost(a)),blogFile:a=>f(e.blogFile(a)),blogManifest:()=>f(e.blogManifest()),memos:()=>f(e.memos()),likes:()=>f(e.likes()),siteConfig:()=>f(e.siteConfig()),highlightsDir:()=>f(e.highlightsDir()),highlightsFile:a=>f(e.highlightsFile(a))}},24516:(a,b,c)=>{c.d(b,{L7:()=>j,x_:()=>e,zl:()=>k});var d=c(657);let e=d.Ik({startOffset:d.ai().int().nonnegative(),endOffset:d.ai().int().nonnegative(),exact:d.Yj().min(1).max(1e3),prefix:d.Yj().max(64),suffix:d.Yj().max(64)}).refine(a=>a.endOffset>=a.startOffset,{message:"endOffset must be >= startOffset"}),f=d.g1(d.Yj(),d.YO(d.Yj())),g=d.k5(["ios","android","web"]),h=d.Ik({id:d.Yj().min(1).max(64),parentId:d.Yj().min(1).max(64).nullable(),body:d.Yj().min(1).max(2e3),authorName:d.Yj().max(40).nullable(),fingerprint:d.Yj().min(1).max(128),country:d.Yj().max(8),platform:g,reactions:f,resolved:d.zM(),createdAt:d.Yj().datetime(),hidden:d.zM(),hiddenReason:d.Yj().max(200).optional()}),i=d.Ik({id:d.Yj().min(1).max(64),anchor:e,thread:d.YO(h).min(1),resolved:d.zM(),createdAt:d.Yj().datetime()}),j=d.Ik({postId:d.Yj().min(1),highlights:d.YO(i),schemaVersion:d.eu(1)});function k(a){return{postId:a,highlights:[],schemaVersion:1}}},33577:(a,b,c)=>{c.d(b,{El:()=>k,Gl:()=>i,QB:()=>e,_P:()=>g,bB:()=>j,du:()=>l,pt:()=>f,sP:()=>h});var d=c(40076);function e(a){if(!a)throw Error("Access token is required");return new d.E({auth:a})}async function f(a){if(!a)throw Error("Access token is required");let b=e(a);try{let{data:a}=await b.users.getAuthenticated();return{owner:a.login,repo:"cici"}}catch(a){throw console.error("Error getting authenticated user:",a),Error("Failed to get authenticated user")}}async function g(a,b,c,d){let e=await a.repos.getContent({owner:b,repo:c,path:d});if(Array.isArray(e.data)||!("content"in e.data))throw Error("Unexpected response from GitHub API");return{content:Buffer.from(e.data.content,"base64").toString("utf-8"),sha:e.data.sha}}async function h(a,b,c,d,e,f,g){let h={owner:b,repo:c,path:d,message:e,content:Buffer.from(f).toString("base64")};g&&(h.sha=g),await a.repos.createOrUpdateFileContents(h)}async function i(a,b,c,d){try{await a.repos.getContent({owner:b,repo:c,path:d})}catch(e){if(e instanceof Error&&"status"in e&&404===e.status)await a.repos.createOrUpdateFileContents({owner:b,repo:c,path:`${d}/.gitkeep`,message:`Create directory: ${d}`,content:""});else throw e}}async function j(a){return new Promise((b,c)=>{let d=new FileReader;d.readAsDataURL(a),d.onload=()=>{"string"==typeof d.result?b(d.result.split(",")[1]):c(Error("Failed to convert file to base64"))},d.onerror=a=>c(a)})}function k(a){return a instanceof Error&&"status"in a&&404===a.status}async function l(a,b,c,d,e,f){try{await a.repos.getContent({owner:b,repo:c,path:d}),console.log(`File ${d} already exists.`)}catch(g){if(k(g)){console.log(`Creating file ${d}...`);try{await h(a,b,c,d,e,f),console.log(`File ${d} created successfully.`)}catch(a){throw console.error(`Error creating file ${d}:`,a),a}}else throw console.error(`Error checking file ${d}:`,g),g}}},39943:(a,b,c)=>{c.d(b,{i:()=>l,j:()=>k});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(56995);let i={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".svg":"image/svg+xml",".avif":"image/avif"};function j(){return g().join((0,h.n)(),"assets")}async function k(a,b){let c=function(a,b){let c=g().extname(a||"").toLowerCase();if(c&&i[c])return c;if(b){let a=`.${b.split("/")[1]||""}`.toLowerCase();if(i[a])return a}return c||".png"}(a.name,a.type),d=g().posix.join("images",b.date),f=`${b.id}${c}`,h=g().join(j(),d);e().mkdirSync(h,{recursive:!0});let k=Buffer.from(await a.arrayBuffer());return e().writeFileSync(g().join(h,f),k),`/api/asset/${d}/${f}`}function l(a){if(a.some(a=>!a||".."===a||a.includes("\0")||a.includes("/")||a.includes("\\")))return null;let b=j(),c=g().resolve(b,...a);if(c!==b&&!c.startsWith(b+g().sep)||!e().existsSync(c)||!e().statSync(c).isFile())return null;let d=g().extname(c).toLowerCase();return{body:e().readFileSync(c),contentType:i[d]??"application/octet-stream"}}},46858:(a,b,c)=>{c.d(b,{Ik:()=>o,UU:()=>q,jE:()=>p});var d=c(29021),e=c(33873),f=c.n(e),g=c(40076),h=c(24516),i=c(20751),j=c(70806);let k=new Map;function l(a){return i.iV.highlightsFile(a)}function m(a){if(!a||0===a.length||a.length>200||a.includes("/")||a.includes("\\")||a.includes("\0")||a.includes("..")||a.startsWith("."))throw Error(`Invalid postId: ${a}`)}function n(a){if("object"==typeof a&&null!==a&&"status"in a){let b=a.status;return"number"==typeof b?b:void 0}}class o{constructor(a){this.rootDir=a}absPath(a){return f().join(this.rootDir,i.vH.highlightsFile(a))}async load(a){m(a);try{let b=await d.promises.readFile(this.absPath(a),"utf-8");return{data:h.L7.parse(JSON.parse(b)),sha:null}}catch(b){if("ENOENT"===b?.code)return{data:(0,h.zl)(a),sha:null};throw b}}async save(a,b,c,e){m(a);let g=h.L7.parse(b),i=this.absPath(a);return await d.promises.mkdir(f().dirname(i),{recursive:!0}),await d.promises.writeFile(i,JSON.stringify(g,null,2),"utf-8"),{sha:""}}}class p{constructor(a,b,c="cici",d=!1){this.octokit=a,this.owner=b,this.repo=c,this.readOnly=d}async load(a){m(a);let b=k.get(a);if(b&&b.expiresAt>Date.now())return{data:b.data,sha:b.sha};let c=await this.readFile(a);if(!c){let b=(0,h.zl)(a);return k.set(a,{data:b,sha:null,expiresAt:Date.now()+3e4}),{data:b,sha:null}}let d=h.L7.parse(JSON.parse(c.content));return k.set(a,{data:d,sha:c.sha,expiresAt:Date.now()+3e4}),{data:d,sha:c.sha}}async save(a,b,c,d){if(m(a),this.readOnly)throw Error("Highlights are read-only: no write token available. Sign in as the repo owner to add or moderate inline comments.");let e=h.L7.parse(b),f=Buffer.from(JSON.stringify(e,null,2)).toString("base64"),g=0,i=c;for(;g<3;)try{let b=await this.octokit.repos.createOrUpdateFileContents({owner:this.owner,repo:this.repo,path:l(a),message:d,content:f,...i?{sha:i}:{}}),c=b.data.content?.sha??"";return k.set(a,{data:e,sha:c,expiresAt:Date.now()+3e4}),{sha:c}}catch(c){let b=n(c);if(409===b||422===b){k.delete(a),g++;let b=await this.readFile(a);i=b?.sha??null;continue}throw c}throw Error("Save failed after 3 retries due to write contention")}async readFile(a){try{let b=(await this.octokit.repos.getContent({owner:this.owner,repo:this.repo,path:l(a)})).data;if(Array.isArray(b)||"file"!==b.type)return null;return{content:Buffer.from(b.content,"base64").toString("utf-8"),sha:b.sha}}catch(a){if(404===n(a))return null;throw a}}}function q(a={}){let b=(0,j.p)(a.ownerToken);if("local"===b.kind)return new o(b.dir);let c=a.ownerToken??b.token??process.env.HIGHLIGHTS_GH_TOKEN;return new p(c?new g.E({auth:c}):new g.E,b.owner,b.repo,!c)}},56995:(a,b,c)=>{c.d(b,{J:()=>g,n:()=>h});var d=c(33873),e=c.n(d),f=c(70806);function g(){return"local"===(0,f.p)().kind}function h(){let a=process.env.CICI_DIR;return a?e().resolve(a):e().join(process.cwd(),"sample-content")}},70806:(a,b,c)=>{c.d(b,{p:()=>g});var d=c(33873),e=c.n(d);let f="cici";function g(a){let b=process.env.CICI_DIR;if(b)return{kind:"local",dir:e().resolve(b)};let c=process.env.CICI_REPO;if(c){let[b,d]=c.split("/");if(!b)throw Error(`Invalid CICI_REPO "${c}" — expected "owner/name".`);return{kind:"github",owner:b,repo:d||f,token:process.env.CICI_TOKEN||a||void 0}}return{kind:"github",owner:process.env.GITHUB_USERNAME||"metrue",repo:f,token:a||void 0}}},90880:(a,b,c)=>{c.d(b,{sO:()=>x});var d=c(70806),e=c(39943),f=c(46858),g=c(29021),h=c.n(g),i=c(33873),j=c.n(i);function k(a){let{frontmatter:b}=function(a){let b=a.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);return b?{frontmatter:b[1],body:b[2].replace(/^\n/,"")}:{frontmatter:"",body:a}}(a),c=b.match(/title:[ \t]*(.+)/),d=b.match(/date:[ \t]*(.+)/),e=b.match(/latitude:[ \t]*(.+)/),f=b.match(/longitude:[ \t]*(.+)/),g=b.match(/city:[ \t]*(.+)/),h=b.match(/street:[ \t]*(.+)/),i=b.match(/status:[ \t]*(.+)/),j=b.match(/publishedAt:[ \t]*(.+)/),k=b.match(/lastModified:[ \t]*(.+)/),l=e?.[1]?.trim(),m=f?.[1]?.trim(),n=l?parseFloat(l):NaN,o=m?parseFloat(m):NaN;return{title:c?c[1].trim():"",date:d?d[1].trim():new Date().toISOString(),discussions:function(a){let b=[],c=a.match(/external_discussions:\s*\n([\s\S]*?)(?=\n\w|$)/);if(!c)return b;let d=c[1].split("\n").filter(a=>a.trim()),e={};for(let a of d)a.includes("platform:")?(e.platform&&e.url&&b.push(e),e={platform:a.split(":")[1].trim()}):a.includes("url:")&&e.platform&&(e.url=a.split("url:")[1].trim());return e.platform&&e.url&&b.push(e),b}(b),...l&&!isNaN(n)&&{latitude:n},...m&&!isNaN(o)&&{longitude:o},...g&&g[1].trim()&&{city:g[1].trim()},...h&&h[1].trim()&&{street:h[1].trim()},...i&&{status:i[1].trim()},...j&&{publishedAt:j[1].trim()},...k&&{lastModified:k[1].trim()}}}var l=c(20751),m=c(56995),n=c(8623);class o{abs(a){return j().join((0,m.n)(),a)}get dataDir(){return(0,m.n)()}get blogDir(){return this.abs(l.vH.blogDir())}async getBlogPosts(a=!1){try{if(!h().existsSync(this.blogDir))return console.log("Blog directory does not exist, returning empty array"),[];let b=h().readdirSync(this.blogDir).filter(a=>a.endsWith(".md")&&".gitkeep"!==a),c=[];for(let a of b){let b=await this.getBlogPost(a);b&&c.push(b)}let d=c.sort((a,b)=>new Date(b.date).getTime()-new Date(a.date).getTime());if(a)return d;return d.filter(a=>"published"===a.status)}catch(a){return console.error("Error reading local blog posts:",a),[]}}async getBlogPost(a){try{let b=j().join(this.blogDir,a);if(!h().existsSync(b))return null;let c=h().readFileSync(b,"utf-8"),d=k(c),e=this.getFirstImageURLFrom(c);return{id:a.replace(".md",""),title:d.title||a.replace(".md",""),content:c,imageUrl:e,date:d.date?new Date(d.date).toISOString():new Date().toISOString(),discussions:d.discussions.length>0?d.discussions:void 0,latitude:d.latitude,longitude:d.longitude,city:d.city,street:d.street,status:d.status||"published",publishedAt:d.publishedAt||d.date,lastModified:d.lastModified||d.date||new Date().toISOString()}}catch(b){return console.error(`Error reading blog post ${a}:`,b),null}}async getMemos(){try{let a=this.abs(l.vH.memos());if(!h().existsSync(a))return console.log("memos.json not found, returning empty array"),[];let b=h().readFileSync(a,"utf-8"),c=JSON.parse(b);return Array.isArray(c)?c:[]}catch(a){return console.error("Error reading local memos:",a),[]}}async getSiteConfig(){try{let a=h().readFileSync(this.abs(l.vH.siteConfig()),"utf-8");return JSON.parse(a)}catch{return null}}async getLinks(){try{let a=this.abs(l.vH.siteConfig());if(!h().existsSync(a))return{};let b=h().readFileSync(a,"utf-8");return JSON.parse(b).links||{}}catch(a){return console.warn("Error reading local site config:",a),{}}}async getLikes(){try{let a=this.abs(l.vH.likes());if(!h().existsSync(a))return console.log("likes.json not found, returning empty object"),{};let b=h().readFileSync(a,"utf-8"),c=JSON.parse(b);return"object"==typeof c&&null!==c?c:{}}catch(a){return console.error("Error reading local likes:",a),{}}}async updateLikes(a){try{let b=this.abs(l.vH.likes()),c=JSON.stringify(a,null,2);h().writeFileSync(b,c,"utf-8"),console.log("Updated local likes data")}catch(a){throw console.error("Error updating local likes:",a),Error("Failed to update local likes data")}}async createMemo(a){try{let b=await this.getMemos(),c=[a,...b],d=this.abs(l.vH.memos()),e=JSON.stringify(c,null,2);return h().writeFileSync(d,e,"utf-8"),console.log("Created new memo locally"),a}catch(a){throw console.error("Error creating local memo:",a),Error("Failed to create memo locally")}}async createBlogPost(a){let b=(0,n.GU)(a.title),c=this.abs(l.vH.blogFile(`${b}.md`)),d=(0,n.wM)({title:a.title,date:new Date().toISOString(),content:a.content,status:a.status,location:a.location,discussions:a.discussions});return h().mkdirSync(j().dirname(c),{recursive:!0}),h().writeFileSync(c,d,"utf-8"),b}async updateBlogPost(a,b){let c=this.abs(l.vH.blogPost(a)),d="";try{d=h().readFileSync(c,"utf-8")}catch{}let e=(0,n._x)(d)??new Date().toISOString(),f=void 0!==b.status?b.status:(0,n.KI)(d)??"published",g=(0,n.wM)({title:b.title,date:e,content:b.content,status:f,location:b.location,discussions:b.discussions});return h().mkdirSync(j().dirname(c),{recursive:!0}),h().writeFileSync(c,g,"utf-8"),a}async deleteBlogPost(a){let b=this.abs(l.vH.blogPost(a));try{h().unlinkSync(b)}catch(a){if(a?.code!=="ENOENT")throw a}}async updateMemo(a,b){let c=await this.getMemos(),d=c.findIndex(b=>b.id===a);if(-1===d)throw Error("Memo not found");let e={...c[d],content:b},f=c.map((a,b)=>b===d?e:a);return h().writeFileSync(this.abs(l.vH.memos()),JSON.stringify(f,null,2),"utf-8"),e}async deleteMemo(a){let b=(await this.getMemos()).filter(b=>b.id!==a);h().writeFileSync(this.abs(l.vH.memos()),JSON.stringify(b,null,2),"utf-8")}async getDrafts(){return(await this.getBlogPosts(!0)).filter(a=>"draft"===a.status)}async getAllBlogPosts(){return this.getBlogPosts(!0)}async checkRepositoryHealth(){return h().existsSync(this.dataDir)}getFirstImageURLFrom(a){let b=/(https?:\/\/[^\s]+?\.(?:png|jpg|jpeg|gif|webp))/i.exec(a);if(b){let a=b[1];return a.startsWith("https://github")?`${a}?raw=true`:a}return null}}class p{constructor(a){this.dir=a,this.client=new o}get label(){return`local: ${this.dir}`}canWrite(){return!0}getBlogPosts(a){return this.client.getBlogPosts(a?.includeDrafts??!1)}async getBlogPost(a){return await this.client.getBlogPost(`${a}.md`)??void 0}getMemos(){return this.client.getMemos()}getLinks(){return this.client.getLinks()}getLikes(){return this.client.getLikes()}getSiteConfig(){return this.client.getSiteConfig()}createBlogPost(a){return this.client.createBlogPost(a)}updateBlogPost(a,b){return this.client.updateBlogPost(a,b)}deleteBlogPost(a){return this.client.deleteBlogPost(a)}createMemo(a){return this.client.createMemo(a)}updateMemo(a,b){return this.client.updateMemo(a,b)}deleteMemo(a){return this.client.deleteMemo(a)}updateLikes(a){return this.client.updateLikes(a)}uploadAsset(a){return(0,e.j)(a,{date:new Date().toISOString().split("T")[0],id:Date.now().toString()})}highlights(){return new f.Ik(this.dir)}}var q=c(33577),r=c(94480),s=c(40076);class t{constructor(a,b="cici"){this.accessToken=a,this.repo=b}async getSafeOwner(a){if(a&&"true"!==a)return a;if(this.accessToken)try{let a=new s.E({auth:this.accessToken}),{data:b}=await a.users.getAuthenticated();if(b.login&&"true"!==b.login)return b.login}catch(a){console.warn("Failed to get authenticated user:",a)}return process.env.GITHUB_USERNAME||"metrue"}async getBlogPosts(a,b=!1){let c=this.accessToken?new s.E({auth:this.accessToken}):new s.E,d=await this.getSafeOwner(a);try{let a=await c.repos.getContent({owner:d,repo:this.repo,path:l.iV.blogDir()});if(!Array.isArray(a.data))return console.warn("Unexpected response from GitHub API: data is not an array"),[];let e=(await Promise.all(a.data.filter(a=>"file"===a.type&&".gitkeep"!==a.name&&a.name.endsWith(".md")).map(async a=>this.getBlogPost(a.name,d)))).filter(a=>void 0!==a);if(b&&this.accessToken)return e;return e.filter(a=>"published"===a.status)}catch(a){if(console.error("Error fetching blog posts:",a),a instanceof Error&&"status"in a&&404===a.status)return console.log("Blog directory does not exist, returning empty array"),[];throw a}}async getBlogPost(a,b){let c=this.accessToken?new s.E({auth:this.accessToken}):new s.E,d=await this.getSafeOwner(b),e=await c.repos.getContent({owner:d,repo:this.repo,path:l.iV.blogFile(a)});if("content"in e.data){let b=Buffer.from(e.data.content,"base64").toString("utf-8"),c=k(b);return{id:a.replace(".md",""),title:c.title?decodeURIComponent(c.title):decodeURIComponent(a.replace(".md","")),content:b,imageUrl:(a=>{let b=/(https?:\/\/[^\s]+?\.(?:png|jpg|jpeg|gif|webp))/i.exec(a);if(b){let a=b[1];return a.startsWith("https://github")?`${a}?raw=true`:a}return null})(b),date:c.date?new Date(c.date).toISOString():new Date().toISOString(),discussions:c.discussions.length>0?c.discussions:void 0,latitude:c.latitude,longitude:c.longitude,city:c.city,street:c.street,status:c.status||"published",publishedAt:c.publishedAt||c.date,lastModified:c.lastModified||c.date||new Date().toISOString()}}}async getMemos(a){let b=this.accessToken?new s.E({auth:this.accessToken}):new s.E,c=await this.getSafeOwner(a);try{let a=await b.repos.getContent({owner:c,repo:this.repo,path:l.iV.memos()});if(Array.isArray(a.data)||!("content"in a.data))return[];let d=Buffer.from(a.data.content,"base64").toString("utf-8");return JSON.parse(d)}catch(a){return console.error("Error fetching public memos:",a),[]}}async getLinks(a){let b=this.accessToken?new s.E({auth:this.accessToken}):new s.E,c=await this.getSafeOwner(a);try{let a=await b.repos.getContent({owner:c,repo:this.repo,path:l.iV.siteConfig()});if(Array.isArray(a.data)||!("content"in a.data))return{};let d=Buffer.from(a.data.content,"base64").toString("utf-8");return JSON.parse(d).links||{}}catch(a){return console.warn("Error fetching links:",a),{}}}async getLikes(a){let b=this.accessToken?new s.E({auth:this.accessToken}):new s.E,c=await this.getSafeOwner(a);try{let a=await b.repos.getContent({owner:c,repo:this.repo,path:l.iV.likes()});if(Array.isArray(a.data)||!("content"in a.data))return{};let d=Buffer.from(a.data.content,"base64").toString("utf-8");return JSON.parse(d)}catch(a){if(console.error("Error fetching likes:",a),a instanceof Error&&"status"in a&&404===a.status)return{};throw a}}async updateLikes(a,b){let c=new s.E({auth:this.accessToken}),d=await this.getSafeOwner(b);try{let b;try{let a=await c.repos.getContent({owner:d,repo:this.repo,path:l.iV.likes()});!Array.isArray(a.data)&&"sha"in a.data&&(b=a.data.sha)}catch(a){}await c.repos.createOrUpdateFileContents({owner:d,repo:this.repo,path:l.iV.likes(),message:`Update likes data - ${new Date().toISOString()}`,content:Buffer.from(JSON.stringify(a,null,2)).toString("base64"),...b&&{sha:b}})}catch(a){throw console.error("Error updating likes:",a),Error("Failed to update likes data")}}async getDrafts(a){return(await this.getBlogPosts(a,!0)).filter(a=>"draft"===a.status)}async getAllBlogPosts(a){return this.getBlogPosts(a,!0)}}class u{constructor(a,b="cici"){this.owner=a,this.baseUrl=`https://raw.githubusercontent.com/${a}/${b}/main`}async getBlogPosts(a=!1){try{try{let b=await fetch(`${this.baseUrl}/${l.iV.blogManifest()}`);if(b.ok){let c=await b.json(),d=c.files||[...c.published||[],...c.drafts||[]],e=(await Promise.all(d.map(a=>this.getBlogPost(a)))).filter(a=>null!==a);if(a)return e;return e.filter(a=>"published"===a.status)}}catch{}return console.warn("Blog manifest not found, returning empty array"),[]}catch(a){throw console.error("Error fetching blog posts via raw URLs:",a),a}}async getBlogPost(a){try{let b=await fetch(`${this.baseUrl}/${l.iV.blogFile(a)}`);if(!b.ok){if(404===b.status)return null;throw Error(`HTTP ${b.status}: ${b.statusText}`)}let c=await b.text(),d=k(c);return{id:a.replace(".md",""),title:d.title?decodeURIComponent(d.title.trim()):decodeURIComponent(a.replace(".md","")),content:c,imageUrl:(a=>{let b=/(https?:\/\/[^\s]+?\.(?:png|jpg|jpeg|gif|webp))/i.exec(a);if(b){let a=b[1];return a.startsWith("https://github")?`${a}?raw=true`:a}return null})(c),date:d.date?new Date(d.date.trim()).toISOString():new Date().toISOString(),discussions:d.discussions.length>0?d.discussions:void 0,latitude:d.latitude,longitude:d.longitude,city:d.city,street:d.street,status:d.status||"published",publishedAt:d.publishedAt||d.date,lastModified:d.lastModified||d.date||new Date().toISOString()}}catch(b){return console.error(`Error fetching blog post ${a}:`,b),null}}async getMemos(){try{let a=await fetch(`${this.baseUrl}/${l.iV.memos()}`);if(!a.ok){if(404===a.status)return console.log("memos.json not found, returning empty array"),[];throw Error(`HTTP ${a.status}: ${a.statusText}`)}let b=await a.json();return Array.isArray(b)?b:[]}catch(a){return console.error("Error fetching memos via raw URLs:",a),[]}}async getLinks(){try{let a=await fetch(`${this.baseUrl}/${l.iV.siteConfig()}`);if(!a.ok){if(404===a.status)return{};throw Error(`HTTP ${a.status}: ${a.statusText}`)}return(await a.json()).links||{}}catch(a){return console.warn("Error fetching links via raw URLs:",a),{}}}async getLikes(){try{let a=await fetch(`${this.baseUrl}/${l.iV.likes()}`);if(!a.ok){if(404===a.status)return console.log("likes.json not found, returning empty object"),{};throw Error(`HTTP ${a.status}: ${a.statusText}`)}let b=await a.json();return"object"==typeof b&&null!==b?b:{}}catch(a){return console.error("Error fetching likes via raw URLs:",a),{}}}async getDrafts(){return(await this.getBlogPosts(!0)).filter(a=>"draft"===a.status)}async getAllBlogPosts(){return this.getBlogPosts(!0)}async checkRepositoryHealth(){try{return(await fetch(`${this.baseUrl}/README.md`)).ok}catch{return!1}}}class v extends Error{constructor(a="This cici instance is read-only. Provide a token to enable editing."){super(a),this.name="ReadOnlyError"}}class w{constructor(a){this.owner=a.owner,this.repo=a.repo,this.token=a.token,this.reader=new u(a.owner,a.repo),this.apiReader=a.token?new t(a.token,a.repo):void 0,this.target={owner:a.owner,repo:a.repo}}async fresh(a,b){if(this.apiReader)try{return await a(this.apiReader)}catch(a){console.warn("GitHub API read failed, falling back to raw URL:",a)}return b()}get label(){return`github: ${this.owner}/${this.repo}${this.token?"":" (read-only)"}`}canWrite(){return!!this.token}requireToken(){if(!this.token)throw new v;return this.token}writeOctokit(){return(0,q.QB)(this.requireToken())}getBlogPosts(a){let b=a?.includeDrafts??!1;return this.fresh(a=>a.getBlogPosts(this.owner,b),()=>this.reader.getBlogPosts(b))}async getBlogPost(a){return await this.fresh(b=>b.getBlogPost(`${a}.md`,this.owner),()=>this.reader.getBlogPost(`${a}.md`))??void 0}getMemos(){return this.fresh(a=>a.getMemos(this.owner),()=>this.reader.getMemos())}getLinks(){return this.fresh(a=>a.getLinks(this.owner),()=>this.reader.getLinks())}getLikes(){return this.fresh(a=>a.getLikes(this.owner),()=>this.reader.getLikes())}async getSiteConfig(){if(this.token)try{let a=(0,q.QB)(this.token),b=await a.repos.getContent({owner:this.owner,repo:this.repo,path:l.iV.siteConfig()});if(!Array.isArray(b.data)&&"content"in b.data){let a=Buffer.from(b.data.content,"base64").toString("utf-8");return JSON.parse(a)}}catch(a){console.warn("GitHub API site-config read failed, falling back to raw URL:",a)}try{let a=`https://raw.githubusercontent.com/${this.owner}/${this.repo}/main/${l.iV.siteConfig()}`,b=await fetch(a);if(!b.ok)return null;return await b.json()}catch{return null}}async createBlogPost(a){let b=this.requireToken();return await (0,r.Fd)(a.title,a.content,b,a.discussions,a.location,a.status,this.target),(0,n.GU)(a.title)}async updateBlogPost(a,b){let c=this.requireToken();return await (0,r.s2)(a,b.title,b.content,c,b.discussions,b.location,b.status,this.target),a}async deleteBlogPost(a){await (0,r.m0)(a,this.requireToken(),this.target)}async uploadAsset(a){return(0,r.V6)(a,this.requireToken(),this.target)}async createMemo(a){let b=l.iV.memos(),{data:c,sha:d}=await this.getJsonFile(b),e=Array.isArray(c)?c:[];return await this.putFile(b,JSON.stringify([a,...e],null,2),`Add memo ${a.id}`,d),a}async updateMemo(a,b){let c=l.iV.memos(),{data:d,sha:e}=await this.getJsonFile(c),f=Array.isArray(d)?d:[],g=f.findIndex(b=>b.id===a);if(-1===g)throw Error("Memo not found");let h={...f[g],content:b},i=f.map((a,b)=>b===g?h:a);return await this.putFile(c,JSON.stringify(i,null,2),`Update memo ${a}`,e),h}async deleteMemo(a){let b=l.iV.memos(),{data:c,sha:d}=await this.getJsonFile(b),e=Array.isArray(c)?c:[];await this.putFile(b,JSON.stringify(e.filter(b=>b.id!==a),null,2),`Delete memo ${a}`,d)}async updateLikes(a){let b=l.iV.likes(),{sha:c}=await this.getJsonFile(b);await this.putFile(b,JSON.stringify(a,null,2),"Update likes",c)}highlights(){return new f.jE((0,q.QB)(this.token),this.owner,this.repo)}async getJsonFile(a){let b=this.writeOctokit();try{let c=await b.repos.getContent({owner:this.owner,repo:this.repo,path:a});if(Array.isArray(c.data)||!("content"in c.data))return{data:null};let d=Buffer.from(c.data.content,"base64").toString("utf-8");return{data:JSON.parse(d),sha:c.data.sha}}catch(a){if(a?.status===404)return{data:null};throw a}}putFile(a,b,c,d){return(0,q.sP)(this.writeOctokit(),this.owner,this.repo,a,c,b,d)}}function x(a){var b;return"local"===(b=(0,d.p)(a)).kind?new p(b.dir):new w({owner:b.owner,repo:b.repo,token:b.token})}},94480:(a,b,c)=>{c.d(b,{Fd:()=>o,m0:()=>p,KG:()=>s,s2:()=>q,V6:()=>r});var d=c(40076),e=c(20751);async function f(a,b,c){try{let f,g=new d.E({auth:a}),{data:h}=await g.repos.getContent({owner:b,repo:c,path:e.iV.blogDir()});if(!Array.isArray(h))return void console.error("Expected array of files but got:",typeof h);let i=h.filter(a=>"file"===a.type&&a.name.endsWith(".md")&&".gitkeep"!==a.name).map(a=>a.name).sort();try{let{data:a}=await g.repos.getContent({owner:b,repo:c,path:e.iV.blogManifest()});!Array.isArray(a)&&"sha"in a&&(f=a.sha)}catch(a){console.log("Blog manifest does not exist yet, will create it")}await g.repos.createOrUpdateFileContents({owner:b,repo:c,path:e.iV.blogManifest(),message:"Update blog manifest",content:Buffer.from(JSON.stringify({files:i},null,2)).toString("base64"),sha:f}),console.log("Blog manifest updated successfully with",i.length,"files")}catch(a){console.error("Failed to update blog manifest:",a)}}var g=c(8623),h=c(33873),i=c.n(h),j=c(33577);let k="cici";async function l(a,b,c){try{let{data:d}=await a.repos.get({owner:b,repo:c});if(!d.description){let{data:d}=await a.users.getAuthenticated(),e=d.login;await a.repos.update({owner:b,repo:c,description:`https://tinymind.me/${e}`}),console.log(`Updated repository description to https://tinymind.me/${e}`)}}catch(b){if((0,j.El)(b))await a.repos.createForAuthenticatedUser({name:c,auto_init:!0}),console.log(`Created new repository: ${c}`);else throw b}try{let{data:d}=await a.repos.getContent({owner:b,repo:c,path:"README.md"});if(console.log("README content:",d),"content"in d){let e=Buffer.from(d.content,"base64").toString("utf-8");console.log("README Decoded content:",e.trim()),(""===e.trim()||"# tinymind-blog"===e.trim())&&(await a.repos.createOrUpdateFileContents({owner:b,repo:c,path:"README.md",message:"Update README.md with default content",content:Buffer.from("# cici Blog\n\nWrite blog posts and memos at https://tinymind.me with data stored on GitHub.").toString("base64"),sha:d.sha}),console.log("README.md updated with default content"))}}catch(d){if(d instanceof Error&&"status"in d&&404===d.status){let d=Buffer.from("Write blog posts and memos at https://tinymind.me with data stored on GitHub.").toString("base64");await a.repos.createOrUpdateFileContents({owner:b,repo:c,path:"README.md",message:"Initial commit: Add README.md",content:d})}else throw d}}async function m(a,b,c){try{await (0,j.du)(a,b,c,e.iV.rootKeep(),"Initialize content directory",""),await (0,j.du)(a,b,c,e.iV.blogDirKeep(),"Initialize blog directory",""),await (0,j.du)(a,b,c,e.iV.memos(),"Initialize memos.json","[]")}catch(a){throw console.error("Error ensuring content structure:",a),a}}async function n(a,b,c){await l(a,b,c),await m(a,b,c)}async function o(a,b,c,d=[],h,i="published",k){let l=(0,j.QB)(c),{owner:m,repo:p}=k??await (0,j.pt)(c);await n(l,m,p);let q=`${(0,g.GU)(a)}.md`,r=e.iV.blogFile(q),s=(0,g.wM)({title:a,date:new Date().toISOString(),content:b,status:i,location:h,discussions:d});await l.repos.createOrUpdateFileContents({owner:m,repo:p,path:r,message:`Add blog post: ${a}`,content:Buffer.from(s).toString("base64")}),await f(c,m,p)}async function p(a,b,c){if(console.log("Deleting blog post..."),!b)throw Error("Access token is required");let d=(0,j.QB)(b);try{let{owner:g,repo:h}=c??await (0,j.pt)(b),i=decodeURIComponent(a),k=`${i}.md`,l=e.iV.blogFile(k);console.log(`Attempting to delete file: ${l}`);let m=await d.repos.getContent({owner:g,repo:h,path:l});if(Array.isArray(m.data)||!("sha"in m.data))throw Error("Unexpected response when fetching current blog post");await d.repos.deleteFile({owner:g,repo:h,path:l,message:"Delete blog post",sha:m.data.sha}),console.log("Blog post deleted successfully"),await f(b,g,h)}catch(a){throw console.error("Error deleting blog post:",a),a}}async function q(a,b,c,d,h=[],i,k,l){if(console.log("Updating blog post..."),!d)throw Error("Access token is required");let m=(0,j.QB)(d);try{let{owner:n,repo:o}=l??await (0,j.pt)(d),{content:p,sha:q}=await (0,j._P)(m,n,o,e.iV.blogPost(a)),r=(0,g._x)(p)??new Date().toISOString(),s=void 0!==k?k:(0,g.KI)(p)??"published",t=(0,g.wM)({title:b,date:r,content:c,status:s,location:i,discussions:h});await (0,j.sP)(m,n,o,e.iV.blogPost(a),"Update blog post",t,q),console.log("Blog post updated successfully"),await f(d,n,o)}catch(a){throw console.error("Error updating blog post:",a),a}}async function r(a,b,c){if(console.log("Uploading image..."),!b)throw Error("Access token is required");let d=(0,j.QB)(b);console.log("Octokit instance created");try{let{owner:e,repo:f}=c??await (0,j.pt)(b);console.log("Repo info:",{owner:e,repo:f});let{data:g}=await d.repos.get({owner:e,repo:f}),h=g.default_branch;console.log("Default branch:",h),await n(d,e,f),console.log("GitHub structure initialized");let k=new Date().toISOString().split("T")[0],l=Date.now().toString(),m=i().extname(a.name),o=`${l}${m}`,p=`assets/images/${k}/${o}`;await (0,j.Gl)(d,e,f,`assets/images/${k}`);let q=await (0,j.bB)(a),r=await d.repos.createOrUpdateFileContents({owner:e,repo:f,path:p,message:`Upload image: ${o}`,content:q});console.log(r),console.log("Image uploaded successfully");let s=r.data.content?.download_url;if(s){let a=s.split("/"),b=a[3],c=a[4],d=a.slice(6).join("/");return`https://github.com/${b}/${c}/blob/${h}/${d}?raw=true`}throw Error("Failed to get image URL")}catch(a){throw console.error("Error uploading image:",a),a}}async function s(a){let b,c,d=null;if(a.length>40)try{d=(0,j.QB)(a);let e=await (0,j.pt)(a);b=e.owner,c=e.repo}catch(d){console.error("Error getting authenticated user:",d),b=a,c=k}else b=a,c=k;let e=`https://github.com/${b}.png`,f=`https://github.com/${b}.png`,g=e,h=f;return d&&(g=await t(d,b,c,"assets/icon.jpg",e),h=await t(d,b,c,"assets/icon-144.jpg",f)),{iconPath:g,appleTouchIconPath:h}}async function t(a,b,c,d,e){try{return await a.repos.getContent({owner:b,repo:c,path:d}),`https://github.com/${b}/${c}/blob/main/${d}?raw=true`}catch(a){return console.warn(`No icon found in ${d}, using default:`,e),e}}}};
|
|
14
|
+
${c}`}function f(a){let b=a.match(/date:\s*(.+)/);return b?b[1]:void 0}function g(a){let b=a.match(/status:\s*(.+)/);return b?b[1].trim():void 0}c.d(b,{GU:()=>d,KI:()=>g,_x:()=>f,wM:()=>e})},33577:(a,b,c)=>{c.d(b,{El:()=>k,Gl:()=>i,QB:()=>e,_P:()=>g,bB:()=>j,du:()=>l,pt:()=>f,sP:()=>h});var d=c(40076);function e(a){if(!a)throw Error("Access token is required");return new d.E({auth:a})}async function f(a){if(!a)throw Error("Access token is required");let b=e(a);try{let{data:a}=await b.users.getAuthenticated();return{owner:a.login,repo:"cici"}}catch(a){throw console.error("Error getting authenticated user:",a),Error("Failed to get authenticated user")}}async function g(a,b,c,d){let e=await a.repos.getContent({owner:b,repo:c,path:d});if(Array.isArray(e.data)||!("content"in e.data))throw Error("Unexpected response from GitHub API");return{content:Buffer.from(e.data.content,"base64").toString("utf-8"),sha:e.data.sha}}async function h(a,b,c,d,e,f,g){let h={owner:b,repo:c,path:d,message:e,content:Buffer.from(f).toString("base64")};g&&(h.sha=g),await a.repos.createOrUpdateFileContents(h)}async function i(a,b,c,d){try{await a.repos.getContent({owner:b,repo:c,path:d})}catch(e){if(e instanceof Error&&"status"in e&&404===e.status)await a.repos.createOrUpdateFileContents({owner:b,repo:c,path:`${d}/.gitkeep`,message:`Create directory: ${d}`,content:""});else throw e}}async function j(a){return new Promise((b,c)=>{let d=new FileReader;d.readAsDataURL(a),d.onload=()=>{"string"==typeof d.result?b(d.result.split(",")[1]):c(Error("Failed to convert file to base64"))},d.onerror=a=>c(a)})}function k(a){return a instanceof Error&&"status"in a&&404===a.status}async function l(a,b,c,d,e,f){try{await a.repos.getContent({owner:b,repo:c,path:d}),console.log(`File ${d} already exists.`)}catch(g){if(k(g)){console.log(`Creating file ${d}...`);try{await h(a,b,c,d,e,f),console.log(`File ${d} created successfully.`)}catch(a){throw console.error(`Error creating file ${d}:`,a),a}}else throw console.error(`Error checking file ${d}:`,g),g}}},39943:(a,b,c)=>{c.d(b,{i:()=>l,j:()=>k});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(56995);let i={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".svg":"image/svg+xml",".avif":"image/avif"};function j(){return g().join((0,h.n)(),"assets")}async function k(a,b){let c=function(a,b){let c=g().extname(a||"").toLowerCase();if(c&&i[c])return c;if(b){let a=`.${b.split("/")[1]||""}`.toLowerCase();if(i[a])return a}return c||".png"}(a.name,a.type),d=g().posix.join("images",b.date),f=`${b.id}${c}`,h=g().join(j(),d);e().mkdirSync(h,{recursive:!0});let k=Buffer.from(await a.arrayBuffer());return e().writeFileSync(g().join(h,f),k),`/api/asset/${d}/${f}`}function l(a){if(a.some(a=>!a||".."===a||a.includes("\0")||a.includes("/")||a.includes("\\")))return null;let b=j(),c=g().resolve(b,...a);if(c!==b&&!c.startsWith(b+g().sep)||!e().existsSync(c)||!e().statSync(c).isFile())return null;let d=g().extname(c).toLowerCase();return{body:e().readFileSync(c),contentType:i[d]??"application/octet-stream"}}},90880:(a,b,c)=>{c.d(b,{sO:()=>x});var d=c(70806),e=c(39943),f=c(46858),g=c(29021),h=c.n(g),i=c(33873),j=c.n(i);function k(a){let{frontmatter:b}=function(a){let b=a.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);return b?{frontmatter:b[1],body:b[2].replace(/^\n/,"")}:{frontmatter:"",body:a}}(a),c=b.match(/title:[ \t]*(.+)/),d=b.match(/date:[ \t]*(.+)/),e=b.match(/latitude:[ \t]*(.+)/),f=b.match(/longitude:[ \t]*(.+)/),g=b.match(/city:[ \t]*(.+)/),h=b.match(/street:[ \t]*(.+)/),i=b.match(/status:[ \t]*(.+)/),j=b.match(/publishedAt:[ \t]*(.+)/),k=b.match(/lastModified:[ \t]*(.+)/),l=e?.[1]?.trim(),m=f?.[1]?.trim(),n=l?parseFloat(l):NaN,o=m?parseFloat(m):NaN;return{title:c?c[1].trim():"",date:d?d[1].trim():new Date().toISOString(),discussions:function(a){let b=[],c=a.match(/external_discussions:\s*\n([\s\S]*?)(?=\n\w|$)/);if(!c)return b;let d=c[1].split("\n").filter(a=>a.trim()),e={};for(let a of d)a.includes("platform:")?(e.platform&&e.url&&b.push(e),e={platform:a.split(":")[1].trim()}):a.includes("url:")&&e.platform&&(e.url=a.split("url:")[1].trim());return e.platform&&e.url&&b.push(e),b}(b),...l&&!isNaN(n)&&{latitude:n},...m&&!isNaN(o)&&{longitude:o},...g&&g[1].trim()&&{city:g[1].trim()},...h&&h[1].trim()&&{street:h[1].trim()},...i&&{status:i[1].trim()},...j&&{publishedAt:j[1].trim()},...k&&{lastModified:k[1].trim()}}}var l=c(20751),m=c(56995),n=c(8623);class o{abs(a){return j().join((0,m.n)(),a)}get dataDir(){return(0,m.n)()}get blogDir(){return this.abs(l.vH.blogDir())}async getBlogPosts(a=!1){try{if(!h().existsSync(this.blogDir))return console.log("Blog directory does not exist, returning empty array"),[];let b=h().readdirSync(this.blogDir).filter(a=>a.endsWith(".md")&&".gitkeep"!==a),c=[];for(let a of b){let b=await this.getBlogPost(a);b&&c.push(b)}let d=c.sort((a,b)=>new Date(b.date).getTime()-new Date(a.date).getTime());if(a)return d;return d.filter(a=>"published"===a.status)}catch(a){return console.error("Error reading local blog posts:",a),[]}}async getBlogPost(a){try{let b=j().join(this.blogDir,a);if(!h().existsSync(b))return null;let c=h().readFileSync(b,"utf-8"),d=k(c),e=this.getFirstImageURLFrom(c);return{id:a.replace(".md",""),title:d.title||a.replace(".md",""),content:c,imageUrl:e,date:d.date?new Date(d.date).toISOString():new Date().toISOString(),discussions:d.discussions.length>0?d.discussions:void 0,latitude:d.latitude,longitude:d.longitude,city:d.city,street:d.street,status:d.status||"published",publishedAt:d.publishedAt||d.date,lastModified:d.lastModified||d.date||new Date().toISOString()}}catch(b){return console.error(`Error reading blog post ${a}:`,b),null}}async getMemos(){try{let a=this.abs(l.vH.memos());if(!h().existsSync(a))return console.log("memos.json not found, returning empty array"),[];let b=h().readFileSync(a,"utf-8"),c=JSON.parse(b);return Array.isArray(c)?c:[]}catch(a){return console.error("Error reading local memos:",a),[]}}async getSiteConfig(){try{let a=h().readFileSync(this.abs(l.vH.siteConfig()),"utf-8");return JSON.parse(a)}catch{return null}}async getLinks(){try{let a=this.abs(l.vH.siteConfig());if(!h().existsSync(a))return{};let b=h().readFileSync(a,"utf-8");return JSON.parse(b).links||{}}catch(a){return console.warn("Error reading local site config:",a),{}}}async getLikes(){try{let a=this.abs(l.vH.likes());if(!h().existsSync(a))return console.log("likes.json not found, returning empty object"),{};let b=h().readFileSync(a,"utf-8"),c=JSON.parse(b);return"object"==typeof c&&null!==c?c:{}}catch(a){return console.error("Error reading local likes:",a),{}}}async updateLikes(a){try{let b=this.abs(l.vH.likes()),c=JSON.stringify(a,null,2);h().writeFileSync(b,c,"utf-8"),console.log("Updated local likes data")}catch(a){throw console.error("Error updating local likes:",a),Error("Failed to update local likes data")}}async createMemo(a){try{let b=await this.getMemos(),c=[a,...b],d=this.abs(l.vH.memos()),e=JSON.stringify(c,null,2);return h().writeFileSync(d,e,"utf-8"),console.log("Created new memo locally"),a}catch(a){throw console.error("Error creating local memo:",a),Error("Failed to create memo locally")}}async createBlogPost(a){let b=(0,n.GU)(a.title),c=this.abs(l.vH.blogFile(`${b}.md`)),d=(0,n.wM)({title:a.title,date:new Date().toISOString(),content:a.content,status:a.status,location:a.location,discussions:a.discussions});return h().mkdirSync(j().dirname(c),{recursive:!0}),h().writeFileSync(c,d,"utf-8"),b}async updateBlogPost(a,b){let c=this.abs(l.vH.blogPost(a)),d="";try{d=h().readFileSync(c,"utf-8")}catch{}let e=(0,n._x)(d)??new Date().toISOString(),f=void 0!==b.status?b.status:(0,n.KI)(d)??"published",g=(0,n.wM)({title:b.title,date:e,content:b.content,status:f,location:b.location,discussions:b.discussions});return h().mkdirSync(j().dirname(c),{recursive:!0}),h().writeFileSync(c,g,"utf-8"),a}async deleteBlogPost(a){let b=this.abs(l.vH.blogPost(a));try{h().unlinkSync(b)}catch(a){if(a?.code!=="ENOENT")throw a}}async updateMemo(a,b){let c=await this.getMemos(),d=c.findIndex(b=>b.id===a);if(-1===d)throw Error("Memo not found");let e={...c[d],content:b},f=c.map((a,b)=>b===d?e:a);return h().writeFileSync(this.abs(l.vH.memos()),JSON.stringify(f,null,2),"utf-8"),e}async deleteMemo(a){let b=(await this.getMemos()).filter(b=>b.id!==a);h().writeFileSync(this.abs(l.vH.memos()),JSON.stringify(b,null,2),"utf-8")}async getDrafts(){return(await this.getBlogPosts(!0)).filter(a=>"draft"===a.status)}async getAllBlogPosts(){return this.getBlogPosts(!0)}async checkRepositoryHealth(){return h().existsSync(this.dataDir)}getFirstImageURLFrom(a){let b=/(https?:\/\/[^\s]+?\.(?:png|jpg|jpeg|gif|webp))/i.exec(a);if(b){let a=b[1];return a.startsWith("https://github")?`${a}?raw=true`:a}return null}}class p{constructor(a){this.dir=a,this.client=new o}get label(){return`local: ${this.dir}`}canWrite(){return!0}getBlogPosts(a){return this.client.getBlogPosts(a?.includeDrafts??!1)}async getBlogPost(a){return await this.client.getBlogPost(`${a}.md`)??void 0}getMemos(){return this.client.getMemos()}getLinks(){return this.client.getLinks()}getLikes(){return this.client.getLikes()}getSiteConfig(){return this.client.getSiteConfig()}createBlogPost(a){return this.client.createBlogPost(a)}updateBlogPost(a,b){return this.client.updateBlogPost(a,b)}deleteBlogPost(a){return this.client.deleteBlogPost(a)}createMemo(a){return this.client.createMemo(a)}updateMemo(a,b){return this.client.updateMemo(a,b)}deleteMemo(a){return this.client.deleteMemo(a)}updateLikes(a){return this.client.updateLikes(a)}uploadAsset(a){return(0,e.j)(a,{date:new Date().toISOString().split("T")[0],id:Date.now().toString()})}highlights(){return new f.Ik(this.dir)}}var q=c(33577),r=c(94480),s=c(40076);class t{constructor(a,b="cici"){this.accessToken=a,this.repo=b}async getSafeOwner(a){if(a&&"true"!==a)return a;if(this.accessToken)try{let a=new s.E({auth:this.accessToken}),{data:b}=await a.users.getAuthenticated();if(b.login&&"true"!==b.login)return b.login}catch(a){console.warn("Failed to get authenticated user:",a)}return process.env.GITHUB_USERNAME||"metrue"}async getBlogPosts(a,b=!1){let c=this.accessToken?new s.E({auth:this.accessToken}):new s.E,d=await this.getSafeOwner(a);try{let a=await c.repos.getContent({owner:d,repo:this.repo,path:l.iV.blogDir()});if(!Array.isArray(a.data))return console.warn("Unexpected response from GitHub API: data is not an array"),[];let e=(await Promise.all(a.data.filter(a=>"file"===a.type&&".gitkeep"!==a.name&&a.name.endsWith(".md")).map(async a=>this.getBlogPost(a.name,d)))).filter(a=>void 0!==a);if(b&&this.accessToken)return e;return e.filter(a=>"published"===a.status)}catch(a){if(console.error("Error fetching blog posts:",a),a instanceof Error&&"status"in a&&404===a.status)return console.log("Blog directory does not exist, returning empty array"),[];throw a}}async getBlogPost(a,b){let c=this.accessToken?new s.E({auth:this.accessToken}):new s.E,d=await this.getSafeOwner(b),e=await c.repos.getContent({owner:d,repo:this.repo,path:l.iV.blogFile(a)});if("content"in e.data){let b=Buffer.from(e.data.content,"base64").toString("utf-8"),c=k(b);return{id:a.replace(".md",""),title:c.title?decodeURIComponent(c.title):decodeURIComponent(a.replace(".md","")),content:b,imageUrl:(a=>{let b=/(https?:\/\/[^\s]+?\.(?:png|jpg|jpeg|gif|webp))/i.exec(a);if(b){let a=b[1];return a.startsWith("https://github")?`${a}?raw=true`:a}return null})(b),date:c.date?new Date(c.date).toISOString():new Date().toISOString(),discussions:c.discussions.length>0?c.discussions:void 0,latitude:c.latitude,longitude:c.longitude,city:c.city,street:c.street,status:c.status||"published",publishedAt:c.publishedAt||c.date,lastModified:c.lastModified||c.date||new Date().toISOString()}}}async getMemos(a){let b=this.accessToken?new s.E({auth:this.accessToken}):new s.E,c=await this.getSafeOwner(a);try{let a=await b.repos.getContent({owner:c,repo:this.repo,path:l.iV.memos()});if(Array.isArray(a.data)||!("content"in a.data))return[];let d=Buffer.from(a.data.content,"base64").toString("utf-8");return JSON.parse(d)}catch(a){return console.error("Error fetching public memos:",a),[]}}async getLinks(a){let b=this.accessToken?new s.E({auth:this.accessToken}):new s.E,c=await this.getSafeOwner(a);try{let a=await b.repos.getContent({owner:c,repo:this.repo,path:l.iV.siteConfig()});if(Array.isArray(a.data)||!("content"in a.data))return{};let d=Buffer.from(a.data.content,"base64").toString("utf-8");return JSON.parse(d).links||{}}catch(a){return console.warn("Error fetching links:",a),{}}}async getLikes(a){let b=this.accessToken?new s.E({auth:this.accessToken}):new s.E,c=await this.getSafeOwner(a);try{let a=await b.repos.getContent({owner:c,repo:this.repo,path:l.iV.likes()});if(Array.isArray(a.data)||!("content"in a.data))return{};let d=Buffer.from(a.data.content,"base64").toString("utf-8");return JSON.parse(d)}catch(a){if(console.error("Error fetching likes:",a),a instanceof Error&&"status"in a&&404===a.status)return{};throw a}}async updateLikes(a,b){let c=new s.E({auth:this.accessToken}),d=await this.getSafeOwner(b);try{let b;try{let a=await c.repos.getContent({owner:d,repo:this.repo,path:l.iV.likes()});!Array.isArray(a.data)&&"sha"in a.data&&(b=a.data.sha)}catch(a){}await c.repos.createOrUpdateFileContents({owner:d,repo:this.repo,path:l.iV.likes(),message:`Update likes data - ${new Date().toISOString()}`,content:Buffer.from(JSON.stringify(a,null,2)).toString("base64"),...b&&{sha:b}})}catch(a){throw console.error("Error updating likes:",a),Error("Failed to update likes data")}}async getDrafts(a){return(await this.getBlogPosts(a,!0)).filter(a=>"draft"===a.status)}async getAllBlogPosts(a){return this.getBlogPosts(a,!0)}}class u{constructor(a,b="cici"){this.owner=a,this.baseUrl=`https://raw.githubusercontent.com/${a}/${b}/main`}async getBlogPosts(a=!1){try{try{let b=await fetch(`${this.baseUrl}/${l.iV.blogManifest()}`);if(b.ok){let c=await b.json(),d=c.files||[...c.published||[],...c.drafts||[]],e=(await Promise.all(d.map(a=>this.getBlogPost(a)))).filter(a=>null!==a);if(a)return e;return e.filter(a=>"published"===a.status)}}catch{}return console.warn("Blog manifest not found, returning empty array"),[]}catch(a){throw console.error("Error fetching blog posts via raw URLs:",a),a}}async getBlogPost(a){try{let b=await fetch(`${this.baseUrl}/${l.iV.blogFile(a)}`);if(!b.ok){if(404===b.status)return null;throw Error(`HTTP ${b.status}: ${b.statusText}`)}let c=await b.text(),d=k(c);return{id:a.replace(".md",""),title:d.title?decodeURIComponent(d.title.trim()):decodeURIComponent(a.replace(".md","")),content:c,imageUrl:(a=>{let b=/(https?:\/\/[^\s]+?\.(?:png|jpg|jpeg|gif|webp))/i.exec(a);if(b){let a=b[1];return a.startsWith("https://github")?`${a}?raw=true`:a}return null})(c),date:d.date?new Date(d.date.trim()).toISOString():new Date().toISOString(),discussions:d.discussions.length>0?d.discussions:void 0,latitude:d.latitude,longitude:d.longitude,city:d.city,street:d.street,status:d.status||"published",publishedAt:d.publishedAt||d.date,lastModified:d.lastModified||d.date||new Date().toISOString()}}catch(b){return console.error(`Error fetching blog post ${a}:`,b),null}}async getMemos(){try{let a=await fetch(`${this.baseUrl}/${l.iV.memos()}`);if(!a.ok){if(404===a.status)return console.log("memos.json not found, returning empty array"),[];throw Error(`HTTP ${a.status}: ${a.statusText}`)}let b=await a.json();return Array.isArray(b)?b:[]}catch(a){return console.error("Error fetching memos via raw URLs:",a),[]}}async getLinks(){try{let a=await fetch(`${this.baseUrl}/${l.iV.siteConfig()}`);if(!a.ok){if(404===a.status)return{};throw Error(`HTTP ${a.status}: ${a.statusText}`)}return(await a.json()).links||{}}catch(a){return console.warn("Error fetching links via raw URLs:",a),{}}}async getLikes(){try{let a=await fetch(`${this.baseUrl}/${l.iV.likes()}`);if(!a.ok){if(404===a.status)return console.log("likes.json not found, returning empty object"),{};throw Error(`HTTP ${a.status}: ${a.statusText}`)}let b=await a.json();return"object"==typeof b&&null!==b?b:{}}catch(a){return console.error("Error fetching likes via raw URLs:",a),{}}}async getDrafts(){return(await this.getBlogPosts(!0)).filter(a=>"draft"===a.status)}async getAllBlogPosts(){return this.getBlogPosts(!0)}async checkRepositoryHealth(){try{return(await fetch(`${this.baseUrl}/README.md`)).ok}catch{return!1}}}class v extends Error{constructor(a="This cici instance is read-only. Provide a token to enable editing."){super(a),this.name="ReadOnlyError"}}class w{constructor(a){this.owner=a.owner,this.repo=a.repo,this.token=a.token,this.reader=new u(a.owner,a.repo),this.apiReader=a.token?new t(a.token,a.repo):void 0,this.target={owner:a.owner,repo:a.repo}}async fresh(a,b){if(this.apiReader)try{return await a(this.apiReader)}catch(a){console.warn("GitHub API read failed, falling back to raw URL:",a)}return b()}get label(){return`github: ${this.owner}/${this.repo}${this.token?"":" (read-only)"}`}canWrite(){return!!this.token}requireToken(){if(!this.token)throw new v;return this.token}writeOctokit(){return(0,q.QB)(this.requireToken())}getBlogPosts(a){let b=a?.includeDrafts??!1;return this.fresh(a=>a.getBlogPosts(this.owner,b),()=>this.reader.getBlogPosts(b))}async getBlogPost(a){return await this.fresh(b=>b.getBlogPost(`${a}.md`,this.owner),()=>this.reader.getBlogPost(`${a}.md`))??void 0}getMemos(){return this.fresh(a=>a.getMemos(this.owner),()=>this.reader.getMemos())}getLinks(){return this.fresh(a=>a.getLinks(this.owner),()=>this.reader.getLinks())}getLikes(){return this.fresh(a=>a.getLikes(this.owner),()=>this.reader.getLikes())}async getSiteConfig(){if(this.token)try{let a=(0,q.QB)(this.token),b=await a.repos.getContent({owner:this.owner,repo:this.repo,path:l.iV.siteConfig()});if(!Array.isArray(b.data)&&"content"in b.data){let a=Buffer.from(b.data.content,"base64").toString("utf-8");return JSON.parse(a)}}catch(a){console.warn("GitHub API site-config read failed, falling back to raw URL:",a)}try{let a=`https://raw.githubusercontent.com/${this.owner}/${this.repo}/main/${l.iV.siteConfig()}`,b=await fetch(a);if(!b.ok)return null;return await b.json()}catch{return null}}async createBlogPost(a){let b=this.requireToken();return await (0,r.Fd)(a.title,a.content,b,a.discussions,a.location,a.status,this.target),(0,n.GU)(a.title)}async updateBlogPost(a,b){let c=this.requireToken();return await (0,r.s2)(a,b.title,b.content,c,b.discussions,b.location,b.status,this.target),a}async deleteBlogPost(a){await (0,r.m0)(a,this.requireToken(),this.target)}async uploadAsset(a){return(0,r.V6)(a,this.requireToken(),this.target)}async createMemo(a){let b=l.iV.memos(),{data:c,sha:d}=await this.getJsonFile(b),e=Array.isArray(c)?c:[];return await this.putFile(b,JSON.stringify([a,...e],null,2),`Add memo ${a.id}`,d),a}async updateMemo(a,b){let c=l.iV.memos(),{data:d,sha:e}=await this.getJsonFile(c),f=Array.isArray(d)?d:[],g=f.findIndex(b=>b.id===a);if(-1===g)throw Error("Memo not found");let h={...f[g],content:b},i=f.map((a,b)=>b===g?h:a);return await this.putFile(c,JSON.stringify(i,null,2),`Update memo ${a}`,e),h}async deleteMemo(a){let b=l.iV.memos(),{data:c,sha:d}=await this.getJsonFile(b),e=Array.isArray(c)?c:[];await this.putFile(b,JSON.stringify(e.filter(b=>b.id!==a),null,2),`Delete memo ${a}`,d)}async updateLikes(a){let b=l.iV.likes(),{sha:c}=await this.getJsonFile(b);await this.putFile(b,JSON.stringify(a,null,2),"Update likes",c)}highlights(){return new f.jE((0,q.QB)(this.token),this.owner,this.repo)}async getJsonFile(a){let b=this.writeOctokit();try{let c=await b.repos.getContent({owner:this.owner,repo:this.repo,path:a});if(Array.isArray(c.data)||!("content"in c.data))return{data:null};let d=Buffer.from(c.data.content,"base64").toString("utf-8");return{data:JSON.parse(d),sha:c.data.sha}}catch(a){if(a?.status===404)return{data:null};throw a}}putFile(a,b,c,d){return(0,q.sP)(this.writeOctokit(),this.owner,this.repo,a,c,b,d)}}function x(a){var b;return"local"===(b=(0,d.p)(a)).kind?new p(b.dir):new w({owner:b.owner,repo:b.repo,token:b.token})}},94480:(a,b,c)=>{c.d(b,{Fd:()=>o,m0:()=>p,KG:()=>s,s2:()=>q,V6:()=>r});var d=c(40076),e=c(20751);async function f(a,b,c){try{let f,g=new d.E({auth:a}),{data:h}=await g.repos.getContent({owner:b,repo:c,path:e.iV.blogDir()});if(!Array.isArray(h))return void console.error("Expected array of files but got:",typeof h);let i=h.filter(a=>"file"===a.type&&a.name.endsWith(".md")&&".gitkeep"!==a.name).map(a=>a.name).sort();try{let{data:a}=await g.repos.getContent({owner:b,repo:c,path:e.iV.blogManifest()});!Array.isArray(a)&&"sha"in a&&(f=a.sha)}catch(a){console.log("Blog manifest does not exist yet, will create it")}await g.repos.createOrUpdateFileContents({owner:b,repo:c,path:e.iV.blogManifest(),message:"Update blog manifest",content:Buffer.from(JSON.stringify({files:i},null,2)).toString("base64"),sha:f}),console.log("Blog manifest updated successfully with",i.length,"files")}catch(a){console.error("Failed to update blog manifest:",a)}}var g=c(8623),h=c(33873),i=c.n(h),j=c(33577);let k="cici";async function l(a,b,c){try{let{data:d}=await a.repos.get({owner:b,repo:c});if(!d.description){let{data:d}=await a.users.getAuthenticated(),e=d.login;await a.repos.update({owner:b,repo:c,description:`https://tinymind.me/${e}`}),console.log(`Updated repository description to https://tinymind.me/${e}`)}}catch(b){if((0,j.El)(b))await a.repos.createForAuthenticatedUser({name:c,auto_init:!0}),console.log(`Created new repository: ${c}`);else throw b}try{let{data:d}=await a.repos.getContent({owner:b,repo:c,path:"README.md"});if(console.log("README content:",d),"content"in d){let e=Buffer.from(d.content,"base64").toString("utf-8");console.log("README Decoded content:",e.trim()),(""===e.trim()||"# tinymind-blog"===e.trim())&&(await a.repos.createOrUpdateFileContents({owner:b,repo:c,path:"README.md",message:"Update README.md with default content",content:Buffer.from("# cici Blog\n\nWrite blog posts and memos at https://tinymind.me with data stored on GitHub.").toString("base64"),sha:d.sha}),console.log("README.md updated with default content"))}}catch(d){if(d instanceof Error&&"status"in d&&404===d.status){let d=Buffer.from("Write blog posts and memos at https://tinymind.me with data stored on GitHub.").toString("base64");await a.repos.createOrUpdateFileContents({owner:b,repo:c,path:"README.md",message:"Initial commit: Add README.md",content:d})}else throw d}}async function m(a,b,c){try{await (0,j.du)(a,b,c,e.iV.rootKeep(),"Initialize content directory",""),await (0,j.du)(a,b,c,e.iV.blogDirKeep(),"Initialize blog directory",""),await (0,j.du)(a,b,c,e.iV.memos(),"Initialize memos.json","[]")}catch(a){throw console.error("Error ensuring content structure:",a),a}}async function n(a,b,c){await l(a,b,c),await m(a,b,c)}async function o(a,b,c,d=[],h,i="published",k){let l=(0,j.QB)(c),{owner:m,repo:p}=k??await (0,j.pt)(c);await n(l,m,p);let q=`${(0,g.GU)(a)}.md`,r=e.iV.blogFile(q),s=(0,g.wM)({title:a,date:new Date().toISOString(),content:b,status:i,location:h,discussions:d});await l.repos.createOrUpdateFileContents({owner:m,repo:p,path:r,message:`Add blog post: ${a}`,content:Buffer.from(s).toString("base64")}),await f(c,m,p)}async function p(a,b,c){if(console.log("Deleting blog post..."),!b)throw Error("Access token is required");let d=(0,j.QB)(b);try{let{owner:g,repo:h}=c??await (0,j.pt)(b),i=decodeURIComponent(a),k=`${i}.md`,l=e.iV.blogFile(k);console.log(`Attempting to delete file: ${l}`);let m=await d.repos.getContent({owner:g,repo:h,path:l});if(Array.isArray(m.data)||!("sha"in m.data))throw Error("Unexpected response when fetching current blog post");await d.repos.deleteFile({owner:g,repo:h,path:l,message:"Delete blog post",sha:m.data.sha}),console.log("Blog post deleted successfully"),await f(b,g,h)}catch(a){throw console.error("Error deleting blog post:",a),a}}async function q(a,b,c,d,h=[],i,k,l){if(console.log("Updating blog post..."),!d)throw Error("Access token is required");let m=(0,j.QB)(d);try{let{owner:n,repo:o}=l??await (0,j.pt)(d),{content:p,sha:q}=await (0,j._P)(m,n,o,e.iV.blogPost(a)),r=(0,g._x)(p)??new Date().toISOString(),s=void 0!==k?k:(0,g.KI)(p)??"published",t=(0,g.wM)({title:b,date:r,content:c,status:s,location:i,discussions:h});await (0,j.sP)(m,n,o,e.iV.blogPost(a),"Update blog post",t,q),console.log("Blog post updated successfully"),await f(d,n,o)}catch(a){throw console.error("Error updating blog post:",a),a}}async function r(a,b,c){if(console.log("Uploading image..."),!b)throw Error("Access token is required");let d=(0,j.QB)(b);console.log("Octokit instance created");try{let{owner:e,repo:f}=c??await (0,j.pt)(b);console.log("Repo info:",{owner:e,repo:f});let{data:g}=await d.repos.get({owner:e,repo:f}),h=g.default_branch;console.log("Default branch:",h),await n(d,e,f),console.log("GitHub structure initialized");let k=new Date().toISOString().split("T")[0],l=Date.now().toString(),m=i().extname(a.name),o=`${l}${m}`,p=`assets/images/${k}/${o}`;await (0,j.Gl)(d,e,f,`assets/images/${k}`);let q=await (0,j.bB)(a),r=await d.repos.createOrUpdateFileContents({owner:e,repo:f,path:p,message:`Upload image: ${o}`,content:q});console.log(r),console.log("Image uploaded successfully");let s=r.data.content?.download_url;if(s){let a=s.split("/"),b=a[3],c=a[4],d=a.slice(6).join("/");return`https://github.com/${b}/${c}/blob/${h}/${d}?raw=true`}throw Error("Failed to get image URL")}catch(a){throw console.error("Error uploading image:",a),a}}async function s(a){let b,c,d=null;if(a.length>40)try{d=(0,j.QB)(a);let e=await (0,j.pt)(a);b=e.owner,c=e.repo}catch(d){console.error("Error getting authenticated user:",d),b=a,c=k}else b=a,c=k;let e=`https://github.com/${b}.png`,f=`https://github.com/${b}.png`,g=e,h=f;return d&&(g=await t(d,b,c,"assets/icon.jpg",e),h=await t(d,b,c,"assets/icon-144.jpg",f)),{iconPath:g,appleTouchIconPath:h}}async function t(a,b,c,d,e){try{return await a.repos.getContent({owner:b,repo:c,path:d}),`https://github.com/${b}/${c}/blob/main/${d}?raw=true`}catch(a){return console.warn(`No icon found in ${d}, using default:`,e),e}}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=9193,exports.ids=[9193],exports.modules={20751:(a,b,c)=>{c.d(b,{iV:()=>g,vH:()=>e});let d="data",e={rootKeep:()=>".gitkeep",blogDir:()=>"blog",blogDirKeep:()=>"blog/.gitkeep",blogPost:a=>`blog/${a}.md`,blogFile:a=>`blog/${a}`,blogManifest:()=>"blog-manifest.json",memos:()=>"memos.json",likes:()=>"likes.json",siteConfig:()=>"site-config.json",highlightsDir:()=>"highlights",highlightsFile:a=>`highlights/${a}.json`},f=a=>`${d}/${a}`,g={root:()=>d,rootKeep:()=>f(e.rootKeep()),blogDir:()=>f(e.blogDir()),blogDirKeep:()=>f(e.blogDirKeep()),blogPost:a=>f(e.blogPost(a)),blogFile:a=>f(e.blogFile(a)),blogManifest:()=>f(e.blogManifest()),memos:()=>f(e.memos()),likes:()=>f(e.likes()),siteConfig:()=>f(e.siteConfig()),highlightsDir:()=>f(e.highlightsDir()),highlightsFile:a=>f(e.highlightsFile(a))}},24516:(a,b,c)=>{c.d(b,{L7:()=>j,x_:()=>e,zl:()=>k});var d=c(657);let e=d.Ik({startOffset:d.ai().int().nonnegative(),endOffset:d.ai().int().nonnegative(),exact:d.Yj().min(1).max(1e3),prefix:d.Yj().max(64),suffix:d.Yj().max(64)}).refine(a=>a.endOffset>=a.startOffset,{message:"endOffset must be >= startOffset"}),f=d.g1(d.Yj(),d.YO(d.Yj())),g=d.k5(["ios","android","web"]),h=d.Ik({id:d.Yj().min(1).max(64),parentId:d.Yj().min(1).max(64).nullable(),body:d.Yj().min(1).max(2e3),authorName:d.Yj().max(40).nullable(),fingerprint:d.Yj().min(1).max(128),country:d.Yj().max(8),platform:g,reactions:f,resolved:d.zM(),createdAt:d.Yj().datetime(),hidden:d.zM(),hiddenReason:d.Yj().max(200).optional()}),i=d.Ik({id:d.Yj().min(1).max(64),anchor:e,thread:d.YO(h).min(1),resolved:d.zM(),createdAt:d.Yj().datetime()}),j=d.Ik({postId:d.Yj().min(1),highlights:d.YO(i),schemaVersion:d.eu(1)});function k(a){return{postId:a,highlights:[],schemaVersion:1}}},33910:(a,b,c)=>{c.d(b,{Qh:()=>h,lo:()=>j,u8:()=>g});var d=c(66147),e=c(70806),f=c(56995);async function g(a){let b=(0,e.p)();if("local"===b.kind)return!0;let c=b.owner;if(!c)return!1;let f=a??await (0,d.H)();if(f?.user?.username)return f.user.username===c;if(f?.accessToken){let a=await j(f.accessToken);if(a)return a===c}return!1}async function h(a){return!!(0,f.J)()||((0,e.O)()?g(a):!!process.env.CICI_TOKEN)}let i=new Map;async function j(a){let b=i.get(a);if(b&&b.expiresAt>Date.now())return b.login;try{let b=await fetch("https://api.github.com/user",{headers:{Authorization:`Bearer ${a}`,Accept:"application/vnd.github+json"}});if(!b.ok)return null;let c=await b.json(),d="string"==typeof c.login?c.login:null;return d&&i.set(a,{login:d,expiresAt:Date.now()+6e5}),d}catch(a){return console.error("[authz] fetchGithubLogin failed",a),null}}},46858:(a,b,c)=>{c.d(b,{Ik:()=>o,UU:()=>q,jE:()=>p});var d=c(29021),e=c(33873),f=c.n(e),g=c(40076),h=c(24516),i=c(20751),j=c(70806);let k=new Map;function l(a){return i.iV.highlightsFile(a)}function m(a){if(!a||0===a.length||a.length>200||a.includes("/")||a.includes("\\")||a.includes("\0")||a.includes("..")||a.startsWith("."))throw Error(`Invalid postId: ${a}`)}function n(a){if("object"==typeof a&&null!==a&&"status"in a){let b=a.status;return"number"==typeof b?b:void 0}}class o{constructor(a){this.rootDir=a}absPath(a){return f().join(this.rootDir,i.vH.highlightsFile(a))}async load(a){m(a);try{let b=await d.promises.readFile(this.absPath(a),"utf-8");return{data:h.L7.parse(JSON.parse(b)),sha:null}}catch(b){if("ENOENT"===b?.code)return{data:(0,h.zl)(a),sha:null};throw b}}async save(a,b,c,e){m(a);let g=h.L7.parse(b),i=this.absPath(a);return await d.promises.mkdir(f().dirname(i),{recursive:!0}),await d.promises.writeFile(i,JSON.stringify(g,null,2),"utf-8"),{sha:""}}}class p{constructor(a,b,c="cici",d=!1){this.octokit=a,this.owner=b,this.repo=c,this.readOnly=d}async load(a){m(a);let b=k.get(a);if(b&&b.expiresAt>Date.now())return{data:b.data,sha:b.sha};let c=await this.readFile(a);if(!c){let b=(0,h.zl)(a);return k.set(a,{data:b,sha:null,expiresAt:Date.now()+3e4}),{data:b,sha:null}}let d=h.L7.parse(JSON.parse(c.content));return k.set(a,{data:d,sha:c.sha,expiresAt:Date.now()+3e4}),{data:d,sha:c.sha}}async save(a,b,c,d){if(m(a),this.readOnly)throw Error("Highlights are read-only: no write token available. Sign in as the repo owner to add or moderate inline comments.");let e=h.L7.parse(b),f=Buffer.from(JSON.stringify(e,null,2)).toString("base64"),g=0,i=c;for(;g<3;)try{let b=await this.octokit.repos.createOrUpdateFileContents({owner:this.owner,repo:this.repo,path:l(a),message:d,content:f,...i?{sha:i}:{}}),c=b.data.content?.sha??"";return k.set(a,{data:e,sha:c,expiresAt:Date.now()+3e4}),{sha:c}}catch(c){let b=n(c);if(409===b||422===b){k.delete(a),g++;let b=await this.readFile(a);i=b?.sha??null;continue}throw c}throw Error("Save failed after 3 retries due to write contention")}async readFile(a){try{let b=(await this.octokit.repos.getContent({owner:this.owner,repo:this.repo,path:l(a)})).data;if(Array.isArray(b)||"file"!==b.type)return null;return{content:Buffer.from(b.content,"base64").toString("utf-8"),sha:b.sha}}catch(a){if(404===n(a))return null;throw a}}}function q(a={}){let b=(0,j.p)(a.ownerToken);if("local"===b.kind)return new o(b.dir);let c=a.ownerToken??b.token??process.env.HIGHLIGHTS_GH_TOKEN;return new p(c?new g.E({auth:c}):new g.E,b.owner,b.repo,!c)}},56995:(a,b,c)=>{c.d(b,{J:()=>g,n:()=>h});var d=c(33873),e=c.n(d),f=c(70806);function g(){return"local"===(0,f.p)().kind}function h(){let a=process.env.CICI_DIR;return a?e().resolve(a):e().join(process.cwd(),"sample-content")}},66147:(a,b,c)=>{c.d(b,{H:()=>e,N:()=>f});var d=c(1093);async function e(){let a=await (0,d.getServerSession)(f);return a?(a.accessToken?console.log("Session found with access token"):console.log("Session found, but no access token"),a):(console.log("No session found"),null)}let f={providers:[(0,c(53811).A)({clientId:process.env.GITHUB_ID,clientSecret:process.env.GITHUB_SECRET,authorization:{params:{scope:"public_repo workflow"}}})],callbacks:{async jwt({token:a,account:b,profile:c}){b&&b.access_token&&(a.accessToken=b.access_token);let d=c&&"object"==typeof c&&"login"in c?c.login:void 0,e=b&&"object"==typeof b&&"username"in b?b.username:void 0;return(d||e)&&(a.username=d??e),a},session:async({session:a,token:b})=>(a.accessToken=b.accessToken,a.user&&(a.user.username=b.username),a)},secret:process.env.NEXTAUTH_SECRET,debug:!1}},70806:(a,b,c)=>{c.d(b,{O:()=>g,p:()=>i});var d=c(33873),e=c.n(d);let f="cici";function g(){return!!process.env.GITHUB_ID}let h=!1;function i(a){let b=process.env.CICI_DIR;if(b)return{kind:"local",dir:e().resolve(b)};let c=process.env.CICI_REPO;if(c){let[b,d]=c.split("/");if(!b)throw Error(`Invalid CICI_REPO "${c}" — expected "owner/name".`);return{kind:"github",owner:b,repo:d||f,token:g()?(process.env.CICI_TOKEN&&!h&&(h=!0,console.warn("[cici] CICI_TOKEN is set but ignored in hosted (OAuth) mode — writes are authorized per-visitor via GitHub OAuth and restricted to the repo owner. Ensure your content repo is public so reads work without a token, and remove CICI_TOKEN.")),a||void 0):process.env.CICI_TOKEN||a||void 0}}return{kind:"github",owner:process.env.GITHUB_USERNAME||"metrue",repo:f,token:a||void 0}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-e8e1e36ebd8ab410.js" defer=""></script><script src="/_next/static/chunks/framework-b9fd9bcc3ecde907.js" defer=""></script><script src="/_next/static/chunks/main-9897d09f6acb6f4b.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4b3fb5e477a0267f.js" defer=""></script><script src="/_next/static/chunks/pages/_error-c970d8b55ace1b48.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-e8e1e36ebd8ab410.js" defer=""></script><script src="/_next/static/chunks/framework-b9fd9bcc3ecde907.js" defer=""></script><script src="/_next/static/chunks/main-9897d09f6acb6f4b.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4b3fb5e477a0267f.js" defer=""></script><script src="/_next/static/chunks/pages/_error-c970d8b55ace1b48.js" defer=""></script><script src="/_next/static/-AMzTDPSsnBej5CTn9eL0/_buildManifest.js" defer=""></script><script src="/_next/static/-AMzTDPSsnBej5CTn9eL0/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"-AMzTDPSsnBej5CTn9eL0","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"node":{},"edge":{},"encryptionKey":"
|
|
1
|
+
{"node":{},"edge":{},"encryptionKey":"wLmnQ6wyEeX2DEc1vm5rKtD0Ed5OxCizR4yPYCM+9Ts="}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
-AMzTDPSsnBej5CTn9eL0
|
|
@@ -7,6 +7,24 @@
|
|
|
7
7
|
"static/chunks/main-app-657ff466384ce999.js",
|
|
8
8
|
"static/chunks/app/_not-found/page-7a98347925ee7294.js"
|
|
9
9
|
],
|
|
10
|
+
"/layout": [
|
|
11
|
+
"static/chunks/webpack-e8e1e36ebd8ab410.js",
|
|
12
|
+
"static/chunks/4bd1b696-100b9d70ed4e49c1.js",
|
|
13
|
+
"static/chunks/1255-f5767ca0d1da046a.js",
|
|
14
|
+
"static/chunks/main-app-657ff466384ce999.js",
|
|
15
|
+
"static/css/dd6c59348b6c0424.css",
|
|
16
|
+
"static/css/72d24e512c7ae536.css",
|
|
17
|
+
"static/chunks/0e5ce63c-90c85bb27404cae0.js",
|
|
18
|
+
"static/chunks/795d4814-a3dba3ce0a794500.js",
|
|
19
|
+
"static/chunks/ee560e2c-bcfef9e8e1a2e6cb.js",
|
|
20
|
+
"static/chunks/0e762574-f6652230a6ac6531.js",
|
|
21
|
+
"static/chunks/1339-a8f8afe8799a915d.js",
|
|
22
|
+
"static/chunks/7740-c5c482d7fca72861.js",
|
|
23
|
+
"static/chunks/2619-04bc32f026a0d946.js",
|
|
24
|
+
"static/chunks/2479-8269f0a1815be61d.js",
|
|
25
|
+
"static/chunks/1071-14dd1400acfe1ea5.js",
|
|
26
|
+
"static/chunks/app/layout-e4b5faef8a8f9c0c.js"
|
|
27
|
+
],
|
|
10
28
|
"/api/auth/[...nextauth]/route": [
|
|
11
29
|
"static/chunks/webpack-e8e1e36ebd8ab410.js",
|
|
12
30
|
"static/chunks/4bd1b696-100b9d70ed4e49c1.js",
|
|
@@ -28,24 +46,6 @@
|
|
|
28
46
|
"static/chunks/main-app-657ff466384ce999.js",
|
|
29
47
|
"static/chunks/app/api/blog/[id]/highlights/[hid]/comments/[cid]/route-8c7ce67b65ca4746.js"
|
|
30
48
|
],
|
|
31
|
-
"/layout": [
|
|
32
|
-
"static/chunks/webpack-e8e1e36ebd8ab410.js",
|
|
33
|
-
"static/chunks/4bd1b696-100b9d70ed4e49c1.js",
|
|
34
|
-
"static/chunks/1255-f5767ca0d1da046a.js",
|
|
35
|
-
"static/chunks/main-app-657ff466384ce999.js",
|
|
36
|
-
"static/css/5eeaf06f880f84fb.css",
|
|
37
|
-
"static/css/72d24e512c7ae536.css",
|
|
38
|
-
"static/chunks/0e5ce63c-90c85bb27404cae0.js",
|
|
39
|
-
"static/chunks/795d4814-a3dba3ce0a794500.js",
|
|
40
|
-
"static/chunks/ee560e2c-bcfef9e8e1a2e6cb.js",
|
|
41
|
-
"static/chunks/0e762574-f6652230a6ac6531.js",
|
|
42
|
-
"static/chunks/1339-a8f8afe8799a915d.js",
|
|
43
|
-
"static/chunks/7740-c5c482d7fca72861.js",
|
|
44
|
-
"static/chunks/2619-04bc32f026a0d946.js",
|
|
45
|
-
"static/chunks/2479-8269f0a1815be61d.js",
|
|
46
|
-
"static/chunks/1071-14dd1400acfe1ea5.js",
|
|
47
|
-
"static/chunks/app/layout-e4b5faef8a8f9c0c.js"
|
|
48
|
-
],
|
|
49
49
|
"/api/blog/[id]/highlights/[hid]/replies/route": [
|
|
50
50
|
"static/chunks/webpack-e8e1e36ebd8ab410.js",
|
|
51
51
|
"static/chunks/4bd1b696-100b9d70ed4e49c1.js",
|
|
@@ -174,6 +174,16 @@
|
|
|
174
174
|
"static/chunks/5388-4785b91e95e996ff.js",
|
|
175
175
|
"static/chunks/app/blog/[id]/page-83797d5dde8eb5df.js"
|
|
176
176
|
],
|
|
177
|
+
"/blog/page": [
|
|
178
|
+
"static/chunks/webpack-e8e1e36ebd8ab410.js",
|
|
179
|
+
"static/chunks/4bd1b696-100b9d70ed4e49c1.js",
|
|
180
|
+
"static/chunks/1255-f5767ca0d1da046a.js",
|
|
181
|
+
"static/chunks/main-app-657ff466384ce999.js",
|
|
182
|
+
"static/chunks/1339-a8f8afe8799a915d.js",
|
|
183
|
+
"static/chunks/5604-b48e9786288da005.js",
|
|
184
|
+
"static/chunks/2619-04bc32f026a0d946.js",
|
|
185
|
+
"static/chunks/app/blog/page-ac0e5f906b919762.js"
|
|
186
|
+
],
|
|
177
187
|
"/editor/page": [
|
|
178
188
|
"static/chunks/webpack-e8e1e36ebd8ab410.js",
|
|
179
189
|
"static/chunks/4bd1b696-100b9d70ed4e49c1.js",
|
|
@@ -189,16 +199,6 @@
|
|
|
189
199
|
"static/chunks/995-1cb0e84072c15b74.js",
|
|
190
200
|
"static/chunks/app/editor/page-3d8dc81d24b03841.js"
|
|
191
201
|
],
|
|
192
|
-
"/blog/page": [
|
|
193
|
-
"static/chunks/webpack-e8e1e36ebd8ab410.js",
|
|
194
|
-
"static/chunks/4bd1b696-100b9d70ed4e49c1.js",
|
|
195
|
-
"static/chunks/1255-f5767ca0d1da046a.js",
|
|
196
|
-
"static/chunks/main-app-657ff466384ce999.js",
|
|
197
|
-
"static/chunks/1339-a8f8afe8799a915d.js",
|
|
198
|
-
"static/chunks/5604-b48e9786288da005.js",
|
|
199
|
-
"static/chunks/2619-04bc32f026a0d946.js",
|
|
200
|
-
"static/chunks/app/blog/page-ac0e5f906b919762.js"
|
|
201
|
-
],
|
|
202
202
|
"/memos/page": [
|
|
203
203
|
"static/chunks/webpack-e8e1e36ebd8ab410.js",
|
|
204
204
|
"static/chunks/4bd1b696-100b9d70ed4e49c1.js",
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
+
"/_not-found/page": "/_not-found",
|
|
2
3
|
"/api/auth/[...nextauth]/route": "/api/auth/[...nextauth]",
|
|
3
4
|
"/api/blog/[id]/highlights/[hid]/comments/[cid]/reactions/route": "/api/blog/[id]/highlights/[hid]/comments/[cid]/reactions",
|
|
4
5
|
"/api/blog/[id]/highlights/[hid]/comments/[cid]/route": "/api/blog/[id]/highlights/[hid]/comments/[cid]",
|
|
5
|
-
"/_not-found/page": "/_not-found",
|
|
6
6
|
"/api/blog/[id]/highlights/[hid]/replies/route": "/api/blog/[id]/highlights/[hid]/replies",
|
|
7
7
|
"/api/blog/[id]/highlights/[hid]/resolve/route": "/api/blog/[id]/highlights/[hid]/resolve",
|
|
8
8
|
"/api/blog/[id]/highlights/[hid]/route": "/api/blog/[id]/highlights/[hid]",
|
|
9
9
|
"/api/blog/[id]/highlights/route": "/api/blog/[id]/highlights",
|
|
10
10
|
"/api/webhooks/notification/route": "/api/webhooks/notification",
|
|
11
11
|
"/robots.txt/route": "/robots.txt",
|
|
12
|
-
"/sitemap.xml/route": "/sitemap.xml",
|
|
13
12
|
"/favicon.ico/route": "/favicon.ico",
|
|
13
|
+
"/sitemap.xml/route": "/sitemap.xml",
|
|
14
14
|
"/api/asset/[...path]/route": "/api/asset/[...path]",
|
|
15
15
|
"/api/upload/route": "/api/upload",
|
|
16
16
|
"/api/mile/prompts/route": "/api/mile/prompts",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"/login/page": "/login",
|
|
21
21
|
"/unavailable/page": "/unavailable",
|
|
22
22
|
"/blog/[id]/page": "/blog/[id]",
|
|
23
|
-
"/editor/page": "/editor",
|
|
24
23
|
"/blog/page": "/blog",
|
|
24
|
+
"/editor/page": "/editor",
|
|
25
25
|
"/memos/page": "/memos",
|
|
26
26
|
"/page": "/"
|
|
27
27
|
}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"ampDevFiles": [],
|
|
7
7
|
"lowPriorityFiles": [
|
|
8
|
-
"static/
|
|
9
|
-
"static/
|
|
8
|
+
"static/-AMzTDPSsnBej5CTn9eL0/_buildManifest.js",
|
|
9
|
+
"static/-AMzTDPSsnBej5CTn9eL0/_ssgManifest.js"
|
|
10
10
|
],
|
|
11
11
|
"rootMainFiles": [
|
|
12
12
|
"static/chunks/webpack-e8e1e36ebd8ab410.js",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"dynamicRoutes": {},
|
|
35
35
|
"notFoundRoutes": [],
|
|
36
36
|
"preview": {
|
|
37
|
-
"previewModeId": "
|
|
38
|
-
"previewModeSigningKey": "
|
|
39
|
-
"previewModeEncryptionKey": "
|
|
37
|
+
"previewModeId": "6e7d8af49fe2310694be86324f74616a",
|
|
38
|
+
"previewModeSigningKey": "dca89ac7c431ed9e36a61ee355cb4dd1304784ea15409bd8e2fc89d1774e37ab",
|
|
39
|
+
"previewModeEncryptionKey": "abea419b44f3896ee5d77e2acf2a895a62533b990c35498157e9357d8891a509"
|
|
40
40
|
}
|
|
41
41
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";(()=>{var a={};a.id=9492,a.ids=[9492],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11723:a=>{a.exports=require("querystring")},12412:a=>{a.exports=require("assert")},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},26713:a=>{a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},41025:a=>{a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64566:(a,b,c)=>{c.r(b),c.d(b,{GlobalError:()=>E.a,__next_app__:()=>K,handler:()=>M,pages:()=>J,routeModule:()=>L,tree:()=>I});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(52574),o=c(82802),p=c(77533),q=c(45229),r=c(32822),s=c(261),t=c(26453),u=c(52474),v=c(26713),w=c(51356),x=c(62685),y=c(36225),z=c(63446),A=c(2762),B=c(45742),C=c(86439),D=c(81170),E=c.n(D),F=c(62506),G=c(91203),H={};for(let a in F)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(H[a]=()=>F[a]);c.d(b,H);let I={children:["",{children:["/_not-found",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"]}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,16953)),"/home/runner/work/cici/cici/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,46055))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]}.children,J=[],K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/_not-found/page",pathname:"/_not-found",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:I},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var D;let H="/_not-found/page";"/index"===H&&(H="/");let N=(0,h.getRequestMeta)(a,"postponed"),O=(0,h.getRequestMeta)(a,"minimalMode"),P=await L.prepare(a,b,{srcPage:H,multiZoneDraftMode:!1});if(!P)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Q,query:R,params:S,parsedUrl:T,pageIsDynamic:U,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,serverActionsManifest:Y,clientReferenceManifest:Z,subresourceIntegrityManifest:$,prerenderManifest:_,isDraftMode:aa,resolvedPathname:ab,revalidateOnlyGenerated:ac,routerServerContext:ad,nextConfig:ae,interceptionRoutePatterns:af}=P,ag=T.pathname||"/",ah=(0,s.normalizeAppPath)(H),{isOnDemandRevalidate:ai}=P,aj=L.match(ag,_),ak=!!_.routes[ab],al=!!(aj||ak||_.routes[ah]),am=a.headers["user-agent"]||"",an=(0,v.getBotType)(am),ao=(0,q.isHtmlBotRequest)(a),ap=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[u.NEXT_ROUTER_PREFETCH_HEADER],aq=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[u.RSC_HEADER]),ar=(0,t.getIsPossibleServerAction)(a),as=(0,m.checkIsAppPPREnabled)(ae.experimental.ppr)&&(null==(D=_.routes[ah]??_.dynamicRoutes[ah])?void 0:D.renderingMode)==="PARTIALLY_STATIC",at=!1,au=!1,av=as?N:void 0,aw=as&&aq&&!ap,ax=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ay=!am||(0,q.shouldServeStreamingMetadata)(am,ae.htmlLimitedBots);ao&&as&&(al=!1,ay=!1);let az=!0===L.isDev||!al||"string"==typeof N||aw,aA=ao&&as,aB=null;aa||!al||az||ar||av||aw||(aB=ab);let aC=aB;!aC&&L.isDev&&(aC=ab),L.isDev||aa||!al||!aq||aw||(0,k.d)(a.headers);let aD={...F,tree:I,pages:J,GlobalError:E(),handler:M,routeModule:L,__next_app__:K};Y&&Z&&(0,p.setReferenceManifestsSingleton)({page:H,clientReferenceManifest:Z,serverActionsManifest:Y,serverModuleMap:(0,r.createServerModuleMap)({serverActionsManifest:Y})});let aE=a.method||"GET",aF=(0,g.getTracer)(),aG=aF.getActiveScopeSpan();try{let f=L.getVaryHeader(ab,af);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aF.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aE} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aE} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:R,params:S,page:ah,sharedContext:{buildId:Q},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aD,Component:(0,j.T)(aD),params:S,routeModule:L,page:H,postponed:f,shouldWaitOnAllReady:aA,serveStreamingMetadata:ay,supportsDynamicResponse:"string"==typeof f||az,buildManifest:V,nextFontManifest:W,reactLoadableManifest:X,subresourceIntegrityManifest:$,serverActionsManifest:Y,clientReferenceManifest:Z,setIsrStatus:null==ad?void 0:ad.setIsrStatus,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:aa,isRevalidate:al&&!f&&!aw,botType:an,isOnDemandRevalidate:ai,isPossibleServerAction:ar,assetPrefix:ae.assetPrefix,nextConfigOutput:ae.output,crossOrigin:ae.crossOrigin,trailingSlash:ae.trailingSlash,previewProps:_.preview,deploymentId:ae.deploymentId,enableTainting:ae.experimental.taint,htmlLimitedBots:ae.htmlLimitedBots,devtoolSegmentExplorer:ae.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ae.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ae.experimental.cacheLife,basePath:ae.basePath,serverActions:ae.experimental.serverActions,...at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:at}:{},experimental:{isRoutePPREnabled:as,expireTime:ae.expireTime,staleTimes:ae.experimental.staleTimes,cacheComponents:!!ae.experimental.cacheComponents,clientSegmentCache:!!ae.experimental.clientSegmentCache,clientParamParsing:!!ae.experimental.clientParamParsing,dynamicOnHover:!!ae.experimental.dynamicOnHover,inlineCss:!!ae.experimental.inlineCss,authInterrupts:!!ae.experimental.authInterrupts,clientTraceMetadata:ae.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>L.onRequestError(a,b,d,ad),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[z.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,al&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!as){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ab}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
-
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},74075:a=>{a.exports=require("zlib")},79428:a=>{a.exports=require("buffer")},79551:a=>{a.exports=require("url")},81630:a=>{a.exports=require("http")},84226:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{describeHasCheckingStringProperty:function(){return e},describeStringPropertyAccess:function(){return d},wellKnownProperties:function(){return f}});let c=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function d(a,b){return c.test(b)?"`"+a+"."+b+"`":"`"+a+"["+JSON.stringify(b)+"]`"}function e(a,b){let c=JSON.stringify(b);return"`Reflect.has("+a+", "+c+")`, `"+c+" in "+a+"`, or similar"}let f=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","_debugInfo","toJSON","$$typeof","__esModule","@@iterator"])},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94735:a=>{a.exports=require("events")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[
|
|
2
|
+
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:w.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},n=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===L.isDev,l=c||b.writableEnded;if(ai&&ac&&!f&&!O)return(null==ad?void 0:ad.render404)?await ad.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(aj&&(j=(0,x.parseFallbackField)(aj.fallback)),j===x.FallbackMode.PRERENDER&&(0,v.isBot)(am)&&(!as||ao)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ai=!0),ai&&(j!==x.FallbackMode.NOT_FOUND||f)&&(j=x.FallbackMode.BLOCKING_STATIC_RENDER),!O&&j!==x.FallbackMode.BLOCKING_STATIC_RENDER&&aC&&!l&&!aa&&U&&(k||!ak)){let b;if((k||aj)&&j===x.FallbackMode.NOT_FOUND)throw new C.NoFallbackError;if(as&&!aq){let c="string"==typeof(null==aj?void 0:aj.fallback)?aj.fallback:k?ah:null;if(b=await L.handleResponse({cacheKey:c,req:a,nextConfig:ae,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:_,isRoutePPREnabled:as,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||au?(0,o.u)(ah):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let n=ai||g||!av?void 0:av;if(at&&void 0!==n)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:w.CachedRouteKind.PAGES,html:y.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=U&&as&&((0,h.getRequestMeta)(a,"renderFallbackShell")||au)?(0,o.u)(ag):null;return m({span:i,postponed:n,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,o=await L.handleResponse({cacheKey:aB,responseGenerator:a=>n({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ai,isRoutePPREnabled:as,req:a,nextConfig:ae,prerenderManifest:_,waitUntil:d.waitUntil});if(aa&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!o){if(aB)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=o.value)?void 0:f.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=o.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof o.value.postponed;al&&!aw&&(!p||ap)&&(O||b.setHeader("x-nextjs-cache",ai?"REVALIDATED":o.isMiss?"MISS":o.isStale?"STALE":"HIT"),b.setHeader(u.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=o;if(av)l={revalidate:0,expire:void 0};else if(O&&aq&&!ap&&as)l={revalidate:0,expire:void 0};else if(!L.isDev)if(aa)l={revalidate:0,expire:void 0};else if(al){if(o.cacheControl)if("number"==typeof o.cacheControl.revalidate){if(o.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${o.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:o.cacheControl.revalidate,expire:(null==(j=o.cacheControl)?void 0:j.expire)??ae.expireTime}}else l={revalidate:z.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(o.cacheControl=l,"string"==typeof ax&&(null==q?void 0:q.kind)===w.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[z.NEXT_CACHE_TAGS_HEADER];O&&al&&c&&"string"==typeof c&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(ax);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(d,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.EMPTY,cacheControl:o.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...o,value:{...o.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&av)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(O&&al||delete a[z.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[z.NEXT_CACHE_TAGS_HEADER];if(O&&al&&s&&"string"==typeof s&&b.setHeader(z.NEXT_CACHE_TAGS_HEADER,s),!q.status||aq&&as||(b.statusCode=q.status),!O&&q.status&&G.RedirectStatusCode[q.status]&&aq&&(b.statusCode=200),p&&b.setHeader(u.NEXT_DID_POSTPONE_HEADER,"1"),aq&&!aa){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:q.html,cacheControl:aw?{revalidate:0,expire:void 0}:o.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:y.default.fromStatic(q.rscData,u.RSC_CONTENT_TYPE_HEADER),cacheControl:o.cacheControl})}let t=q.html;if(!p||O||aq)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:o.cacheControl});if(at)return t.push(new ReadableStream({start(a){a.enqueue(A.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}});let v=new TransformStream;return t.push(v.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==w.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(v.writable)}).catch(a=>{v.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:ae.generateEtags,poweredByHeader:ae.poweredByHeader,result:t,cacheControl:{revalidate:0,expire:void 0}})};if(!aG)return await aF.withPropagatedContext(a.headers,()=>aF.trace(i.BaseServerSpan.handleRequest,{spanName:`${aE} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aE,"http.target":a.url}},p));await p(aG)}catch(b){throw b instanceof C.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:al,isOnDemandRevalidate:ai})},ad),b}}},74075:a=>{a.exports=require("zlib")},79428:a=>{a.exports=require("buffer")},79551:a=>{a.exports=require("url")},81630:a=>{a.exports=require("http")},84226:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{describeHasCheckingStringProperty:function(){return e},describeStringPropertyAccess:function(){return d},wellKnownProperties:function(){return f}});let c=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function d(a,b){return c.test(b)?"`"+a+"."+b+"`":"`"+a+"["+JSON.stringify(b)+"]`"}function e(a,b){let c=JSON.stringify(b);return"`Reflect.has("+a+", "+c+")`, `"+c+" in "+a+"`, or similar"}let f=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","_debugInfo","toJSON","$$typeof","__esModule","@@iterator"])},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},94735:a=>{a.exports=require("events")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4996,6802,7332,5815,5146,9193,880,1733],()=>b(b.s=64566));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/1733.js","../../chunks/181.js","../../chunks/3009.js","../../chunks/3267.js","../../chunks/3798.js","../../chunks/3894.js","../../chunks/3977.js","../../chunks/4270.js","../../chunks/432.js","../../chunks/4683.js","../../chunks/4915.js","../../chunks/5076.js","../../chunks/5125.js","../../chunks/5146.js","../../chunks/5264.js","../../chunks/536.js","../../chunks/5376.js","../../chunks/5800.js","../../chunks/5815.js","../../chunks/
|
|
1
|
+
{"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/1733.js","../../chunks/181.js","../../chunks/3009.js","../../chunks/3267.js","../../chunks/3798.js","../../chunks/3894.js","../../chunks/3977.js","../../chunks/4270.js","../../chunks/432.js","../../chunks/4683.js","../../chunks/4915.js","../../chunks/4996.js","../../chunks/5076.js","../../chunks/5125.js","../../chunks/5146.js","../../chunks/5264.js","../../chunks/536.js","../../chunks/5376.js","../../chunks/5800.js","../../chunks/5815.js","../../chunks/6744.js","../../chunks/6802.js","../../chunks/7332.js","../../chunks/8611.js","../../chunks/8613.js","../../chunks/880.js","../../chunks/9193.js","../../chunks/9262.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
|