trybeacon 0.1.83 → 0.1.85

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.
Files changed (119) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.next/BUILD_ID +1 -1
  3. package/.next/app-path-routes-manifest.json +25 -25
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/server/app/@modal/(.)settings/page.js +1 -1
  7. package/.next/server/app/@modal/(.)settings/page.js.nft.json +1 -1
  8. package/.next/server/app/@modal/(.)settings/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_global-error.html +1 -1
  11. package/.next/server/app/_global-error.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/server/app/_not-found/page.js +1 -1
  19. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/server/app/_not-found.html +1 -1
  22. package/.next/server/app/_not-found.rsc +26 -27
  23. package/.next/server/app/_not-found.segments/_full.segment.rsc +26 -27
  24. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_index.segment.rsc +15 -16
  26. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  28. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  29. package/.next/server/app/api/plan/annotations/route.js +2 -2
  30. package/.next/server/app/docs/page.js +1 -1
  31. package/.next/server/app/docs/page.js.nft.json +1 -1
  32. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  33. package/.next/server/app/docs.html +1 -1
  34. package/.next/server/app/docs.rsc +29 -30
  35. package/.next/server/app/docs.segments/@modal/__DEFAULT__.segment.rsc +1 -1
  36. package/.next/server/app/docs.segments/_full.segment.rsc +29 -30
  37. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  38. package/.next/server/app/docs.segments/_index.segment.rsc +15 -16
  39. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  40. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  41. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  42. package/.next/server/app/help/page.js +1 -1
  43. package/.next/server/app/help/page.js.nft.json +1 -1
  44. package/.next/server/app/help/page_client-reference-manifest.js +1 -1
  45. package/.next/server/app/help.html +1 -1
  46. package/.next/server/app/help.rsc +38 -39
  47. package/.next/server/app/help.segments/@modal/__DEFAULT__.segment.rsc +1 -1
  48. package/.next/server/app/help.segments/_full.segment.rsc +38 -39
  49. package/.next/server/app/help.segments/_head.segment.rsc +1 -1
  50. package/.next/server/app/help.segments/_index.segment.rsc +15 -16
  51. package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
  52. package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +1 -1
  53. package/.next/server/app/help.segments/help.segment.rsc +1 -1
  54. package/.next/server/app/index.html +1 -1
  55. package/.next/server/app/index.rsc +27 -29
  56. package/.next/server/app/index.segments/@modal/__DEFAULT__.segment.rsc +1 -1
  57. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  58. package/.next/server/app/index.segments/_full.segment.rsc +27 -29
  59. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  60. package/.next/server/app/index.segments/_index.segment.rsc +15 -16
  61. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  62. package/.next/server/app/learn/page.js +3 -3
  63. package/.next/server/app/learn/page.js.nft.json +1 -1
  64. package/.next/server/app/learn/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/map/page.js +1 -1
  66. package/.next/server/app/map/page.js.nft.json +1 -1
  67. package/.next/server/app/map/page_client-reference-manifest.js +1 -1
  68. package/.next/server/app/page.js +1 -1
  69. package/.next/server/app/page.js.nft.json +1 -1
  70. package/.next/server/app/page_client-reference-manifest.js +1 -1
  71. package/.next/server/app/plan/page.js +2 -2
  72. package/.next/server/app/plan/page.js.nft.json +1 -1
  73. package/.next/server/app/plan/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/s/[token]/page.js +1 -1
  75. package/.next/server/app/s/[token]/page.js.nft.json +1 -1
  76. package/.next/server/app/s/[token]/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/settings/page.js +1 -1
  78. package/.next/server/app/settings/page.js.nft.json +1 -1
  79. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  80. package/.next/server/app-paths-manifest.json +25 -25
  81. package/.next/server/chunks/2025.js +1 -1
  82. package/.next/server/chunks/2693.js +5 -5
  83. package/.next/server/chunks/2933.js +1 -1
  84. package/.next/server/chunks/3825.js +1 -1
  85. package/.next/server/chunks/4041.js +1 -0
  86. package/.next/server/chunks/5509.js +1 -0
  87. package/.next/server/chunks/9213.js +1 -1
  88. package/.next/server/middleware-build-manifest.js +1 -1
  89. package/.next/server/pages/404.html +1 -1
  90. package/.next/server/pages/500.html +1 -1
  91. package/.next/server/server-reference-manifest.js +1 -1
  92. package/.next/server/server-reference-manifest.json +1 -1
  93. package/.next/static/chunks/4853-43350f60d0d9135b.js +1 -0
  94. package/.next/static/chunks/569-bfdcec83011428d3.js +1 -0
  95. package/.next/static/chunks/{7347-eeea5e910206d07a.js → 6818-85b9a09bb74062ef.js} +1 -1
  96. package/.next/static/chunks/6873-5fc2a181f6b5c281.js +1 -0
  97. package/.next/static/chunks/app/@modal/(.)settings/page-58f068e66bf2fdf6.js +1 -0
  98. package/.next/static/chunks/app/layout-6af877a2d6717f9e.js +1 -0
  99. package/.next/static/chunks/app/learn/{page-68eac3b8857f0423.js → page-3096f42957c4ae90.js} +1 -1
  100. package/.next/static/chunks/app/map/{page-ab46c7221b745a2d.js → page-218e74604688302f.js} +1 -1
  101. package/.next/static/chunks/app/plan/{page-61029f938a543778.js → page-3e3468c908c25fef.js} +2 -2
  102. package/.next/static/chunks/app/s/[token]/{page-698e24680e57e3e1.js → page-a169c295bbc1ff1f.js} +1 -1
  103. package/.next/static/chunks/app/settings/page-435bfb2ac6f01744.js +1 -0
  104. package/.next/static/css/ba104bf801b96933.css +1 -0
  105. package/.next/trace +47 -47
  106. package/.next/trace-build +1 -1
  107. package/dist/bin/remove.js +5 -5
  108. package/package.json +1 -1
  109. package/.next/server/chunks/2311.js +0 -1
  110. package/.next/server/chunks/7999.js +0 -1
  111. package/.next/static/chunks/2022-78e7580c848ef6b3.js +0 -1
  112. package/.next/static/chunks/4853-251169ab5b4979c2.js +0 -1
  113. package/.next/static/chunks/569-d0686e63d8510369.js +0 -1
  114. package/.next/static/chunks/app/@modal/(.)settings/page-b3f7a82b4124b813.js +0 -1
  115. package/.next/static/chunks/app/layout-c893ade848478689.js +0 -1
  116. package/.next/static/chunks/app/settings/page-28f17935e637640f.js +0 -1
  117. package/.next/static/css/95077158c5710c9e.css +0 -1
  118. /package/.next/static/{BuULrtf1kXZqNPMDIPeVT → UPbwAwhqupoUDhpSL38bT}/_buildManifest.js +0 -0
  119. /package/.next/static/{BuULrtf1kXZqNPMDIPeVT → UPbwAwhqupoUDhpSL38bT}/_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:()=>i,r:()=>h});let d=/(^|\/)app\/.*\/route\.(ts|tsx|js|jsx|mjs)$/,e=/\.(ts|py)$/,f=/(schema|model)/i,g=/(\.(test|spec)\.[jt]sx?$)|(^|\/)(tests?|__tests__|__mocks__)\/|(^|\/)test_[^/]+\.py$|_test\.py$/;function h(a){return!g.test(a)&&(!!(a.endsWith(".prisma")||d.test(a)||a.endsWith(".java"))||e.test(a)&&f.test(a))}function i(a,b=300){return a.filter(h).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""}c.d(b,{Y:()=>k});let f={long:"bigint",Long:"bigint",BigInteger:"bigint",int:"integer",Integer:"integer",short:"smallint",Short:"smallint",String:"varchar",char:"varchar",Character:"varchar",boolean:"boolean",Boolean:"boolean",UUID:"uuid",BigDecimal:"numeric",double:"double",Double:"double",float:"float",Float:"float",LocalDate:"date",LocalDateTime:"timestamp",Instant:"timestamp",Timestamp:"timestamp",Date:"timestamp",OffsetDateTime:"timestamptz",ZonedDateTime:"timestamptz",LocalTime:"time"},g=/^(List|Set|Map|Collection|Iterable)$/;function h(a){return/byte\s*\[\s*\]/.test(a)?"byte[]":(a.replace(/<.*>/,"").trim().split(".").pop()??a).trim()}function i(a,b){return a.match(RegExp(`\\b${b}\\s*=\\s*"([^"]*)"`))?.[1]}function j(a,b){let c=a.match(RegExp(`\\b${b}\\s*=\\s*(true|false)`));return c?"true"===c[1]:void 0}function k(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);if(c.tables.length)return c;let k=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);return k.tables.length?k:function(a){let b=a.filter(a=>a.path.endsWith(".java")&&/@Entity\b/.test(a.content));if(!b.length)return{tables:[],relations:[]};let c=b.flatMap(a=>(function(a){let b,c=[],d=/\bclass\s+(\w+)/g;for(;b=d.exec(a);)c.push({name:b[1],at:b.index});let e=[];for(let b=0;b<c.length;b++){let d=a.slice(0===b?0:c[b-1].at,c[b].at);if(!/@Entity\b/.test(d))continue;let f=i(d.match(/@Table\s*\([^)]*\)/)?.[0]??"","name")??c[b].name,g=function(a){let b=[],c=[];for(let d of a.split("\n")){let a=d.trim();if(!a||a.startsWith("//")||a.startsWith("*")||a.startsWith("/*"))continue;let{annots:e,rest:f}=function(a){let b,c=[],d=a;for(;b=d.match(/^@[\w.]+(\([^)]*\))?\s*/);)c.push(d.slice(0,b[0].length).trim()),d=d.slice(b[0].length);return{annots:c,rest:d.trim()}}(a);if(c.push(...e),!f)continue;let g=f,h="";for(;g!==h;)h=g,g=g.replace(/^(?:public|private|protected|static|final|transient|volatile)\s+/,"");let i=g.includes("(")?null:g.match(/^([\w.$]+(?:<[^>]*>)?(?:\s*\[\s*\])?)\s+(\w+)\s*[;=]/);i&&b.push({annots:c,type:i[1],name:i[2]}),c=[]}return b}(a.slice(c[b].at,c[b+1]?.at??a.length)),h=g.find(a=>a.annots.some(a=>/@Id\b/.test(a))),j=h?i(h.annots.find(a=>/@Column\b/.test(a))??"","name")??h.name:"id";e.push({className:c[b].name,tableName:f,idColumn:j,fields:g})}return e})(a.content));if(!c.length)return{tables:[],relations:[]};let d=new Map(c.map(a=>[a.className,a.tableName])),e=new Map(c.map(a=>[a.className,a.idColumn])),k=[],l=[];for(let a of c){let b=[];for(let c of a.fields){let k=c.annots.join(" ");if(/@Transient\b/.test(k))continue;let m=h(c.type);if(/@ManyToOne\b|@OneToOne\b|@OneToMany\b|@ManyToMany\b/.test(k)||d.has(m)){let f=c.annots.find(a=>/@JoinColumn\b/.test(a)),g=f?i(f,"name"):void 0;if(g){b.push({name:g,type:"bigint",isFk:!0,nullable:j(k,"nullable")??!0});let c=d.get(m);c&&l.push({fromTable:a.tableName,fromColumn:g,toTable:c,toColumn:e.get(m)??"id"})}continue}if(g.test(m))continue;let n=c.annots.find(a=>/@Column\b/.test(a))??"",o=i(n,"name")??c.name,p=c.annots.some(a=>/@Id\b/.test(a)),q=j(n,"nullable");b.push({name:o,type:function(a){let b=h(a);return"byte[]"===b?"bytea":f[b]??b.toLowerCase()}(c.type),...p?{isPk:!0}:{},...void 0!==q?{nullable:q}:{}})}k.push({name:a.tableName,columns:b})}return{tables:k,relations:l}}(a)}},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)}let d=a.replace(/\./g,"/"),e=[],g=(0,f.dirname)(b);for(;g&&"."!==g&&"/"!==g;)e.push(g),g=(0,f.dirname)(g);for(let a of(e.push(""),e)){let b=j(a?`${a}/${d}`:d,c.fileSet);if(b.length)return b}return[]}},{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","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
+ "use strict";exports.id=9213,exports.ids=[9213],exports.modules={14643:(a,b,c)=>{c.d(b,{I:()=>i,r:()=>h});let d=/(^|\/)app\/.*\/route\.(ts|tsx|js|jsx|mjs)$/,e=/\.(ts|py)$/,f=/(schema|model)/i,g=/(\.(test|spec)\.[jt]sx?$)|(^|\/)(tests?|__tests__|__mocks__)\/|(^|\/)test_[^/]+\.py$|_test\.py$/;function h(a){return!g.test(a)&&(!!(a.endsWith(".prisma")||d.test(a)||a.endsWith(".java"))||e.test(a)&&f.test(a))}function i(a,b=300){return a.filter(h).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""}c.d(b,{Y:()=>k});let f={long:"bigint",Long:"bigint",BigInteger:"bigint",int:"integer",Integer:"integer",short:"smallint",Short:"smallint",String:"varchar",char:"varchar",Character:"varchar",boolean:"boolean",Boolean:"boolean",UUID:"uuid",BigDecimal:"numeric",double:"double",Double:"double",float:"float",Float:"float",LocalDate:"date",LocalDateTime:"timestamp",Instant:"timestamp",Timestamp:"timestamp",Date:"timestamp",OffsetDateTime:"timestamptz",ZonedDateTime:"timestamptz",LocalTime:"time"},g=/^(List|Set|Map|Collection|Iterable)$/;function h(a){return/byte\s*\[\s*\]/.test(a)?"byte[]":(a.replace(/<.*>/,"").trim().split(".").pop()??a).trim()}function i(a,b){return a.match(RegExp(`\\b${b}\\s*=\\s*"([^"]*)"`))?.[1]}function j(a,b){let c=a.match(RegExp(`\\b${b}\\s*=\\s*(true|false)`));return c?"true"===c[1]:void 0}function k(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);if(c.tables.length)return c;let k=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);return k.tables.length?k:function(a){let b=a.filter(a=>a.path.endsWith(".java")&&/@Entity\b/.test(a.content));if(!b.length)return{tables:[],relations:[]};let c=b.flatMap(a=>(function(a){let b,c=[],d=/\bclass\s+(\w+)/g;for(;b=d.exec(a);)c.push({name:b[1],at:b.index});let e=[];for(let b=0;b<c.length;b++){let d=a.slice(0===b?0:c[b-1].at,c[b].at);if(!/@Entity\b/.test(d))continue;let f=i(d.match(/@Table\s*\([^)]*\)/)?.[0]??"","name")??c[b].name,g=function(a){let b=[],c=[];for(let d of a.split("\n")){let a=d.trim();if(!a||a.startsWith("//")||a.startsWith("*")||a.startsWith("/*"))continue;let{annots:e,rest:f}=function(a){let b,c=[],d=a;for(;b=d.match(/^@[\w.]+(\([^)]*\))?\s*/);)c.push(d.slice(0,b[0].length).trim()),d=d.slice(b[0].length);return{annots:c,rest:d.trim()}}(a);if(c.push(...e),!f)continue;let g=f,h="";for(;g!==h;)h=g,g=g.replace(/^(?:public|private|protected|static|final|transient|volatile)\s+/,"");let i=g.includes("(")?null:g.match(/^([\w.$]+(?:<[^>]*>)?(?:\s*\[\s*\])?)\s+(\w+)\s*[;=]/);i&&b.push({annots:c,type:i[1],name:i[2]}),c=[]}return b}(a.slice(c[b].at,c[b+1]?.at??a.length)),h=g.find(a=>a.annots.some(a=>/@Id\b/.test(a))),j=h?i(h.annots.find(a=>/@Column\b/.test(a))??"","name")??h.name:"id";e.push({className:c[b].name,tableName:f,idColumn:j,fields:g})}return e})(a.content));if(!c.length)return{tables:[],relations:[]};let d=new Map(c.map(a=>[a.className,a.tableName])),e=new Map(c.map(a=>[a.className,a.idColumn])),k=[],l=[];for(let a of c){let b=[];for(let c of a.fields){let k=c.annots.join(" ");if(/@Transient\b/.test(k))continue;let m=h(c.type);if(/@ManyToOne\b|@OneToOne\b|@OneToMany\b|@ManyToMany\b/.test(k)||d.has(m)){let f=c.annots.find(a=>/@JoinColumn\b/.test(a)),g=f?i(f,"name"):void 0;if(g){b.push({name:g,type:"bigint",isFk:!0,nullable:j(k,"nullable")??!0});let c=d.get(m);c&&l.push({fromTable:a.tableName,fromColumn:g,toTable:c,toColumn:e.get(m)??"id"})}continue}if(g.test(m))continue;let n=c.annots.find(a=>/@Column\b/.test(a))??"",o=i(n,"name")??c.name,p=c.annots.some(a=>/@Id\b/.test(a)),q=j(n,"nullable");b.push({name:o,type:function(a){let b=h(a);return"byte[]"===b?"bytea":f[b]??b.toLowerCase()}(c.type),...p?{isPk:!0}:{},...void 0!==q?{nullable:q}:{}})}k.push({name:a.tableName,columns:b})}return{tables:k,relations:l}}(a)}},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)}let d=a.replace(/\./g,"/"),e=[],g=(0,f.dirname)(b);for(;g&&"."!==g&&"/"!==g;)e.push(g),g=(0,f.dirname)(g);for(let a of(e.push(""),e)){let b=j(a?`${a}/${d}`:d,c.fileSet);if(b.length)return b}return[]}},{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","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=globalThis,m=l.__beaconWatcherManager??=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&&m.ensureWatcher(a)}function j(a){return m.isWatching(a)}async function k(a){await m.stopWatcher(a)}d()}catch(a){d(a)}})}};
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/BuULrtf1kXZqNPMDIPeVT/_buildManifest.js","static/BuULrtf1kXZqNPMDIPeVT/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-6c27b0ed1ac1459c.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-cef5038dc7aa126a.js","static/chunks/main-app-1a32dc335629e4e4.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/UPbwAwhqupoUDhpSL38bT/_buildManifest.js","static/UPbwAwhqupoUDhpSL38bT/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-6c27b0ed1ac1459c.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" data-theme="dark" data-surface="glass" 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/95077158c5710c9e.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-6c27b0ed1ac1459c.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-0378818fce5a4dc5.js" async=""></script><script src="/_next/static/chunks/8500-f62a38ff68ab7f42.js" async=""></script><script src="/_next/static/chunks/4888-911c0da3c2d785d2.js" async=""></script><script src="/_next/static/chunks/2114-74736df56930b46c.js" async=""></script><script src="/_next/static/chunks/5547-2c07851028a9033a.js" async=""></script><script src="/_next/static/chunks/app/layout-c893ade848478689.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&#x27;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><script>(function(){try{var d=document.documentElement,t=localStorage.getItem("beacon-theme")||"dark",s=localStorage.getItem("beacon-surface")||"glass",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();</script><header data-app-nav="true" 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"><div class="flex items-center gap-1"><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><span class="hidden lg:inline">Beacon</span></a><span aria-hidden="true" class="mx-1 h-5 w-px bg-border"></span><span class="font-mono text-xs text-muted-foreground">· <!-- -->beacon</span><span aria-hidden="true" class="mx-1 h-5 w-px bg-border"></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-[var(--ink-hover)] 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-[var(--ink-hover)] 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-[var(--ink-hover)] hover:text-foreground" href="/learn">Learn</a><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-[var(--ink-hover)] hover:text-foreground" href="/settings">Settings</a></nav><span aria-hidden="true" class="mx-1 h-5 w-px bg-border"></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-[var(--ink-hover)] 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></div></header><main class="flex flex-1 flex-col"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;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-border"><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(&quot;data:image/svg+xml,%3Csvg xmlns=&#x27;http://www.w3.org/2000/svg&#x27; width=&#x27;120&#x27; height=&#x27;120&#x27;%3E%3Cfilter id=&#x27;n&#x27;%3E%3CfeTurbulence type=&#x27;fractalNoise&#x27; baseFrequency=&#x27;0.85&#x27; numOctaves=&#x27;2&#x27; stitchTiles=&#x27;stitch&#x27;/%3E%3C/filter%3E%3Crect width=&#x27;100%25&#x27; height=&#x27;100%25&#x27; filter=&#x27;url(%23n)&#x27;/%3E%3C/svg%3E&quot;);background-size:120px 120px"></span><div class="flex items-center gap-2 border-b border-border 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-[var(--ink-hover)] 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-[var(--ink-hover)] 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-border 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-6c27b0ed1ac1459c.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[12943,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-c893ade848478689.js\"],\"AppearanceSync\"]\n3:I[81998,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-c893ade848478689.js\"],\"LiveRefresh\"]\n4:I[77242,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-c893ade848478689.js\"],\"TabWorkspace\"]\n5:I[81984,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-c893ade848478689.js\"],\"NotesProvider\"]\n6:I[48484,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-c893ade848478689.js\"],\"PlanProvider\"]\n7:I[10436,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-c893ade848478689.js\"],\"TopNav\"]\n8:I[70473,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-c893ade848478689.js\"],\"ShellNavBridge\"]\n9:I[52174,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-c893ade848478689.js\"],\"MainRegion\"]\na:I[57121,[],\"\"]\nb:I[74581,[],\"\"]\nc:I[434,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-c893ade848478689.js\"],\"PlanBar\"]\nd:I[71886,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-c893ade848478689.js\"],\"NotesDrawer\"]\ne:I[42578,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/554"])</script><script>self.__next_f.push([1,"7-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-c893ade848478689.js\"],\"AskModal\"]\nf:I[29510,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-c893ade848478689.js\"],\"UpdateBanner\"]\n10:I[90484,[],\"OutletBoundary\"]\n11:\"$Sreact.suspense\"\n14:I[90484,[],\"ViewportBoundary\"]\n16:I[90484,[],\"MetadataBoundary\"]\n18: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/95077158c5710c9e.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/95077158c5710c9e.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\",\"suppressHydrationWarning\":true,\"data-theme\":\"dark\",\"data-surface\":\"glass\",\"className\":\"dark __variable_246ccd __variable_c29908 h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col bg-background text-foreground\",\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var d=document.documentElement,t=localStorage.getItem(\\\"beacon-theme\\\")||\\\"dark\\\",s=localStorage.getItem(\\\"beacon-surface\\\")||\\\"glass\\\",m=t==='dark'||(t==='auto'\u0026\u0026window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();\"}}],[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{}],[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"children\":[[\"$\",\"$L6\",null,{\"children\":[[\"$\",\"$L7\",null,{\"repo\":\"beacon\"}],[\"$\",\"$L8\",null,{}],[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],\"$undefined\",[\"$\",\"$Lc\",null,{}]]}],[\"$\",\"$Ld\",null,{}]]}],[\"$\",\"$Le\",null,{}],[\"$\",\"$Lf\",null,{\"currentVersion\":\"0.1.83\"}]]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",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,[\"$\",\"$L10\",null,{\"children\":[\"$\",\"$11\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@12\"}]}]]}],{},null,false,null]},null,false,\"$@13\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L14\",null,{\"children\":\"$L15\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$11\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L17\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$18\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"BuULrtf1kXZqNPMDIPeVT\"}\n"])</script><script>self.__next_f.push([1,"19:[]\n13:\"$W19\"\n"])</script><script>self.__next_f.push([1,"15:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"1a:I[86869,[],\"IconMark\"]\n12:null\n17:[[\"$\",\"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\"}],[\"$\",\"$L1a\",\"4\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" data-theme="dark" data-surface="glass" 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/ba104bf801b96933.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-6c27b0ed1ac1459c.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-0378818fce5a4dc5.js" async=""></script><script src="/_next/static/chunks/8500-f62a38ff68ab7f42.js" async=""></script><script src="/_next/static/chunks/4888-911c0da3c2d785d2.js" async=""></script><script src="/_next/static/chunks/2114-74736df56930b46c.js" async=""></script><script src="/_next/static/chunks/5547-2c07851028a9033a.js" async=""></script><script src="/_next/static/chunks/app/layout-6af877a2d6717f9e.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&#x27;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><script>(function(){try{var d=document.documentElement,t=localStorage.getItem("beacon-theme")||"dark",s=localStorage.getItem("beacon-surface")||"glass",m=t==='dark'||(t==='auto'&&window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();</script><header data-app-nav="true" 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"><div class="flex items-center gap-1"><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><span class="hidden lg:inline">Beacon</span></a><span aria-hidden="true" class="mx-1 h-5 w-px bg-border"></span><span class="font-mono text-xs text-muted-foreground">· <!-- -->beacon</span><span aria-hidden="true" class="mx-1 h-5 w-px bg-border"></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-[var(--ink-hover)] 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-[var(--ink-hover)] 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-[var(--ink-hover)] hover:text-foreground" href="/learn">Learn</a><a class="rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors text-muted-foreground hover:bg-[var(--ink-hover)] hover:text-foreground" href="/settings">Settings</a></nav><span aria-hidden="true" class="mx-1 h-5 w-px bg-border"></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-[var(--ink-hover)] 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></div></header><main class="flex flex-1 flex-col"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;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-border"><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(&quot;data:image/svg+xml,%3Csvg xmlns=&#x27;http://www.w3.org/2000/svg&#x27; width=&#x27;120&#x27; height=&#x27;120&#x27;%3E%3Cfilter id=&#x27;n&#x27;%3E%3CfeTurbulence type=&#x27;fractalNoise&#x27; baseFrequency=&#x27;0.85&#x27; numOctaves=&#x27;2&#x27; stitchTiles=&#x27;stitch&#x27;/%3E%3C/filter%3E%3Crect width=&#x27;100%25&#x27; height=&#x27;100%25&#x27; filter=&#x27;url(%23n)&#x27;/%3E%3C/svg%3E&quot;);background-size:120px 120px"></span><div class="flex items-center gap-2 border-b border-border 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-[var(--ink-hover)] 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-[var(--ink-hover)] 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-border 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-6c27b0ed1ac1459c.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[12943,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-6af877a2d6717f9e.js\"],\"AppearanceSync\"]\n3:I[81998,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-6af877a2d6717f9e.js\"],\"LiveRefresh\"]\n4:I[77242,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-6af877a2d6717f9e.js\"],\"TabWorkspace\"]\n5:I[81984,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-6af877a2d6717f9e.js\"],\"NotesProvider\"]\n6:I[48484,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-6af877a2d6717f9e.js\"],\"PlanProvider\"]\n7:I[10436,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-6af877a2d6717f9e.js\"],\"TopNav\"]\n8:I[52174,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-6af877a2d6717f9e.js\"],\"MainRegion\"]\n9:I[57121,[],\"\"]\na:I[74581,[],\"\"]\nb:I[434,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-6af877a2d6717f9e.js\"],\"PlanBar\"]\nc:I[71886,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-6af877a2d6717f9e.js\"],\"NotesDrawer\"]\nd:I[42578,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07851028a9033a.js\",\"7177\",\"static/chunks/app/layout-6af877a2d6717f9e.js\"],\"AskModal\"]\ne:I[29510,[\"5004\",\"static/chunks/70e0d97a-bbb0ec05083da54f.js\",\"277\",\"static/chunks/54a60aa6-0378818fce5a4dc5.js\",\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4888\",\"static/chunks/4888-911c0da3c2d785d2.js\",\"2114\",\"static/chunks/2114-74736df56930b46c.js\",\"5547\",\"static/chunks/5547-2c07"])</script><script>self.__next_f.push([1,"851028a9033a.js\",\"7177\",\"static/chunks/app/layout-6af877a2d6717f9e.js\"],\"UpdateBanner\"]\nf:I[90484,[],\"OutletBoundary\"]\n10:\"$Sreact.suspense\"\n13:I[90484,[],\"ViewportBoundary\"]\n15:I[90484,[],\"MetadataBoundary\"]\n17: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/ba104bf801b96933.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/ba104bf801b96933.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\",\"suppressHydrationWarning\":true,\"data-theme\":\"dark\",\"data-surface\":\"glass\",\"className\":\"dark __variable_246ccd __variable_c29908 h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col bg-background text-foreground\",\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var d=document.documentElement,t=localStorage.getItem(\\\"beacon-theme\\\")||\\\"dark\\\",s=localStorage.getItem(\\\"beacon-surface\\\")||\\\"glass\\\",m=t==='dark'||(t==='auto'\u0026\u0026window.matchMedia('(prefers-color-scheme:dark)').matches);d.dataset.theme=m?'dark':'light';d.classList.toggle('dark',m);d.dataset.surface=s;}catch(e){}})();\"}}],[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{}],[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{\"children\":[[\"$\",\"$L6\",null,{\"children\":[[\"$\",\"$L7\",null,{\"repo\":\"beacon\"}],[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$L9\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$La\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],\"$undefined\",[\"$\",\"$Lb\",null,{}]]}],[\"$\",\"$Lc\",null,{}]]}],[\"$\",\"$Ld\",null,{}],[\"$\",\"$Le\",null,{\"currentVersion\":\"0.1.85\"}]]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L9\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$La\",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,[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$10\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@11\"}]}]]}],{},null,false,null]},null,false,\"$@12\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L13\",null,{\"children\":\"$L14\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L15\",null,{\"children\":[\"$\",\"$10\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L16\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$17\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"UPbwAwhqupoUDhpSL38bT\"}\n"])</script><script>self.__next_f.push([1,"18:[]\n12:\"$W18\"\n"])</script><script>self.__next_f.push([1,"14:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"19:I[86869,[],\"IconMark\"]\n11:null\n16:[[\"$\",\"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\"}],[\"$\",\"$L19\",\"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-6c27b0ed1ac1459c.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,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;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-6c27b0ed1ac1459c.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\":\"BuULrtf1kXZqNPMDIPeVT\"}\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
+ <!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-6c27b0ed1ac1459c.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,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;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-6c27b0ed1ac1459c.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\":\"UPbwAwhqupoUDhpSL38bT\"}\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\":{\"4023b3a8fa3d201a478486a8ea606ca794b49d8ecd\":{\"workers\":{\"app/learn/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/map/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/s/[token]/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/plan/page\":{\"moduleId\":\"78229\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"deprioritizeAction\"},\"404f3b7f26dcaebba2b02d3a8cda00ebc9581956b4\":{\"workers\":{\"app/learn/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/map/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/s/[token]/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/plan/page\":{\"moduleId\":\"78229\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"createNodeAction\"},\"408975c2b2bbd120769d5e65f6ffb8b0d85c51332a\":{\"workers\":{\"app/learn/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/map/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/s/[token]/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/plan/page\":{\"moduleId\":\"78229\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"acceptSuggestionAction\"},\"40aa3609dd5849768434931a51ad440e01679c88a3\":{\"workers\":{\"app/learn/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/map/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/s/[token]/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/plan/page\":{\"moduleId\":\"78229\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"cancelAction\"},\"40bdc7b1c6e1f98f030d1f9215a6827c4daf354f7b\":{\"workers\":{\"app/learn/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/map/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/s/[token]/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/plan/page\":{\"moduleId\":\"78229\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"deleteNodeAction\"},\"607954a9fd0cee947b6dc3a1e10e4e2639b495f5ae\":{\"workers\":{\"app/learn/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/map/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/s/[token]/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/plan/page\":{\"moduleId\":\"78229\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"setStatusAction\"},\"608639ea702064081f754a7992ac194483a8a8aeb1\":{\"workers\":{\"app/learn/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/map/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/s/[token]/page\":{\"moduleId\":\"78229\",\"async\":true},\"app/plan/page\":{\"moduleId\":\"78229\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"updateNodeAction\"}},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
1
+ self.__RSC_SERVER_MANIFEST="{\"node\":{\"401e07e956dd0060fb303f857897d7c70b027c07ca\":{\"workers\":{\"app/learn/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/s/[token]/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/plan/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/map/page\":{\"moduleId\":\"55233\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"acceptSuggestionAction\"},\"4041eca72bb7b1366c85544ff665fcb5dcf8722bef\":{\"workers\":{\"app/learn/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/s/[token]/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/plan/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/map/page\":{\"moduleId\":\"55233\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"deprioritizeAction\"},\"405474b584851f44405a18044245db3fc5e1d03639\":{\"workers\":{\"app/learn/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/s/[token]/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/plan/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/map/page\":{\"moduleId\":\"55233\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"createNodeAction\"},\"40d0c18af051181be3533049d3b3a9efebad9fe76e\":{\"workers\":{\"app/learn/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/s/[token]/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/plan/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/map/page\":{\"moduleId\":\"55233\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"deleteNodeAction\"},\"40e4b6e18d36c67c69b9cb6d5673435531ce0b45a7\":{\"workers\":{\"app/learn/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/s/[token]/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/plan/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/map/page\":{\"moduleId\":\"55233\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"cancelAction\"},\"604f2c621b7aebed9ce8ba85a5ffea2b37dd9b7c29\":{\"workers\":{\"app/learn/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/s/[token]/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/plan/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/map/page\":{\"moduleId\":\"55233\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"setStatusAction\"},\"60d52c86d3ec83f4c03d6641751eca96e0f9773b41\":{\"workers\":{\"app/learn/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/s/[token]/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/plan/page\":{\"moduleId\":\"55233\",\"async\":true},\"app/map/page\":{\"moduleId\":\"55233\",\"async\":true}},\"filename\":\"app/actions/nodes.ts\",\"exportedName\":\"updateNodeAction\"}},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
@@ -1 +1 @@
1
- {"node":{"4023b3a8fa3d201a478486a8ea606ca794b49d8ecd":{"workers":{"app/learn/page":{"moduleId":"78229","async":true},"app/map/page":{"moduleId":"78229","async":true},"app/s/[token]/page":{"moduleId":"78229","async":true},"app/plan/page":{"moduleId":"78229","async":true}},"filename":"app/actions/nodes.ts","exportedName":"deprioritizeAction"},"404f3b7f26dcaebba2b02d3a8cda00ebc9581956b4":{"workers":{"app/learn/page":{"moduleId":"78229","async":true},"app/map/page":{"moduleId":"78229","async":true},"app/s/[token]/page":{"moduleId":"78229","async":true},"app/plan/page":{"moduleId":"78229","async":true}},"filename":"app/actions/nodes.ts","exportedName":"createNodeAction"},"408975c2b2bbd120769d5e65f6ffb8b0d85c51332a":{"workers":{"app/learn/page":{"moduleId":"78229","async":true},"app/map/page":{"moduleId":"78229","async":true},"app/s/[token]/page":{"moduleId":"78229","async":true},"app/plan/page":{"moduleId":"78229","async":true}},"filename":"app/actions/nodes.ts","exportedName":"acceptSuggestionAction"},"40aa3609dd5849768434931a51ad440e01679c88a3":{"workers":{"app/learn/page":{"moduleId":"78229","async":true},"app/map/page":{"moduleId":"78229","async":true},"app/s/[token]/page":{"moduleId":"78229","async":true},"app/plan/page":{"moduleId":"78229","async":true}},"filename":"app/actions/nodes.ts","exportedName":"cancelAction"},"40bdc7b1c6e1f98f030d1f9215a6827c4daf354f7b":{"workers":{"app/learn/page":{"moduleId":"78229","async":true},"app/map/page":{"moduleId":"78229","async":true},"app/s/[token]/page":{"moduleId":"78229","async":true},"app/plan/page":{"moduleId":"78229","async":true}},"filename":"app/actions/nodes.ts","exportedName":"deleteNodeAction"},"607954a9fd0cee947b6dc3a1e10e4e2639b495f5ae":{"workers":{"app/learn/page":{"moduleId":"78229","async":true},"app/map/page":{"moduleId":"78229","async":true},"app/s/[token]/page":{"moduleId":"78229","async":true},"app/plan/page":{"moduleId":"78229","async":true}},"filename":"app/actions/nodes.ts","exportedName":"setStatusAction"},"608639ea702064081f754a7992ac194483a8a8aeb1":{"workers":{"app/learn/page":{"moduleId":"78229","async":true},"app/map/page":{"moduleId":"78229","async":true},"app/s/[token]/page":{"moduleId":"78229","async":true},"app/plan/page":{"moduleId":"78229","async":true}},"filename":"app/actions/nodes.ts","exportedName":"updateNodeAction"}},"edge":{},"encryptionKey":"NDZe8vAk4ieaWTUzYgubjhKhIsnr9jdLGZV3bxOnzj4="}
1
+ {"node":{"401e07e956dd0060fb303f857897d7c70b027c07ca":{"workers":{"app/learn/page":{"moduleId":"55233","async":true},"app/s/[token]/page":{"moduleId":"55233","async":true},"app/plan/page":{"moduleId":"55233","async":true},"app/map/page":{"moduleId":"55233","async":true}},"filename":"app/actions/nodes.ts","exportedName":"acceptSuggestionAction"},"4041eca72bb7b1366c85544ff665fcb5dcf8722bef":{"workers":{"app/learn/page":{"moduleId":"55233","async":true},"app/s/[token]/page":{"moduleId":"55233","async":true},"app/plan/page":{"moduleId":"55233","async":true},"app/map/page":{"moduleId":"55233","async":true}},"filename":"app/actions/nodes.ts","exportedName":"deprioritizeAction"},"405474b584851f44405a18044245db3fc5e1d03639":{"workers":{"app/learn/page":{"moduleId":"55233","async":true},"app/s/[token]/page":{"moduleId":"55233","async":true},"app/plan/page":{"moduleId":"55233","async":true},"app/map/page":{"moduleId":"55233","async":true}},"filename":"app/actions/nodes.ts","exportedName":"createNodeAction"},"40d0c18af051181be3533049d3b3a9efebad9fe76e":{"workers":{"app/learn/page":{"moduleId":"55233","async":true},"app/s/[token]/page":{"moduleId":"55233","async":true},"app/plan/page":{"moduleId":"55233","async":true},"app/map/page":{"moduleId":"55233","async":true}},"filename":"app/actions/nodes.ts","exportedName":"deleteNodeAction"},"40e4b6e18d36c67c69b9cb6d5673435531ce0b45a7":{"workers":{"app/learn/page":{"moduleId":"55233","async":true},"app/s/[token]/page":{"moduleId":"55233","async":true},"app/plan/page":{"moduleId":"55233","async":true},"app/map/page":{"moduleId":"55233","async":true}},"filename":"app/actions/nodes.ts","exportedName":"cancelAction"},"604f2c621b7aebed9ce8ba85a5ffea2b37dd9b7c29":{"workers":{"app/learn/page":{"moduleId":"55233","async":true},"app/s/[token]/page":{"moduleId":"55233","async":true},"app/plan/page":{"moduleId":"55233","async":true},"app/map/page":{"moduleId":"55233","async":true}},"filename":"app/actions/nodes.ts","exportedName":"setStatusAction"},"60d52c86d3ec83f4c03d6641751eca96e0f9773b41":{"workers":{"app/learn/page":{"moduleId":"55233","async":true},"app/s/[token]/page":{"moduleId":"55233","async":true},"app/plan/page":{"moduleId":"55233","async":true},"app/map/page":{"moduleId":"55233","async":true}},"filename":"app/actions/nodes.ts","exportedName":"updateNodeAction"}},"edge":{},"encryptionKey":"zf5Q5hQLbXKx+86pUwmEPbRODi0fzf9+BDMVmD875Vw="}