@miadi/stateloom-web 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +8 -0
  2. package/package.json +1 -1
  3. package/server/.next/BUILD_ID +1 -1
  4. package/server/.next/build-manifest.json +2 -2
  5. package/server/.next/server/app/_global-error.html +2 -2
  6. package/server/.next/server/app/_global-error.rsc +1 -1
  7. package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/server/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/server/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/server/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/server/.next/server/app/_not-found.html +1 -1
  14. package/server/.next/server/app/_not-found.rsc +2 -2
  15. package/server/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  16. package/server/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/server/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  18. package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/server/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/server/.next/server/app/api/docs/route.js.nft.json +1 -1
  22. package/server/.next/server/app/api/file/route.js.nft.json +1 -1
  23. package/server/.next/server/app/api/rispec/route.js.nft.json +1 -1
  24. package/server/.next/server/app/api/watch/route.js.nft.json +1 -1
  25. package/server/.next/server/app/index.html +1 -1
  26. package/server/.next/server/app/index.rsc +3 -3
  27. package/server/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  28. package/server/.next/server/app/index.segments/_full.segment.rsc +3 -3
  29. package/server/.next/server/app/index.segments/_head.segment.rsc +1 -1
  30. package/server/.next/server/app/index.segments/_index.segment.rsc +2 -2
  31. package/server/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  32. package/server/.next/server/app/page.js.nft.json +1 -1
  33. package/server/.next/server/app/page_client-reference-manifest.js +1 -1
  34. package/server/.next/server/chunks/[root-of-the-server]__13c3d2a8._.js +1 -1
  35. package/server/.next/server/chunks/[root-of-the-server]__2046b812._.js +2 -2
  36. package/server/.next/server/chunks/[root-of-the-server]__87bf4b91._.js +1 -1
  37. package/server/.next/server/chunks/[root-of-the-server]__95b05635._.js +3 -3
  38. package/server/.next/server/chunks/ssr/{[root-of-the-server]__46d45ef8._.js → [root-of-the-server]__b1b2bf74._.js} +2 -2
  39. package/server/.next/server/chunks/ssr/[root-of-the-server]__edbb995c._.js +4 -3
  40. package/server/.next/server/pages/404.html +1 -1
  41. package/server/.next/server/pages/500.html +2 -2
  42. package/server/.next/static/chunks/8458f462f4687e07.js +11 -0
  43. package/server/.next/static/chunks/a8a37c487ef91a19.js +1 -0
  44. package/server/.next/static/chunks/c86e96e4d6eeb632.css +2 -0
  45. package/server/package-lock.json +2 -2
  46. package/server/package.json +1 -1
  47. package/server/src/app/api/file/route.ts +57 -12
  48. package/server/src/app/globals.css +15 -0
  49. package/server/src/app/page.tsx +69 -20
  50. package/server/src/components/BoardBoundary.tsx +46 -0
  51. package/server/src/components/IssueIcon.tsx +28 -0
  52. package/server/src/components/LockIcon.tsx +24 -0
  53. package/server/src/components/PropertiesPanel.tsx +10 -0
  54. package/server/src/components/SettingsPanel.tsx +11 -0
  55. package/server/src/components/erd/ErdWorkspace.tsx +198 -21
  56. package/server/src/components/forms.tsx +129 -0
  57. package/server/src/components/sequence/SequenceWorkspace.tsx +1024 -0
  58. package/server/src/components/system/KindIcon.tsx +71 -0
  59. package/server/src/components/system/SystemStrip.tsx +285 -0
  60. package/server/src/components/system/SystemWorkspace.tsx +766 -0
  61. package/server/src/lib/docParam.ts +4 -1
  62. package/server/src/lib/machineFocus.ts +126 -0
  63. package/server/src/lib/projectFile.ts +180 -20
  64. package/server/src/lib/safely.ts +16 -0
  65. package/server/src/lib/systemLoad.ts +362 -0
  66. package/server/src/lib/systemParam.ts +110 -0
  67. package/server/src/lib/useSheetDrag.ts +95 -0
  68. package/server/src/types/definition.ts +4 -0
  69. package/server/stateloom-web.json +2 -2
  70. package/server/tsconfig.tsbuildinfo +1 -1
  71. package/server/.next/static/chunks/8f6bd51bbcce6314.css +0 -2
  72. package/server/.next/static/chunks/a9e7748193d11ed7.js +0 -10
  73. package/server/.next/static/chunks/aea5b1716c68391c.js +0 -1
  74. /package/server/.next/static/{XCT3lnw_1F5LD0GG4F94- → KjjOvPCIL-ta0AZ8r8SFk}/_buildManifest.js +0 -0
  75. /package/server/.next/static/{XCT3lnw_1F5LD0GG4F94- → KjjOvPCIL-ta0AZ8r8SFk}/_clientMiddlewareManifest.json +0 -0
  76. /package/server/.next/static/{XCT3lnw_1F5LD0GG4F94- → KjjOvPCIL-ta0AZ8r8SFk}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},66532,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.i(89211);var n=e.i(99652);function a(){return(0,r.resolve)((0,n.envAlias)("PROJECT_FILE")??"./statemachine.smdf.json")}function s(){let e=(0,n.envAlias)("DOC_ROOTS"),s=e?e.split(":").map(e=>e.trim()).filter(Boolean):[(0,r.dirname)(a())],o=[];for(let e of s)try{o.push((0,t.realpathSync)((0,r.resolve)(e)))}catch{}return o}function o(e){let n;if(!e)return{ok:!0,path:a()};if(!(0,r.isAbsolute)(e))return{ok:!1,error:"doc must be an absolute path"};if(!e.endsWith(".json"))return{ok:!1,error:"doc must name a .json document"};let o=(0,r.resolve)(e);try{n=(0,t.existsSync)(o)?(0,t.realpathSync)(o):(0,r.resolve)((0,t.realpathSync)((0,r.dirname)(o)),o.slice(o.lastIndexOf(r.sep)+1))}catch{return{ok:!1,error:i(e,s())}}let l=s();for(let e of l)if(n===e||n.startsWith(e+r.sep))return{ok:!0,path:n};return{ok:!1,error:i(e,l)}}function i(e,t){let n=t.length?t.join(", "):"(no readable root is configured)",a=1===t.length&&"/data"===t[0]?` — this server is in a container, and it sees your mounted directory as /data, so ask for /data/${(0,r.basename)(e)}`:"";return`${e} is not under the permitted document root${1===t.length?"":"s"} ${n}${a}`}function l(e=300,n=4){let a=[],o=new Set,i=!1,u=(s,l)=>{let d;if(a.length>=e){i=!0;return}try{d=(0,t.readdirSync)(s)}catch{return}for(let c of d){let d;if(c.startsWith(".")||"node_modules"===c)continue;let p=(0,r.join)(s,c);try{d=(0,t.statSync)(p)}catch{continue}if(d.isDirectory()){l<n&&u(p,l+1);continue}if(c.endsWith(".json")){if(a.length>=e){i=!0;return}o.has(p)||(o.add(p),a.push({path:p,name:c,dir:s,size:d.size,mtime:d.mtimeMs}))}}};for(let e of s())u(e,0);return a.sort((e,t)=>{let r,n;return r=e.name,+!/\.(smdf|erdf)\.json$/i.test(r)-(n=t.name,+!/\.(smdf|erdf)\.json$/i.test(n))||t.mtime-e.mtime||e.path.localeCompare(t.path)}),{docs:a,truncated:i}}e.s(["allowedDocRoots",()=>s,"getProjectFilePath",()=>a,"listDocuments",()=>l,"resolveDocPath",()=>o])},78998,e=>{"use strict";var t=e.i(98490),r=e.i(18006),n=e.i(95912),a=e.i(72560),s=e.i(76852),o=e.i(38533),i=e.i(55822),l=e.i(54068),u=e.i(66843),d=e.i(99385),c=e.i(3050),p=e.i(75293),h=e.i(2144),f=e.i(33599),m=e.i(36497),x=e.i(93695);e.i(79178);var R=e.i(96717),v=e.i(23480),y=e.i(22734),g=e.i(66532);async function w(e){let t=(0,g.resolveDocPath)(e.nextUrl.searchParams.get("doc"));if(!t.ok)return v.NextResponse.json({error:t.error},{status:403});let r=t.path;if(!(0,y.existsSync)(r))return v.NextResponse.json({path:r,content:null,mtime:0,exists:!1});let n=(0,y.readFileSync)(r,"utf8"),a=(0,y.statSync)(r).mtimeMs;return v.NextResponse.json({path:r,content:n,mtime:a,exists:!0})}async function E(e){let t=(0,g.resolveDocPath)(e.nextUrl.searchParams.get("doc"));if(!t.ok)return v.NextResponse.json({error:t.error},{status:403});let r=t.path,n=await e.json();if("string"!=typeof n?.content)return v.NextResponse.json({error:"Body must be { content: string }"},{status:400});(0,y.writeFileSync)(r,n.content,"utf8");let a=(0,y.statSync)(r).mtimeMs;return v.NextResponse.json({path:r,mtime:a,ok:!0})}e.s(["GET",()=>w,"PUT",()=>E,"dynamic",0,"force-dynamic"],34917);var C=e.i(34917);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/file/route",pathname:"/api/file",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/web/src/app/api/file/route.ts",nextConfigOutput:"standalone",userland:C}),{workAsyncStorage:j,workUnitAsyncStorage:A,serverHooks:P}=b;function S(){return(0,n.patchFetch)({workAsyncStorage:j,workUnitAsyncStorage:A})}async function k(e,t,n){b.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/file/route";v=v.replace(/\/index$/,"")||"/";let y=await b.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:g,params:w,nextConfig:E,parsedUrl:C,isDraftMode:j,prerenderManifest:A,routerServerContext:P,isOnDemandRevalidate:S,revalidateOnlyGenerated:k,resolvedPathname:N,clientReferenceManifest:T,serverActionsManifest:O}=y,_=(0,i.normalizeAppPath)(v),q=!!(A.dynamicRoutes[_]||A.routes[N]),D=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,C,!1):t.end("This page could not be found"),null);if(q&&!j){let e=!!A.routes[N],t=A.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await D();throw new x.NoFallbackError}}let U=null;!q||b.isDev||j||(U="/index"===(U=N)?"/":U);let H=!0===b.isDev||!q,I=q&&!H;O&&T&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:T,serverActionsManifest:O});let $=e.method||"GET",M=(0,s.getTracer)(),F=M.getActiveScopeSpan(),K={params:w,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>b.onRequestError(e,t,n,a,P)},sharedContext:{buildId:g}},B=new l.NodeNextRequest(e),L=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let o=async e=>b.handle(W,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${$} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${v}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&S&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=K.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(B,L,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:S})},!1,P),t}},d=await b.handleResponse({req:e,nextConfig:E,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:k,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:i});if(!q)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",S?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return i&&q||x.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(B,L,new Response(d.value.body,{headers:x,status:d.value.status||200})),null};F?await l(F):await M.withPropagatedContext(e.headers,()=>M.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:S})},!1,P),q)throw t;return await (0,p.sendResponse)(B,L,new Response(null,{status:500})),null}}e.s(["handler",()=>k,"patchFetch",()=>S,"routeModule",()=>b,"serverHooks",()=>P,"workAsyncStorage",()=>j,"workUnitAsyncStorage",()=>A],78998)}];
