@griddo/cx 11.14.0 → 11.14.1-rc.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.
@@ -142,7 +142,7 @@ ${K.red("stack")}
142
142
  ${JSON.stringify(e,null,2)}`),new Sr(e)}async function AQ(A){try{await A()}catch(e){e instanceof Sr?d.error("Internal Griddo RenderError"):e instanceof Error?d.error(e.message):d.error(`An unexpected error occurred ${e}`);try{let t=await ee(),r=t.currentRenderingDomain;r?(t.needsRollbackOnError?(d.info("Cleaning exports dir..."),await eQ(r)):d.info("No rollback needed, skipping..."),t.domains[r].isRendering=!1,t.domains[r].renderMode=he.ERROR,await eA(t)):d.warn("No currentRenderingDomain set, skipping cleanup")}catch{d.info("Early render stage, no db.json created yet...")}throw e}}var tQ=S(require("node:fs/promises")),rQ=S(require("node:path"));async function sQ(){let{version:A}=JSON.parse(await tQ.default.readFile(rQ.default.resolve(__dirname,"../..","package.json"),"utf-8")),e=`
143
143
  ${K.yellow(`Griddo Exporter ${A}`)}
144
144
  ${K.dim(`Node ${process.version.slice(1)}`)}
145
- `;d.log(e)}var SD=S(RD());function ND(A={}){let{timeoutMs:e}=A;return{async request(t){let{statusCode:r,headers:s,body:n}=await(0,SD.request)(t.url,{method:t.method,headers:t.headers,body:t.body,signal:e?AbortSignal.timeout(e):void 0}),o={};for(let[c,g]of Object.entries(s))g!==void 0&&(o[c]=Array.isArray(g)?g.join(", "):String(g));let i,a=async()=>(i===void 0&&(i=await n.text()),i);return{status:r,statusText:"",ok:r>=200&&r<300,headers:o,json:async()=>JSON.parse(await a()),text:a}}}}var Ji=class extends Error{constructor(e){super(`Circuit breaker is open. Cooldown: ${e}ms`),this.name="CircuitOpenError"}};function XE(A,e){let{failureThreshold:t,cooldownMs:r,onOpen:s,onClose:n}=e,o="closed",i=0,a=0;function c(){o==="half-open"?(o="closed",i=0,n?.()):i=0}function g(){i++,i>=t&&(o="open",a=Date.now(),s?.())}function Q(){return o==="closed"?!0:o==="open"&&Date.now()-a>=r?(o="half-open",!0):o==="half-open"}return{async request(u){if(!Q())throw new Ji(r);try{let l=await A.request(u);return c(),l}catch(l){throw g(),l}}}}function FD(A){return new Promise(e=>setTimeout(e,A))}function bD(A,e,t,r){let s=t==="exponential"?A*2**(e-1):A;return r&&(s=Math.round(s*(.5+Math.random()))),s}function KE(A,e){let{attempts:t,delayMs:r,backoff:s="fixed",jitter:n=!1,retryOn:o,onRetry:i}=e;return{async request(a){let c;for(let g=1;g<=t;g++)try{let Q=await A.request(a);if(o?.(Q)&&g<t){let u=bD(r,g,s,n);i?.({request:a,attempt:g,delayMs:u,response:Q}),await FD(u);continue}return Q}catch(Q){if(c=Q,g<t){let u=bD(r,g,s,n);i?.({request:a,attempt:g,delayMs:u,error:c}),await FD(u)}}throw c}}}var zE;function Mn(){return zE||(zE=XE(KE(ND({timeoutMs:Yu}),{attempts:da,delayMs:Hu*1e3,backoff:"exponential",jitter:!0,retryOn:A=>A.status>=500,onRetry:({request:A,attempt:e,delayMs:t,error:r,response:s})=>{let n=s?`HTTP ${s.status}`:r?.message;d.warn(`Retry ${e}/${da}: ${A.method} ${A.url} \u2014 ${n} (next in ${t}ms)`)}}),{failureThreshold:Gu,cooldownMs:Ou,onOpen:()=>d.warn("Circuit breaker OPEN \u2014 requests will fail fast"),onClose:()=>d.info("Circuit breaker CLOSED \u2014 recovered")}),d.verbose("HTTP adapter: undici (timeout + retry + circuit breaker)")),zE}var fA=process.env.GRIDDO_API_URL,rO=process.env.GRIDDO_PUBLIC_API_URL,ZJ=`${fA}/ai/embeddings`,jJ=`${rO}/alert`,XJ=`${fA}/domains`,UD=`${fA}/sites/all`,MD=`${fA}/page`,TD=`${fA}/login_check`,KJ=`${fA}/debug/reset-render`,kD=`${fA}/domains/robots`,zJ=`${fA}/search`,LD=`${fA}/settings`,sO=`${fA}/domains/`,xD=[sO,"/llms"],Br=`${fA}/site/`,HD=[Br,"/build/end"],YD=[Br,"/build/start"],GD=[Br,"/distributor"],OD=[Br,"/sitemap"],vD=[Br,"/all"],VD=[Br,"/languages"],JD=[Br,"/socials"];var PD={name:"@griddo/cx",description:"Griddo SSG based on Gatsby",version:"11.14.0",authors:["Hisco <francis.vega@griddo.io>"],license:"UNLICENSED",homepage:"https://griddo.io",repository:{type:"git",url:"https://github.com/griddo/griddo"},bin:{"griddo-render":"cli.mjs"},exports:{".":{types:"./build/index.d.ts",import:"./build/index.js",require:"./build/index.js"},"./react":{types:"./build/react/index.d.ts",import:"./build/react/index.js",require:"./build/react/index.js"}},scripts:{"// NPM":"",prepare:"yarn run build","// BUILD":"",build:"rm -rf build && sh ./exporter/build.sh","build:debug":"rm -rf build && sh ./exporter/build.sh --debug","// TESTS":"",test:"vitest run","test:watch":"vitest","// INFRA SCRIPTS":"","prepare-domains-render":"node ./build/commands/prepare-domains-render","start-render":"node ./build/commands/start-render","end-render":"node ./build/commands/end-render","upload-search-content":"node ./build/commands/upload-search-content","notify-indexnow":"node ./build/commands/notify-indexnow","reset-render":"node ./build/commands/reset-render","// ONLY LOCAL SCRIPTS":"","prepare-assets-directory":"node ./build/commands/prepare-assets-directory","create-rollback-copy":"rm -rf ../../exports-backup && cp -r ../../exports ../../exports-backup",render:"npm run build && node --env-file=.env cli.mjs render","// LINTER & FORMATTER":"",lint:"biome check --write",format:"biome format --write",flint:"npm run lint && npm run format","ts-lint":"tsgo --noEmit","watch:ts-lint":"tsc --noEmit --watch"},dependencies:{"@kreuzberg/html-to-markdown":"2.24.5",gatsby:"5.15.0","html-react-parser":"5.2.11",jiti:"^2.6.1",undici:"7.24.6"},devDependencies:{"@biomejs/biome":"2.3.4","@griddo/core":"11.14.0","@types/node":"20.19.4","@typescript/native-preview":"7.0.0-dev.20260401.1",cheerio:"1.1.2",esbuild:"0.25.12","p-limit":"7.2.0",typescript:"6.0.2",vitest:"^4.0.18"},peerDependencies:{react:">=18 <19","react-dom":">=18 <19"},engines:{node:">=20.19"},files:["build","exporter","src","gatsby-browser.tsx","gatsby-config.ts","gatsby-node.ts","gatsby-ssr.tsx","global.d.ts","tsconfig.commands.json","tsconfig.exporter.json","tsconfig.json","plugins","cli.mjs"],publishConfig:{access:"public"},gitHead:"d2c96b30e53ce16a9d06df7fd512308ae6fff64c"};var Pi={"x-application-id":"griddo-cx","x-client-version":PD.version,"x-client-name":"CX"};var oO=Mn(),$E=class{headers;async login(){try{let e=await oO.request({url:TD,method:"POST",headers:Object.assign({},Pi,{"Content-Type":"application/json",Connection:"close"}),body:JSON.stringify({username:Fu,password:bu})});if(!e.ok)throw new Error("Error while login in the API");let{token:t}=await e.json();if(!t||typeof t!="string")throw new Error("Login response missing valid token");return this.headers={Authorization:`bearer ${t}`,"Cache-Control":"no-store"},this.headers}catch(e){Ie(Pu,e)}}},At=new $E;var Dw=S(require("node:path"));async function iO(A){let e=process.hrtime.bigint();await Promise.resolve(A());let t=process.hrtime.bigint();return Number((Number(t-e)/1e9).toFixed(3))}async function we(A,e,t){let{maxRetrys:r=vu,skip:s}=t||{};if(s){d.info(`Skiping life-cycle ${A}. Reason: ${s}
145
+ `;d.log(e)}var SD=S(RD());function ND(A={}){let{timeoutMs:e}=A;return{async request(t){let{statusCode:r,headers:s,body:n}=await(0,SD.request)(t.url,{method:t.method,headers:t.headers,body:t.body,signal:e?AbortSignal.timeout(e):void 0}),o={};for(let[c,g]of Object.entries(s))g!==void 0&&(o[c]=Array.isArray(g)?g.join(", "):String(g));let i,a=async()=>(i===void 0&&(i=await n.text()),i);return{status:r,statusText:"",ok:r>=200&&r<300,headers:o,json:async()=>JSON.parse(await a()),text:a}}}}var Ji=class extends Error{constructor(e){super(`Circuit breaker is open. Cooldown: ${e}ms`),this.name="CircuitOpenError"}};function XE(A,e){let{failureThreshold:t,cooldownMs:r,onOpen:s,onClose:n}=e,o="closed",i=0,a=0;function c(){o==="half-open"?(o="closed",i=0,n?.()):i=0}function g(){i++,i>=t&&(o="open",a=Date.now(),s?.())}function Q(){return o==="closed"?!0:o==="open"&&Date.now()-a>=r?(o="half-open",!0):o==="half-open"}return{async request(u){if(!Q())throw new Ji(r);try{let l=await A.request(u);return c(),l}catch(l){throw g(),l}}}}function FD(A){return new Promise(e=>setTimeout(e,A))}function bD(A,e,t,r){let s=t==="exponential"?A*2**(e-1):A;return r&&(s=Math.round(s*(.5+Math.random()))),s}function KE(A,e){let{attempts:t,delayMs:r,backoff:s="fixed",jitter:n=!1,retryOn:o,onRetry:i}=e;return{async request(a){let c;for(let g=1;g<=t;g++)try{let Q=await A.request(a);if(o?.(Q)&&g<t){let u=bD(r,g,s,n);i?.({request:a,attempt:g,delayMs:u,response:Q}),await FD(u);continue}return Q}catch(Q){if(c=Q,g<t){let u=bD(r,g,s,n);i?.({request:a,attempt:g,delayMs:u,error:c}),await FD(u)}}throw c}}}var zE;function Mn(){return zE||(zE=XE(KE(ND({timeoutMs:Yu}),{attempts:da,delayMs:Hu*1e3,backoff:"exponential",jitter:!0,retryOn:A=>A.status>=500,onRetry:({request:A,attempt:e,delayMs:t,error:r,response:s})=>{let n=s?`HTTP ${s.status}`:r?.message;d.warn(`Retry ${e}/${da}: ${A.method} ${A.url} \u2014 ${n} (next in ${t}ms)`)}}),{failureThreshold:Gu,cooldownMs:Ou,onOpen:()=>d.warn("Circuit breaker OPEN \u2014 requests will fail fast"),onClose:()=>d.info("Circuit breaker CLOSED \u2014 recovered")}),d.verbose("HTTP adapter: undici (timeout + retry + circuit breaker)")),zE}var fA=process.env.GRIDDO_API_URL,rO=process.env.GRIDDO_PUBLIC_API_URL,ZJ=`${fA}/ai/embeddings`,jJ=`${rO}/alert`,XJ=`${fA}/domains`,UD=`${fA}/sites/all`,MD=`${fA}/page`,TD=`${fA}/login_check`,KJ=`${fA}/debug/reset-render`,kD=`${fA}/domains/robots`,zJ=`${fA}/search`,LD=`${fA}/settings`,sO=`${fA}/domains/`,xD=[sO,"/llms"],Br=`${fA}/site/`,HD=[Br,"/build/end"],YD=[Br,"/build/start"],GD=[Br,"/distributor"],OD=[Br,"/sitemap"],vD=[Br,"/all"],VD=[Br,"/languages"],JD=[Br,"/socials"];var PD={name:"@griddo/cx",description:"Griddo SSG based on Gatsby",version:"11.14.1-rc.0",authors:["Hisco <francis.vega@griddo.io>"],license:"UNLICENSED",homepage:"https://griddo.io",repository:{type:"git",url:"https://github.com/griddo/griddo"},bin:{"griddo-render":"cli.mjs"},exports:{".":{types:"./build/index.d.ts",import:"./build/index.js",require:"./build/index.js"},"./react":{types:"./build/react/index.d.ts",import:"./build/react/index.js",require:"./build/react/index.js"}},scripts:{"// NPM":"",prepare:"yarn run build","// BUILD":"",build:"rm -rf build && sh ./exporter/build.sh","build:debug":"rm -rf build && sh ./exporter/build.sh --debug","// TESTS":"",test:"vitest run","test:watch":"vitest","// INFRA SCRIPTS":"","prepare-domains-render":"node ./build/commands/prepare-domains-render","start-render":"node ./build/commands/start-render","end-render":"node ./build/commands/end-render","upload-search-content":"node ./build/commands/upload-search-content","notify-indexnow":"node ./build/commands/notify-indexnow","reset-render":"node ./build/commands/reset-render","// ONLY LOCAL SCRIPTS":"","prepare-assets-directory":"node ./build/commands/prepare-assets-directory","create-rollback-copy":"rm -rf ../../exports-backup && cp -r ../../exports ../../exports-backup",render:"npm run build && node --env-file=.env cli.mjs render","// LINTER & FORMATTER":"",lint:"biome check --write",format:"biome format --write",flint:"npm run lint && npm run format","ts-lint":"tsgo --noEmit","watch:ts-lint":"tsc --noEmit --watch"},dependencies:{"@kreuzberg/html-to-markdown":"2.24.5",gatsby:"5.15.0","html-react-parser":"5.2.11",jiti:"^2.6.1",undici:"7.24.6"},devDependencies:{"@biomejs/biome":"2.3.4","@griddo/core":"11.14.1-rc.0","@types/node":"20.19.4","@typescript/native-preview":"7.0.0-dev.20260401.1",cheerio:"1.1.2",esbuild:"0.25.12","p-limit":"7.2.0",typescript:"6.0.2",vitest:"^4.0.18"},peerDependencies:{react:">=18 <19","react-dom":">=18 <19"},engines:{node:">=20.19"},files:["build","exporter","src","gatsby-browser.tsx","gatsby-config.ts","gatsby-node.ts","gatsby-ssr.tsx","global.d.ts","tsconfig.commands.json","tsconfig.exporter.json","tsconfig.json","plugins","cli.mjs"],publishConfig:{access:"public"},gitHead:"8ab9d78cd6b63b616acdd9b504964cda77d5076c"};var Pi={"x-application-id":"griddo-cx","x-client-version":PD.version,"x-client-name":"CX"};var oO=Mn(),$E=class{headers;async login(){try{let e=await oO.request({url:TD,method:"POST",headers:Object.assign({},Pi,{"Content-Type":"application/json",Connection:"close"}),body:JSON.stringify({username:Fu,password:bu})});if(!e.ok)throw new Error("Error while login in the API");let{token:t}=await e.json();if(!t||typeof t!="string")throw new Error("Login response missing valid token");return this.headers={Authorization:`bearer ${t}`,"Cache-Control":"no-store"},this.headers}catch(e){Ie(Pu,e)}}},At=new $E;var Dw=S(require("node:path"));async function iO(A){let e=process.hrtime.bigint();await Promise.resolve(A());let t=process.hrtime.bigint();return Number((Number(t-e)/1e9).toFixed(3))}async function we(A,e,t){let{maxRetrys:r=vu,skip:s}=t||{};if(s){d.info(`Skiping life-cycle ${A}. Reason: ${s}
146
146
  `);return}let n=0;for(;n<r;)try{d.info(`start ${A} life-cycle`);let o=await iO(e);d.success(`${A} - ${o}s
147
147
  `);break}catch(o){let i=K.red(` Error in ${A} LifeCycle `),a=K.yellow(`Attempt (${n+1})`);d.log(`
148
148
  ${i} ${a}