trybeacon 0.1.33 → 0.1.34
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-path-routes-manifest.json +15 -15
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/db/backfill-access/route.js +1 -1
- package/.next/server/app/api/draft/status/route.js +1 -1
- package/.next/server/app/api/init/route.js +1 -1
- package/.next/server/app/api/plan/annotations/route.js +1 -1
- package/.next/server/app/api/preferences/route.js +1 -1
- package/.next/server/app/api/reset/route.js +1 -1
- package/.next/server/app/api/workspace/route.js +1 -1
- package/.next/server/app/docs/page.js +1 -1
- package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/docs.html +1 -1
- package/.next/server/app/docs.rsc +2 -2
- package/.next/server/app/docs.segments/_full.segment.rsc +2 -2
- package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/docs.segments/_index.segment.rsc +2 -2
- package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
- package/.next/server/app/feedback/page.js +1 -1
- package/.next/server/app/feedback/page_client-reference-manifest.js +1 -1
- package/.next/server/app/feedback.html +1 -1
- package/.next/server/app/feedback.rsc +2 -2
- package/.next/server/app/feedback.segments/_full.segment.rsc +2 -2
- package/.next/server/app/feedback.segments/_head.segment.rsc +1 -1
- package/.next/server/app/feedback.segments/_index.segment.rsc +2 -2
- package/.next/server/app/feedback.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/feedback.segments/feedback/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/feedback.segments/feedback.segment.rsc +1 -1
- package/.next/server/app/help/page.js +2 -2
- package/.next/server/app/help/page.js.nft.json +1 -1
- package/.next/server/app/help/page_client-reference-manifest.js +1 -1
- package/.next/server/app/help.html +1 -1
- package/.next/server/app/help.rsc +2 -2
- package/.next/server/app/help.segments/_full.segment.rsc +2 -2
- package/.next/server/app/help.segments/_head.segment.rsc +1 -1
- package/.next/server/app/help.segments/_index.segment.rsc +2 -2
- package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/help.segments/help.segment.rsc +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/map/page.js +1 -1
- package/.next/server/app/map/page.js.nft.json +1 -1
- package/.next/server/app/map/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/plan/page.js +2 -2
- package/.next/server/app/plan/page.js.nft.json +1 -1
- package/.next/server/app/plan/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page.js +2 -2
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +15 -15
- package/.next/server/chunks/249.js +1 -1
- package/.next/server/chunks/2933.js +1 -1
- package/.next/server/chunks/4378.js +1 -1
- package/.next/server/chunks/4940.js +1 -0
- package/.next/server/chunks/7266.js +1 -0
- package/.next/server/chunks/9213.js +1 -1
- package/.next/server/chunks/9683.js +1 -1
- package/.next/server/chunks/9734.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/6764-ff2754e69d33be8a.js +1 -0
- package/.next/static/chunks/app/map/page-f3aa9e2ca859e0a1.js +1 -0
- package/.next/static/chunks/app/plan/page-056303390782b974.js +1 -0
- package/.next/static/css/496162fa86c30a1d.css +1 -0
- package/.next/trace +38 -38
- package/.next/trace-build +1 -1
- package/dist/bin/beacon.js +9 -6
- package/dist/bin/doctor.js +25 -25
- package/dist/bin/hook.js +22 -22
- package/dist/bin/mcp.js +33 -33
- package/dist/bin/plan.js +25 -25
- package/dist/bin/remove.js +6 -6
- package/dist/bin/uninstall.js +24 -24
- package/dist/lib/release.js +2 -0
- package/dist/lib/semver.js +2 -0
- package/dist/lib/workspaces.js +1 -1
- package/package.json +1 -1
- package/.next/server/chunks/7138.js +0 -1
- package/.next/static/chunks/8252-326851ad274762f5.js +0 -1
- package/.next/static/chunks/app/map/page-ac03f88297a40d47.js +0 -1
- package/.next/static/chunks/app/plan/page-47e880f3e83a2753.js +0 -1
- package/.next/static/css/cb2ba3334a6b2336.css +0 -1
- /package/.next/static/{kJSpkyKRHr2jFBQoOGP8P → OgbjxEMZfqIJgM1cAQ4cs}/_buildManifest.js +0 -0
- /package/.next/static/{kJSpkyKRHr2jFBQoOGP8P → OgbjxEMZfqIJgM1cAQ4cs}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=9213,exports.ids=[9213],exports.modules={14643:(a,b,c)=>{c.d(b,{I:()=>h,r:()=>g});let d=/(^|\/)app\/.*\/route\.(ts|tsx|js|jsx|mjs)$/,e=/\.(ts|py)$/,f=/(schema|model)/i;function g(a){return!!(a.endsWith(".prisma")||d.test(a))||e.test(a)&&f.test(a)}function h(a,b=300){return a.filter(g).slice(0,b)}},21723:(a,b,c)=>{function d(a,b){if(/_JSON_OR_JSONB|\bJSONB\b|\bJSON\b/.test(a))return"jsonb";let c=a.match(/\b(GUID|Uuid|UUID|String|Text|DateTime|Date|Time|BigInteger|SmallInteger|Integer|Boolean|Float|Numeric|Decimal|Vector|TSVECTOR|LargeBinary|Enum)\b\s*(\([^)]*\))?/);if(c){let a=c[2]??"",b=a.match(/\d+/)?.[0];switch(c[1]){case"GUID":case"Uuid":case"UUID":return"uuid";case"String":return b?`varchar(${b})`:"varchar";case"Text":return"text";case"DateTime":return/timezone\s*=\s*True/.test(a)?"timestamptz":"timestamp";case"Date":return"date";case"Time":return"time";case"BigInteger":return"bigint";case"SmallInteger":return"smallint";case"Integer":return"integer";case"Boolean":return"boolean";case"Float":return"float";case"Numeric":case"Decimal":return"numeric";case"Vector":return b?`vector(${b})`:"vector";case"TSVECTOR":return"tsvector";case"LargeBinary":return"bytea";case"Enum":return"varchar"}}let d=b.replace(/\s*\|\s*None/g,"").trim(),e=d.match(/^Optional\[([\s\S]*)\]$/);return(e&&(d=e[1].trim()),/uuid/i.test(d))?"uuid":/datetime/i.test(d)?"timestamptz":/\bint\b/i.test(d)?"integer":/\bbool\b/i.test(d)?"boolean":/\bfloat\b/.test(d)&&!/\blist\b/.test(d)?"float":/\bdict\b|\blist\b|\bAny\b/.test(d)?"jsonb":"text"}function e(a,b){let c=0;for(let d=b;d<a.length;d++)if("("===a[d])c++;else if(")"===a[d]&&0==--c)return a.slice(b+1,d);return""}function f(a){let b=function(a){let b=[],c=/(\w+)\s*:\s*(text|integer|real|blob|numeric|varchar|boolean|timestamp|serial|uuid|json|jsonb)\s*\(/g;for(let d of a){let a;if(!/\.(ts|tsx|mts|cts)$/.test(d.path)||!/\b(?:sqliteTable|pgTable|mysqlTable)\s*\(/.test(d.content))continue;let f=/(?:export\s+)?const\s+(\w+)\s*=\s*(?:sqliteTable|pgTable|mysqlTable)\s*\(\s*["']([^"']+)["']\s*,/g;for(;a=f.exec(d.content);){let f=d.content.indexOf("{",a.index+a[0].length);if(f<0)continue;let g=function(a,b){let c=0;for(let d=b;d<a.length;d++)if("{"===a[d])c++;else if("}"===a[d]&&0==--c)return a.slice(b+1,d);return""}(d.content,f),h={varName:a[1],tableName:a[2],columns:[],colByProp:new Map,fks:[]},i=[];for(let a of(c.lastIndex=0,g.matchAll(c)))i.push({prop:a[1],builder:a[2],at:a.index,argOpen:a.index+a[0].length-1});i.forEach((a,b)=>{var c;let d=g.slice(a.at,i[b+1]?.at??g.length),f=e(g,a.argOpen),j=f.match(/^\s*["']([^"']+)["']/)?.[1]??a.prop,k=d.match(/\.references\(\s*\(\)\s*=>\s*(\w+)\.(\w+)/);h.columns.push({name:j,type:(c=a.builder,/mode:\s*["']timestamp/.test(f)?"timestamp":/mode:\s*["']boolean["']/.test(f)?"boolean":/mode:\s*["']json["']/.test(f)?"jsonb":c),isPk:/\.primaryKey\(\)/.test(d)||void 0,isFk:!!k||void 0,nullable:!/\.notNull\(\)/.test(d)}),h.colByProp.set(a.prop,j),k&&h.fks.push({column:j,toVar:k[1],toProp:k[2]})}),b.push(h)}}if(!b.length)return{tables:[],relations:[]};let d=new Map(b.map(a=>[a.varName,a])),f=[];for(let a of b)for(let b of a.fks){let c=d.get(b.toVar);c&&f.push({fromTable:a.tableName,fromColumn:b.column,toTable:c.tableName,toColumn:c.colByProp.get(b.toProp)??b.toProp})}return{tables:b.map(a=>({name:a.tableName,columns:a.columns})),relations:f,tableVars:Object.fromEntries(b.map(a=>[a.varName,a.tableName]))}}(a);if(b.tables.length)return b;let c=function(a){let b=[],c=[];for(let d of a){let a;if(!d.path.endsWith(".prisma"))continue;let e=/model\s+(\w+)\s*\{([\s\S]*?)\}/g;for(;a=e.exec(d.content);){let d=a[1],e=a[2].match(/@@map\(\s*["']([^"']+)["']\s*\)/)?.[1]??d,f=[];for(let b of a[2].split("\n")){let a=b.trim().match(/^(\w+)\s+(\w+(?:\[\])?\??)\s*(.*)$/);if(!a||/^@@/.test(b.trim()))continue;let[,d,g,h]=a,i=/^(String|Int|BigInt|Float|Decimal|Boolean|DateTime|Json|Bytes)(\[\])?\??$/.test(g),j=h.match(/@relation\([^)]*fields:\s*\[(\w+)\][^)]*references:\s*\[(\w+)\]/);j&&c.push({fromTable:e,fromColumn:j[1],toTable:g.replace(/[?[\]]/g,""),toColumn:j[2]}),i&&f.push({name:d,type:function(a){let b=a.replace(/[?[\]]/g,"");return({String:"text",Int:"integer",BigInt:"bigint",Float:"float",Decimal:"numeric",Boolean:"boolean",DateTime:"timestamptz",Json:"jsonb",Bytes:"bytea"})[b]??b.toLowerCase()}(g),isPk:/@id\b/.test(h)||void 0,isFk:/@relation\b/.test(h)||void 0,nullable:g.endsWith("?")})}f.length&&b.push({name:e,columns:f})}}return{tables:b,relations:c}}(a);return c.tables.length?c:function(a){let b=new Map,c=[],f=[];for(let g of a){let a;if(!g.path.endsWith(".py")||!/mapped_column\s*\(|__tablename__|\bTable\s*\(\s*["']/.test(g.content))continue;let h=function(a){let b,c=[],f=[],g=/\bTable\s*(\()\s*["']([^"']+)["']\s*,/g;for(;b=g.exec(a);){let g,h=b[2],i=e(a,b.index+b[0].indexOf("("));if(!/\bmetadata\b/.test(i)||!/\bColumn\s*\(/.test(i))continue;let j=[],k=/\bColumn\s*\(/g;for(;g=k.exec(i);){let a=e(i,g.index+g[0].length-1),b=a.match(/^\s*["'](\w+)["']\s*,/)?.[1];if(!b)continue;let c=/primary_key\s*=\s*True/.test(a)||void 0,k=!/nullable\s*=\s*False/.test(a),l=a.match(/ForeignKey\(\s*["']([^"']+?)\.([^"'.]+)["']/);j.push({name:b,type:d(a,""),isPk:c,isFk:!!l||void 0,nullable:k}),l&&f.push({fromTable:h,fromColumn:b,toTable:l[1],toColumn:l[2]})}j.length&&c.push({name:h,columns:j})}return{tables:c,relations:f}}(g.content);c.push(...h.tables),f.push(...h.relations);let i=/^class\s+(\w+)\s*\(([^)]*)\)\s*:/gm,j=[];for(;a=i.exec(g.content);)j.push({name:a[1],bases:a[2].split(",").map(a=>a.trim().split(/[.[]/)[0]).filter(Boolean),at:a.index});for(let a=0;a<j.length;a++){let c=g.content.slice(j[a].at,j[a+1]?.at??g.content.length),f=function(a,b,c){let f,g=c.match(/__tablename__\s*=\s*["']([^"']+)["']/)?.[1],h=[],i=[],j=[],k=/(\w+)\s*:\s*Mapped\s*\[/g;for(;f=k.exec(c);){let a=f.index+f[0].length-1,b=function(a,b){let c=0;for(let d=b;d<a.length;d++)if("["===a[d])c++;else if("]"===a[d]&&0==--c)return a.slice(b+1,d);return null}(c,a);if(null===b)continue;let d=a+b.length+2,e=c.slice(d).match(/^\s*=\s*(\w+)\s*\(/);e&&"mapped_column"===e[1]&&j.push({colName:f[1],pyType:b,argsAt:d+e[0].length-1})}let l=/(\w+)\s*=\s*(mapped_column|Column)\s*\(/g;for(;f=l.exec(c);)j.push({colName:f[1],pyType:"",argsAt:f.index+f[0].length-1});j.sort((a,b)=>a.argsAt-b.argsAt);let m=new Set;for(let a of j){if(m.has(a.colName)||"__tablename__"===a.colName)continue;m.add(a.colName);let b=e(c,a.argsAt),f=/primary_key\s*=\s*True/.test(b)||void 0,g=!/nullable\s*=\s*False/.test(b),j=b.match(/ForeignKey\(\s*["']([^"']+?)\.([^"'.]+)["']/);h.push({name:a.colName,type:d(b,a.pyType),isPk:f,isFk:!!j||void 0,nullable:g}),j&&i.push({column:a.colName,toTable:j[1],toColumn:j[2]})}return{name:a,bases:b,tableName:g,columns:h,fks:i}}(j[a].name,j[a].bases,c);b.set(f.name,f)}}if(![...b.values()].some(a=>a.tableName)&&!c.length)return{tables:[],relations:[]};let g=(a,c=new Set)=>{if(c.has(a.name))return[];c.add(a.name);let d=[];for(let e of a.bases){let a=b.get(e);a&&!a.tableName&&d.push(...g(a,c))}return d.push(...a.columns),d},h=[],i=[];for(let a of b.values()){if(!a.tableName)continue;let b=g(a),c=new Map;for(let a of b)c.has(a.name)||c.set(a.name,a);let d=[...c.values()],e=a=>d.splice(d.findIndex(b=>b.name===a),1)[0],f=d.some(a=>"id"===a.name)?e("id"):null,j=["created_at","updated_at","deleted_at"].filter(a=>d.some(b=>b.name===a)).map(a=>e(a));for(let b of(h.push({name:a.tableName,columns:[...f?[f]:[],...d,...j]}),a.fks))i.push({fromTable:a.tableName,fromColumn:b.column,toTable:b.toTable,toColumn:b.toColumn})}let j=new Set(h.map(a=>a.name));for(let a of c)j.has(a.name)||h.push(a);return i.push(...f.filter(a=>!j.has(a.fromTable))),{tables:h,relations:i}}(a)}c.d(b,{Y:()=>f})},30814:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{ER:()=>n,Rm:()=>m,X2:()=>p,cL:()=>l});var e=c(44046),f=c(34216),g=c(56727),h=c(30046),i=c(19734),j=a([g,i]);[g,i]=j.then?(await j)():j;let q=e.Ik({files:e.YO(e.Ik({path:e.Yj().trim().min(1),root:e.Yj().nullish(),lang:e.Yj().nullish(),mtimeMs:e.ai().nullish(),size:e.ai().nullish()})).default([]),edges:e.YO(e.Ik({from:e.Yj().trim().min(1),to:e.Yj().trim().min(1)})).default([])});function k(a,b){let c=new Map;for(let b of a)c.set(b,[]);for(let a of b)c.get(a.from)?.push(a.to);let d=new Map,e=new Map,f=new Set,g=[],h=new Map,i=[],j=0,k=0;for(let b of a){if(d.has(b))continue;let a=[{v:b,iter:0}];for(d.set(b,j),e.set(b,j),j++,g.push(b),f.add(b);a.length;){let b=a[a.length-1],l=c.get(b.v)??[];if(b.iter<l.length){let c=l[b.iter++];d.has(c)?f.has(c)&&e.set(b.v,Math.min(e.get(b.v),d.get(c))):(d.set(c,j),e.set(c,j),j++,g.push(c),f.add(c),a.push({v:c,iter:0}))}else{if(e.get(b.v)===d.get(b.v)){let a,c=0;do a=g.pop(),f.delete(a),h.set(a,k),c++;while(a!==b.v);i.push(c),k++}a.pop();let c=a[a.length-1];c&&e.set(c.v,Math.min(e.get(c.v),e.get(b.v)))}}}let l=new Set;for(let a of b){let b=h.get(a.from);void 0!==b&&b===h.get(a.to)&&i[b]>1&&l.add(`${a.from}|${a.to}`)}return l}async function l(a,b=g.db){let c=q.parse(a),d=c.files.map(a=>a.path),e=new Set(d),j=c.edges.filter(a=>e.has(a.from)&&e.has(a.to)&&a.from!==a.to),m=k(d,j),n=new Map,o=new Map;for(let a of j)o.set(a.from,(o.get(a.from)??0)+1),n.set(a.to,(n.get(a.to)??0)+1);for(let a of(await b.delete(h.codeFile).where((0,f.KL)(h.codeFile.path,d)),c.files)){let c={root:a.root??null,lang:a.lang??null,mtimeMs:a.mtimeMs??null,size:a.size??null,inDegree:n.get(a.path)??0,outDegree:o.get(a.path)??0};await b.insert(h.codeFile).values({path:a.path,...c}).onConflictDoUpdate({target:h.codeFile.path,set:c})}await b.delete(h.codeFileEdge);let p=0;j.length&&await b.insert(h.codeFileEdge).values(j.map(a=>{let b=m.has(`${a.from}|${a.to}`);return b&&p++,{fromPath:a.from,toPath:a.to,circular:b}}));let r=await (0,i.Bx)(b);return await b.update(h.syncState).set({codeGraphSyncedAt:new Date}).where((0,f.eq)(h.syncState.id,"singleton")),{files:c.files.length,edges:j.length,circular:p,version:r}}let r=(a,b)=>`${a}\0${b}`;function m(a){let b=q.parse(a),c=b.files.map(a=>a.path),d=new Set(c),e=b.edges.filter(a=>d.has(a.from)&&d.has(a.to)&&a.from!==a.to),f=k(c,e),g=new Map,h=new Map;for(let a of e)h.set(a.from,(h.get(a.from)??0)+1),g.set(a.to,(g.get(a.to)??0)+1);let i=new Map;for(let a of b.files)i.set(a.path,{root:a.root??null,lang:a.lang??null,mtimeMs:a.mtimeMs??null,size:a.size??null,inDegree:g.get(a.path)??0,outDegree:h.get(a.path)??0});let j=new Map;for(let a of e)j.set(r(a.from,a.to),{from:a.from,to:a.to,circular:f.has(`${a.from}|${a.to}`)});return{files:i,edges:j}}let s=(a,b)=>a.root===b.root&&a.lang===b.lang&&a.mtimeMs===b.mtimeMs&&a.size===b.size&&a.inDegree===b.inDegree&&a.outDegree===b.outDegree;async function n(a,b,c=g.db){for(let[d,e]of b.files){let b=a.files.get(d);if(b&&s(b,e))continue;let f={root:e.root,lang:e.lang,mtimeMs:e.mtimeMs,size:e.size,inDegree:e.inDegree,outDegree:e.outDegree};await c.insert(h.codeFile).values({path:d,...f}).onConflictDoUpdate({target:h.codeFile.path,set:f})}let d=[...a.files.keys()].filter(a=>!b.files.has(a));for(let[e,g]of(d.length&&await c.delete(h.codeFile).where((0,f.RV)(h.codeFile.path,d)),a.edges))b.edges.has(e)||await c.delete(h.codeFileEdge).where((0,f.Uo)((0,f.eq)(h.codeFileEdge.fromPath,g.from),(0,f.eq)(h.codeFileEdge.toPath,g.to)));let e=[];for(let[d,g]of b.edges){let b=a.edges.get(d);b?b.circular!==g.circular&&await c.update(h.codeFileEdge).set({circular:g.circular}).where((0,f.Uo)((0,f.eq)(h.codeFileEdge.fromPath,g.from),(0,f.eq)(h.codeFileEdge.toPath,g.to))):e.push({fromPath:g.from,toPath:g.to,circular:g.circular})}e.length&&await c.insert(h.codeFileEdge).values(e);let j=await (0,i.Bx)(c);await c.update(h.syncState).set({codeGraphSyncedAt:new Date}).where((0,f.eq)(h.syncState.id,"singleton"));let k=0;for(let a of b.edges.values())a.circular&&k++;return{files:b.files.size,edges:b.edges.size,circular:k,version:j}}async function o(a,b,c,d){let e=new Set([b]),f=[],g=[b],h=!1;for(let b=1;b<=c&&g.length;b++){let c="down"===d?(await a.query.codeFileEdge.findMany({where:(a,{inArray:b})=>b(a.toPath,g),columns:{fromPath:!0}})).map(a=>a.fromPath):(await a.query.codeFileEdge.findMany({where:(a,{inArray:b})=>b(a.fromPath,g),columns:{toPath:!0}})).map(a=>a.toPath),i=[];for(let a of c)if(!e.has(a)&&(e.add(a),f.push({path:a,depth:b}),i.push(a),f.length>=200)){h=!0;break}if(h)break;g=i}return{order:f,truncated:h}}async function p(a,b,c={}){let d=await a.query.codeFile.findFirst({where:(a,{eq:c})=>c(a.path,b),columns:{inDegree:!0,outDegree:!0}});if(!d)return{path:b,exists:!1,hub:{inDegree:0,outDegree:0,isHub:!1},imports:[],importedBy:[],transitive:{upstream:[],downstream:[],truncated:!1}};let e=Math.min(Math.max(Math.floor(c.depth??2),1),5),[f,g,h,i,j]=await Promise.all([a.query.codeFileEdge.findMany({where:(a,{eq:c})=>c(a.fromPath,b),columns:{toPath:!0,circular:!0}}),a.query.codeFileEdge.findMany({where:(a,{eq:c})=>c(a.toPath,b),columns:{fromPath:!0,circular:!0}}),o(a,b,e,"down"),o(a,b,e,"up"),a.query.codeFile.findMany({columns:{inDegree:!0}})]),k=[...new Set([...h.order,...i.order].map(a=>a.path))],l=k.length?await a.query.codeFile.findMany({where:(a,{inArray:b})=>b(a.path,k),columns:{path:!0,lang:!0}}):[],m=new Map(l.map(a=>[a.path,a.lang])),n=a=>({path:a.path,depth:a.depth,lang:m.get(a.path)??null}),q=j.map(a=>a.inDegree).filter(a=>a>0).sort((a,b)=>a-b),r=q.length?q[Math.min(q.length-1,Math.floor(.9*q.length))]:0,s=d.inDegree>0&&d.inDegree>=Math.max(3,r);return{path:b,exists:!0,hub:{inDegree:d.inDegree,outDegree:d.outDegree,isHub:s},imports:f.map(a=>({to:a.toPath,circular:a.circular})),importedBy:g.map(a=>({from:a.fromPath,circular:a.circular})),transitive:{upstream:i.order.map(n),downstream:h.order.map(n),truncated:i.truncated||h.truncated}}}d()}catch(a){d(a)}})},31059:(a,b,c)=>{c.d(b,{ie:()=>f});var d=c(37096),e=c(71484);function f(...a){return a[0].columns?new g(a[0].columns,a[0].name):new g(a)}class g{static [d.i]="SQLitePrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new h(a,this.columns,this.name)}}class h{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [d.i]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[e.jo.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}},38920:(a,b,c)=>{c.d(b,{Q2:()=>J});var d=c(73024),e=c(51455),f=c(76760);let g=[".ts",".tsx",".js",".jsx",".mjs",".cjs"],h=[/(?:^|[\n;])\s*(?:import|export)[^'"`\n]{0,4000}?from\s*['"]([^'"`]+)['"]/g,/(?:^|[\n;])\s*import\s*['"]([^'"`]+)['"]/g,/\brequire\(\s*['"]([^'"`]+)['"]\s*\)/g,/\bimport\(\s*['"]([^'"`]+)['"]\s*\)/g];function i(a,b){if(b.has(a))return a;for(let c of g){let d=`${a}${c}`;if(b.has(d))return d}for(let c of g){let d=`${a}/index${c}`;if(b.has(d))return d}return null}function j(a,b){for(let c of[`${a}.py`,`${a}/__init__.py`,`${a}.pyi`])if(b.has(c))return[c];return[]}let k=/(?:^|[\n;])\s*import\s+(?:[\w.]+\s+)?"([^"]+)"/g,l=/(?:^|[\n;])\s*import\s*\(([\s\S]*?)\)/g,m=/"([^"]+)"/g,n=/(?:^|[\n;])\s*(?:pub\s+)?mod\s+(\w+)\s*;/g,o=/(?:^|[\n;])\s*(?:pub\s+)?use\s+([\w:]+)/g;function p(a,b){for(let c of[`${a}.rs`,`${a}/mod.rs`])if(b.has(c))return[c];return[]}let q=new Set(["mod.rs","lib.rs","main.rs"]),r=[".swift",".java",".rb",".kt",".kts",".cs",".php",".scala",".c",".h",".cpp",".hpp",".cc",".hh",".m",".mm",".ex",".exs",".lua",".dart",".vue",".svelte"],s=[/\b(?:require_relative|require|include|import|use|using|from)\s*\(?\s*['"]([^'"`\n]+)['"]/g,/(?:^|[\n;])\s*import\s+([\w.]+)/g,/(?:^|[\n;])\s*from\s+([\w.]+)\s+import\b/g,/(?:^|[\n;])\s*using\s+([\w.]+)\s*;/g,/(?:^|[\n;])\s*use\s+([\w\\]+)/g,/#\s*include\s*[<"]([^>"\n]+)[>"]/g],t=[{id:"ts",extensions:g,specifiers:function(a){let b=new Set;for(let c of h)for(let d of a.matchAll(c))b.add(d[1]);return b},resolve(a,b,c){let d=function(a,b,c,d){if(a.startsWith("."))return i((0,f.resolve)("/",(0,f.dirname)(b),a).split(/[\\/]/).join("/").replace(/^\//,""),c);for(let b of d)if(a.startsWith(b.from)){let d=a.slice(b.from.length),e=i(b.to?`${b.to}/${d}`:d,c);if(e)return e}return null}(a,b,c.fileSet,c.tsAliases??[]);return d?[d]:[]}},{id:"python",extensions:[".py",".pyi"],specifiers:function(a){let b=new Set;for(let c of a.matchAll(/(?:^|[\n;])\s*from\s+(\.*[\w.]*)\s+import\b/g)){let a=c[1].trim();a&&b.add(a)}for(let c of a.matchAll(/(?:^|[\n;])\s*import\s+([\w.]+(?:\s*,\s*[\w.]+)*)/g))for(let a of c[1].split(/\s*,\s*/)){let c=a.trim().split(/\s+as\s+/)[0].trim();c&&b.add(c)}return b},resolve(a,b,c){if(a.startsWith(".")){let d=a.length-a.replace(/^\.+/,"").length,e=a.slice(d),g=(0,f.dirname)(b);for(let a=1;a<d;a++)g=(0,f.dirname)(g);let h=e?(0,f.join)(g,e.replace(/\./g,"/")):g;return j((0,f.normalize)(h).replace(/\\/g,"/"),c.fileSet)}return j(a.replace(/\./g,"/"),c.fileSet)}},{id:"go",extensions:[".go"],resolve(a,b,c){let d=c.goModulePath;if(!d)return[];let e=null;if(a===d?e="":a.startsWith(`${d}/`)&&(e=a.slice(d.length+1)),null===e)return[];let g=[];for(let a of c.fileSet){if(!a.endsWith(".go"))continue;let b=(0,f.dirname)(a);(""===e&&"."===b||b===e)&&g.push(a)}return g.sort()},specifiers:function(a){let b=new Set;for(let c of a.matchAll(k))b.add(c[1]);for(let c of a.matchAll(l))for(let a of c[1].matchAll(m))b.add(a[1]);return b}},{id:"rust",extensions:[".rs"],specifiers:function(a){let b=new Set;for(let c of a.matchAll(n))b.add(`./${c[1]}`);for(let c of a.matchAll(o)){let a=function(a){let b=a.split("::").filter(a=>a&&"*"!==a);return b.length?"crate"===b[0]?["crate",...b.slice(1)].join("/"):"super"===b[0]?["..",...b.slice(1)].join("/"):"self"===b[0]?[".",...b.slice(1)].join("/"):b.join("/"):""}(c[1]);a&&b.add(a)}return b},resolve(a,b,c){let d=c.fileSet;if(a.startsWith("./")||a.startsWith("../")){let c=a.replace(/^\.\//,""),e=p((0,f.normalize)((0,f.join)((0,f.dirname)(b),a)).replace(/\\/g,"/"),d);if(e.length)return e;if(a.startsWith("./")&&!q.has((0,f.basename)(b))){let a=(0,f.join)((0,f.dirname)(b),(0,f.basename)(b,".rs"),c);if((e=p((0,f.normalize)(a).replace(/\\/g,"/"),d)).length)return e}return[]}if(a.startsWith("crate/")){let c=b.split("/"),e=c.lastIndexOf("src"),g=e>=0?c.slice(0,e+1).join("/"):(0,f.dirname)(b),h=a.slice(6).split("/");for(let a of[h.join("/"),h.slice(0,-1).join("/")]){if(!a)continue;let b=p(`${g}/${a}`,d);if(b.length)return b}}return[]}},{id:"fallback",extensions:r,specifiers:function(a){let b=new Set;for(let c of s)for(let d of a.matchAll(c)){let a=d[1].trim();a&&b.add(a)}return b},resolve(a,b,c){let d=[(0,f.extname)(b).toLowerCase(),...r].filter((a,b,c)=>a&&c.indexOf(a)===b),e=a.includes("/")||a.includes("\\"),g=a.startsWith(".")||e?a.replace(/\\/g,"/"):a.replace(/[.:]+/g,"/");for(let a of[(0,f.normalize)((0,f.join)((0,f.dirname)(b),g)).replace(/\\/g,"/"),g.replace(/^\.\//,"")]){if(c.fileSet.has(a))return[a];for(let b of d){let d=a.endsWith(b)?a:`${a}${b}`;if(c.fileSet.has(d))return[d];if(c.fileSet.has(`${a}/index${b}`))return[`${a}/index${b}`]}}return[]}}],u=new Map;for(let a of t)for(let b of a.extensions)u.set(b,a);let v={".ts":"ts",".tsx":"ts",".js":"js",".jsx":"js",".mjs":"js",".cjs":"js",".py":"py",".pyi":"py",".go":"go",".rs":"rs",".swift":"swift",".java":"java",".rb":"ruby",".kt":"kotlin",".kts":"kotlin",".cs":"csharp",".php":"php",".scala":"scala",".c":"c",".h":"c",".cpp":"cpp",".hpp":"cpp",".cc":"cpp",".hh":"cpp",".m":"objc",".mm":"objc",".ex":"elixir",".exs":"elixir",".lua":"lua",".dart":"dart",".vue":"vue",".svelte":"svelte"};function w(a){return u.get((0,f.extname)(a).toLowerCase())??null}function x(){return new Set(u.keys())}let y=new Set(["node_modules",".git",".next","dist","build","__pycache__","target",".venv","venv","env",".turbo","coverage",".beacon",".playwright-mcp","generated","migrations","drizzle","alembic","migrate"]),z=()=>Promise.resolve();async function A(a,b,c,d,g){let h;try{h=await (0,e.readdir)(b,{withFileTypes:!0})}catch{return}for(let e of h){if(e.name.startsWith(".")||y.has(e.name))continue;let h=(0,f.join)(b,e.name);if(e.isDirectory()){await A(a,h,c,d,g);continue}!(!e.isFile()||e.name.endsWith(".d.ts"))&&c.has((0,f.extname)(e.name).toLowerCase())&&d.push((0,f.relative)(a,h))}await g()}async function B(a,b=z){let c=[];return await A(a,a,x(),c,b),c.map(a=>a.split(/[\\/]/).join("/")).sort()}function C(a){return a.replace(/^\.\/?/,"").replace(/\/$/,"")}function D(a){let b,c=(0,f.join)(a,"tsconfig.json");if(!(0,d.existsSync)(c))return[];try{b=function(a){try{return JSON.parse(a)}catch{}return JSON.parse(a.replace(/\/\*[^"]*?\*\//g,"").replace(/(^|[^:"])\/\/.*$/gm,"$1").replace(/,\s*([}\]])/g,"$1"))}((0,d.readFileSync)(c,"utf8"))}catch{return[]}let e=b.compilerOptions?.paths??{},g=C(b.compilerOptions?.baseUrl??"."),h=[];for(let[a,b]of Object.entries(e)){if(!a.endsWith("/*")||!b.length)continue;let c=b[0];if(!c.endsWith("/*"))continue;let d=a.slice(0,-1),e=[g,C(c.slice(0,-1))].filter(Boolean).join("/");h.push({from:d,to:e})}return h}function E(a){let b=(0,f.join)(a,"go.mod");if(!(0,d.existsSync)(b))return null;try{let a=/^\s*module\s+(\S+)/m.exec((0,d.readFileSync)(b,"utf8"));return a?a[1]:null}catch{return null}}function F(a){return a.split(/[\\/]/).join("/")}function G(a){if(1===a.length)return a[0];let b=a.map(a=>F(a).split("/")),c=b[0],d=0;for(;d<c.length&&b.every(a=>a[d]===c[d]);d++);return c.slice(0,d).join("/")||"/"}async function H(a,b,c){let d=(Array.isArray(a)?a:[a]).map(a=>F((0,f.resolve)(a))),g=F(b?(0,f.resolve)(b):1===d.length?d[0]:G(d)),h=new Map,i=[];for(let a of d){let b=F((0,f.relative)(g,a));for(let c of D(a))i.push({from:c.from,to:[b,c.to].filter(Boolean).join("/")});for(let d of(await B(a,c))){let i=F((0,f.join)(a,d)),j=F((0,f.relative)(g,i));if(!h.has(j)){try{let a=await (0,e.stat)(i);h.set(j,{path:j,abs:i,root:b||null,mtimeMs:a.mtimeMs,size:a.size})}catch{}await c()}}}let j=d.map(E).find(Boolean)??E(g);return{metas:[...h.values()].sort((a,b)=>a.path.localeCompare(b.path)),ctx:{fileSet:new Set(h.keys()),tsAliases:i,goModulePath:j}}}async function I(a){let b=w(a.path);if(!b||a.size>2e5)return new Set;try{let c=await (0,e.readFile)(a.abs,"utf8");if(function(a){let b=0;for(let c=0;c<a.length;c++)if(10===a.charCodeAt(c)){if(c-b>5e4)return!0;b=c+1}return a.length-b>5e4}(c))return new Set;return b.specifiers(c)}catch{return new Set}}function J(a,b){let c=(Array.isArray(a)?a:[a]).map(a=>F((0,f.resolve)(a))),d=F(b?(0,f.resolve)(b):1===c.length?c[0]:G(c)),g=new Map,h=new Map,i=[],j=null;function k(){let a={fileSet:new Set(g.keys()),tsAliases:i,goModulePath:j},b=[...g.values()].sort((a,b)=>a.path.localeCompare(b.path)),c=[];for(let d of b){let b=w(d.path);if(!b)continue;let e=h.get(d.path)??new Set,f=new Set;for(let g of e)for(let e of b.resolve(g,d.path,a))!e||e===d.path||f.has(e)||(f.add(e),c.push({from:d.path,to:e}))}return{files:b.map(a=>{var b;let c;return{path:a.path,lang:(b=a.path,c=(0,f.extname)(b).toLowerCase(),u.has(c)?v[c]??c.slice(1):null),root:a.root,mtimeMs:a.mtimeMs,size:a.size}}),edges:c}}return{seed:async function(){let c=function(a=5){let b=performance.now();return async()=>{performance.now()-b>a&&(await new Promise(a=>setImmediate(a)),b=performance.now())}}(),{metas:d,ctx:e}=await H(a,b,c);for(let a of(g.clear(),h.clear(),d))await c(),g.set(a.path,a),h.set(a.path,await I(a));return i=e.tsAliases??[],j=e.goModulePath??null,k()},applyChange:async function(a){let b,k=F((0,f.resolve)(a));if(!c.some(a=>k===a||k.startsWith(`${a}/`)))return!1;let l=k.split("/").pop()??"";if("tsconfig.json"===l||"go.mod"===l){let a=k.slice(0,k.length-l.length-1);if(c.includes(a)){for(let a of(i=[],c)){let b=F((0,f.relative)(d,a));for(let c of D(a))i.push({from:c.from,to:[b,c.to].filter(Boolean).join("/")})}return j=c.map(E).find(Boolean)??E(d),!0}return!1}let m=function(a){let b=F((0,f.resolve)(a));for(let a of c)if(b===a||b.startsWith(`${a}/`)){if(function(a){let b=a.split("/");for(let a=0;a<b.length;a++){let c=b[a];if(!c||c.startsWith(".")||a<b.length-1&&y.has(c))return!0}let c=b[b.length-1];return!!c.endsWith(".d.ts")||!x().has((0,f.extname)(c).toLowerCase())}(b.slice(a.length).replace(/^\/+/,"")))return null;return{path:F((0,f.relative)(d,b)),root:F((0,f.relative)(d,a))||null}}return null}(a);if(!m)return!1;try{b=await (0,e.stat)(k)}catch{let a=g.delete(m.path);return h.delete(m.path),a}let n=g.get(m.path);if(n&&n.mtimeMs===b.mtimeMs&&n.size===b.size)return!1;let o={path:m.path,abs:k,root:m.root,mtimeMs:b.mtimeMs,size:b.size};return g.set(m.path,o),h.set(m.path,await I(o)),!0},snapshot:k}}},39908:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{F:()=>r});var e=c(73024),f=c(51455),g=c(76760),h=c(38920),i=c(61465),j=c(21723),k=c(54295),l=c(14643),m=c(30814),n=c(19734),o=c(56727),p=c(6716),q=a([m,n,o]);[m,n,o]=q.then?(await q)():q;let s=/[/\\](node_modules|\.git|\.next|dist|build|__pycache__|target|\.venv|venv|\.beacon|\.playwright-mcp|generated|coverage)[/\\]/;function r(a){let b=function(a){try{let b=(0,g.join)(a,"beacon.config.json");if((0,e.existsSync)(b)){let c=JSON.parse((0,e.readFileSync)(b,"utf8"));if(Array.isArray(c.roots)&&c.roots.length)return c.roots.map(b=>(0,g.resolve)(a,b))}}catch{}return[a]}(a.path),c=(0,p.kO)(a.id),d=(0,o.Lf)((0,p.Nx)(a.id)),q=(0,h.Q2)(b,a.path);async function r(){let c=(0,l.I)(q.snapshot().files.map(a=>a.path));for(let a of b)for(let b of["prisma/schema.prisma","schema.prisma"]){let d=(0,g.join)(a,b);(0,e.existsSync)(d)&&c.push(t(d))}let h=[];for(let b of c)try{h.push({path:b,content:await (0,f.readFile)((0,g.join)(a.path,b),"utf8")})}catch{}let m=(0,j.Y)(h),o=(0,k.$)(h);if(!m.tables.length&&!o.length)return;if(o.length&&m.tableVars&&Object.keys(m.tableVars).length){let b=q.snapshot().edges,c=new Set(o.map(a=>a.file)),d=new Map;for(let a of b){let b=d.get(a.from)??[];b.push(a.to),d.set(a.from,b)}for(let a=0;a<2;a++)for(let a of[...c])for(let b of d.get(a)??[])c.add(b);let e=new Map;for(let b of[...c].slice(0,600))try{e.set(b,await (0,f.readFile)((0,g.join)(a.path,b),"utf8"))}catch{}let h=(0,i.R)({routeFiles:[...new Set(o.map(a=>a.file))],edges:b,content:a=>e.get(a)??null,tableVars:m.tableVars});for(let a of o)a.uses=h.get(a.file)??[]}let p=await (0,n.Rw)({tables:m.tables,relations:m.relations,endpoints:o},d,{partial:!0});console.log(`[beacon-inline] schema synced (${a.name}): ${p.tables} tables / ${p.endpoints} endpoints`)}function t(b){return(0,g.relative)(a.path,b).split(/[\\/]/).join("/")}let u=null,v=!1,w=new Set,x=null,y=!1;async function z(){if(y)return void A();y=!0;try{if(await c,v&&(u=null,v=!1),null===u){let b=await q.seed(),c=await (0,m.cL)(b,d);u=(0,m.Rm)(b),console.log(`[beacon-inline] code-graph synced (${a.name}): ${c.files} files / ${c.edges} imports${c.circular>0?` (${c.circular} circular)`:""}`),await r();return}let b=[...w];w.clear();let e=b.some(a=>(0,l.r)(t(a))),f=!1;for(let a of b)await q.applyChange(a)&&(f=!0);if(f){let b=(0,m.Rm)(q.snapshot()),c=await (0,m.ER)(u,b,d);u=b,console.log(`[beacon-inline] code-graph updated (${a.name}): ${c.files} files / ${c.edges} imports${c.circular>0?` (${c.circular} circular)`:""}`)}e&&await r()}catch(b){console.error(`[beacon-inline] error (${a.name}):`,b instanceof Error?b.message:b)}finally{y=!1}}function A(){x&&clearTimeout(x),x=setTimeout(z,600)}let B=[];for(let c of b)try{let b=(0,e.watch)(c,{recursive:!0,persistent:!0},(a,b)=>{if(!b){v=!0,A();return}let d=String(b);s.test(`/${d}`)||(w.add((0,g.join)(c,d)),A())});b.on("error",b=>console.error(`[beacon-inline] watcher error (${a.name}):`,b)),B.push(b)}catch(b){console.error(`[beacon-inline] live watch unavailable for ${c} (${a.name}):`,b instanceof Error?b.message:b)}return console.log(`[beacon-inline] watching ${a.name} (${b.join(", ")}) — initial extract…`),z(),{async stop(){for(let a of(x&&clearTimeout(x),B))a.close()}}}d()}catch(a){d(a)}})},54295:(a,b,c)=>{c.d(b,{$:()=>e});let d=["GET","POST","PUT","PATCH","DELETE"];function e(a){let b=[];for(let c of a){let a=function(a){let b=a.match(/(?:^|\/)app\/(.+)\/route\.(?:ts|tsx|js|jsx|mjs)$/);if(!b)return null;let c=b[1].split("/").filter(a=>!(a.startsWith("(")&&a.endsWith(")"))).map(a=>{let b=a.match(/^\[{1,2}(?:\.\.\.)?([^\]]+)\]{1,2}$/);return b?`{${b[1]}}`:a});return"api"!==c[0]?null:`/${c.join("/")}`}(c.path);if(a)for(let e of d)RegExp(`export\\s+(?:async\\s+)?(?:function|const)\\s+${e}\\b`).test(c.content)&&b.push({method:e,path:a,uses:[],file:c.path})}return b.sort((a,b)=>`${a.path} ${a.method}`.localeCompare(`${b.path} ${b.method}`))}},61465:(a,b,c)=>{c.d(b,{R:()=>d});function d(a){let b=Object.keys(a.tableVars),c=new Map;if(!b.length){for(let b of a.routeFiles)c.set(b,[]);return c}let d=new Map;for(let b of a.edges){let a=d.get(b.from)??[];a.push(b.to),d.set(b.from,a)}let e=new Map(b.map(a=>[a,RegExp(`(?:query\\.${a}\\b|\\.from\\(\\s*${a}\\b)`)])),f=new Map(b.map(a=>[a,RegExp(`(?:insert|update|delete)\\(\\s*${a}\\b`)]));for(let g of a.routeFiles){let h=new Set([g]),i=[g];for(let a=0;a<2&&h.size<25;a++){let a=[];for(let b of i)for(let c of d.get(b)??[])h.has(c)||h.size>=25||(h.add(c),a.push(c));i=a}let j=new Set,k=new Set;for(let c of h){let d=a.content(c);if(d)for(let a of b)!j.has(a)&&e.get(a).test(d)&&j.add(a),!k.has(a)&&f.get(a).test(d)&&k.add(a)}let l=[];for(let c of b){let b=j.has(c),d=k.has(c);(b||d)&&l.push({table:a.tableVars[c],access:b&&d?"read-write":d?"write":"read"})}c.set(g,l)}return c}},76968:(a,b,c)=>{c.d(b,{GL:()=>i,Pe:()=>h});var d=c(37096);class e{constructor(a,b){this.name=a,this.unique=b}static [d.i]="SQLiteIndexBuilderOn";on(...a){return new f(this.name,a,this.unique)}}class f{static [d.i]="SQLiteIndexBuilder";config;constructor(a,b,c){this.config={name:a,columns:b,unique:c,where:void 0}}where(a){return this.config.where=a,this}build(a){return new g(this.config,a)}}class g{static [d.i]="SQLiteIndex";config;constructor(a,b){this.config={...a,table:b}}}function h(a){return new e(a,!1)}function i(a){return new e(a,!0)}},94490:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$r:()=>i,Wn:()=>k,wF:()=>j});var e=c(73024),f=c(6716),g=c(39908),h=a([g]);g=(h.then?(await h)():h)[0];let l=function(a){let b=a.limit??6,c=a.hardCap??12,d=new Map,e=0,f=new Set;function g(a){let b=d.get(a);b&&(b.seq=++e)}async function h(a){let b=d.get(a);b&&(d.delete(a),await b.handle.stop())}async function i(){await Promise.all([...d.values()].map(a=>a.handle.stop())),d.clear()}return{reconcile:function(){let c=a.list().filter(b=>a.exists(b.path)).slice(0,b);for(let b of(f=new Set(c.map(a=>a.id)),c))!function(b){if(d.has(b.id))return g(b.id);a.exists(b.path)&&d.set(b.id,{handle:a.start(b),seq:++e})}(b);for(let[b,c]of[...d]){let e=a.get(b);e&&a.exists(e.path)||(c.handle.stop(),d.delete(b))}},ensureWatcher:function(b){if(d.has(b))return g(b);let h=a.get(b);h&&a.exists(h.path)&&(d.size>=c&&function(){let a=null,b=1/0;for(let[c,e]of d)!f.has(c)&&e.seq<b&&(b=e.seq,a=c);a&&(d.get(a).handle.stop(),d.delete(a))}(),d.size>=c||d.set(b,{handle:a.start(h),seq:++e}))},stopWatcher:h,isWatching:function(a){return d.has(a)},activeIds:function(){return[...d.keys()]},stopAll:i}}({list:f.FF,get:f.K4,exists:e.existsSync,start:a=>(0,g.F)(a)});function i(a){"1"!==process.env.BEACON_NO_INLINE_WATCH&&l.ensureWatcher(a)}function j(a){return l.isWatching(a)}async function k(a){await l.stopWatcher(a)}d()}catch(a){d(a)}})}};
|
|
1
|
+
"use strict";exports.id=9213,exports.ids=[9213],exports.modules={14643:(a,b,c)=>{c.d(b,{I:()=>h,r:()=>g});let d=/(^|\/)app\/.*\/route\.(ts|tsx|js|jsx|mjs)$/,e=/\.(ts|py)$/,f=/(schema|model)/i;function g(a){return!!(a.endsWith(".prisma")||d.test(a))||e.test(a)&&f.test(a)}function h(a,b=300){return a.filter(g).slice(0,b)}},21723:(a,b,c)=>{function d(a,b){if(/_JSON_OR_JSONB|\bJSONB\b|\bJSON\b/.test(a))return"jsonb";let c=a.match(/\b(GUID|Uuid|UUID|String|Text|DateTime|Date|Time|BigInteger|SmallInteger|Integer|Boolean|Float|Numeric|Decimal|Vector|TSVECTOR|LargeBinary|Enum)\b\s*(\([^)]*\))?/);if(c){let a=c[2]??"",b=a.match(/\d+/)?.[0];switch(c[1]){case"GUID":case"Uuid":case"UUID":return"uuid";case"String":return b?`varchar(${b})`:"varchar";case"Text":return"text";case"DateTime":return/timezone\s*=\s*True/.test(a)?"timestamptz":"timestamp";case"Date":return"date";case"Time":return"time";case"BigInteger":return"bigint";case"SmallInteger":return"smallint";case"Integer":return"integer";case"Boolean":return"boolean";case"Float":return"float";case"Numeric":case"Decimal":return"numeric";case"Vector":return b?`vector(${b})`:"vector";case"TSVECTOR":return"tsvector";case"LargeBinary":return"bytea";case"Enum":return"varchar"}}let d=b.replace(/\s*\|\s*None/g,"").trim(),e=d.match(/^Optional\[([\s\S]*)\]$/);return(e&&(d=e[1].trim()),/uuid/i.test(d))?"uuid":/datetime/i.test(d)?"timestamptz":/\bint\b/i.test(d)?"integer":/\bbool\b/i.test(d)?"boolean":/\bfloat\b/.test(d)&&!/\blist\b/.test(d)?"float":/\bdict\b|\blist\b|\bAny\b/.test(d)?"jsonb":"text"}function e(a,b){let c=0;for(let d=b;d<a.length;d++)if("("===a[d])c++;else if(")"===a[d]&&0==--c)return a.slice(b+1,d);return""}function f(a){let b=function(a){let b=[],c=/(\w+)\s*:\s*(text|integer|real|blob|numeric|varchar|boolean|timestamp|serial|uuid|json|jsonb)\s*\(/g;for(let d of a){let a;if(!/\.(ts|tsx|mts|cts)$/.test(d.path)||!/\b(?:sqliteTable|pgTable|mysqlTable)\s*\(/.test(d.content))continue;let f=/(?:export\s+)?const\s+(\w+)\s*=\s*(?:sqliteTable|pgTable|mysqlTable)\s*\(\s*["']([^"']+)["']\s*,/g;for(;a=f.exec(d.content);){let f=d.content.indexOf("{",a.index+a[0].length);if(f<0)continue;let g=function(a,b){let c=0;for(let d=b;d<a.length;d++)if("{"===a[d])c++;else if("}"===a[d]&&0==--c)return a.slice(b+1,d);return""}(d.content,f),h={varName:a[1],tableName:a[2],columns:[],colByProp:new Map,fks:[]},i=[];for(let a of(c.lastIndex=0,g.matchAll(c)))i.push({prop:a[1],builder:a[2],at:a.index,argOpen:a.index+a[0].length-1});i.forEach((a,b)=>{var c;let d=g.slice(a.at,i[b+1]?.at??g.length),f=e(g,a.argOpen),j=f.match(/^\s*["']([^"']+)["']/)?.[1]??a.prop,k=d.match(/\.references\(\s*\(\)\s*=>\s*(\w+)\.(\w+)/);h.columns.push({name:j,type:(c=a.builder,/mode:\s*["']timestamp/.test(f)?"timestamp":/mode:\s*["']boolean["']/.test(f)?"boolean":/mode:\s*["']json["']/.test(f)?"jsonb":c),isPk:/\.primaryKey\(\)/.test(d)||void 0,isFk:!!k||void 0,nullable:!/\.notNull\(\)/.test(d)}),h.colByProp.set(a.prop,j),k&&h.fks.push({column:j,toVar:k[1],toProp:k[2]})}),b.push(h)}}if(!b.length)return{tables:[],relations:[]};let d=new Map(b.map(a=>[a.varName,a])),f=[];for(let a of b)for(let b of a.fks){let c=d.get(b.toVar);c&&f.push({fromTable:a.tableName,fromColumn:b.column,toTable:c.tableName,toColumn:c.colByProp.get(b.toProp)??b.toProp})}return{tables:b.map(a=>({name:a.tableName,columns:a.columns})),relations:f,tableVars:Object.fromEntries(b.map(a=>[a.varName,a.tableName]))}}(a);if(b.tables.length)return b;let c=function(a){let b=[],c=[];for(let d of a){let a;if(!d.path.endsWith(".prisma"))continue;let e=/model\s+(\w+)\s*\{([\s\S]*?)\}/g;for(;a=e.exec(d.content);){let d=a[1],e=a[2].match(/@@map\(\s*["']([^"']+)["']\s*\)/)?.[1]??d,f=[];for(let b of a[2].split("\n")){let a=b.trim().match(/^(\w+)\s+(\w+(?:\[\])?\??)\s*(.*)$/);if(!a||/^@@/.test(b.trim()))continue;let[,d,g,h]=a,i=/^(String|Int|BigInt|Float|Decimal|Boolean|DateTime|Json|Bytes)(\[\])?\??$/.test(g),j=h.match(/@relation\([^)]*fields:\s*\[(\w+)\][^)]*references:\s*\[(\w+)\]/);j&&c.push({fromTable:e,fromColumn:j[1],toTable:g.replace(/[?[\]]/g,""),toColumn:j[2]}),i&&f.push({name:d,type:function(a){let b=a.replace(/[?[\]]/g,"");return({String:"text",Int:"integer",BigInt:"bigint",Float:"float",Decimal:"numeric",Boolean:"boolean",DateTime:"timestamptz",Json:"jsonb",Bytes:"bytea"})[b]??b.toLowerCase()}(g),isPk:/@id\b/.test(h)||void 0,isFk:/@relation\b/.test(h)||void 0,nullable:g.endsWith("?")})}f.length&&b.push({name:e,columns:f})}}return{tables:b,relations:c}}(a);return c.tables.length?c:function(a){let b=new Map,c=[],f=[];for(let g of a){let a;if(!g.path.endsWith(".py")||!/mapped_column\s*\(|__tablename__|\bTable\s*\(\s*["']/.test(g.content))continue;let h=function(a){let b,c=[],f=[],g=/\bTable\s*(\()\s*["']([^"']+)["']\s*,/g;for(;b=g.exec(a);){let g,h=b[2],i=e(a,b.index+b[0].indexOf("("));if(!/\bmetadata\b/.test(i)||!/\bColumn\s*\(/.test(i))continue;let j=[],k=/\bColumn\s*\(/g;for(;g=k.exec(i);){let a=e(i,g.index+g[0].length-1),b=a.match(/^\s*["'](\w+)["']\s*,/)?.[1];if(!b)continue;let c=/primary_key\s*=\s*True/.test(a)||void 0,k=!/nullable\s*=\s*False/.test(a),l=a.match(/ForeignKey\(\s*["']([^"']+?)\.([^"'.]+)["']/);j.push({name:b,type:d(a,""),isPk:c,isFk:!!l||void 0,nullable:k}),l&&f.push({fromTable:h,fromColumn:b,toTable:l[1],toColumn:l[2]})}j.length&&c.push({name:h,columns:j})}return{tables:c,relations:f}}(g.content);c.push(...h.tables),f.push(...h.relations);let i=/^class\s+(\w+)\s*\(([^)]*)\)\s*:/gm,j=[];for(;a=i.exec(g.content);)j.push({name:a[1],bases:a[2].split(",").map(a=>a.trim().split(/[.[]/)[0]).filter(Boolean),at:a.index});for(let a=0;a<j.length;a++){let c=g.content.slice(j[a].at,j[a+1]?.at??g.content.length),f=function(a,b,c){let f,g=c.match(/__tablename__\s*=\s*["']([^"']+)["']/)?.[1],h=[],i=[],j=[],k=/(\w+)\s*:\s*Mapped\s*\[/g;for(;f=k.exec(c);){let a=f.index+f[0].length-1,b=function(a,b){let c=0;for(let d=b;d<a.length;d++)if("["===a[d])c++;else if("]"===a[d]&&0==--c)return a.slice(b+1,d);return null}(c,a);if(null===b)continue;let d=a+b.length+2,e=c.slice(d).match(/^\s*=\s*(\w+)\s*\(/);e&&"mapped_column"===e[1]&&j.push({colName:f[1],pyType:b,argsAt:d+e[0].length-1})}let l=/(\w+)\s*=\s*(mapped_column|Column)\s*\(/g;for(;f=l.exec(c);)j.push({colName:f[1],pyType:"",argsAt:f.index+f[0].length-1});j.sort((a,b)=>a.argsAt-b.argsAt);let m=new Set;for(let a of j){if(m.has(a.colName)||"__tablename__"===a.colName)continue;m.add(a.colName);let b=e(c,a.argsAt),f=/primary_key\s*=\s*True/.test(b)||void 0,g=!/nullable\s*=\s*False/.test(b),j=b.match(/ForeignKey\(\s*["']([^"']+?)\.([^"'.]+)["']/);h.push({name:a.colName,type:d(b,a.pyType),isPk:f,isFk:!!j||void 0,nullable:g}),j&&i.push({column:a.colName,toTable:j[1],toColumn:j[2]})}return{name:a,bases:b,tableName:g,columns:h,fks:i}}(j[a].name,j[a].bases,c);b.set(f.name,f)}}if(![...b.values()].some(a=>a.tableName)&&!c.length)return{tables:[],relations:[]};let g=(a,c=new Set)=>{if(c.has(a.name))return[];c.add(a.name);let d=[];for(let e of a.bases){let a=b.get(e);a&&!a.tableName&&d.push(...g(a,c))}return d.push(...a.columns),d},h=[],i=[];for(let a of b.values()){if(!a.tableName)continue;let b=g(a),c=new Map;for(let a of b)c.has(a.name)||c.set(a.name,a);let d=[...c.values()],e=a=>d.splice(d.findIndex(b=>b.name===a),1)[0],f=d.some(a=>"id"===a.name)?e("id"):null,j=["created_at","updated_at","deleted_at"].filter(a=>d.some(b=>b.name===a)).map(a=>e(a));for(let b of(h.push({name:a.tableName,columns:[...f?[f]:[],...d,...j]}),a.fks))i.push({fromTable:a.tableName,fromColumn:b.column,toTable:b.toTable,toColumn:b.toColumn})}let j=new Set(h.map(a=>a.name));for(let a of c)j.has(a.name)||h.push(a);return i.push(...f.filter(a=>!j.has(a.fromTable))),{tables:h,relations:i}}(a)}c.d(b,{Y:()=>f})},30814:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{ER:()=>n,Rm:()=>m,X2:()=>p,cL:()=>l});var e=c(44046),f=c(34216),g=c(56727),h=c(30046),i=c(19734),j=a([g,i]);[g,i]=j.then?(await j)():j;let q=e.Ik({files:e.YO(e.Ik({path:e.Yj().trim().min(1),root:e.Yj().nullish(),lang:e.Yj().nullish(),mtimeMs:e.ai().nullish(),size:e.ai().nullish()})).default([]),edges:e.YO(e.Ik({from:e.Yj().trim().min(1),to:e.Yj().trim().min(1)})).default([])});function k(a,b){let c=new Map;for(let b of a)c.set(b,[]);for(let a of b)c.get(a.from)?.push(a.to);let d=new Map,e=new Map,f=new Set,g=[],h=new Map,i=[],j=0,k=0;for(let b of a){if(d.has(b))continue;let a=[{v:b,iter:0}];for(d.set(b,j),e.set(b,j),j++,g.push(b),f.add(b);a.length;){let b=a[a.length-1],l=c.get(b.v)??[];if(b.iter<l.length){let c=l[b.iter++];d.has(c)?f.has(c)&&e.set(b.v,Math.min(e.get(b.v),d.get(c))):(d.set(c,j),e.set(c,j),j++,g.push(c),f.add(c),a.push({v:c,iter:0}))}else{if(e.get(b.v)===d.get(b.v)){let a,c=0;do a=g.pop(),f.delete(a),h.set(a,k),c++;while(a!==b.v);i.push(c),k++}a.pop();let c=a[a.length-1];c&&e.set(c.v,Math.min(e.get(c.v),e.get(b.v)))}}}let l=new Set;for(let a of b){let b=h.get(a.from);void 0!==b&&b===h.get(a.to)&&i[b]>1&&l.add(`${a.from}|${a.to}`)}return l}async function l(a,b=g.db){let c=q.parse(a),d=c.files.map(a=>a.path),e=new Set(d),j=c.edges.filter(a=>e.has(a.from)&&e.has(a.to)&&a.from!==a.to),m=k(d,j),n=new Map,o=new Map;for(let a of j)o.set(a.from,(o.get(a.from)??0)+1),n.set(a.to,(n.get(a.to)??0)+1);for(let a of(await b.delete(h.codeFile).where((0,f.KL)(h.codeFile.path,d)),c.files)){let c={root:a.root??null,lang:a.lang??null,mtimeMs:a.mtimeMs??null,size:a.size??null,inDegree:n.get(a.path)??0,outDegree:o.get(a.path)??0};await b.insert(h.codeFile).values({path:a.path,...c}).onConflictDoUpdate({target:h.codeFile.path,set:c})}await b.delete(h.codeFileEdge);let p=0;j.length&&await b.insert(h.codeFileEdge).values(j.map(a=>{let b=m.has(`${a.from}|${a.to}`);return b&&p++,{fromPath:a.from,toPath:a.to,circular:b}}));let r=await (0,i.Bx)(b);return await b.update(h.syncState).set({codeGraphSyncedAt:new Date}).where((0,f.eq)(h.syncState.id,"singleton")),{files:c.files.length,edges:j.length,circular:p,version:r}}let r=(a,b)=>`${a}\0${b}`;function m(a){let b=q.parse(a),c=b.files.map(a=>a.path),d=new Set(c),e=b.edges.filter(a=>d.has(a.from)&&d.has(a.to)&&a.from!==a.to),f=k(c,e),g=new Map,h=new Map;for(let a of e)h.set(a.from,(h.get(a.from)??0)+1),g.set(a.to,(g.get(a.to)??0)+1);let i=new Map;for(let a of b.files)i.set(a.path,{root:a.root??null,lang:a.lang??null,mtimeMs:a.mtimeMs??null,size:a.size??null,inDegree:g.get(a.path)??0,outDegree:h.get(a.path)??0});let j=new Map;for(let a of e)j.set(r(a.from,a.to),{from:a.from,to:a.to,circular:f.has(`${a.from}|${a.to}`)});return{files:i,edges:j}}let s=(a,b)=>a.root===b.root&&a.lang===b.lang&&a.mtimeMs===b.mtimeMs&&a.size===b.size&&a.inDegree===b.inDegree&&a.outDegree===b.outDegree;async function n(a,b,c=g.db){for(let[d,e]of b.files){let b=a.files.get(d);if(b&&s(b,e))continue;let f={root:e.root,lang:e.lang,mtimeMs:e.mtimeMs,size:e.size,inDegree:e.inDegree,outDegree:e.outDegree};await c.insert(h.codeFile).values({path:d,...f}).onConflictDoUpdate({target:h.codeFile.path,set:f})}let d=[...a.files.keys()].filter(a=>!b.files.has(a));for(let[e,g]of(d.length&&await c.delete(h.codeFile).where((0,f.RV)(h.codeFile.path,d)),a.edges))b.edges.has(e)||await c.delete(h.codeFileEdge).where((0,f.Uo)((0,f.eq)(h.codeFileEdge.fromPath,g.from),(0,f.eq)(h.codeFileEdge.toPath,g.to)));let e=[];for(let[d,g]of b.edges){let b=a.edges.get(d);b?b.circular!==g.circular&&await c.update(h.codeFileEdge).set({circular:g.circular}).where((0,f.Uo)((0,f.eq)(h.codeFileEdge.fromPath,g.from),(0,f.eq)(h.codeFileEdge.toPath,g.to))):e.push({fromPath:g.from,toPath:g.to,circular:g.circular})}e.length&&await c.insert(h.codeFileEdge).values(e);let j=await (0,i.Bx)(c);await c.update(h.syncState).set({codeGraphSyncedAt:new Date}).where((0,f.eq)(h.syncState.id,"singleton"));let k=0;for(let a of b.edges.values())a.circular&&k++;return{files:b.files.size,edges:b.edges.size,circular:k,version:j}}async function o(a,b,c,d){let e=new Set([b]),f=[],g=[b],h=!1;for(let b=1;b<=c&&g.length;b++){let c="down"===d?(await a.query.codeFileEdge.findMany({where:(a,{inArray:b})=>b(a.toPath,g),columns:{fromPath:!0}})).map(a=>a.fromPath):(await a.query.codeFileEdge.findMany({where:(a,{inArray:b})=>b(a.fromPath,g),columns:{toPath:!0}})).map(a=>a.toPath),i=[];for(let a of c)if(!e.has(a)&&(e.add(a),f.push({path:a,depth:b}),i.push(a),f.length>=200)){h=!0;break}if(h)break;g=i}return{order:f,truncated:h}}async function p(a,b,c={}){let d=await a.query.codeFile.findFirst({where:(a,{eq:c})=>c(a.path,b),columns:{inDegree:!0,outDegree:!0}});if(!d)return{path:b,exists:!1,hub:{inDegree:0,outDegree:0,isHub:!1},imports:[],importedBy:[],transitive:{upstream:[],downstream:[],truncated:!1}};let e=Math.min(Math.max(Math.floor(c.depth??2),1),5),[f,g,h,i,j]=await Promise.all([a.query.codeFileEdge.findMany({where:(a,{eq:c})=>c(a.fromPath,b),columns:{toPath:!0,circular:!0}}),a.query.codeFileEdge.findMany({where:(a,{eq:c})=>c(a.toPath,b),columns:{fromPath:!0,circular:!0}}),o(a,b,e,"down"),o(a,b,e,"up"),a.query.codeFile.findMany({columns:{inDegree:!0}})]),k=[...new Set([...h.order,...i.order].map(a=>a.path))],l=k.length?await a.query.codeFile.findMany({where:(a,{inArray:b})=>b(a.path,k),columns:{path:!0,lang:!0}}):[],m=new Map(l.map(a=>[a.path,a.lang])),n=a=>({path:a.path,depth:a.depth,lang:m.get(a.path)??null}),q=j.map(a=>a.inDegree).filter(a=>a>0).sort((a,b)=>a-b),r=q.length?q[Math.min(q.length-1,Math.floor(.9*q.length))]:0,s=d.inDegree>0&&d.inDegree>=Math.max(3,r);return{path:b,exists:!0,hub:{inDegree:d.inDegree,outDegree:d.outDegree,isHub:s},imports:f.map(a=>({to:a.toPath,circular:a.circular})),importedBy:g.map(a=>({from:a.fromPath,circular:a.circular})),transitive:{upstream:i.order.map(n),downstream:h.order.map(n),truncated:i.truncated||h.truncated}}}d()}catch(a){d(a)}})},31059:(a,b,c)=>{c.d(b,{ie:()=>f});var d=c(37096),e=c(71484);function f(...a){return a[0].columns?new g(a[0].columns,a[0].name):new g(a)}class g{static [d.i]="SQLitePrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new h(a,this.columns,this.name)}}class h{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [d.i]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[e.jo.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}},38920:(a,b,c)=>{c.d(b,{Q2:()=>J});var d=c(73024),e=c(51455),f=c(76760);let g=[".ts",".tsx",".js",".jsx",".mjs",".cjs"],h=[/(?:^|[\n;])\s*(?:import|export)[^'"`\n]{0,4000}?from\s*['"]([^'"`]+)['"]/g,/(?:^|[\n;])\s*import\s*['"]([^'"`]+)['"]/g,/\brequire\(\s*['"]([^'"`]+)['"]\s*\)/g,/\bimport\(\s*['"]([^'"`]+)['"]\s*\)/g];function i(a,b){if(b.has(a))return a;for(let c of g){let d=`${a}${c}`;if(b.has(d))return d}for(let c of g){let d=`${a}/index${c}`;if(b.has(d))return d}return null}function j(a,b){for(let c of[`${a}.py`,`${a}/__init__.py`,`${a}.pyi`])if(b.has(c))return[c];return[]}let k=/(?:^|[\n;])\s*import\s+(?:[\w.]+\s+)?"([^"]+)"/g,l=/(?:^|[\n;])\s*import\s*\(([\s\S]*?)\)/g,m=/"([^"]+)"/g,n=/(?:^|[\n;])\s*(?:pub\s+)?mod\s+(\w+)\s*;/g,o=/(?:^|[\n;])\s*(?:pub\s+)?use\s+([\w:]+)/g;function p(a,b){for(let c of[`${a}.rs`,`${a}/mod.rs`])if(b.has(c))return[c];return[]}let q=new Set(["mod.rs","lib.rs","main.rs"]),r=[".swift",".java",".rb",".kt",".kts",".cs",".php",".scala",".c",".h",".cpp",".hpp",".cc",".hh",".m",".mm",".ex",".exs",".lua",".dart",".vue",".svelte"],s=[/\b(?:require_relative|require|include|import|use|using|from)\s*\(?\s*['"]([^'"`\n]+)['"]/g,/(?:^|[\n;])\s*import\s+([\w.]+)/g,/(?:^|[\n;])\s*from\s+([\w.]+)\s+import\b/g,/(?:^|[\n;])\s*using\s+([\w.]+)\s*;/g,/(?:^|[\n;])\s*use\s+([\w\\]+)/g,/#\s*include\s*[<"]([^>"\n]+)[>"]/g],t=[{id:"ts",extensions:g,specifiers:function(a){let b=new Set;for(let c of h)for(let d of a.matchAll(c))b.add(d[1]);return b},resolve(a,b,c){let d=function(a,b,c,d){if(a.startsWith("."))return i((0,f.resolve)("/",(0,f.dirname)(b),a).split(/[\\/]/).join("/").replace(/^\//,""),c);for(let b of d)if(a.startsWith(b.from)){let d=a.slice(b.from.length),e=i(b.to?`${b.to}/${d}`:d,c);if(e)return e}return null}(a,b,c.fileSet,c.tsAliases??[]);return d?[d]:[]}},{id:"python",extensions:[".py",".pyi"],specifiers:function(a){let b=new Set;for(let c of a.matchAll(/(?:^|[\n;])\s*from\s+(\.*[\w.]*)\s+import\b/g)){let a=c[1].trim();a&&b.add(a)}for(let c of a.matchAll(/(?:^|[\n;])\s*import\s+([\w.]+(?:\s*,\s*[\w.]+)*)/g))for(let a of c[1].split(/\s*,\s*/)){let c=a.trim().split(/\s+as\s+/)[0].trim();c&&b.add(c)}return b},resolve(a,b,c){if(a.startsWith(".")){let d=a.length-a.replace(/^\.+/,"").length,e=a.slice(d),g=(0,f.dirname)(b);for(let a=1;a<d;a++)g=(0,f.dirname)(g);let h=e?(0,f.join)(g,e.replace(/\./g,"/")):g;return j((0,f.normalize)(h).replace(/\\/g,"/"),c.fileSet)}return j(a.replace(/\./g,"/"),c.fileSet)}},{id:"go",extensions:[".go"],resolve(a,b,c){let d=c.goModulePath;if(!d)return[];let e=null;if(a===d?e="":a.startsWith(`${d}/`)&&(e=a.slice(d.length+1)),null===e)return[];let g=[];for(let a of c.fileSet){if(!a.endsWith(".go"))continue;let b=(0,f.dirname)(a);(""===e&&"."===b||b===e)&&g.push(a)}return g.sort()},specifiers:function(a){let b=new Set;for(let c of a.matchAll(k))b.add(c[1]);for(let c of a.matchAll(l))for(let a of c[1].matchAll(m))b.add(a[1]);return b}},{id:"rust",extensions:[".rs"],specifiers:function(a){let b=new Set;for(let c of a.matchAll(n))b.add(`./${c[1]}`);for(let c of a.matchAll(o)){let a=function(a){let b=a.split("::").filter(a=>a&&"*"!==a);return b.length?"crate"===b[0]?["crate",...b.slice(1)].join("/"):"super"===b[0]?["..",...b.slice(1)].join("/"):"self"===b[0]?[".",...b.slice(1)].join("/"):b.join("/"):""}(c[1]);a&&b.add(a)}return b},resolve(a,b,c){let d=c.fileSet;if(a.startsWith("./")||a.startsWith("../")){let c=a.replace(/^\.\//,""),e=p((0,f.normalize)((0,f.join)((0,f.dirname)(b),a)).replace(/\\/g,"/"),d);if(e.length)return e;if(a.startsWith("./")&&!q.has((0,f.basename)(b))){let a=(0,f.join)((0,f.dirname)(b),(0,f.basename)(b,".rs"),c);if((e=p((0,f.normalize)(a).replace(/\\/g,"/"),d)).length)return e}return[]}if(a.startsWith("crate/")){let c=b.split("/"),e=c.lastIndexOf("src"),g=e>=0?c.slice(0,e+1).join("/"):(0,f.dirname)(b),h=a.slice(6).split("/");for(let a of[h.join("/"),h.slice(0,-1).join("/")]){if(!a)continue;let b=p(`${g}/${a}`,d);if(b.length)return b}}return[]}},{id:"fallback",extensions:r,specifiers:function(a){let b=new Set;for(let c of s)for(let d of a.matchAll(c)){let a=d[1].trim();a&&b.add(a)}return b},resolve(a,b,c){let d=[(0,f.extname)(b).toLowerCase(),...r].filter((a,b,c)=>a&&c.indexOf(a)===b),e=a.includes("/")||a.includes("\\"),g=a.startsWith(".")||e?a.replace(/\\/g,"/"):a.replace(/[.:]+/g,"/");for(let a of[(0,f.normalize)((0,f.join)((0,f.dirname)(b),g)).replace(/\\/g,"/"),g.replace(/^\.\//,"")]){if(c.fileSet.has(a))return[a];for(let b of d){let d=a.endsWith(b)?a:`${a}${b}`;if(c.fileSet.has(d))return[d];if(c.fileSet.has(`${a}/index${b}`))return[`${a}/index${b}`]}}return[]}}],u=new Map;for(let a of t)for(let b of a.extensions)u.set(b,a);let v={".ts":"ts",".tsx":"ts",".js":"js",".jsx":"js",".mjs":"js",".cjs":"js",".py":"py",".pyi":"py",".go":"go",".rs":"rs",".swift":"swift",".java":"java",".rb":"ruby",".kt":"kotlin",".kts":"kotlin",".cs":"csharp",".php":"php",".scala":"scala",".c":"c",".h":"c",".cpp":"cpp",".hpp":"cpp",".cc":"cpp",".hh":"cpp",".m":"objc",".mm":"objc",".ex":"elixir",".exs":"elixir",".lua":"lua",".dart":"dart",".vue":"vue",".svelte":"svelte"};function w(a){return u.get((0,f.extname)(a).toLowerCase())??null}function x(){return new Set(u.keys())}let y=new Set(["node_modules",".git",".next","dist","build","__pycache__","target",".venv","venv","env",".turbo","coverage",".beacon",".playwright-mcp","generated","migrations","drizzle","alembic","migrate"]),z=()=>Promise.resolve();async function A(a,b,c,d,g){let h;try{h=await (0,e.readdir)(b,{withFileTypes:!0})}catch{return}for(let e of h){if(e.name.startsWith(".")||y.has(e.name))continue;let h=(0,f.join)(b,e.name);if(e.isDirectory()){await A(a,h,c,d,g);continue}!(!e.isFile()||e.name.endsWith(".d.ts"))&&c.has((0,f.extname)(e.name).toLowerCase())&&d.push((0,f.relative)(a,h))}await g()}async function B(a,b=z){let c=[];return await A(a,a,x(),c,b),c.map(a=>a.split(/[\\/]/).join("/")).sort()}function C(a){return a.replace(/^\.\/?/,"").replace(/\/$/,"")}function D(a){let b,c=(0,f.join)(a,"tsconfig.json");if(!(0,d.existsSync)(c))return[];try{b=function(a){try{return JSON.parse(a)}catch{}return JSON.parse(a.replace(/\/\*[^"]*?\*\//g,"").replace(/(^|[^:"])\/\/.*$/gm,"$1").replace(/,\s*([}\]])/g,"$1"))}((0,d.readFileSync)(c,"utf8"))}catch{return[]}let e=b.compilerOptions?.paths??{},g=C(b.compilerOptions?.baseUrl??"."),h=[];for(let[a,b]of Object.entries(e)){if(!a.endsWith("/*")||!b.length)continue;let c=b[0];if(!c.endsWith("/*"))continue;let d=a.slice(0,-1),e=[g,C(c.slice(0,-1))].filter(Boolean).join("/");h.push({from:d,to:e})}return h}function E(a){let b=(0,f.join)(a,"go.mod");if(!(0,d.existsSync)(b))return null;try{let a=/^\s*module\s+(\S+)/m.exec((0,d.readFileSync)(b,"utf8"));return a?a[1]:null}catch{return null}}function F(a){return a.split(/[\\/]/).join("/")}function G(a){if(1===a.length)return a[0];let b=a.map(a=>F(a).split("/")),c=b[0],d=0;for(;d<c.length&&b.every(a=>a[d]===c[d]);d++);return c.slice(0,d).join("/")||"/"}async function H(a,b,c){let d=(Array.isArray(a)?a:[a]).map(a=>F((0,f.resolve)(a))),g=F(b?(0,f.resolve)(b):1===d.length?d[0]:G(d)),h=new Map,i=[];for(let a of d){let b=F((0,f.relative)(g,a));for(let c of D(a))i.push({from:c.from,to:[b,c.to].filter(Boolean).join("/")});for(let d of(await B(a,c))){let i=F((0,f.join)(a,d)),j=F((0,f.relative)(g,i));if(!h.has(j)){try{let a=await (0,e.stat)(i);h.set(j,{path:j,abs:i,root:b||null,mtimeMs:a.mtimeMs,size:a.size})}catch{}await c()}}}let j=d.map(E).find(Boolean)??E(g);return{metas:[...h.values()].sort((a,b)=>a.path.localeCompare(b.path)),ctx:{fileSet:new Set(h.keys()),tsAliases:i,goModulePath:j}}}async function I(a){let b=w(a.path);if(!b||a.size>2e5)return new Set;try{let c=await (0,e.readFile)(a.abs,"utf8");if(function(a){let b=0;for(let c=0;c<a.length;c++)if(10===a.charCodeAt(c)){if(c-b>5e4)return!0;b=c+1}return a.length-b>5e4}(c))return new Set;return b.specifiers(c)}catch{return new Set}}function J(a,b){let c=(Array.isArray(a)?a:[a]).map(a=>F((0,f.resolve)(a))),d=F(b?(0,f.resolve)(b):1===c.length?c[0]:G(c)),g=new Map,h=new Map,i=[],j=null;function k(){let a={fileSet:new Set(g.keys()),tsAliases:i,goModulePath:j},b=[...g.values()].sort((a,b)=>a.path.localeCompare(b.path)),c=[];for(let d of b){let b=w(d.path);if(!b)continue;let e=h.get(d.path)??new Set,f=new Set;for(let g of e)for(let e of b.resolve(g,d.path,a))!e||e===d.path||f.has(e)||(f.add(e),c.push({from:d.path,to:e}))}return{files:b.map(a=>{var b;let c;return{path:a.path,lang:(b=a.path,c=(0,f.extname)(b).toLowerCase(),u.has(c)?v[c]??c.slice(1):null),root:a.root,mtimeMs:a.mtimeMs,size:a.size}}),edges:c}}return{seed:async function(){let c=function(a=5){let b=performance.now();return async()=>{performance.now()-b>a&&(await new Promise(a=>setImmediate(a)),b=performance.now())}}(),{metas:d,ctx:e}=await H(a,b,c);for(let a of(g.clear(),h.clear(),d))await c(),g.set(a.path,a),h.set(a.path,await I(a));return i=e.tsAliases??[],j=e.goModulePath??null,k()},applyChange:async function(a){let b,k=F((0,f.resolve)(a));if(!c.some(a=>k===a||k.startsWith(`${a}/`)))return!1;let l=k.split("/").pop()??"";if("tsconfig.json"===l||"go.mod"===l){let a=k.slice(0,k.length-l.length-1);if(c.includes(a)){for(let a of(i=[],c)){let b=F((0,f.relative)(d,a));for(let c of D(a))i.push({from:c.from,to:[b,c.to].filter(Boolean).join("/")})}return j=c.map(E).find(Boolean)??E(d),!0}return!1}let m=function(a){let b=F((0,f.resolve)(a));for(let a of c)if(b===a||b.startsWith(`${a}/`)){if(function(a){let b=a.split("/");for(let a=0;a<b.length;a++){let c=b[a];if(!c||c.startsWith(".")||a<b.length-1&&y.has(c))return!0}let c=b[b.length-1];return!!c.endsWith(".d.ts")||!x().has((0,f.extname)(c).toLowerCase())}(b.slice(a.length).replace(/^\/+/,"")))return null;return{path:F((0,f.relative)(d,b)),root:F((0,f.relative)(d,a))||null}}return null}(a);if(!m)return!1;try{b=await (0,e.stat)(k)}catch{let a=g.delete(m.path);return h.delete(m.path),a}let n=g.get(m.path);if(n&&n.mtimeMs===b.mtimeMs&&n.size===b.size)return!1;let o={path:m.path,abs:k,root:m.root,mtimeMs:b.mtimeMs,size:b.size};return g.set(m.path,o),h.set(m.path,await I(o)),!0},snapshot:k}}},39908:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{F:()=>r});var e=c(73024),f=c(51455),g=c(76760),h=c(38920),i=c(61465),j=c(21723),k=c(54295),l=c(14643),m=c(30814),n=c(19734),o=c(56727),p=c(6716),q=a([m,n,o]);[m,n,o]=q.then?(await q)():q;let s=/[/\\](node_modules|\.git|\.next|dist|build|__pycache__|target|\.venv|venv|\.beacon|\.playwright-mcp|generated|coverage)[/\\]/;function r(a){let b=function(a){try{let b=(0,g.join)(a,"beacon.config.json");if((0,e.existsSync)(b)){let c=JSON.parse((0,e.readFileSync)(b,"utf8"));if(Array.isArray(c.roots)&&c.roots.length)return c.roots.map(b=>(0,g.resolve)(a,b))}}catch{}return[a]}(a.path),c=(0,p.kO)(a.id),d=(0,o.Lf)((0,p.Nx)(a.id)),q=(0,h.Q2)(b,a.path);async function r(){let c=(0,l.I)(q.snapshot().files.map(a=>a.path));for(let a of b)for(let b of["prisma/schema.prisma","schema.prisma"]){let d=(0,g.join)(a,b);(0,e.existsSync)(d)&&c.push(t(d))}let h=[];for(let b of c)try{h.push({path:b,content:await (0,f.readFile)((0,g.join)(a.path,b),"utf8")})}catch{}let m=(0,j.Y)(h),o=(0,k.$)(h);if(!m.tables.length&&!o.length)return;if(o.length&&m.tableVars&&Object.keys(m.tableVars).length){let b=q.snapshot().edges,c=new Set(o.map(a=>a.file)),d=new Map;for(let a of b){let b=d.get(a.from)??[];b.push(a.to),d.set(a.from,b)}for(let a=0;a<2;a++)for(let a of[...c])for(let b of d.get(a)??[])c.add(b);let e=new Map;for(let b of[...c].slice(0,600))try{e.set(b,await (0,f.readFile)((0,g.join)(a.path,b),"utf8"))}catch{}let h=(0,i.R)({routeFiles:[...new Set(o.map(a=>a.file))],edges:b,content:a=>e.get(a)??null,tableVars:m.tableVars});for(let a of o)a.uses=h.get(a.file)??[]}let p=await (0,n.Rw)({tables:m.tables,relations:m.relations,endpoints:o},d,{partial:!0});console.log(`[beacon-inline] schema synced (${a.name}): ${p.tables} tables / ${p.endpoints} endpoints`)}function t(b){return(0,g.relative)(a.path,b).split(/[\\/]/).join("/")}let u=null,v=!1,w=new Set,x=null,y=!1;async function z(){if(y)return void A();y=!0;try{if(await c,v&&(u=null,v=!1),null===u){let b=await q.seed(),c=await (0,m.cL)(b,d);u=(0,m.Rm)(b),console.log(`[beacon-inline] code-graph synced (${a.name}): ${c.files} files / ${c.edges} imports${c.circular>0?` (${c.circular} circular)`:""}`),await r();return}let b=[...w];w.clear();let e=b.some(a=>(0,l.r)(t(a))),f=!1;for(let a of b)await q.applyChange(a)&&(f=!0);if(f){let b=(0,m.Rm)(q.snapshot()),c=await (0,m.ER)(u,b,d);u=b,console.log(`[beacon-inline] code-graph updated (${a.name}): ${c.files} files / ${c.edges} imports${c.circular>0?` (${c.circular} circular)`:""}`)}e&&await r()}catch(b){console.error(`[beacon-inline] error (${a.name}):`,b instanceof Error?b.message:b)}finally{y=!1}}function A(){x&&clearTimeout(x),x=setTimeout(z,600)}let B=[];for(let c of b)try{let b=(0,e.watch)(c,{recursive:!0,persistent:!0},(a,b)=>{if(!b){v=!0,A();return}let d=String(b);s.test(`/${d}`)||(w.add((0,g.join)(c,d)),A())});b.on("error",b=>console.error(`[beacon-inline] watcher error (${a.name}):`,b)),B.push(b)}catch(b){console.error(`[beacon-inline] live watch unavailable for ${c} (${a.name}):`,b instanceof Error?b.message:b)}return console.log(`[beacon-inline] watching ${a.name} (${b.join(", ")}) — initial extract…`),z(),{async stop(){for(let a of(x&&clearTimeout(x),B))a.close()}}}d()}catch(a){d(a)}})},54295:(a,b,c)=>{c.d(b,{$:()=>e});let d=["GET","POST","PUT","PATCH","DELETE"];function e(a){let b=[];for(let c of a){let a=function(a){let b=a.match(/(?:^|\/)app\/(.+)\/route\.(?:ts|tsx|js|jsx|mjs)$/);if(!b)return null;let c=b[1].split("/").filter(a=>!(a.startsWith("(")&&a.endsWith(")"))).map(a=>{let b=a.match(/^\[{1,2}(?:\.\.\.)?([^\]]+)\]{1,2}$/);return b?`{${b[1]}}`:a});return"api"!==c[0]?null:`/${c.join("/")}`}(c.path);if(a)for(let e of d)RegExp(`export\\s+(?:async\\s+)?(?:function|const)\\s+${e}\\b`).test(c.content)&&b.push({method:e,path:a,uses:[],file:c.path})}return b.sort((a,b)=>`${a.path} ${a.method}`.localeCompare(`${b.path} ${b.method}`))}},61465:(a,b,c)=>{c.d(b,{R:()=>d});function d(a){let b=Object.keys(a.tableVars),c=new Map;if(!b.length){for(let b of a.routeFiles)c.set(b,[]);return c}let d=new Map;for(let b of a.edges){let a=d.get(b.from)??[];a.push(b.to),d.set(b.from,a)}let e=new Map(b.map(a=>[a,RegExp(`(?:query\\.${a}\\b|\\.from\\(\\s*${a}\\b)`)])),f=new Map(b.map(a=>[a,RegExp(`(?:insert|update|delete)\\(\\s*${a}\\b`)]));for(let g of a.routeFiles){let h=new Set([g]),i=[g];for(let a=0;a<2&&h.size<25;a++){let a=[];for(let b of i)for(let c of d.get(b)??[])h.has(c)||h.size>=25||(h.add(c),a.push(c));i=a}let j=new Set,k=new Set;for(let c of h){let d=a.content(c);if(d)for(let a of b)!j.has(a)&&e.get(a).test(d)&&j.add(a),!k.has(a)&&f.get(a).test(d)&&k.add(a)}let l=[];for(let c of b){let b=j.has(c),d=k.has(c);(b||d)&&l.push({table:a.tableVars[c],access:b&&d?"read-write":d?"write":"read"})}c.set(g,l)}return c}},76968:(a,b,c)=>{c.d(b,{GL:()=>i,Pe:()=>h});var d=c(37096);class e{constructor(a,b){this.name=a,this.unique=b}static [d.i]="SQLiteIndexBuilderOn";on(...a){return new f(this.name,a,this.unique)}}class f{static [d.i]="SQLiteIndexBuilder";config;constructor(a,b,c){this.config={name:a,columns:b,unique:c,where:void 0}}where(a){return this.config.where=a,this}build(a){return new g(this.config,a)}}class g{static [d.i]="SQLiteIndex";config;constructor(a,b){this.config={...a,table:b}}}function h(a){return new e(a,!1)}function i(a){return new e(a,!0)}},94490:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$r:()=>i,Wn:()=>k,wF:()=>j});var e=c(73024),f=c(6716),g=c(39908),h=a([g]);g=(h.then?(await h)():h)[0];let l=function(a){let b=a.limit??6,c=a.hardCap??12,d=new Map,e=0,f=new Set;function g(a){let b=d.get(a);b&&(b.seq=++e)}async function h(a){let b=d.get(a);b&&(d.delete(a),await b.handle.stop())}async function i(){await Promise.all([...d.values()].map(a=>a.handle.stop())),d.clear()}return{reconcile:function(){let c=a.list().filter(b=>a.exists(b.path)).slice(0,b);for(let b of(f=new Set(c.map(a=>a.id)),c))!function(b){if(d.has(b.id))return g(b.id);a.exists(b.path)&&d.set(b.id,{handle:a.start(b),seq:++e})}(b);for(let[b,c]of[...d]){let e=a.get(b);e&&a.exists(e.path)||(c.handle.stop(),d.delete(b))}},ensureWatcher:function(b){if(d.has(b))return g(b);let h=a.get(b);h&&a.exists(h.path)&&(d.size>=c&&function(){let a=null,b=1/0;for(let[c,e]of d)!f.has(c)&&e.seq<b&&(b=e.seq,a=c);a&&(d.get(a).handle.stop(),d.delete(a))}(),d.size>=c||d.set(b,{handle:a.start(h),seq:++e}))},stopWatcher:h,isWatching:function(a){return d.has(a)},activeIds:function(){return[...d.keys()]},stopAll:i}}({list:f.Y2,get:f.K4,exists:e.existsSync,start:a=>(0,g.F)(a)});function i(a){"1"!==process.env.BEACON_NO_INLINE_WATCH&&l.ensureWatcher(a)}function j(a){return l.isWatching(a)}async function k(a){await l.stopWatcher(a)}d()}catch(a){d(a)}})}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
exports.id=9683,exports.ids=[9683],exports.modules={6716:(a,b,c)=>{"use strict";c.d(b,{AV:()=>B,Ck:()=>z,Dk:()=>x,FF:()=>p,K4:()=>q,Lm:()=>G,Nx:()=>m,Q8:()=>A,T_:()=>l,UP:()=>t,VB:()=>w,WQ:()=>v,X_:()=>D,_g:()=>u,kO:()=>H,oW:()=>i,p1:()=>E,qh:()=>r});var d=c(16698);c(31421);var e=c(77598),f=c(73024),g=c(48161),h=c(76760);function i(){return process.env.BEACON_HOME||(0,h.join)((0,g.homedir)(),".beacon")}function j(){return(0,h.join)(i(),"workspaces.json")}function k(a){return(0,e.createHash)("sha256").update(a).digest("hex").slice(0,12)}function l(a){return(0,h.join)(i(),a)}function m(a){return`file:${(0,h.join)(l(a),"db.sqlite")}`}function n(){try{let a=JSON.parse((0,f.readFileSync)(j(),"utf8"));return Array.isArray(a)?a:[]}catch{return[]}}function o(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(j(),JSON.stringify(a,null,2))}function p(){return n().sort((a,b)=>b.lastOpenedAt.localeCompare(a.lastOpenedAt))}function q(a){return n().find(b=>b.id===a)??null}function r(a){o(n().filter(b=>b.id!==a)),t()===a&&u(p()[0]?.id??null)}function s(){return(0,h.join)(i(),"active")}function t(){try{return(0,f.readFileSync)(s(),"utf8").trim()||null}catch{return null}}function u(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(s(),a??"")}function v(){let a=t();return a?q(a):null}function w(){let a=E()??t();return a?q(a):null}let x="beacon_ws";function y(a,b){let c=a.headers.get("cookie");if(!c)return null;for(let a of c.split(";")){let c=a.indexOf("=");if(-1!==c&&a.slice(0,c).trim()===b)return decodeURIComponent(a.slice(c+1).trim())}return null}function z(a){let b=a.headers.get("x-beacon-workspace");if(b&&q(b))return b;let c=y(a,x);return c&&q(c)?c:null}let A="x-beacon-workspace-path";async function B(a){let b=a.headers.get("x-beacon-workspace");if(b&&q(b))return b;let c=a.headers.get(A);if(c&&(!b||k(c)===b)){let a=function(a,b=new Date().toISOString()){let c=k(a),d=n(),e=d.find(a=>a.id===c),g={id:c,path:a,name:e?.name||(0,h.basename)(a),lastOpenedAt:b},i=[g,...d.filter(a=>a.id!==c)];return(0,f.mkdirSync)(l(c),{recursive:!0}),o(i),g}(c);return await H(a.id),a.id}let d=y(a,x);return d&&q(d)?d:null}let C=new d.AsyncLocalStorage;function D(a,b){return a?C.run(a,b):b()}function E(){return C.getStore()??null}let F=new Set;function G(a){F.delete((0,h.join)(l(a),"db.sqlite"))}async function H(a){let b=l(a),d=(0,h.join)(b,"db.sqlite"),e=(0,f.existsSync)(d);if(e&&F.has(d))return{ok:!0,created:!1,migrated:!1};try{(0,f.mkdirSync)(b,{recursive:!0});let{provisionDb:g}=await Promise.all([c.e(9884),c.e(5871),c.e(5258)]).then(c.bind(c,35258)),h=await g(m(a));return F.add(d),{ok:!0,created:!e,migrated:e&&h.migrated}}catch(a){return{ok:!1,created:!1,migrated:!1,error:a instanceof Error?a.message:String(a)}}}},30046:(a,b,c)=>{"use strict";c.r(b),c.d(b,{appSetting:()=>E,boardAnnotation:()=>r,bugFlag:()=>s,codeFile:()=>B,codeFileEdge:()=>C,dbColumn:()=>u,dbRelation:()=>v,dbTable:()=>t,draftColumn:()=>z,draftRelation:()=>A,draftTable:()=>y,edge:()=>o,endpoint:()=>w,endpointTable:()=>x,node:()=>l,nodeFile:()=>m,nodeTags:()=>p,note:()=>q,projectMeta:()=>F,syncState:()=>D,tag:()=>n});var d=c(71484),e=c(28933),f=c(22070),g=c(47550),h=c(76968),i=c(96497),j=c(31059),k=c(63254);let l=(0,d.D)("Node",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),view:(0,e.Qq)().notNull(),kind:(0,e.Qq)().default("FEATURE").notNull(),cluster:(0,e.Qq)(),title:(0,e.Qq)().notNull(),role:(0,e.Qq)(),plain:(0,e.Qq)(),status:(0,e.Qq)().default("PENDING").notNull(),priority:(0,f.nd)().default(2).notNull(),progress:(0,f.nd)().default(0).notNull(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),sourceRef:(0,e.Qq)(),externalId:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),parentId:(0,e.Qq)(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("Node_cluster_idx").on(a.cluster),(0,h.Pe)("Node_parentId_idx").on(a.parentId),(0,h.Pe)("Node_view_idx").on(a.view),(0,i.mt)(()=>({columns:[a.parentId],foreignColumns:[a.id],name:"Node_parentId_Node_id_fk"})).onUpdate("cascade").onDelete("cascade")]),m=(0,d.D)("NodeFile",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),nodeId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),path:(0,e.Qq)().notNull()},a=>[(0,h.GL)("NodeFile_nodeId_path_key").on(a.nodeId,a.path),(0,h.Pe)("NodeFile_nodeId_idx").on(a.nodeId)]),n=(0,d.D)("Tag",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),label:(0,e.Qq)().notNull(),color:(0,e.Qq)()},a=>[(0,h.GL)("Tag_label_key").on(a.label)]),o=(0,d.D)("Edge",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),toId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),kind:(0,e.Qq)().default("DEPENDS").notNull(),label:(0,e.Qq)(),sourceHandle:(0,e.Qq)(),targetHandle:(0,e.Qq)()},a=>[(0,h.GL)("Edge_fromId_toId_kind_key").on(a.fromId,a.toId,a.kind),(0,h.Pe)("Edge_toId_idx").on(a.toId),(0,h.Pe)("Edge_fromId_idx").on(a.fromId)]),p=(0,d.D)("_NodeTags",{a:(0,e.Qq)("A").notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),b:(0,e.Qq)("B").notNull().references(()=>n.id,{onDelete:"cascade",onUpdate:"cascade"})},a=>[(0,h.GL)("_NodeTags_AB_unique").on(a.a,a.b),(0,h.Pe)("_NodeTags_B_index").on(a.b)]),q=(0,d.D)("Note",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),title:(0,e.Qq)().default("Untitled").notNull(),body:(0,e.Qq)().default("").notNull(),ord:(0,g.x)().default(0).notNull(),pinned:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("Note_updatedAt_idx").on(a.updatedAt)]),r=(0,d.D)("BoardAnnotation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),targetKind:(0,e.Qq)().notNull(),targetId:(0,e.Qq)().notNull(),columnName:(0,e.Qq)(),body:(0,e.Qq)().default("").notNull(),x:(0,g.x)(),y:(0,g.x)(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("BoardAnnotation_target_idx").on(a.targetId)]),s=(0,d.D)("BugFlag",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),nodeId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),by:(0,e.Qq)().notNull(),note:(0,e.Qq)().notNull(),resolvedAt:(0,f.nd)({mode:"timestamp_ms"}),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>[(0,h.Pe)("BugFlag_nodeId_idx").on(a.nodeId)]),t=(0,d.D)("DbTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),name:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("DbTable_domain_idx").on(a.domain),(0,h.GL)("DbTable_name_key").on(a.name)]),u=(0,d.D)("DbColumn",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),tableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),name:(0,e.Qq)().notNull(),type:(0,e.Qq)().notNull(),isPk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),isFk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),nullable:(0,f.nd)({mode:"boolean"}).default(!0).notNull(),note:(0,e.Qq)(),ord:(0,f.nd)().default(0).notNull()},a=>[(0,h.GL)("DbColumn_tableId_name_key").on(a.tableId,a.name),(0,h.Pe)("DbColumn_tableId_idx").on(a.tableId)]),v=(0,d.D)("DbRelation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromTableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),toTableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),fromColumn:(0,e.Qq)().notNull(),toColumn:(0,e.Qq)().notNull(),label:(0,e.Qq)()},a=>[(0,h.Pe)("DbRelation_toTableId_idx").on(a.toTableId),(0,h.Pe)("DbRelation_fromTableId_idx").on(a.fromTableId)]),w=(0,d.D)("Endpoint",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),method:(0,e.Qq)().notNull(),path:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.GL)("Endpoint_method_path_key").on(a.method,a.path),(0,h.Pe)("Endpoint_domain_idx").on(a.domain)]),x=(0,d.D)("EndpointTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),endpointId:(0,e.Qq)().notNull().references(()=>w.id,{onDelete:"cascade",onUpdate:"cascade"}),tableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),access:(0,e.Qq)().default("read").notNull()},a=>[(0,h.GL)("EndpointTable_endpointId_tableId_key").on(a.endpointId,a.tableId),(0,h.Pe)("EndpointTable_tableId_idx").on(a.tableId)]),y=(0,d.D)("DraftTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),name:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>[(0,h.GL)("DraftTable_name_key").on(a.name)]),z=(0,d.D)("DraftColumn",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),tableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),name:(0,e.Qq)().notNull(),type:(0,e.Qq)().notNull(),isPk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),isFk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),nullable:(0,f.nd)({mode:"boolean"}).default(!0).notNull(),note:(0,e.Qq)(),ord:(0,f.nd)().default(0).notNull()},a=>[(0,h.Pe)("DraftColumn_tableId_idx").on(a.tableId)]),A=(0,d.D)("DraftRelation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromTableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),toTableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),fromColumn:(0,e.Qq)().notNull(),toColumn:(0,e.Qq)().notNull(),label:(0,e.Qq)()},a=>[(0,h.Pe)("DraftRelation_toTableId_idx").on(a.toTableId),(0,h.Pe)("DraftRelation_fromTableId_idx").on(a.fromTableId)]),B=(0,d.D)("CodeFile",{path:(0,e.Qq)().primaryKey(),root:(0,e.Qq)(),lang:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),mtimeMs:(0,g.x)(),size:(0,f.nd)(),inDegree:(0,f.nd)().default(0).notNull(),outDegree:(0,f.nd)().default(0).notNull(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),C=(0,d.D)("CodeFileEdge",{fromPath:(0,e.Qq)().notNull().references(()=>B.path,{onDelete:"cascade",onUpdate:"cascade"}),toPath:(0,e.Qq)().notNull().references(()=>B.path,{onDelete:"cascade",onUpdate:"cascade"}),circular:(0,f.nd)({mode:"boolean"}).default(!1).notNull()},a=>[(0,h.Pe)("CodeFileEdge_circular_idx").on(a.circular),(0,h.Pe)("CodeFileEdge_toPath_idx").on(a.toPath),(0,h.Pe)("CodeFileEdge_fromPath_idx").on(a.fromPath),(0,j.ie)({columns:[a.fromPath,a.toPath],name:"CodeFileEdge_fromPath_toPath_pk"})]),D=(0,d.D)("SyncState",{id:(0,e.Qq)().primaryKey().default("singleton"),version:(0,f.nd)().default(0).notNull(),codeGraphSyncedAt:(0,f.nd)({mode:"timestamp_ms"}),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),E=(0,d.D)("AppSetting",{id:(0,e.Qq)().primaryKey().default("singleton"),editor:(0,e.Qq)().default("auto").notNull(),currentFeatureId:(0,e.Qq)(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),F=(0,d.D)("ProjectMeta",{id:(0,e.Qq)().primaryKey().default("singleton"),overview:(0,e.Qq)(),conventions:(0,e.Qq)().default("[]").notNull(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)})},47996:(a,b,c)=>{"use strict";c.r(b),c.d(b,{bugFlagRelations:()=>h,codeFileEdgeRelations:()=>u,codeFileRelations:()=>t,dbColumnRelations:()=>m,dbRelationRelations:()=>n,dbTableRelations:()=>l,draftColumnRelations:()=>r,draftRelationRelations:()=>s,draftTableRelations:()=>q,edgeRelations:()=>k,endpointRelations:()=>o,endpointTableRelations:()=>p,nodeFileRelations:()=>g,nodeRelations:()=>f,nodeTagsRelations:()=>j,tagRelations:()=>i});var d=c(61430),e=c(30046);let f=(0,d.K1)(e.node,({one:a,many:b})=>({files:b(e.nodeFile),bugFlags:b(e.bugFlag),nodeTags:b(e.nodeTags),edgesOut:b(e.edge,{relationName:"EdgeFrom"}),edgesIn:b(e.edge,{relationName:"EdgeTo"}),parent:a(e.node,{fields:[e.node.parentId],references:[e.node.id],relationName:"NodeTree"}),children:b(e.node,{relationName:"NodeTree"})})),g=(0,d.K1)(e.nodeFile,({one:a})=>({node:a(e.node,{fields:[e.nodeFile.nodeId],references:[e.node.id]})})),h=(0,d.K1)(e.bugFlag,({one:a})=>({node:a(e.node,{fields:[e.bugFlag.nodeId],references:[e.node.id]})})),i=(0,d.K1)(e.tag,({many:a})=>({nodeTags:a(e.nodeTags)})),j=(0,d.K1)(e.nodeTags,({one:a})=>({node:a(e.node,{fields:[e.nodeTags.a],references:[e.node.id]}),tag:a(e.tag,{fields:[e.nodeTags.b],references:[e.tag.id]})})),k=(0,d.K1)(e.edge,({one:a})=>({from:a(e.node,{fields:[e.edge.fromId],references:[e.node.id],relationName:"EdgeFrom"}),to:a(e.node,{fields:[e.edge.toId],references:[e.node.id],relationName:"EdgeTo"})})),l=(0,d.K1)(e.dbTable,({many:a})=>({columns:a(e.dbColumn),fksOut:a(e.dbRelation,{relationName:"FkFrom"}),fksIn:a(e.dbRelation,{relationName:"FkTo"}),usages:a(e.endpointTable)})),m=(0,d.K1)(e.dbColumn,({one:a})=>({table:a(e.dbTable,{fields:[e.dbColumn.tableId],references:[e.dbTable.id]})})),n=(0,d.K1)(e.dbRelation,({one:a})=>({fromTable:a(e.dbTable,{fields:[e.dbRelation.fromTableId],references:[e.dbTable.id],relationName:"FkFrom"}),toTable:a(e.dbTable,{fields:[e.dbRelation.toTableId],references:[e.dbTable.id],relationName:"FkTo"})})),o=(0,d.K1)(e.endpoint,({many:a})=>({tables:a(e.endpointTable)})),p=(0,d.K1)(e.endpointTable,({one:a})=>({endpoint:a(e.endpoint,{fields:[e.endpointTable.endpointId],references:[e.endpoint.id]}),table:a(e.dbTable,{fields:[e.endpointTable.tableId],references:[e.dbTable.id]})})),q=(0,d.K1)(e.draftTable,({many:a})=>({columns:a(e.draftColumn),fksOut:a(e.draftRelation,{relationName:"DraftFkFrom"}),fksIn:a(e.draftRelation,{relationName:"DraftFkTo"})})),r=(0,d.K1)(e.draftColumn,({one:a})=>({table:a(e.draftTable,{fields:[e.draftColumn.tableId],references:[e.draftTable.id]})})),s=(0,d.K1)(e.draftRelation,({one:a})=>({fromTable:a(e.draftTable,{fields:[e.draftRelation.fromTableId],references:[e.draftTable.id],relationName:"DraftFkFrom"}),toTable:a(e.draftTable,{fields:[e.draftRelation.toTableId],references:[e.draftTable.id],relationName:"DraftFkTo"})})),t=(0,d.K1)(e.codeFile,({many:a})=>({edgesOut:a(e.codeFileEdge,{relationName:"CFEFrom"}),edgesIn:a(e.codeFileEdge,{relationName:"CFETo"})})),u=(0,d.K1)(e.codeFileEdge,({one:a})=>({fromFile:a(e.codeFile,{fields:[e.codeFileEdge.fromPath],references:[e.codeFile.path],relationName:"CFEFrom"}),toFile:a(e.codeFile,{fields:[e.codeFileEdge.toPath],references:[e.codeFile.path],relationName:"CFETo"})}))},56727:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{let p;c.d(b,{Lf:()=>l,X_:()=>i.X_,dI:()=>n,db:()=>w,e$:()=>o,sc:()=>m});var e=c(55871),f=c(28855),g=c(30046),h=c(47996),i=c(6716),j=a([f,e]);[f,e]=j.then?(await j)():j;let q={...g,...h},r=(p=process.env.DATABASE_URL)&&/^(file:|libsql:|wss?:|https?:|:memory:)/i.test(p)?p:"file:./dev.db";function k(a){let b=(0,f.createClient)({url:a});return b.execute("PRAGMA foreign_keys = ON;"),b.execute("PRAGMA busy_timeout = 5000;"),(0,e.f)(b,{schema:q})}let s=globalThis,t=s.dzDefault??k(r),u=s.dzByUrl??=new Map;function l(a){let b=u.get(a);return b||(b=k(a),u.set(a,b)),b}function m(a){u.delete(a)}function n(a){let b=u.get(a);u.delete(a);try{b?.$client?.close?.()}catch{}}let v=new Map;function o(a=r){if(!/^file:/i.test(a))return Promise.resolve();let b=v.get(a);return b||(b=c.e(2877).then(c.bind(c,35258)).then(({provisionDb:b})=>b(a)).then(()=>{}).catch(b=>{v.delete(a),console.error("[beacon] fallback db provision failed:",b instanceof Error?b.message:b)}),v.set(a,b)),b}let w=new Proxy({},{get(a,b){let c=function(){if(process.env.BEACON_REPO)return t;let a=(0,i.p1)()??(0,i.UP)();return a?l((0,i.Nx)(a)):t}(),d=c[b];return"function"==typeof d?d.bind(c):d}});d()}catch(a){d(a)}})},78335:()=>{},96487:()=>{}};
|
|
1
|
+
exports.id=9683,exports.ids=[9683],exports.modules={6716:(a,b,c)=>{"use strict";c.d(b,{AV:()=>J,Ck:()=>H,Dk:()=>F,F2:()=>y,FF:()=>l,K4:()=>w,Lm:()=>O,Nx:()=>s,Q8:()=>I,T_:()=>r,UP:()=>B,VB:()=>E,VO:()=>q,WQ:()=>D,X_:()=>L,Y2:()=>v,_g:()=>C,kO:()=>P,oW:()=>i,p1:()=>M,qh:()=>z});var d=c(16698);c(31421);var e=c(77598),f=c(73024),g=c(48161),h=c(76760);function i(){return process.env.BEACON_HOME||(0,h.join)((0,g.homedir)(),".beacon")}function j(){return(0,h.join)(i(),"workspaces.json")}function k(a){return(0,e.createHash)("sha256").update(a).digest("hex").slice(0,12)}function l(a){let b=(0,h.resolve)(a);return b!==(0,h.resolve)((0,g.homedir)())&&b!==(0,h.parse)(b).root}function m(){return(0,h.join)(i(),"deleted.json")}function n(){try{let a=JSON.parse((0,f.readFileSync)(m(),"utf8"));return Array.isArray(a)?a:[]}catch{return[]}}function o(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(m(),JSON.stringify(a,null,2))}function p(a){return n().includes(a)}function q(a){let b=n();b.includes(a)||o([...b,a])}function r(a){return(0,h.join)(i(),a)}function s(a){return`file:${(0,h.join)(r(a),"db.sqlite")}`}function t(){try{let a=JSON.parse((0,f.readFileSync)(j(),"utf8"));return Array.isArray(a)?a:[]}catch{return[]}}function u(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(j(),JSON.stringify(a,null,2))}function v(){return t().sort((a,b)=>b.lastOpenedAt.localeCompare(a.lastOpenedAt))}function w(a){return t().find(b=>b.id===a)??null}function x(a,b,c=new Date().toISOString()){if(!l(a))throw Error(`beacon: refusing to register a non-repo path as a workspace: ${a}`);let d=k(a);if(p(d))throw Error(`beacon: workspace ${d} (${a}) was deleted — run \`beacon\` or /beacon-init to re-add it`);let e=t(),g=e.find(a=>a.id===d),i={id:d,path:a,name:b||g?.name||(0,h.basename)(a),lastOpenedAt:c},j=[i,...e.filter(a=>a.id!==d)];return(0,f.mkdirSync)(r(d),{recursive:!0}),u(j),i}function y(a,b){var c;let d;return c=k(a),(d=n()).includes(c)&&o(d.filter(a=>a!==c)),x(a,b)}function z(a){u(t().filter(b=>b.id!==a)),B()===a&&C(v()[0]?.id??null)}function A(){return(0,h.join)(i(),"active")}function B(){try{return(0,f.readFileSync)(A(),"utf8").trim()||null}catch{return null}}function C(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(A(),a??"")}function D(){let a=B();return a?w(a):null}function E(){let a=M()??B();return a?w(a):null}let F="beacon_ws";function G(a,b){let c=a.headers.get("cookie");if(!c)return null;for(let a of c.split(";")){let c=a.indexOf("=");if(-1!==c&&a.slice(0,c).trim()===b)return decodeURIComponent(a.slice(c+1).trim())}return null}function H(a){let b=a.headers.get("x-beacon-workspace");if(b&&w(b))return b;let c=G(a,F);return c&&w(c)?c:null}let I="x-beacon-workspace-path";async function J(a){let b=a.headers.get("x-beacon-workspace");if(b&&w(b))return b;let c=a.headers.get(I);if(c&&l(c)&&!p(k(c))&&(!b||k(c)===b)){let a=x(c);return await P(a.id),a.id}let d=G(a,F);return d&&w(d)?d:null}let K=new d.AsyncLocalStorage;function L(a,b){return a?K.run(a,b):b()}function M(){return K.getStore()??null}let N=new Set;function O(a){N.delete((0,h.join)(r(a),"db.sqlite"))}async function P(a){let b=r(a),d=(0,h.join)(b,"db.sqlite"),e=(0,f.existsSync)(d);if(e&&N.has(d))return{ok:!0,created:!1,migrated:!1};try{(0,f.mkdirSync)(b,{recursive:!0});let{provisionDb:g}=await Promise.all([c.e(9884),c.e(5871),c.e(5258)]).then(c.bind(c,35258)),h=await g(s(a));return N.add(d),{ok:!0,created:!e,migrated:e&&h.migrated}}catch(a){return{ok:!1,created:!1,migrated:!1,error:a instanceof Error?a.message:String(a)}}}},30046:(a,b,c)=>{"use strict";c.r(b),c.d(b,{appSetting:()=>E,boardAnnotation:()=>r,bugFlag:()=>s,codeFile:()=>B,codeFileEdge:()=>C,dbColumn:()=>u,dbRelation:()=>v,dbTable:()=>t,draftColumn:()=>z,draftRelation:()=>A,draftTable:()=>y,edge:()=>o,endpoint:()=>w,endpointTable:()=>x,node:()=>l,nodeFile:()=>m,nodeTags:()=>p,note:()=>q,projectMeta:()=>F,syncState:()=>D,tag:()=>n});var d=c(71484),e=c(28933),f=c(22070),g=c(47550),h=c(76968),i=c(96497),j=c(31059),k=c(63254);let l=(0,d.D)("Node",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),view:(0,e.Qq)().notNull(),kind:(0,e.Qq)().default("FEATURE").notNull(),cluster:(0,e.Qq)(),title:(0,e.Qq)().notNull(),role:(0,e.Qq)(),plain:(0,e.Qq)(),status:(0,e.Qq)().default("PENDING").notNull(),priority:(0,f.nd)().default(2).notNull(),progress:(0,f.nd)().default(0).notNull(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),sourceRef:(0,e.Qq)(),externalId:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),parentId:(0,e.Qq)(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("Node_cluster_idx").on(a.cluster),(0,h.Pe)("Node_parentId_idx").on(a.parentId),(0,h.Pe)("Node_view_idx").on(a.view),(0,i.mt)(()=>({columns:[a.parentId],foreignColumns:[a.id],name:"Node_parentId_Node_id_fk"})).onUpdate("cascade").onDelete("cascade")]),m=(0,d.D)("NodeFile",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),nodeId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),path:(0,e.Qq)().notNull()},a=>[(0,h.GL)("NodeFile_nodeId_path_key").on(a.nodeId,a.path),(0,h.Pe)("NodeFile_nodeId_idx").on(a.nodeId)]),n=(0,d.D)("Tag",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),label:(0,e.Qq)().notNull(),color:(0,e.Qq)()},a=>[(0,h.GL)("Tag_label_key").on(a.label)]),o=(0,d.D)("Edge",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),toId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),kind:(0,e.Qq)().default("DEPENDS").notNull(),label:(0,e.Qq)(),sourceHandle:(0,e.Qq)(),targetHandle:(0,e.Qq)()},a=>[(0,h.GL)("Edge_fromId_toId_kind_key").on(a.fromId,a.toId,a.kind),(0,h.Pe)("Edge_toId_idx").on(a.toId),(0,h.Pe)("Edge_fromId_idx").on(a.fromId)]),p=(0,d.D)("_NodeTags",{a:(0,e.Qq)("A").notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),b:(0,e.Qq)("B").notNull().references(()=>n.id,{onDelete:"cascade",onUpdate:"cascade"})},a=>[(0,h.GL)("_NodeTags_AB_unique").on(a.a,a.b),(0,h.Pe)("_NodeTags_B_index").on(a.b)]),q=(0,d.D)("Note",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),title:(0,e.Qq)().default("Untitled").notNull(),body:(0,e.Qq)().default("").notNull(),ord:(0,g.x)().default(0).notNull(),pinned:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("Note_updatedAt_idx").on(a.updatedAt)]),r=(0,d.D)("BoardAnnotation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),targetKind:(0,e.Qq)().notNull(),targetId:(0,e.Qq)().notNull(),columnName:(0,e.Qq)(),body:(0,e.Qq)().default("").notNull(),x:(0,g.x)(),y:(0,g.x)(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("BoardAnnotation_target_idx").on(a.targetId)]),s=(0,d.D)("BugFlag",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),nodeId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),by:(0,e.Qq)().notNull(),note:(0,e.Qq)().notNull(),resolvedAt:(0,f.nd)({mode:"timestamp_ms"}),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>[(0,h.Pe)("BugFlag_nodeId_idx").on(a.nodeId)]),t=(0,d.D)("DbTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),name:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("DbTable_domain_idx").on(a.domain),(0,h.GL)("DbTable_name_key").on(a.name)]),u=(0,d.D)("DbColumn",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),tableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),name:(0,e.Qq)().notNull(),type:(0,e.Qq)().notNull(),isPk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),isFk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),nullable:(0,f.nd)({mode:"boolean"}).default(!0).notNull(),note:(0,e.Qq)(),ord:(0,f.nd)().default(0).notNull()},a=>[(0,h.GL)("DbColumn_tableId_name_key").on(a.tableId,a.name),(0,h.Pe)("DbColumn_tableId_idx").on(a.tableId)]),v=(0,d.D)("DbRelation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromTableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),toTableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),fromColumn:(0,e.Qq)().notNull(),toColumn:(0,e.Qq)().notNull(),label:(0,e.Qq)()},a=>[(0,h.Pe)("DbRelation_toTableId_idx").on(a.toTableId),(0,h.Pe)("DbRelation_fromTableId_idx").on(a.fromTableId)]),w=(0,d.D)("Endpoint",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),method:(0,e.Qq)().notNull(),path:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.GL)("Endpoint_method_path_key").on(a.method,a.path),(0,h.Pe)("Endpoint_domain_idx").on(a.domain)]),x=(0,d.D)("EndpointTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),endpointId:(0,e.Qq)().notNull().references(()=>w.id,{onDelete:"cascade",onUpdate:"cascade"}),tableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),access:(0,e.Qq)().default("read").notNull()},a=>[(0,h.GL)("EndpointTable_endpointId_tableId_key").on(a.endpointId,a.tableId),(0,h.Pe)("EndpointTable_tableId_idx").on(a.tableId)]),y=(0,d.D)("DraftTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),name:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>[(0,h.GL)("DraftTable_name_key").on(a.name)]),z=(0,d.D)("DraftColumn",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),tableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),name:(0,e.Qq)().notNull(),type:(0,e.Qq)().notNull(),isPk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),isFk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),nullable:(0,f.nd)({mode:"boolean"}).default(!0).notNull(),note:(0,e.Qq)(),ord:(0,f.nd)().default(0).notNull()},a=>[(0,h.Pe)("DraftColumn_tableId_idx").on(a.tableId)]),A=(0,d.D)("DraftRelation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromTableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),toTableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),fromColumn:(0,e.Qq)().notNull(),toColumn:(0,e.Qq)().notNull(),label:(0,e.Qq)()},a=>[(0,h.Pe)("DraftRelation_toTableId_idx").on(a.toTableId),(0,h.Pe)("DraftRelation_fromTableId_idx").on(a.fromTableId)]),B=(0,d.D)("CodeFile",{path:(0,e.Qq)().primaryKey(),root:(0,e.Qq)(),lang:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),mtimeMs:(0,g.x)(),size:(0,f.nd)(),inDegree:(0,f.nd)().default(0).notNull(),outDegree:(0,f.nd)().default(0).notNull(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),C=(0,d.D)("CodeFileEdge",{fromPath:(0,e.Qq)().notNull().references(()=>B.path,{onDelete:"cascade",onUpdate:"cascade"}),toPath:(0,e.Qq)().notNull().references(()=>B.path,{onDelete:"cascade",onUpdate:"cascade"}),circular:(0,f.nd)({mode:"boolean"}).default(!1).notNull()},a=>[(0,h.Pe)("CodeFileEdge_circular_idx").on(a.circular),(0,h.Pe)("CodeFileEdge_toPath_idx").on(a.toPath),(0,h.Pe)("CodeFileEdge_fromPath_idx").on(a.fromPath),(0,j.ie)({columns:[a.fromPath,a.toPath],name:"CodeFileEdge_fromPath_toPath_pk"})]),D=(0,d.D)("SyncState",{id:(0,e.Qq)().primaryKey().default("singleton"),version:(0,f.nd)().default(0).notNull(),codeGraphSyncedAt:(0,f.nd)({mode:"timestamp_ms"}),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),E=(0,d.D)("AppSetting",{id:(0,e.Qq)().primaryKey().default("singleton"),editor:(0,e.Qq)().default("auto").notNull(),currentFeatureId:(0,e.Qq)(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),F=(0,d.D)("ProjectMeta",{id:(0,e.Qq)().primaryKey().default("singleton"),overview:(0,e.Qq)(),conventions:(0,e.Qq)().default("[]").notNull(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)})},47996:(a,b,c)=>{"use strict";c.r(b),c.d(b,{bugFlagRelations:()=>h,codeFileEdgeRelations:()=>u,codeFileRelations:()=>t,dbColumnRelations:()=>m,dbRelationRelations:()=>n,dbTableRelations:()=>l,draftColumnRelations:()=>r,draftRelationRelations:()=>s,draftTableRelations:()=>q,edgeRelations:()=>k,endpointRelations:()=>o,endpointTableRelations:()=>p,nodeFileRelations:()=>g,nodeRelations:()=>f,nodeTagsRelations:()=>j,tagRelations:()=>i});var d=c(61430),e=c(30046);let f=(0,d.K1)(e.node,({one:a,many:b})=>({files:b(e.nodeFile),bugFlags:b(e.bugFlag),nodeTags:b(e.nodeTags),edgesOut:b(e.edge,{relationName:"EdgeFrom"}),edgesIn:b(e.edge,{relationName:"EdgeTo"}),parent:a(e.node,{fields:[e.node.parentId],references:[e.node.id],relationName:"NodeTree"}),children:b(e.node,{relationName:"NodeTree"})})),g=(0,d.K1)(e.nodeFile,({one:a})=>({node:a(e.node,{fields:[e.nodeFile.nodeId],references:[e.node.id]})})),h=(0,d.K1)(e.bugFlag,({one:a})=>({node:a(e.node,{fields:[e.bugFlag.nodeId],references:[e.node.id]})})),i=(0,d.K1)(e.tag,({many:a})=>({nodeTags:a(e.nodeTags)})),j=(0,d.K1)(e.nodeTags,({one:a})=>({node:a(e.node,{fields:[e.nodeTags.a],references:[e.node.id]}),tag:a(e.tag,{fields:[e.nodeTags.b],references:[e.tag.id]})})),k=(0,d.K1)(e.edge,({one:a})=>({from:a(e.node,{fields:[e.edge.fromId],references:[e.node.id],relationName:"EdgeFrom"}),to:a(e.node,{fields:[e.edge.toId],references:[e.node.id],relationName:"EdgeTo"})})),l=(0,d.K1)(e.dbTable,({many:a})=>({columns:a(e.dbColumn),fksOut:a(e.dbRelation,{relationName:"FkFrom"}),fksIn:a(e.dbRelation,{relationName:"FkTo"}),usages:a(e.endpointTable)})),m=(0,d.K1)(e.dbColumn,({one:a})=>({table:a(e.dbTable,{fields:[e.dbColumn.tableId],references:[e.dbTable.id]})})),n=(0,d.K1)(e.dbRelation,({one:a})=>({fromTable:a(e.dbTable,{fields:[e.dbRelation.fromTableId],references:[e.dbTable.id],relationName:"FkFrom"}),toTable:a(e.dbTable,{fields:[e.dbRelation.toTableId],references:[e.dbTable.id],relationName:"FkTo"})})),o=(0,d.K1)(e.endpoint,({many:a})=>({tables:a(e.endpointTable)})),p=(0,d.K1)(e.endpointTable,({one:a})=>({endpoint:a(e.endpoint,{fields:[e.endpointTable.endpointId],references:[e.endpoint.id]}),table:a(e.dbTable,{fields:[e.endpointTable.tableId],references:[e.dbTable.id]})})),q=(0,d.K1)(e.draftTable,({many:a})=>({columns:a(e.draftColumn),fksOut:a(e.draftRelation,{relationName:"DraftFkFrom"}),fksIn:a(e.draftRelation,{relationName:"DraftFkTo"})})),r=(0,d.K1)(e.draftColumn,({one:a})=>({table:a(e.draftTable,{fields:[e.draftColumn.tableId],references:[e.draftTable.id]})})),s=(0,d.K1)(e.draftRelation,({one:a})=>({fromTable:a(e.draftTable,{fields:[e.draftRelation.fromTableId],references:[e.draftTable.id],relationName:"DraftFkFrom"}),toTable:a(e.draftTable,{fields:[e.draftRelation.toTableId],references:[e.draftTable.id],relationName:"DraftFkTo"})})),t=(0,d.K1)(e.codeFile,({many:a})=>({edgesOut:a(e.codeFileEdge,{relationName:"CFEFrom"}),edgesIn:a(e.codeFileEdge,{relationName:"CFETo"})})),u=(0,d.K1)(e.codeFileEdge,({one:a})=>({fromFile:a(e.codeFile,{fields:[e.codeFileEdge.fromPath],references:[e.codeFile.path],relationName:"CFEFrom"}),toFile:a(e.codeFile,{fields:[e.codeFileEdge.toPath],references:[e.codeFile.path],relationName:"CFETo"})}))},56727:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{let p;c.d(b,{Lf:()=>l,X_:()=>i.X_,dI:()=>n,db:()=>w,e$:()=>o,sc:()=>m});var e=c(55871),f=c(28855),g=c(30046),h=c(47996),i=c(6716),j=a([f,e]);[f,e]=j.then?(await j)():j;let q={...g,...h},r=(p=process.env.DATABASE_URL)&&/^(file:|libsql:|wss?:|https?:|:memory:)/i.test(p)?p:"file:./dev.db";function k(a){let b=(0,f.createClient)({url:a});return b.execute("PRAGMA foreign_keys = ON;"),b.execute("PRAGMA busy_timeout = 5000;"),(0,e.f)(b,{schema:q})}let s=globalThis,t=s.dzDefault??k(r),u=s.dzByUrl??=new Map;function l(a){let b=u.get(a);return b||(b=k(a),u.set(a,b)),b}function m(a){u.delete(a)}function n(a){let b=u.get(a);u.delete(a);try{b?.$client?.close?.()}catch{}}let v=new Map;function o(a=r){if(!/^file:/i.test(a))return Promise.resolve();let b=v.get(a);return b||(b=c.e(2877).then(c.bind(c,35258)).then(({provisionDb:b})=>b(a)).then(()=>{}).catch(b=>{v.delete(a),console.error("[beacon] fallback db provision failed:",b instanceof Error?b.message:b)}),v.set(a,b)),b}let w=new Proxy({},{get(a,b){let c=function(){if(process.env.BEACON_REPO)return t;let a=(0,i.p1)()??(0,i.UP)();return a?l((0,i.Nx)(a)):t}(),d=c[b];return"function"==typeof d?d.bind(c):d}});d()}catch(a){d(a)}})},78335:()=>{},96487:()=>{}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=9734,exports.ids=[9734],exports.modules={7903:(a,b,c)=>{c.d(b,{VE:()=>k,qT:()=>l,zP:()=>h});var d=c(73024),e=c(76760),f=c(45301),g=c(32213);let h={roadmap:"grouped-2",architecture:"arch-layered-3",db:"db-dock-3"};function i(){return(0,e.join)((0,f.KS)(),"board-layout-state.json")}function j(){try{return JSON.parse((0,d.readFileSync)(i(),"utf8"))}catch{return null}}function k(a){let b=j(),c=b?.[a];return{sig:c?.sig??("roadmap"!==a||b?null:function(){try{return JSON.parse((0,d.readFileSync)((0,e.join)((0,f.KS)(),"roadmap-layout-sig.json"),"utf8")).sig??null}catch{return null}}())??null,arrangedBy:c?.arrangedBy??null}}function l(a,b){let c=j()??{};c[a]={...c[a],...b},(0,g.q)(i(),c)}},19734:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bx:()=>r,HF:()=>q,Rw:()=>s,ap:()=>t});var e=c(44046),f=c(91430),g=c(34216),h=c(56727),i=c(30046),j=c(72658),k=c(35498),l=c(49565),m=c(24983),n=c(96976),o=c(73033),p=a([h,j,k,l,o]);[h,j,k,l,o]=p.then?(await p)():p;let t=e.Ik({tables:e.YO(e.Ik({name:e.Yj().trim().min(1),domain:e.Yj().nullish(),description:e.Yj().nullish(),columns:e.YO(e.Ik({name:e.Yj().trim().min(1),type:e.Yj().trim().min(1),isPk:e.zM().optional(),isFk:e.zM().optional(),nullable:e.zM().optional(),note:e.Yj().nullish()})).default([])})).default([]),relations:e.YO(e.Ik({fromTable:e.Yj(),fromColumn:e.Yj(),toTable:e.Yj(),toColumn:e.Yj(),label:e.Yj().nullish()})).default([]),endpoints:e.YO(e.Ik({method:e.Yj().trim().min(1),path:e.Yj().trim().min(1),domain:e.Yj().nullish(),description:e.Yj().nullish(),uses:e.YO(e.Ik({table:e.Yj(),access:e.Yj().default("read")})).default([])})).default([])});async function q(a=h.db){let b=await a.query.syncState.findFirst({where:(a,{eq:b})=>b(a.id,"singleton")});return b?.version??0}async function r(a=h.db){let[b]=await a.insert(i.syncState).values({id:"singleton",version:1}).onConflictDoUpdate({target:i.syncState.id,set:{version:(0,f.ll)`${i.syncState.version} + 1`}}).returning();return b.version}async function s(a,b=h.db,c={}){let d=t.parse(a),e=d.tables.length>0,f=d.endpoints.length>0,p=d.tables.map(a=>a.name);e&&await b.delete(i.dbTable).where(p.length?(0,g.Uo)((0,g.eq)(i.dbTable.source,"INTROSPECTION"),(0,g.KL)(i.dbTable.name,p)):(0,g.eq)(i.dbTable.source,"INTROSPECTION"));let q=await b.query.dbTable.findMany({columns:{id:!0,name:!0,domain:!0,x:!0,y:!0},with:{columns:{columns:{id:!0}}}}),u=await b.query.endpoint.findMany({columns:{id:!0,method:!0,path:!0,x:!0,y:!0},with:{tables:{columns:{tableId:!0}}}}),v=new Map(q.map(a=>[a.name,a])),w=q.map(a=>({id:a.id,name:a.name,domain:a.domain,columnCount:a.columns.length,x:a.x,y:a.y})),x=u.map(a=>({id:a.id,method:a.method,path:a.path,uses:a.tables.map(a=>({tableId:a.tableId})),x:a.x,y:a.y})),y=new Map;for(let a of d.tables){if(v.has(a.name))continue;let b=(0,n.uQ)({domain:a.domain??null,columnCount:a.columns.length},w,x);y.set(a.name,b),w.push({id:`new:${a.name}`,name:a.name,domain:a.domain??null,columnCount:a.columns.length,...b})}let z=new Map;for(let a of d.tables){let c=v.get(a.name),d=y.get(a.name),e=c?.x??d?.x??0,f=c?.y??d?.y??0,[h]=await b.insert(i.dbTable).values({name:a.name,domain:a.domain??null,description:a.description??null,source:"INTROSPECTION",x:e,y:f}).onConflictDoUpdate({target:i.dbTable.name,set:{...null!=a.domain?{domain:a.domain}:{},...null!=a.description?{description:a.description}:{},source:"INTROSPECTION"}}).returning();z.set(a.name,h.id),await b.delete(i.dbColumn).where((0,g.eq)(i.dbColumn.tableId,h.id)),a.columns.length&&await b.insert(i.dbColumn).values(a.columns.map((a,b)=>({tableId:h.id,name:a.name,type:a.type,isPk:a.isPk??!1,isFk:a.isFk??!1,nullable:a.nullable??!0,note:a.note??null,ord:b})))}let A=[...z.values()];for(let a of(A.length&&await b.delete(i.dbRelation).where((0,g.or)((0,g.RV)(i.dbRelation.fromTableId,A),(0,g.RV)(i.dbRelation.toTableId,A))),d.relations)){let c=z.get(a.fromTable),d=z.get(a.toTable);c&&d&&await b.insert(i.dbRelation).values({fromTableId:c,toTableId:d,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label??`${a.fromColumn} → ${a.toTable}.${a.toColumn}`})}let B=new Set(d.endpoints.map(a=>`${a.method} ${a.path}`));if(f){let a=(await b.query.endpoint.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION")})).filter(a=>!B.has(`${a.method} ${a.path}`)).map(a=>a.id);a.length&&await b.delete(i.endpoint).where((0,g.RV)(i.endpoint.id,a))}for(let a of w)a.id.startsWith("new:")&&(a.id=z.get(a.name)??a.id);for(let a of d.endpoints){let d,e,f=await b.query.endpoint.findFirst({where:(b,{and:c,eq:d})=>c(d(b.method,a.method),d(b.path,a.path))});if(f)d=f.x,e=f.y;else{let b={id:`new:${a.method} ${a.path}`,method:a.method,path:a.path,uses:a.uses.map(a=>({tableId:z.get(a.table)??""})).filter(a=>a.tableId)},c=(0,n.ez)(b,w,x);d=c.x,e=c.y,x.push({...b,x:d,y:e})}let[h]=await b.insert(i.endpoint).values({method:a.method,path:a.path,domain:a.domain??null,description:a.description??null,source:"INTROSPECTION",x:d,y:e}).onConflictDoUpdate({target:[i.endpoint.method,i.endpoint.path],set:{...null!=a.domain?{domain:a.domain}:{},...null!=a.description?{description:a.description}:{},source:"INTROSPECTION"}}).returning();for(let d of((!c.partial||a.uses.length>0)&&await b.delete(i.endpointTable).where((0,g.eq)(i.endpointTable.endpointId,h.id)),a.uses)){let a=z.get(d.table)??(await b.query.dbTable.findFirst({where:(a,{eq:b})=>b(a.name,d.table)}))?.id;a&&await b.insert(i.endpointTable).values({endpointId:h.id,tableId:a,access:d.access})}}await (0,k.X)(b),await (0,l.q)(b);let C=await b.query.dbTable.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION"),columns:{x:!0,y:!0},with:{columns:{columns:{id:!0}}}}),D=await b.select({x:i.endpoint.x,y:i.endpoint.y}).from(i.endpoint);((0,m.v4)(C.map(a=>({x:a.x,y:a.y,columnCount:a.columns.length})))||(0,j.i)(D))&&await (0,o.r)(b);let E=await r(b);return{tables:d.tables.length,relations:d.relations.length,endpoints:d.endpoints.length,version:E}}d()}catch(a){d(a)}})},24983:(a,b,c)=>{c.d(b,{mn:()=>d.mn,v4:()=>f,wx:()=>e});var d=c(96976);function e(a,b=[]){let c=[,,,,].fill(0);for(let a of b){let b=Math.max(0,Math.min(3,Math.round(a.x/d.LT))),e=a.y+(0,d.mn)(a.columnCount)+d.lS;e>c[b]&&(c[b]=e)}let f=new Map;for(let b of a){let a=0;for(let b=1;b<4;b++)c[b]<c[a]&&(a=b);let e=a*d.LT,g=c[a];f.set(b.key,{x:e,y:g}),c[a]=g+(0,d.mn)(b.columnCount)+d.lS}return f}function f(a){let b=d.LT-20;for(let c=0;c<a.length;c++)for(let e=c+1;e<a.length;e++){let f=a[c],g=a[e],h=(0,d.mn)(f.columnCount),i=(0,d.mn)(g.columnCount);if(f.x<g.x+b&&f.x+b>g.x&&f.y<g.y+i&&f.y+h>g.y)return!0}return!1}},32213:(a,b,c)=>{c.d(b,{q:()=>f});var d=c(73024),e=c(76760);function f(a,b,c=!1){var g=JSON.stringify(b,null,c?2:void 0);(0,d.mkdirSync)((0,e.dirname)(a),{recursive:!0});let h=`${a}.tmp`;try{(0,d.writeFileSync)(h,g),(0,d.renameSync)(h,a)}catch(a){throw(0,d.rmSync)(h,{force:!0}),a}}},35498:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{X:()=>i});var e=c(34216),f=c(56727),g=c(30046),h=a([f]);async function i(a=f.db){let[b,c]=await Promise.all([a.query.endpoint.findMany({where:(a,{ne:b})=>b(a.source,"INTROSPECTION")}),a.query.endpoint.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION")})]),d={collapsed:0,mappings:[]};for(let f of b){let b=c.find(a=>(function(a,b){if(a.method.toUpperCase()!==b.method.toUpperCase())return!1;let c=a.path.replace(/\{[^}]*\}/g,"{}"),d=b.path.replace(/\{[^}]*\}/g,"{}");return d===c||d.endsWith(c)})(f,a));b&&(await a.delete(g.endpoint).where((0,e.eq)(g.endpoint.id,f.id)),d.collapsed++,d.mappings.push({planned:`${f.method} ${f.path}`,code:`${b.method} ${b.path}`}))}return d}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},45301:(a,b,c)=>{c.d(b,{KS:()=>l,Qq:()=>k,jv:()=>j});var d=c(31421),e=c(77598),f=c(48161),g=c(76760),h=c(6716);let i=null;function j(){if(process.env.BEACON_REPO)return process.env.BEACON_REPO;let a=(0,h.p1)();if(a){let b=(0,h.K4)(a);if(b)return b.path}let b=(0,h.WQ)();if(b)return b.path;if(i)return i;try{let a=(0,d.execSync)("git rev-parse --show-toplevel",{cwd:process.cwd(),stdio:["ignore","pipe","ignore"]}).toString().trim();if(a)return i=a}catch{}return i=(0,g.resolve)(process.cwd(),"../..")}function k(){return(0,g.basename)(j())}function l(){if(process.env.BEACON_DATA_DIR)return process.env.BEACON_DATA_DIR;let a=(0,h.p1)();if(a&&(0,h.K4)(a))return(0,h.T_)(a);let b=(0,h.WQ)();return b?(0,h.T_)(b.id):(0,g.join)((0,f.homedir)(),".beacon",(0,e.createHash)("sha256").update(j()).digest("hex").slice(0,12))}},49565:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{q:()=>j});var e=c(34216),f=c(56727),g=c(30046),h=a([f]);f=(h.then?(await h)():h)[0];let k=new Set(["DONE","CANCELLED","DEPRIORITIZED"]);async function i(a){let b=await a.query.node.findMany({where:(a,{and:b,eq:c,isNotNull:d})=>b(c(a.view,"ROADMAP"),d(a.planId)),columns:{planId:!0,status:!0}}),c=new Map;for(let a of b){let b=a.planId;c.set(b,(c.get(b)??!0)&&k.has(a.status))}return[...c.entries()].filter(([,a])=>a).map(([a])=>a)}async function j(a=f.db){let b=await i(a),c=a=>b.length?(0,e.or)((0,e.kZ)(a.planId),(0,e.RV)(a.planId,b)):(0,e.kZ)(a.planId),d=await a.delete(g.dbTable).where((0,e.Uo)((0,e.ne)(g.dbTable.source,"INTROSPECTION"),c(g.dbTable))).returning({id:g.dbTable.id}),h=await a.delete(g.endpoint).where((0,e.Uo)((0,e.ne)(g.endpoint.source,"INTROSPECTION"),c(g.endpoint))).returning({id:g.endpoint.id});return{tables:d.length,endpoints:h.length}}d()}catch(a){d(a)}})},72658:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{C:()=>h,i:()=>g});var e=c(56727),f=a([e]);function g(a){for(let b=0;b<a.length;b++)for(let c=b+1;c<a.length;c++){let d=a[b],e=a[c];if(d.x<e.x+240&&d.x+240>e.x&&d.y<e.y+50&&d.y+50>e.y)return!0}return!1}async function h(a=e.db){let[b,c]=await Promise.all([a.query.dbTable.findFirst({orderBy:(a,{desc:b})=>b(a.y)}),a.query.endpoint.findFirst({orderBy:(a,{desc:b})=>b(a.y)})]),d=Math.max(b?.y??0,c?.y??0);return d>0?d+280:0}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},73033:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{r:()=>k,v:()=>l});var e=c(34216),f=c(56727),g=c(30046),h=c(96976),i=c(7903),j=a([f]);async function k(a=f.db){let[b,c]=await Promise.all([a.query.dbTable.findMany({with:{columns:{columns:{id:!0}}},orderBy:(a,{asc:b})=>b(a.name)}),a.query.endpoint.findMany({with:{tables:{columns:{tableId:!0}}}})]),d=(0,h.kq)(b.map(a=>({id:a.id,name:a.name,domain:a.domain,columnCount:a.columns.length})),c.map(a=>({id:a.id,method:a.method,path:a.path,uses:a.tables.map(a=>({tableId:a.tableId}))}))),i=0;for(let c of b){let b=d.tables.get(c.id);b&&(Math.round(b.x)!==Math.round(c.x)||Math.round(b.y)!==Math.round(c.y))&&(await a.update(g.dbTable).set({x:b.x,y:b.y}).where((0,e.eq)(g.dbTable.id,c.id)),i++)}for(let b of c){let c=d.endpoints.get(b.id);c&&(Math.round(c.x)!==Math.round(b.x)||Math.round(c.y)!==Math.round(b.y))&&(await a.update(g.endpoint).set({x:c.x,y:c.y}).where((0,e.eq)(g.endpoint.id,b.id)),i++)}return i}async function l(a=f.db){let b=i.zP.db;(0,i.VE)("db").sig===b||await a.query.dbTable.findFirst({columns:{id:!0}})&&(await k(a),(0,i.qT)("db",{sig:b}))}f=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},96976:(a,b,c)=>{c.d(b,{LT:()=>d,ez:()=>m,kq:()=>k,lS:()=>e,mn:()=>f,uQ:()=>l});let d=320,e=50;function f(a){return 36+30*Math.max(0,a)+16}let g=2560,h=a=>(a??"").trim()||"—";function i(a,b){let c=new Map(a.map(a=>[a.id,a.name])),d=new Map;for(let a of b)for(let b of a.uses)c.has(b.tableId)&&d.set(b.tableId,(d.get(b.tableId)??0)+1);return new Map(b.map(a=>[a.id,function(a,b,c){let d=new Map;for(let c of a.uses)b.has(c.tableId)&&d.set(c.tableId,(d.get(c.tableId)??0)+1);let e=null;for(let[a,f]of d){if(null===e){e=a;continue}let g=d.get(e);if(f>g){e=a;continue}if(f<g)continue;let h=c?.get(a)??0,i=c?.get(e)??0;h<i?e=a:h===i&&0>b.get(a).localeCompare(b.get(e))&&(e=a)}return e}(a,c,d)]))}let j=(a,b)=>a.path.localeCompare(b.path)||a.method.localeCompare(b.method)||a.id.localeCompare(b.id);function k(a,b){let c=i(a,b),k=new Map,l=[];for(let a of[...b].sort(j)){let b=c.get(a.id)??null;if(b){let c=k.get(b);c?c.push(a):k.set(b,[a])}else l.push(a)}let m=a=>{let b=k.get(a.id)?.length??0;return f(a.columnCount)+(b?14+60*b:0)+e},n=Array.from(new Set(a.map(a=>h(a.domain)))),o=n.filter(a=>"—"!==a).sort(),p=n.includes("—")?[...o,"—"]:o,q=[];for(let b of p){let c=a.filter(a=>h(a.domain)===b).sort((a,b)=>a.name.localeCompare(b.name)),e=c.reduce((a,b)=>a+m(b),0),f=Math.max(1,Math.min(12,c.length,Math.round(Math.sqrt(e/d)))),g=Array(f).fill(0),i=new Map;for(let a of c){let b=0;for(let a=1;a<f;a++)g[a]<g[b]&&(b=a);i.set(a.id,{x:b*d,y:g[b]}),g[b]+=m(a)}q.push({d:b,w:f*d,h:Math.max(...g,0),tableLocal:i})}let r=Math.max(g,Math.round(Math.sqrt(2.2*q.reduce((a,b)=>a+(b.w+120)*(b.h+170),0)))),s=new Map,t=new Map,u=0,v=0,w=0,x=0;for(let b of q){for(let c of(u>0&&u+b.w>r&&(v+=w+170,u=0,w=0),a.filter(a=>b.tableLocal.has(a.id)))){let a=b.tableLocal.get(c.id),d=u+a.x,e=v+a.y;s.set(c.id,{x:d,y:e}),(k.get(c.id)??[]).forEach((a,b)=>{t.set(a.id,{x:d,y:e+f(c.columnCount)+14+60*b})})}w=Math.max(w,b.h),x=Math.max(x,v+b.h),u+=b.w+120}if(l.length){let a=x+170,b=Math.max(1,Math.min(4,Math.ceil(Math.sqrt(l.length/2))));l.forEach((c,d)=>{t.set(c.id,{x:d%b*280,y:a+60*Math.floor(d/b)})})}return{tables:s,endpoints:t}}function l(a,b,c){let g=i(b,c),j=new Map;for(let a of c){let b=g.get(a.id);b&&j.set(b,(j.get(b)??0)+1)}let k=a=>{let b=j.get(a.id)??0;return a.y+f(a.columnCount)+(b?14+60*b:0)},l=h(a.domain),m=b.filter(a=>h(a.domain)===l);if(!m.length){let a=b.length?Math.max(...b.map(k),...c.map(a=>a.y+60)):0;return{x:0,y:b.length||c.length?a+170:0}}let n=Math.min(...m.map(a=>a.x)),o=m.map(a=>Math.max(0,Math.round((a.x-n)/d))),p=Math.min(12,Math.max(...o)+1),q=Array(p).fill(Math.min(...m.map(a=>a.y)));m.forEach((a,b)=>{let c=Math.min(o[b],p-1);q[c]=Math.max(q[c],k(a)+e)});let r=0;for(let a=1;a<p;a++)q[a]<q[r]&&(r=a);return{x:n+r*d,y:q[r]}}function m(a,b,c){let d=i(b,[...c,a]),e=d.get(a.id),g=e?b.find(a=>a.id===e):void 0;if(g){let a=c.filter(a=>d.get(a.id)===g.id),b=g.y+f(g.columnCount)+14,e=a.length?Math.max(...a.map(a=>a.y))+60:b;return{x:g.x,y:e}}let h=[...b.map(a=>a.y+f(a.columnCount)),...c.map(a=>a.y+60)];return{x:0,y:h.length?Math.max(...h)+170:0}}}};
|
|
1
|
+
"use strict";exports.id=9734,exports.ids=[9734],exports.modules={7903:(a,b,c)=>{c.d(b,{VE:()=>k,qT:()=>l,zP:()=>h});var d=c(73024),e=c(76760),f=c(45301),g=c(32213);let h={roadmap:"grouped-2",architecture:"arch-layered-3",db:"db-dock-3"};function i(){return(0,e.join)((0,f.KS)(),"board-layout-state.json")}function j(){try{return JSON.parse((0,d.readFileSync)(i(),"utf8"))}catch{return null}}function k(a){let b=j(),c=b?.[a];return{sig:c?.sig??("roadmap"!==a||b?null:function(){try{return JSON.parse((0,d.readFileSync)((0,e.join)((0,f.KS)(),"roadmap-layout-sig.json"),"utf8")).sig??null}catch{return null}}())??null,arrangedBy:c?.arrangedBy??null}}function l(a,b){let c=j()??{};c[a]={...c[a],...b},(0,g.q)(i(),c)}},19734:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bx:()=>r,HF:()=>q,Rw:()=>s,ap:()=>t});var e=c(44046),f=c(91430),g=c(34216),h=c(56727),i=c(30046),j=c(72658),k=c(35498),l=c(49565),m=c(24983),n=c(96976),o=c(73033),p=a([h,j,k,l,o]);[h,j,k,l,o]=p.then?(await p)():p;let t=e.Ik({tables:e.YO(e.Ik({name:e.Yj().trim().min(1),domain:e.Yj().nullish(),description:e.Yj().nullish(),columns:e.YO(e.Ik({name:e.Yj().trim().min(1),type:e.Yj().trim().min(1),isPk:e.zM().optional(),isFk:e.zM().optional(),nullable:e.zM().optional(),note:e.Yj().nullish()})).default([])})).default([]),relations:e.YO(e.Ik({fromTable:e.Yj(),fromColumn:e.Yj(),toTable:e.Yj(),toColumn:e.Yj(),label:e.Yj().nullish()})).default([]),endpoints:e.YO(e.Ik({method:e.Yj().trim().min(1),path:e.Yj().trim().min(1),domain:e.Yj().nullish(),description:e.Yj().nullish(),uses:e.YO(e.Ik({table:e.Yj(),access:e.Yj().default("read")})).default([])})).default([])});async function q(a=h.db){let b=await a.query.syncState.findFirst({where:(a,{eq:b})=>b(a.id,"singleton")});return b?.version??0}async function r(a=h.db){let[b]=await a.insert(i.syncState).values({id:"singleton",version:1}).onConflictDoUpdate({target:i.syncState.id,set:{version:(0,f.ll)`${i.syncState.version} + 1`}}).returning();return b.version}async function s(a,b=h.db,c={}){let d=t.parse(a),e=d.tables.length>0,f=d.endpoints.length>0,p=d.tables.map(a=>a.name);e&&await b.delete(i.dbTable).where(p.length?(0,g.Uo)((0,g.eq)(i.dbTable.source,"INTROSPECTION"),(0,g.KL)(i.dbTable.name,p)):(0,g.eq)(i.dbTable.source,"INTROSPECTION"));let q=await b.query.dbTable.findMany({columns:{id:!0,name:!0,domain:!0,x:!0,y:!0},with:{columns:{columns:{id:!0}}}}),u=await b.query.endpoint.findMany({columns:{id:!0,method:!0,path:!0,x:!0,y:!0},with:{tables:{columns:{tableId:!0}}}}),v=new Map(q.map(a=>[a.name,a])),w=q.map(a=>({id:a.id,name:a.name,domain:a.domain,columnCount:a.columns.length,x:a.x,y:a.y})),x=u.map(a=>({id:a.id,method:a.method,path:a.path,uses:a.tables.map(a=>({tableId:a.tableId})),x:a.x,y:a.y})),y=new Map;for(let a of d.tables){if(v.has(a.name))continue;let b=(0,n.uQ)({domain:a.domain??null,columnCount:a.columns.length},w,x);y.set(a.name,b),w.push({id:`new:${a.name}`,name:a.name,domain:a.domain??null,columnCount:a.columns.length,...b})}let z=new Map;for(let a of d.tables){let c=v.get(a.name),d=y.get(a.name),e=c?.x??d?.x??0,f=c?.y??d?.y??0,[h]=await b.insert(i.dbTable).values({name:a.name,domain:a.domain??null,description:a.description??null,source:"INTROSPECTION",x:e,y:f}).onConflictDoUpdate({target:i.dbTable.name,set:{...null!=a.domain?{domain:a.domain}:{},...null!=a.description?{description:a.description}:{},source:"INTROSPECTION"}}).returning();z.set(a.name,h.id),await b.delete(i.dbColumn).where((0,g.eq)(i.dbColumn.tableId,h.id)),a.columns.length&&await b.insert(i.dbColumn).values(a.columns.map((a,b)=>({tableId:h.id,name:a.name,type:a.type,isPk:a.isPk??!1,isFk:a.isFk??!1,nullable:a.nullable??!0,note:a.note??null,ord:b})))}let A=[...z.values()];for(let a of(A.length&&await b.delete(i.dbRelation).where((0,g.or)((0,g.RV)(i.dbRelation.fromTableId,A),(0,g.RV)(i.dbRelation.toTableId,A))),d.relations)){let c=z.get(a.fromTable),d=z.get(a.toTable);c&&d&&await b.insert(i.dbRelation).values({fromTableId:c,toTableId:d,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label??`${a.fromColumn} → ${a.toTable}.${a.toColumn}`})}let B=new Set(d.endpoints.map(a=>`${a.method} ${a.path}`));if(f){let a=(await b.query.endpoint.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION")})).filter(a=>!B.has(`${a.method} ${a.path}`)).map(a=>a.id);a.length&&await b.delete(i.endpoint).where((0,g.RV)(i.endpoint.id,a))}for(let a of w)a.id.startsWith("new:")&&(a.id=z.get(a.name)??a.id);for(let a of d.endpoints){let d,e,f=await b.query.endpoint.findFirst({where:(b,{and:c,eq:d})=>c(d(b.method,a.method),d(b.path,a.path))});if(f)d=f.x,e=f.y;else{let b={id:`new:${a.method} ${a.path}`,method:a.method,path:a.path,uses:a.uses.map(a=>({tableId:z.get(a.table)??""})).filter(a=>a.tableId)},c=(0,n.ez)(b,w,x);d=c.x,e=c.y,x.push({...b,x:d,y:e})}let[h]=await b.insert(i.endpoint).values({method:a.method,path:a.path,domain:a.domain??null,description:a.description??null,source:"INTROSPECTION",x:d,y:e}).onConflictDoUpdate({target:[i.endpoint.method,i.endpoint.path],set:{...null!=a.domain?{domain:a.domain}:{},...null!=a.description?{description:a.description}:{},source:"INTROSPECTION"}}).returning();for(let d of((!c.partial||a.uses.length>0)&&await b.delete(i.endpointTable).where((0,g.eq)(i.endpointTable.endpointId,h.id)),a.uses)){let a=z.get(d.table)??(await b.query.dbTable.findFirst({where:(a,{eq:b})=>b(a.name,d.table)}))?.id;a&&await b.insert(i.endpointTable).values({endpointId:h.id,tableId:a,access:d.access})}}await (0,k.X)(b),await (0,l.q)(b);let C=await b.query.dbTable.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION"),columns:{x:!0,y:!0},with:{columns:{columns:{id:!0}}}}),D=await b.select({x:i.endpoint.x,y:i.endpoint.y}).from(i.endpoint);((0,m.v4)(C.map(a=>({x:a.x,y:a.y,columnCount:a.columns.length})))||(0,j.i)(D))&&await (0,o.r)(b);let E=await r(b);return{tables:d.tables.length,relations:d.relations.length,endpoints:d.endpoints.length,version:E}}d()}catch(a){d(a)}})},24983:(a,b,c)=>{c.d(b,{v4:()=>e});var d=c(96976);function e(a){let b=d.LT-20;for(let c=0;c<a.length;c++)for(let e=c+1;e<a.length;e++){let f=a[c],g=a[e],h=(0,d.mn)(f.columnCount),i=(0,d.mn)(g.columnCount);if(f.x<g.x+b&&f.x+b>g.x&&f.y<g.y+i&&f.y+h>g.y)return!0}return!1}},32213:(a,b,c)=>{c.d(b,{q:()=>f});var d=c(73024),e=c(76760);function f(a,b,c=!1){var g=JSON.stringify(b,null,c?2:void 0);(0,d.mkdirSync)((0,e.dirname)(a),{recursive:!0});let h=`${a}.tmp`;try{(0,d.writeFileSync)(h,g),(0,d.renameSync)(h,a)}catch(a){throw(0,d.rmSync)(h,{force:!0}),a}}},35498:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{X:()=>i});var e=c(34216),f=c(56727),g=c(30046),h=a([f]);async function i(a=f.db){let[b,c]=await Promise.all([a.query.endpoint.findMany({where:(a,{ne:b})=>b(a.source,"INTROSPECTION")}),a.query.endpoint.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION")})]),d={collapsed:0,mappings:[]};for(let f of b){let b=c.find(a=>(function(a,b){if(a.method.toUpperCase()!==b.method.toUpperCase())return!1;let c=a.path.replace(/\{[^}]*\}/g,"{}"),d=b.path.replace(/\{[^}]*\}/g,"{}");return d===c||d.endsWith(c)})(f,a));b&&(await a.delete(g.endpoint).where((0,e.eq)(g.endpoint.id,f.id)),d.collapsed++,d.mappings.push({planned:`${f.method} ${f.path}`,code:`${b.method} ${b.path}`}))}return d}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},45301:(a,b,c)=>{c.d(b,{KS:()=>l,Qq:()=>k,jv:()=>j});var d=c(31421),e=c(77598),f=c(48161),g=c(76760),h=c(6716);let i=null;function j(){if(process.env.BEACON_REPO)return process.env.BEACON_REPO;let a=(0,h.p1)();if(a){let b=(0,h.K4)(a);if(b)return b.path}let b=(0,h.WQ)();if(b)return b.path;if(i)return i;try{let a=(0,d.execSync)("git rev-parse --show-toplevel",{cwd:process.cwd(),stdio:["ignore","pipe","ignore"]}).toString().trim();if(a)return i=a}catch{}return i=(0,g.resolve)(process.cwd(),"../..")}function k(){return(0,g.basename)(j())}function l(){if(process.env.BEACON_DATA_DIR)return process.env.BEACON_DATA_DIR;let a=(0,h.p1)();if(a&&(0,h.K4)(a))return(0,h.T_)(a);let b=(0,h.WQ)();return b?(0,h.T_)(b.id):(0,g.join)((0,f.homedir)(),".beacon",(0,e.createHash)("sha256").update(j()).digest("hex").slice(0,12))}},49565:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{q:()=>j});var e=c(34216),f=c(56727),g=c(30046),h=a([f]);f=(h.then?(await h)():h)[0];let k=new Set(["DONE","CANCELLED","DEPRIORITIZED"]);async function i(a){let b=await a.query.node.findMany({where:(a,{and:b,eq:c,isNotNull:d})=>b(c(a.view,"ROADMAP"),d(a.planId)),columns:{planId:!0,status:!0}}),c=new Map;for(let a of b){let b=a.planId;c.set(b,(c.get(b)??!0)&&k.has(a.status))}return[...c.entries()].filter(([,a])=>a).map(([a])=>a)}async function j(a=f.db){let b=await i(a),c=a=>b.length?(0,e.or)((0,e.kZ)(a.planId),(0,e.RV)(a.planId,b)):(0,e.kZ)(a.planId),d=await a.delete(g.dbTable).where((0,e.Uo)((0,e.ne)(g.dbTable.source,"INTROSPECTION"),c(g.dbTable))).returning({id:g.dbTable.id}),h=await a.delete(g.endpoint).where((0,e.Uo)((0,e.ne)(g.endpoint.source,"INTROSPECTION"),c(g.endpoint))).returning({id:g.endpoint.id});return{tables:d.length,endpoints:h.length}}d()}catch(a){d(a)}})},72658:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{C:()=>h,i:()=>g});var e=c(56727),f=a([e]);function g(a){for(let b=0;b<a.length;b++)for(let c=b+1;c<a.length;c++){let d=a[b],e=a[c];if(d.x<e.x+240&&d.x+240>e.x&&d.y<e.y+50&&d.y+50>e.y)return!0}return!1}async function h(a=e.db){let[b,c]=await Promise.all([a.query.dbTable.findFirst({orderBy:(a,{desc:b})=>b(a.y)}),a.query.endpoint.findFirst({orderBy:(a,{desc:b})=>b(a.y)})]),d=Math.max(b?.y??0,c?.y??0);return d>0?d+280:0}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},73033:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{r:()=>k,v:()=>l});var e=c(34216),f=c(56727),g=c(30046),h=c(96976),i=c(7903),j=a([f]);async function k(a=f.db){let[b,c]=await Promise.all([a.query.dbTable.findMany({with:{columns:{columns:{id:!0}}},orderBy:(a,{asc:b})=>b(a.name)}),a.query.endpoint.findMany({with:{tables:{columns:{tableId:!0}}}})]),d=(0,h.kq)(b.map(a=>({id:a.id,name:a.name,domain:a.domain,columnCount:a.columns.length})),c.map(a=>({id:a.id,method:a.method,path:a.path,uses:a.tables.map(a=>({tableId:a.tableId}))}))),i=0;for(let c of b){let b=d.tables.get(c.id);b&&(Math.round(b.x)!==Math.round(c.x)||Math.round(b.y)!==Math.round(c.y))&&(await a.update(g.dbTable).set({x:b.x,y:b.y}).where((0,e.eq)(g.dbTable.id,c.id)),i++)}for(let b of c){let c=d.endpoints.get(b.id);c&&(Math.round(c.x)!==Math.round(b.x)||Math.round(c.y)!==Math.round(b.y))&&(await a.update(g.endpoint).set({x:c.x,y:c.y}).where((0,e.eq)(g.endpoint.id,b.id)),i++)}return i}async function l(a=f.db){let b=i.zP.db;(0,i.VE)("db").sig===b||await a.query.dbTable.findFirst({columns:{id:!0}})&&(await k(a),(0,i.qT)("db",{sig:b}))}f=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},96976:(a,b,c)=>{c.d(b,{LT:()=>d,ez:()=>l,kq:()=>j,mn:()=>e,uQ:()=>k});let d=320;function e(a){return 36+30*Math.max(0,a)+16}let f=2560,g=a=>(a??"").trim()||"—";function h(a,b){let c=new Map(a.map(a=>[a.id,a.name])),d=new Map;for(let a of b)for(let b of a.uses)c.has(b.tableId)&&d.set(b.tableId,(d.get(b.tableId)??0)+1);return new Map(b.map(a=>[a.id,function(a,b,c){let d=new Map;for(let c of a.uses)b.has(c.tableId)&&d.set(c.tableId,(d.get(c.tableId)??0)+1);let e=null;for(let[a,f]of d){if(null===e){e=a;continue}let g=d.get(e);if(f>g){e=a;continue}if(f<g)continue;let h=c?.get(a)??0,i=c?.get(e)??0;h<i?e=a:h===i&&0>b.get(a).localeCompare(b.get(e))&&(e=a)}return e}(a,c,d)]))}let i=(a,b)=>a.path.localeCompare(b.path)||a.method.localeCompare(b.method)||a.id.localeCompare(b.id);function j(a,b){let c=h(a,b),j=new Map,k=[];for(let a of[...b].sort(i)){let b=c.get(a.id)??null;if(b){let c=j.get(b);c?c.push(a):j.set(b,[a])}else k.push(a)}let l=a=>{let b=j.get(a.id)?.length??0;return e(a.columnCount)+(b?14+60*b:0)+50},m=Array.from(new Set(a.map(a=>g(a.domain)))),n=m.filter(a=>"—"!==a).sort(),o=m.includes("—")?[...n,"—"]:n,p=[];for(let b of o){let c=a.filter(a=>g(a.domain)===b).sort((a,b)=>a.name.localeCompare(b.name)),e=c.reduce((a,b)=>a+l(b),0),f=Math.max(1,Math.min(12,c.length,Math.round(Math.sqrt(e/d)))),h=Array(f).fill(0),i=new Map;for(let a of c){let b=0;for(let a=1;a<f;a++)h[a]<h[b]&&(b=a);i.set(a.id,{x:b*d,y:h[b]}),h[b]+=l(a)}p.push({d:b,w:f*d,h:Math.max(...h,0),tableLocal:i})}let q=Math.max(f,Math.round(Math.sqrt(2.2*p.reduce((a,b)=>a+(b.w+120)*(b.h+170),0)))),r=new Map,s=new Map,t=0,u=0,v=0,w=0;for(let b of p){for(let c of(t>0&&t+b.w>q&&(u+=v+170,t=0,v=0),a.filter(a=>b.tableLocal.has(a.id)))){let a=b.tableLocal.get(c.id),d=t+a.x,f=u+a.y;r.set(c.id,{x:d,y:f}),(j.get(c.id)??[]).forEach((a,b)=>{s.set(a.id,{x:d,y:f+e(c.columnCount)+14+60*b})})}v=Math.max(v,b.h),w=Math.max(w,u+b.h),t+=b.w+120}if(k.length){let a=w+170,b=Math.max(1,Math.min(4,Math.ceil(Math.sqrt(k.length/2))));k.forEach((c,d)=>{s.set(c.id,{x:d%b*280,y:a+60*Math.floor(d/b)})})}return{tables:r,endpoints:s}}function k(a,b,c){let f=h(b,c),i=new Map;for(let a of c){let b=f.get(a.id);b&&i.set(b,(i.get(b)??0)+1)}let j=a=>{let b=i.get(a.id)??0;return a.y+e(a.columnCount)+(b?14+60*b:0)},k=g(a.domain),l=b.filter(a=>g(a.domain)===k);if(!l.length){let a=b.length?Math.max(...b.map(j),...c.map(a=>a.y+60)):0;return{x:0,y:b.length||c.length?a+170:0}}let m=Math.min(...l.map(a=>a.x)),n=l.map(a=>Math.max(0,Math.round((a.x-m)/d))),o=Math.min(12,Math.max(...n)+1),p=Array(o).fill(Math.min(...l.map(a=>a.y)));l.forEach((a,b)=>{let c=Math.min(n[b],o-1);p[c]=Math.max(p[c],j(a)+50)});let q=0;for(let a=1;a<o;a++)p[a]<p[q]&&(q=a);return{x:m+q*d,y:p[q]}}function l(a,b,c){let d=h(b,[...c,a]),f=d.get(a.id),g=f?b.find(a=>a.id===f):void 0;if(g){let a=c.filter(a=>d.get(a.id)===g.id),b=g.y+e(g.columnCount)+14,f=a.length?Math.max(...a.map(a=>a.y))+60:b;return{x:g.x,y:f}}let i=[...b.map(a=>a.y+e(a.columnCount)),...c.map(a=>a.y+60)];return{x:0,y:i.length?Math.max(...i)+170:0}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/
|
|
1
|
+
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/OgbjxEMZfqIJgM1cAQ4cs/_buildManifest.js","static/OgbjxEMZfqIJgM1cAQ4cs/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-3dc11ff04fc155e6.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-cef5038dc7aa126a.js","static/chunks/main-app-1a32dc335629e4e4.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" class="dark __variable_246ccd __variable_c29908 h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/7d4881bb7e1bf84d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cb2ba3334a6b2336.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/e02ab5db9ff2dca2.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-3dc11ff04fc155e6.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-cef5038dc7aa126a.js" async=""></script><script src="/_next/static/chunks/main-app-1a32dc335629e4e4.js" async=""></script><script src="/_next/static/chunks/70e0d97a-bbb0ec05083da54f.js" async=""></script><script src="/_next/static/chunks/54a60aa6-407808fee210eca2.js" async=""></script><script src="/_next/static/chunks/8500-f62a38ff68ab7f42.js" async=""></script><script src="/_next/static/chunks/4294-0e5034f9c5643c3f.js" async=""></script><script src="/_next/static/chunks/7886-46eaf3a9533310f7.js" async=""></script><script src="/_next/static/chunks/app/layout-9b750c41268879f0.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Beacon</title><meta name="description" content="A local control panel for the repository you're working in"/><link rel="icon" href="/icon.svg?bb93a1375ed3c298" type="image/svg+xml" sizes="any"/><link rel="apple-touch-icon" href="/apple-icon.png?f9d64651576bd776" type="image/png" sizes="180x180"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-full flex flex-col bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><header class="pointer-events-none fixed left-3 top-3 z-30"><div class="glass pointer-events-auto flex h-10 items-center gap-1 rounded-full pl-3 pr-1.5"><a class="mr-1 flex items-center gap-2 text-sm font-semibold tracking-tight" href="/"><svg width="18" height="18" viewBox="20 22 56 56" fill="none" class="text-foreground" aria-hidden="true"><path d="M48 33 L72.5 73 L23.5 73 Z" fill="none" stroke="var(--accent-2, #ff7a45)" stroke-width="7" stroke-linejoin="round" stroke-linecap="round"></path><circle cx="48" cy="29.5" r="7" fill="var(--accent-2, #ff7a45)"></circle></svg>Beacon</a><span aria-hidden="true" class="mx-1 h-5 w-px bg-white/10"></span><span class="font-mono text-xs text-muted-foreground">· <!-- -->beacon</span><span aria-hidden="true" class="mx-1 h-5 w-px bg-white/10"></span><nav class="flex items-center gap-0.5 text-sm"><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-white/[0.04] hover:text-foreground" href="/plan">Plans</a><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-white/[0.04] hover:text-foreground" href="/map">Map</a><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-white/[0.04] hover:text-foreground" href="/settings">Settings</a></nav><span aria-hidden="true" class="mx-1 h-5 w-px bg-white/10"></span><button type="button" aria-pressed="false" aria-label="Notes" title="Notes" class="flex items-center justify-center rounded-full p-1.5 transition-colors text-muted-foreground hover:bg-white/[0.04] hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sticky-note size-4" aria-hidden="true"><path d="M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z"></path><path d="M15 3v5a1 1 0 0 0 1 1h5"></path></svg></button></div></header><main class="flex flex-1 flex-col"><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>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:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main><div aria-hidden="true" class="fixed inset-y-0 right-0 z-40 flex transition-transform duration-300 ease-out pointer-events-none translate-x-full"><div class="glass relative isolate overflow-hidden flex h-full w-[420px] flex-col rounded-l-2xl border-l border-white/10"><span aria-hidden="true" class="pointer-events-none absolute inset-0 -z-10 rounded-[inherit]" style="background:radial-gradient(90% 60% at 0% 0%, oklch(1 0 0 / 0.04), transparent 42%)"></span><span aria-hidden="true" class="pointer-events-none absolute inset-0 -z-10 rounded-[inherit] opacity-[0.035] mix-blend-overlay" style="background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:120px 120px"></span><div class="flex items-center gap-2 border-b border-white/10 px-3 py-2.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sticky-note size-4 text-[var(--accent-2,#ff7a45)]" aria-hidden="true"><path d="M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z"></path><path d="M15 3v5a1 1 0 0 0 1 1h5"></path></svg><span class="text-sm font-semibold tracking-tight">Notes</span><span class="ml-auto"></span><button type="button" aria-label="New note" title="New note" class="rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus size-4" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button><button type="button" aria-label="Close notes" title="Close" class="rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x size-4" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></div><div class="max-h-44 shrink-0 overflow-y-auto border-b border-white/10 p-1.5"><p class="px-2 py-3 text-[13px] text-muted-foreground">No notes yet. Hit <span class="text-foreground">+</span> to start one.</p></div><div class="flex flex-1 items-center justify-center p-6 text-center text-[13px] text-muted-foreground">Select a note, or create one. Then <span class="px-1 text-foreground">@</span>-mention it in your terminal to turn it into features.</div></div></div><script src="/_next/static/chunks/webpack-3dc11ff04fc155e6.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[30165,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"LiveRefresh\"]\n3:I[81984,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"NotesProvider\"]\n4:I[48484,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"PlanProvider\"]\n5:I[96848,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"TopNav\"]\n6:I[52174,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"MainRegion\"]\n7:I[57121,[],\"\"]\n8:I[74581,[],\"\"]\n9:I[434,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"PlanBar\"]\na:I[1494,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"NotesDrawer\"]\nb:I[33082,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"UpdateBanner\"]\nc:I[90484,[],\"OutletBoundary\"]\nd:\"$Sreact.suspense\"\n10:I[90484,[],\"ViewportBoundary\"]\n12:I[90484,[],\"MetadataBoundary\"]\n14:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/cb2ba3334a6b2336.css\",\"style\"]\n:HL[\"/_next/static/css/e02ab5db9ff2dca2.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/cb2ba3334a6b2336.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e02ab5db9ff2dca2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark __variable_246ccd __variable_c29908 h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col bg-background text-foreground\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"children\":[[\"$\",\"$L4\",null,{\"children\":[[\"$\",\"$L5\",null,{\"repo\":\"beacon\"}],[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L9\",null,{}]]}],[\"$\",\"$La\",null,{}]]}],[\"$\",\"$Lb\",null,{\"currentVersion\":\"0.1.33\"}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"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)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@e\"}]}]]}],{},null,false,null]},null,false,\"$@f\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L10\",null,{\"children\":\"$L11\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L13\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"kJSpkyKRHr2jFBQoOGP8P\"}\n"])</script><script>self.__next_f.push([1,"15:[]\nf:\"$W15\"\n"])</script><script>self.__next_f.push([1,"11:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"16:I[86869,[],\"IconMark\"]\ne:null\n13:[[\"$\",\"title\",\"0\",{\"children\":\"Beacon\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"A local control panel for the repository you're working in\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/icon.svg?bb93a1375ed3c298\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"link\",\"3\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?f9d64651576bd776\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L16\",\"4\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en" class="dark __variable_246ccd __variable_c29908 h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/7d4881bb7e1bf84d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/496162fa86c30a1d.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/e02ab5db9ff2dca2.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-3dc11ff04fc155e6.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-cef5038dc7aa126a.js" async=""></script><script src="/_next/static/chunks/main-app-1a32dc335629e4e4.js" async=""></script><script src="/_next/static/chunks/70e0d97a-bbb0ec05083da54f.js" async=""></script><script src="/_next/static/chunks/54a60aa6-407808fee210eca2.js" async=""></script><script src="/_next/static/chunks/8500-f62a38ff68ab7f42.js" async=""></script><script src="/_next/static/chunks/4294-0e5034f9c5643c3f.js" async=""></script><script src="/_next/static/chunks/7886-46eaf3a9533310f7.js" async=""></script><script src="/_next/static/chunks/app/layout-9b750c41268879f0.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Beacon</title><meta name="description" content="A local control panel for the repository you're working in"/><link rel="icon" href="/icon.svg?bb93a1375ed3c298" type="image/svg+xml" sizes="any"/><link rel="apple-touch-icon" href="/apple-icon.png?f9d64651576bd776" type="image/png" sizes="180x180"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-full flex flex-col bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><header class="pointer-events-none fixed left-3 top-3 z-30"><div class="glass pointer-events-auto flex h-10 items-center gap-1 rounded-full pl-3 pr-1.5"><a class="mr-1 flex items-center gap-2 text-sm font-semibold tracking-tight" href="/"><svg width="18" height="18" viewBox="20 22 56 56" fill="none" class="text-foreground" aria-hidden="true"><path d="M48 33 L72.5 73 L23.5 73 Z" fill="none" stroke="var(--accent-2, #ff7a45)" stroke-width="7" stroke-linejoin="round" stroke-linecap="round"></path><circle cx="48" cy="29.5" r="7" fill="var(--accent-2, #ff7a45)"></circle></svg>Beacon</a><span aria-hidden="true" class="mx-1 h-5 w-px bg-white/10"></span><span class="font-mono text-xs text-muted-foreground">· <!-- -->beacon</span><span aria-hidden="true" class="mx-1 h-5 w-px bg-white/10"></span><nav class="flex items-center gap-0.5 text-sm"><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-white/[0.04] hover:text-foreground" href="/plan">Plans</a><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-white/[0.04] hover:text-foreground" href="/map">Map</a><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-white/[0.04] hover:text-foreground" href="/settings">Settings</a></nav><span aria-hidden="true" class="mx-1 h-5 w-px bg-white/10"></span><button type="button" aria-pressed="false" aria-label="Notes" title="Notes" class="flex items-center justify-center rounded-full p-1.5 transition-colors text-muted-foreground hover:bg-white/[0.04] hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sticky-note size-4" aria-hidden="true"><path d="M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z"></path><path d="M15 3v5a1 1 0 0 0 1 1h5"></path></svg></button></div></header><main class="flex flex-1 flex-col"><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>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:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main><div aria-hidden="true" class="fixed inset-y-0 right-0 z-40 flex transition-transform duration-300 ease-out pointer-events-none translate-x-full"><div class="glass relative isolate overflow-hidden flex h-full w-[420px] flex-col rounded-l-2xl border-l border-white/10"><span aria-hidden="true" class="pointer-events-none absolute inset-0 -z-10 rounded-[inherit]" style="background:radial-gradient(90% 60% at 0% 0%, oklch(1 0 0 / 0.04), transparent 42%)"></span><span aria-hidden="true" class="pointer-events-none absolute inset-0 -z-10 rounded-[inherit] opacity-[0.035] mix-blend-overlay" style="background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:120px 120px"></span><div class="flex items-center gap-2 border-b border-white/10 px-3 py-2.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sticky-note size-4 text-[var(--accent-2,#ff7a45)]" aria-hidden="true"><path d="M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z"></path><path d="M15 3v5a1 1 0 0 0 1 1h5"></path></svg><span class="text-sm font-semibold tracking-tight">Notes</span><span class="ml-auto"></span><button type="button" aria-label="New note" title="New note" class="rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus size-4" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button><button type="button" aria-label="Close notes" title="Close" class="rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x size-4" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></div><div class="max-h-44 shrink-0 overflow-y-auto border-b border-white/10 p-1.5"><p class="px-2 py-3 text-[13px] text-muted-foreground">No notes yet. Hit <span class="text-foreground">+</span> to start one.</p></div><div class="flex flex-1 items-center justify-center p-6 text-center text-[13px] text-muted-foreground">Select a note, or create one. Then <span class="px-1 text-foreground">@</span>-mention it in your terminal to turn it into features.</div></div></div><script src="/_next/static/chunks/webpack-3dc11ff04fc155e6.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[30165,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"LiveRefresh\"]\n3:I[81984,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"NotesProvider\"]\n4:I[48484,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"PlanProvider\"]\n5:I[96848,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"TopNav\"]\n6:I[52174,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"MainRegion\"]\n7:I[57121,[],\"\"]\n8:I[74581,[],\"\"]\n9:I[434,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"PlanBar\"]\na:I[1494,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"NotesDrawer\"]\nb:I[33082,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-407808fee210eca2.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4294\",\"static/chunks/4294-0e5034f9c5643c3f.js\",\"7886\",\"static/chunks/7886-46eaf3a9533310f7.js\",\"7177\",\"static/chunks/app/layout-9b750c41268879f0.js\"],\"UpdateBanner\"]\nc:I[90484,[],\"OutletBoundary\"]\nd:\"$Sreact.suspense\"\n10:I[90484,[],\"ViewportBoundary\"]\n12:I[90484,[],\"MetadataBoundary\"]\n14:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/496162fa86c30a1d.css\",\"style\"]\n:HL[\"/_next/static/css/e02ab5db9ff2dca2.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/496162fa86c30a1d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e02ab5db9ff2dca2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark __variable_246ccd __variable_c29908 h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col bg-background text-foreground\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"children\":[[\"$\",\"$L4\",null,{\"children\":[[\"$\",\"$L5\",null,{\"repo\":\"beacon\"}],[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L9\",null,{}]]}],[\"$\",\"$La\",null,{}]]}],[\"$\",\"$Lb\",null,{\"currentVersion\":\"0.1.34\"}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"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)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@e\"}]}]]}],{},null,false,null]},null,false,\"$@f\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L10\",null,{\"children\":\"$L11\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L13\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"OgbjxEMZfqIJgM1cAQ4cs\"}\n"])</script><script>self.__next_f.push([1,"15:[]\nf:\"$W15\"\n"])</script><script>self.__next_f.push([1,"11:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"16:I[86869,[],\"IconMark\"]\ne:null\n13:[[\"$\",\"title\",\"0\",{\"children\":\"Beacon\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"A local control panel for the repository you're working in\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/icon.svg?bb93a1375ed3c298\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"link\",\"3\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?f9d64651576bd776\",\"type\":\"image/png\",\"sizes\":\"180x180\"}],[\"$\",\"$L16\",\"4\",{}]]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-3dc11ff04fc155e6.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-cef5038dc7aa126a.js" async=""></script><script src="/_next/static/chunks/main-app-1a32dc335629e4e4.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-3dc11ff04fc155e6.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"
|
|
1
|
+
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-3dc11ff04fc155e6.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-cef5038dc7aa126a.js" async=""></script><script src="/_next/static/chunks/main-app-1a32dc335629e4e4.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-3dc11ff04fc155e6.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"OgbjxEMZfqIJgM1cAQ4cs\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\"node\":{\"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\"node\":{\"400230c4f73064eac7c1fc8a60b0b4ec31f40cb32e\":{\"workers\":{\"app/plan/page\":{\"moduleId\":\"95462\",\"async\":true},\"app/map/page\":{\"moduleId\":\"95462\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"cancelAction\"},\"40036bb0d014742414b8e5fb00dc32ad9de4ca48a4\":{\"workers\":{\"app/plan/page\":{\"moduleId\":\"95462\",\"async\":true},\"app/map/page\":{\"moduleId\":\"95462\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"deprioritizeAction\"},\"4068aea1ee765a0bfde981d13e3e9047524f3f3dd7\":{\"workers\":{\"app/plan/page\":{\"moduleId\":\"95462\",\"async\":true},\"app/map/page\":{\"moduleId\":\"95462\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"acceptSuggestionAction\"},\"407727b169dd05c850796e5da411878b3a67878c5f\":{\"workers\":{\"app/plan/page\":{\"moduleId\":\"95462\",\"async\":true},\"app/map/page\":{\"moduleId\":\"95462\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"createNodeAction\"},\"408f48858150bbfae6c1615d550a5c2754c32e8bc7\":{\"workers\":{\"app/plan/page\":{\"moduleId\":\"95462\",\"async\":true},\"app/map/page\":{\"moduleId\":\"95462\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"deleteNodeAction\"},\"607a02f39029feda5ff8e3ffa8b053e67ca2a06d1f\":{\"workers\":{\"app/plan/page\":{\"moduleId\":\"95462\",\"async\":true},\"app/map/page\":{\"moduleId\":\"95462\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"setStatusAction\"},\"60c83ea4d2b0987e4d99a99f35664901c3227d2b06\":{\"workers\":{\"app/plan/page\":{\"moduleId\":\"95462\",\"async\":true},\"app/map/page\":{\"moduleId\":\"95462\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"updateNodeAction\"}},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"node":{"
|
|
1
|
+
{"node":{"400230c4f73064eac7c1fc8a60b0b4ec31f40cb32e":{"workers":{"app/plan/page":{"moduleId":"95462","async":true},"app/map/page":{"moduleId":"95462","async":true}},"filename":"app/actions/nodes.ts","exportedName":"cancelAction"},"40036bb0d014742414b8e5fb00dc32ad9de4ca48a4":{"workers":{"app/plan/page":{"moduleId":"95462","async":true},"app/map/page":{"moduleId":"95462","async":true}},"filename":"app/actions/nodes.ts","exportedName":"deprioritizeAction"},"4068aea1ee765a0bfde981d13e3e9047524f3f3dd7":{"workers":{"app/plan/page":{"moduleId":"95462","async":true},"app/map/page":{"moduleId":"95462","async":true}},"filename":"app/actions/nodes.ts","exportedName":"acceptSuggestionAction"},"407727b169dd05c850796e5da411878b3a67878c5f":{"workers":{"app/plan/page":{"moduleId":"95462","async":true},"app/map/page":{"moduleId":"95462","async":true}},"filename":"app/actions/nodes.ts","exportedName":"createNodeAction"},"408f48858150bbfae6c1615d550a5c2754c32e8bc7":{"workers":{"app/plan/page":{"moduleId":"95462","async":true},"app/map/page":{"moduleId":"95462","async":true}},"filename":"app/actions/nodes.ts","exportedName":"deleteNodeAction"},"607a02f39029feda5ff8e3ffa8b053e67ca2a06d1f":{"workers":{"app/plan/page":{"moduleId":"95462","async":true},"app/map/page":{"moduleId":"95462","async":true}},"filename":"app/actions/nodes.ts","exportedName":"setStatusAction"},"60c83ea4d2b0987e4d99a99f35664901c3227d2b06":{"workers":{"app/plan/page":{"moduleId":"95462","async":true},"app/map/page":{"moduleId":"95462","async":true}},"filename":"app/actions/nodes.ts","exportedName":"updateNodeAction"}},"edge":{},"encryptionKey":"/Xtje+6O227jAsPFZ3Jwu3Kt1zGWZ195S7MaXEgfyPQ="}
|