1
+ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},66532,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.i(89211);var n=e.i(99652);function s(){return(0,r.resolve)((0,n.envAlias)("PROJECT_FILE")??"./statemachine.smdf.json")}function a(){let e=(0,n.envAlias)("DOC_ROOTS"),a=e?e.split(":").map(e=>e.trim()).filter(Boolean):[(0,r.dirname)(s())],o=[];for(let e of a)try{o.push((0,t.realpathSync)((0,r.resolve)(e)))}catch{}return o}function o(){let e=(0,n.envAlias)("CHRONICLE_ROOT");if(!e)return null;try{return(0,t.realpathSync)((0,r.resolve)(e))}catch{return null}}function i(e,n){if(!e.startsWith(n+r.sep))return!1;let s=e.slice(n.length+1).split(r.sep);if(3!==s.length)return!1;let[a,o,i]=s;if(!a||a.startsWith(".")||"diagrams"!==o||!i||i.startsWith(".")||!i.endsWith(".json"))return!1;try{return(0,t.statSync)((0,r.join)(n,a,o)).isDirectory()}catch{return!1}}function l(e){let n;if(!e)return{ok:!0,path:s()};if(!(0,r.isAbsolute)(e))return{ok:!1,error:"doc must be an absolute path"};if(!e.endsWith(".json"))return{ok:!1,error:"doc must name a .json document"};if(e.includes("\0"))return{ok:!1,error:"doc must not contain a NUL byte"};let l=(0,r.resolve)(e);try{let s=null;try{s=(0,t.lstatSync)(l)}catch{s=null}if(s?.isSymbolicLink())try{n=(0,t.realpathSync)(l)}catch{let s=(0,r.resolve)((0,r.dirname)(l),(0,t.readlinkSync)(l)),a=!1;try{a=(0,t.lstatSync)(s).isSymbolicLink()}catch{a=!1}if(a)return{ok:!1,error:`${e} is a link to a link, which is not followed`};n=(0,r.resolve)((0,t.realpathSync)((0,r.dirname)(s)),(0,r.basename)(s))}else n=s?(0,t.realpathSync)(l):(0,r.resolve)((0,t.realpathSync)((0,r.dirname)(l)),(0,r.basename)(l))}catch{return{ok:!1,error:u(e,a())}}let c=o();if(c&&(n===c||n.startsWith(c+r.sep)))return i(n,c)?{ok:!0,path:n}:{ok:!1,error:u(e,a())};let d=a();for(let e of d)if(n===e||n.startsWith(e+r.sep))return{ok:!0,path:n};return{ok:!1,error:u(e,d)}}function c(e,r){let n=(0,t.openSync)(e,t.constants.O_WRONLY|t.constants.O_CREAT|t.constants.O_TRUNC|t.constants.O_NOFOLLOW,438);try{(0,t.writeSync)(n,r,0,"utf8")}finally{(0,t.closeSync)(n)}}function u(e,t){let n=o(),s=(t.length?t.join(", "):"(no readable root is configured)")+(n?`, nor a chronicle diagram (${n}/<episode>/diagrams/<file>.json, in an existing diagrams/ folder)`:""),a=1===t.length&&"/data"===t[0]?` — this server is in a container, and it sees your mounted directory as /data, so ask for /data/${(0,r.basename)(e)}`:"";return`${e} is not under the permitted document root${1===t.length?"":"s"} ${s}${a}`}function d(e=300,n=4){let s=[],l=new Set,c=!1,u=o(),p=e=>!!u&&(e===u||e.startsWith(u+r.sep)),h=(a,o,i)=>{let u;if(s.length>=e){c=!0;return}try{u=(0,t.readdirSync)(a)}catch{return}for(let d of u){let u,f;if(d.startsWith(".")||"node_modules"===d)continue;let m=(0,r.join)(a,d);try{u=(0,t.realpathSync)(m),f=(0,t.statSync)(u)}catch{continue}if(!(u!==i&&!u.startsWith(i+r.sep)||p(u))){if(f.isDirectory()){o<n&&h(u,o+1,i);continue}if(d.endsWith(".json")&&u.endsWith(".json")){if(s.length>=e){c=!0;return}l.has(u)||(l.add(u),s.push({path:u,name:(0,r.basename)(u),dir:(0,r.dirname)(u),size:f.size,mtime:f.mtimeMs}))}}}};for(let e of a())h(e,0,e);if(u){let e=0,n=[];try{n=(0,t.readdirSync)(u).filter(e=>!e.startsWith(".")).sort().reverse().slice(0,400)}catch{n=[]}for(let a of n){let n;if(e>=200){c=!0;break}let o=(0,r.join)(u,a,"diagrams");try{n=(0,t.readdirSync)(o)}catch{continue}for(let a of n){let n,d;if(a.startsWith(".")||!a.endsWith(".json"))continue;let p=(0,r.join)(o,a);try{n=(0,t.realpathSync)(p),d=(0,t.statSync)(n)}catch{continue}if(!(!d.isFile()||!i(n,u)||l.has(n))){if(e>=200){c=!0;break}l.add(n),s.push({path:n,name:a,dir:(0,r.dirname)(n),size:d.size,mtime:d.mtimeMs}),e+=1}}}}return s.sort((e,t)=>{let r,n;return r=e.name,+!/\.(smdf|erdf|sqdf|sysdf)\.json$/i.test(r)-(n=t.name,+!/\.(smdf|erdf|sqdf|sysdf)\.json$/i.test(n))||t.mtime-e.mtime||e.path.localeCompare(t.path)}),{docs:s,truncated:c}}e.s(["allowedDocRoots",()=>a,"getProjectFilePath",()=>s,"listDocuments",()=>d,"resolveDocPath",()=>l,"writeDocFile",()=>c])},78998,e=>{"use strict";var t=e.i(98490),r=e.i(18006),n=e.i(95912),s=e.i(72560),a=e.i(76852),o=e.i(38533),i=e.i(55822),l=e.i(54068),c=e.i(66843),u=e.i(99385),d=e.i(3050),p=e.i(75293),h=e.i(2144),f=e.i(33599),m=e.i(36497),y=e.i(93695);e.i(79178);var x=e.i(96717),R=e.i(23480),v=e.i(22734),g=e.i(66532);function E(e){let t=e?.code;return"EISDIR"===t?"that path is a directory, not a document":"ELOOP"===t?"that path is a symbolic link, which is not written through":"ENOENT"===t?"that document's folder does not exist":"EACCES"===t||"EPERM"===t?"the server may not access that document":e instanceof Error?e.message:String(e)}async function S(e){let t=(0,g.resolveDocPath)(e.nextUrl.searchParams.get("doc"));if(!t.ok)return R.NextResponse.json({error:t.error},{status:403});let r=t.path;try{if(!(0,v.existsSync)(r))return R.NextResponse.json({path:r,content:null,mtime:0,exists:!1});if((0,v.statSync)(r).isDirectory())return R.NextResponse.json({error:E({code:"EISDIR"})},{status:400});let e=(0,v.readFileSync)(r,"utf8"),t=(0,v.statSync)(r).mtimeMs;return R.NextResponse.json({path:r,content:e,mtime:t,exists:!0})}catch(e){return R.NextResponse.json({error:E(e)},{status:400})}}async function w(e){let t,r=(0,g.resolveDocPath)(e.nextUrl.searchParams.get("doc"));if(!r.ok)return R.NextResponse.json({error:r.error},{status:403});let n=r.path;try{t=await e.json()}catch{return R.NextResponse.json({error:"Body must be JSON: { content: string }"},{status:400})}if("string"!=typeof t?.content)return R.NextResponse.json({error:"Body must be { content: string }"},{status:400});try{let e=(0,v.existsSync)(n);if(e&&(0,v.statSync)(n).isDirectory())return R.NextResponse.json({error:E({code:"EISDIR"})},{status:400});if("number"==typeof t.mtime){let r=e?(0,v.statSync)(n).mtimeMs:0;if(r!==t.mtime)return R.NextResponse.json({error:"the document changed on disk since it was read",mtime:r,conflict:!0},{status:409})}(0,g.writeDocFile)(n,t.content);let r=(0,v.statSync)(n).mtimeMs;return R.NextResponse.json({path:n,mtime:r,ok:!0})}catch(e){return R.NextResponse.json({error:E(e)},{status:400})}}e.s(["GET",()=>S,"PUT",()=>w,"dynamic",0,"force-dynamic"],34917);var j=e.i(34917);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/file/route",pathname:"/api/file",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/web/src/app/api/file/route.ts",nextConfigOutput:"standalone",userland:j}),{workAsyncStorage:k,workUnitAsyncStorage:C,serverHooks:N}=b;function O(){return(0,n.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:C})}async function A(e,t,n){b.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/file/route";R=R.replace(/\/index$/,"")||"/";let v=await b.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:g,params:E,nextConfig:S,parsedUrl:w,isDraftMode:j,prerenderManifest:k,routerServerContext:C,isOnDemandRevalidate:N,revalidateOnlyGenerated:O,resolvedPathname:A,clientReferenceManifest:P,serverActionsManifest:T}=v,D=(0,i.normalizeAppPath)(R),_=!!(k.dynamicRoutes[D]||k.routes[A]),q=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,w,!1):t.end("This page could not be found"),null);if(_&&!j){let e=!!k.routes[A],t=k.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(S.experimental.adapterPath)return await q();throw new y.NoFallbackError}}let I=null;!_||b.isDev||j||(I="/index"===(I=A)?"/":I);let U=!0===b.isDev||!_,W=_&&!U;T&&P&&(0,o.setManifestsSingleton)({page:R,clientReferenceManifest:P,serverActionsManifest:T});let H=e.method||"GET",M=(0,a.getTracer)(),$=M.getActiveScopeSpan(),F={params:E,prerenderManifest:k,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:S.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>b.onRequestError(e,t,n,s,C)},sharedContext:{buildId:g}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),K=c.NextRequestAdapter.fromNodeNextRequest(L,(0,c.signalFromNodeResponse)(t));try{let o=async e=>b.handle(K,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${R}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var a,l;let c=async({previousCacheEntry:r})=>{try{if(!i&&N&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(s);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let c=F.renderOpts.collectedTags;if(!_)return await (0,p.sendResponse)(L,B,a,F.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);c&&(t[m.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,n=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:N})},!1,C),t}},u=await b.handleResponse({req:e,nextConfig:S,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:O,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:i});if(!_)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let y=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&_||y.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||y.get("Cache-Control")||y.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(L,B,new Response(u.value.body,{headers:y,status:u.value.status||200})),null};$?await l($):await M.withPropagatedContext(e.headers,()=>M.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${R}`,kind:a.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof y.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:W,isOnDemandRevalidate:N})},!1,C),_)throw t;return await (0,p.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>A,"patchFetch",()=>O,"routeModule",()=>b,"serverHooks",()=>N,"workAsyncStorage",()=>k,"workUnitAsyncStorage",()=>C],78998)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__87bf4b91._.js.map
@@ -1,8 +1,8 @@
1
- module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},66532,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.i(89211);var n=e.i(99652);function a(){return(0,r.resolve)((0,n.envAlias)("PROJECT_FILE")??"./statemachine.smdf.json")}function s(){let e=(0,n.envAlias)("DOC_ROOTS"),s=e?e.split(":").map(e=>e.trim()).filter(Boolean):[(0,r.dirname)(a())],o=[];for(let e of s)try{o.push((0,t.realpathSync)((0,r.resolve)(e)))}catch{}return o}function o(e){let n;if(!e)return{ok:!0,path:a()};if(!(0,r.isAbsolute)(e))return{ok:!1,error:"doc must be an absolute path"};if(!e.endsWith(".json"))return{ok:!1,error:"doc must name a .json document"};let o=(0,r.resolve)(e);try{n=(0,t.existsSync)(o)?(0,t.realpathSync)(o):(0,r.resolve)((0,t.realpathSync)((0,r.dirname)(o)),o.slice(o.lastIndexOf(r.sep)+1))}catch{return{ok:!1,error:i(e,s())}}let l=s();for(let e of l)if(n===e||n.startsWith(e+r.sep))return{ok:!0,path:n};return{ok:!1,error:i(e,l)}}function i(e,t){let n=t.length?t.join(", "):"(no readable root is configured)",a=1===t.length&&"/data"===t[0]?` — this server is in a container, and it sees your mounted directory as /data, so ask for /data/${(0,r.basename)(e)}`:"";return`${e} is not under the permitted document root${1===t.length?"":"s"} ${n}${a}`}function l(e=300,n=4){let a=[],o=new Set,i=!1,d=(s,l)=>{let c;if(a.length>=e){i=!0;return}try{c=(0,t.readdirSync)(s)}catch{return}for(let u of c){let c;if(u.startsWith(".")||"node_modules"===u)continue;let p=(0,r.join)(s,u);try{c=(0,t.statSync)(p)}catch{continue}if(c.isDirectory()){l<n&&d(p,l+1);continue}if(u.endsWith(".json")){if(a.length>=e){i=!0;return}o.has(p)||(o.add(p),a.push({path:p,name:u,dir:s,size:c.size,mtime:c.mtimeMs}))}}};for(let e of s())d(e,0);return a.sort((e,t)=>{let r,n;return r=e.name,+!/\.(smdf|erdf)\.json$/i.test(r)-(n=t.name,+!/\.(smdf|erdf)\.json$/i.test(n))||t.mtime-e.mtime||e.path.localeCompare(t.path)}),{docs:a,truncated:i}}e.s(["allowedDocRoots",()=>s,"getProjectFilePath",()=>a,"listDocuments",()=>l,"resolveDocPath",()=>o])},14979,e=>{"use strict";var t=e.i(98490),r=e.i(18006),n=e.i(95912),a=e.i(72560),s=e.i(76852),o=e.i(38533),i=e.i(55822),l=e.i(54068),d=e.i(66843),c=e.i(99385),u=e.i(3050),p=e.i(75293),h=e.i(2144),m=e.i(33599),f=e.i(36497),x=e.i(93695);e.i(79178);var v=e.i(96717),R=e.i(23480),y=e.i(22734),g=e.i(66532);async function w(e){let t=(0,g.resolveDocPath)(e.nextUrl.searchParams.get("doc"));if(!t.ok)return R.NextResponse.json({error:t.error},{status:403});let r=t.path,n=new TextEncoder;return new Response(new ReadableStream({start(e){let t=(t,r)=>{e.enqueue(n.encode(`event: ${t}
1
+ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},66532,e=>{"use strict";var t=e.i(22734),r=e.i(14747);e.i(89211);var n=e.i(99652);function a(){return(0,r.resolve)((0,n.envAlias)("PROJECT_FILE")??"./statemachine.smdf.json")}function s(){let e=(0,n.envAlias)("DOC_ROOTS"),s=e?e.split(":").map(e=>e.trim()).filter(Boolean):[(0,r.dirname)(a())],i=[];for(let e of s)try{i.push((0,t.realpathSync)((0,r.resolve)(e)))}catch{}return i}function i(){let e=(0,n.envAlias)("CHRONICLE_ROOT");if(!e)return null;try{return(0,t.realpathSync)((0,r.resolve)(e))}catch{return null}}function o(e,n){if(!e.startsWith(n+r.sep))return!1;let a=e.slice(n.length+1).split(r.sep);if(3!==a.length)return!1;let[s,i,o]=a;if(!s||s.startsWith(".")||"diagrams"!==i||!o||o.startsWith(".")||!o.endsWith(".json"))return!1;try{return(0,t.statSync)((0,r.join)(n,s,i)).isDirectory()}catch{return!1}}function l(e){let n;if(!e)return{ok:!0,path:a()};if(!(0,r.isAbsolute)(e))return{ok:!1,error:"doc must be an absolute path"};if(!e.endsWith(".json"))return{ok:!1,error:"doc must name a .json document"};if(e.includes("\0"))return{ok:!1,error:"doc must not contain a NUL byte"};let l=(0,r.resolve)(e);try{let a=null;try{a=(0,t.lstatSync)(l)}catch{a=null}if(a?.isSymbolicLink())try{n=(0,t.realpathSync)(l)}catch{let a=(0,r.resolve)((0,r.dirname)(l),(0,t.readlinkSync)(l)),s=!1;try{s=(0,t.lstatSync)(a).isSymbolicLink()}catch{s=!1}if(s)return{ok:!1,error:`${e} is a link to a link, which is not followed`};n=(0,r.resolve)((0,t.realpathSync)((0,r.dirname)(a)),(0,r.basename)(a))}else n=a?(0,t.realpathSync)(l):(0,r.resolve)((0,t.realpathSync)((0,r.dirname)(l)),(0,r.basename)(l))}catch{return{ok:!1,error:d(e,s())}}let c=i();if(c&&(n===c||n.startsWith(c+r.sep)))return o(n,c)?{ok:!0,path:n}:{ok:!1,error:d(e,s())};let u=s();for(let e of u)if(n===e||n.startsWith(e+r.sep))return{ok:!0,path:n};return{ok:!1,error:d(e,u)}}function c(e,r){let n=(0,t.openSync)(e,t.constants.O_WRONLY|t.constants.O_CREAT|t.constants.O_TRUNC|t.constants.O_NOFOLLOW,438);try{(0,t.writeSync)(n,r,0,"utf8")}finally{(0,t.closeSync)(n)}}function d(e,t){let n=i(),a=(t.length?t.join(", "):"(no readable root is configured)")+(n?`, nor a chronicle diagram (${n}/<episode>/diagrams/<file>.json, in an existing diagrams/ folder)`:""),s=1===t.length&&"/data"===t[0]?` — this server is in a container, and it sees your mounted directory as /data, so ask for /data/${(0,r.basename)(e)}`:"";return`${e} is not under the permitted document root${1===t.length?"":"s"} ${a}${s}`}function u(e=300,n=4){let a=[],l=new Set,c=!1,d=i(),p=e=>!!d&&(e===d||e.startsWith(d+r.sep)),h=(s,i,o)=>{let d;if(a.length>=e){c=!0;return}try{d=(0,t.readdirSync)(s)}catch{return}for(let u of d){let d,f;if(u.startsWith(".")||"node_modules"===u)continue;let m=(0,r.join)(s,u);try{d=(0,t.realpathSync)(m),f=(0,t.statSync)(d)}catch{continue}if(!(d!==o&&!d.startsWith(o+r.sep)||p(d))){if(f.isDirectory()){i<n&&h(d,i+1,o);continue}if(u.endsWith(".json")&&d.endsWith(".json")){if(a.length>=e){c=!0;return}l.has(d)||(l.add(d),a.push({path:d,name:(0,r.basename)(d),dir:(0,r.dirname)(d),size:f.size,mtime:f.mtimeMs}))}}}};for(let e of s())h(e,0,e);if(d){let e=0,n=[];try{n=(0,t.readdirSync)(d).filter(e=>!e.startsWith(".")).sort().reverse().slice(0,400)}catch{n=[]}for(let s of n){let n;if(e>=200){c=!0;break}let i=(0,r.join)(d,s,"diagrams");try{n=(0,t.readdirSync)(i)}catch{continue}for(let s of n){let n,u;if(s.startsWith(".")||!s.endsWith(".json"))continue;let p=(0,r.join)(i,s);try{n=(0,t.realpathSync)(p),u=(0,t.statSync)(n)}catch{continue}if(!(!u.isFile()||!o(n,d)||l.has(n))){if(e>=200){c=!0;break}l.add(n),a.push({path:n,name:s,dir:(0,r.dirname)(n),size:u.size,mtime:u.mtimeMs}),e+=1}}}}return a.sort((e,t)=>{let r,n;return r=e.name,+!/\.(smdf|erdf|sqdf|sysdf)\.json$/i.test(r)-(n=t.name,+!/\.(smdf|erdf|sqdf|sysdf)\.json$/i.test(n))||t.mtime-e.mtime||e.path.localeCompare(t.path)}),{docs:a,truncated:c}}e.s(["allowedDocRoots",()=>s,"getProjectFilePath",()=>a,"listDocuments",()=>u,"resolveDocPath",()=>l,"writeDocFile",()=>c])},14979,e=>{"use strict";var t=e.i(98490),r=e.i(18006),n=e.i(95912),a=e.i(72560),s=e.i(76852),i=e.i(38533),o=e.i(55822),l=e.i(54068),c=e.i(66843),d=e.i(99385),u=e.i(3050),p=e.i(75293),h=e.i(2144),f=e.i(33599),m=e.i(36497),y=e.i(93695);e.i(79178);var x=e.i(96717),v=e.i(23480),R=e.i(22734),g=e.i(66532);async function w(e){let t=(0,g.resolveDocPath)(e.nextUrl.searchParams.get("doc"));if(!t.ok)return v.NextResponse.json({error:t.error},{status:403});let r=t.path,n=new TextEncoder;return new Response(new ReadableStream({start(e){let t=(t,r)=>{e.enqueue(n.encode(`event: ${t}
2
2
  data: ${JSON.stringify(r)}
3
3
 
4
- `))},a=(0,y.existsSync)(r)?(0,y.statSync)(r).mtimeMs:0;t("hello",{path:r,mtime:a});let s=null;try{s=(0,y.watch)(r,{persistent:!1},()=>{if(!(0,y.existsSync)(r))return;let e=(0,y.statSync)(r).mtimeMs;t("change",{path:r,mtime:e})})}catch{t("error",{message:`Cannot watch ${r}`})}let o=setInterval(()=>{try{e.enqueue(n.encode(`: ping
4
+ `))},a=(0,R.existsSync)(r)?(0,R.statSync)(r).mtimeMs:0;t("hello",{path:r,mtime:a});let s=null;try{s=(0,R.watch)(r,{persistent:!1},()=>{if(!(0,R.existsSync)(r))return;let e=(0,R.statSync)(r).mtimeMs;t("change",{path:r,mtime:e})})}catch{t("error",{message:`Cannot watch ${r}`})}let i=setInterval(()=>{try{e.enqueue(n.encode(`: ping
5
5
 
6
- `))}catch{}},15e3);e._cleanup=()=>{clearInterval(o),s?.close();try{e.close()}catch{}}},cancel(){this._cleanup?.()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}})}e.s(["GET",()=>w,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],32879);var E=e.i(32879);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/watch/route",pathname:"/api/watch",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/web/src/app/api/watch/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:b,workUnitAsyncStorage:S,serverHooks:A}=C;function k(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:S})}async function P(e,t,n){C.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/watch/route";R=R.replace(/\/index$/,"")||"/";let y=await C.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:g,params:w,nextConfig:E,parsedUrl:b,isDraftMode:S,prerenderManifest:A,routerServerContext:k,isOnDemandRevalidate:P,revalidateOnlyGenerated:T,resolvedPathname:j,clientReferenceManifest:O,serverActionsManifest:N}=y,_=(0,i.normalizeAppPath)(R),q=!!(A.dynamicRoutes[_]||A.routes[j]),D=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,b,!1):t.end("This page could not be found"),null);if(q&&!S){let e=!!A.routes[j],t=A.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await D();throw new x.NoFallbackError}}let I=null;!q||C.isDev||S||(I="/index"===(I=j)?"/":I);let $=!0===C.isDev||!q,H=q&&!$;N&&O&&(0,o.setManifestsSingleton)({page:R,clientReferenceManifest:O,serverActionsManifest:N});let U=e.method||"GET",M=(0,s.getTracer)(),F=M.getActiveScopeSpan(),K={params:w,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:$,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>C.onRequestError(e,t,n,a,k)},sharedContext:{buildId:g}},B=new l.NodeNextRequest(e),L=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let o=async e=>C.handle(W,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${R}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&P&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=K.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(B,L,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,k),t}},c=await C.handleResponse({req:e,nextConfig:E,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:T,responseGenerator:d,waitUntil:n.waitUntil,isMinimalMode:i});if(!q)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",P?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return i&&q||x.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(B,L,new Response(c.value.body,{headers:x,status:c.value.status||200})),null};F?await l(F):await M.withPropagatedContext(e.headers,()=>M.trace(c.BaseServerSpan.handleRequest,{spanName:`${U} ${R}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:P})},!1,k),q)throw t;return await (0,p.sendResponse)(B,L,new Response(null,{status:500})),null}}e.s(["handler",()=>P,"patchFetch",()=>k,"routeModule",()=>C,"serverHooks",()=>A,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>S],14979)}];
6
+ `))}catch{}},15e3);e._cleanup=()=>{clearInterval(i),s?.close();try{e.close()}catch{}}},cancel(){this._cleanup?.()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}})}e.s(["GET",()=>w,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],32879);var S=e.i(32879);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/watch/route",pathname:"/api/watch",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/web/src/app/api/watch/route.ts",nextConfigOutput:"standalone",userland:S}),{workAsyncStorage:E,workUnitAsyncStorage:b,serverHooks:k}=C;function O(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:b})}async function j(e,t,n){C.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/watch/route";v=v.replace(/\/index$/,"")||"/";let R=await C.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:g,params:w,nextConfig:S,parsedUrl:E,isDraftMode:b,prerenderManifest:k,routerServerContext:O,isOnDemandRevalidate:j,revalidateOnlyGenerated:A,resolvedPathname:T,clientReferenceManifest:N,serverActionsManifest:_}=R,P=(0,o.normalizeAppPath)(v),q=!!(k.dynamicRoutes[P]||k.routes[T]),D=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,E,!1):t.end("This page could not be found"),null);if(q&&!b){let e=!!k.routes[T],t=k.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(S.experimental.adapterPath)return await D();throw new y.NoFallbackError}}let $=null;!q||C.isDev||b||($="/index"===($=T)?"/":$);let I=!0===C.isDev||!q,U=q&&!I;_&&N&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:_});let W=e.method||"GET",H=(0,s.getTracer)(),M=H.getActiveScopeSpan(),F={params:w,prerenderManifest:k,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:I,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:S.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>C.onRequestError(e,t,n,a,O)},sharedContext:{buildId:g}},L=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),B=c.NextRequestAdapter.fromNodeNextRequest(L,(0,c.signalFromNodeResponse)(t));try{let i=async e=>C.handle(B,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${W} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${W} ${v}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let c=async({previousCacheEntry:r})=>{try{if(!o&&j&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let c=F.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(L,K,s,F.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);c&&(t[m.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,n=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,O),t}},d=await C.handleResponse({req:e,nextConfig:S,cacheKey:$,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:A,responseGenerator:c,waitUntil:n.waitUntil,isMinimalMode:o});if(!q)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",j?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let y=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&q||y.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||y.get("Cache-Control")||y.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(L,K,new Response(d.value.body,{headers:y,status:d.value.status||200})),null};M?await l(M):await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${W} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":W,"http.target":e.url}},l))}catch(t){if(t instanceof y.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:j})},!1,O),q)throw t;return await (0,p.sendResponse)(L,K,new Response(null,{status:500})),null}}e.s(["handler",()=>j,"patchFetch",()=>O,"routeModule",()=>C,"serverHooks",()=>k,"workAsyncStorage",()=>E,"workUnitAsyncStorage",()=>b],14979)}];
7
7
 
8
8
  //# sourceMappingURL=%5Broot-of-the-server%5D__95b05635._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},22734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},24361,(a,b,c)=>{b.exports=a.x("util",()=>require("util"))},56856,(a,b,c)=>{"use strict";b.exports=a.r(40881).vendored["react-ssr"].ReactJsxRuntime},40881,(a,b,c)=>{"use strict";b.exports=a.r(18622)},55132,(a,b,c)=>{"use strict";b.exports=a.r(40881).vendored["react-ssr"].React},33405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},41455,a=>{"use strict";var b=a.i(55132);let c="stateloom:doc-change";function d(){return null}function e(a){return a?`?doc=${encodeURIComponent(a)}`:""}function f(a){let b=new URL(window.location.href);a?b.searchParams.set("doc",a):b.searchParams.delete("doc"),window.history.pushState({},"",b),window.dispatchEvent(new Event(c))}function g(){let[a,e]=(0,b.useState)(null);return(0,b.useEffect)(()=>{let a=()=>e(d());return a(),window.addEventListener("popstate",a),window.addEventListener(c,a),()=>{window.removeEventListener("popstate",a),window.removeEventListener(c,a)}},[]),a}a.s(["docQuery",()=>e,"navigateToDoc",()=>f,"requestedDoc",()=>d,"useRequestedDoc",()=>g])},65614,a=>{a.v(a=>Promise.resolve().then(()=>a(41455)))}];
1
+ module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},22734,(a,b,c)=>{b.exports=a.x("fs",()=>require("fs"))},24361,(a,b,c)=>{b.exports=a.x("util",()=>require("util"))},56856,(a,b,c)=>{"use strict";b.exports=a.r(40881).vendored["react-ssr"].ReactJsxRuntime},40881,(a,b,c)=>{"use strict";b.exports=a.r(18622)},55132,(a,b,c)=>{"use strict";b.exports=a.r(40881).vendored["react-ssr"].React},33405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},41455,a=>{"use strict";var b=a.i(55132);let c="stateloom:doc-change";function d(){return null}function e(a){return a?`?doc=${encodeURIComponent(a)}`:""}function f(a){let b=new URL(window.location.href);a?b.searchParams.set("doc",a):b.searchParams.delete("doc"),b.searchParams.delete("focus"),window.history.pushState({},"",b),window.dispatchEvent(new Event(c))}function g(){let[a,e]=(0,b.useState)(null);return(0,b.useEffect)(()=>{let a=()=>e(d());return a(),window.addEventListener("popstate",a),window.addEventListener(c,a),()=>{window.removeEventListener("popstate",a),window.removeEventListener(c,a)}},[]),a}a.s(["DOC_CHANGE_EVENT",0,c,"docQuery",()=>e,"navigateToDoc",()=>f,"requestedDoc",()=>d,"useRequestedDoc",()=>g])},65614,a=>{a.v(a=>Promise.resolve().then(()=>a(41455)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__46d45ef8._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__b1b2bf74._.js.map