@martin0309205/prism 0.2.1 → 0.2.2

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 (53) hide show
  1. package/assets/dashboard/.next/BUILD_ID +1 -1
  2. package/assets/dashboard/.next/app-build-manifest.json +24 -24
  3. package/assets/dashboard/.next/app-path-routes-manifest.json +1 -1
  4. package/assets/dashboard/.next/build-manifest.json +2 -2
  5. package/assets/dashboard/.next/prerender-manifest.json +1 -1
  6. package/assets/dashboard/.next/server/app/(dash)/claude-md/page_client-reference-manifest.js +1 -1
  7. package/assets/dashboard/.next/server/app/(dash)/connectors/page_client-reference-manifest.js +1 -1
  8. package/assets/dashboard/.next/server/app/(dash)/generate/page_client-reference-manifest.js +1 -1
  9. package/assets/dashboard/.next/server/app/(dash)/jobs/[id]/page_client-reference-manifest.js +1 -1
  10. package/assets/dashboard/.next/server/app/(dash)/jobs/page_client-reference-manifest.js +1 -1
  11. package/assets/dashboard/.next/server/app/(dash)/logs/page_client-reference-manifest.js +1 -1
  12. package/assets/dashboard/.next/server/app/(dash)/page_client-reference-manifest.js +1 -1
  13. package/assets/dashboard/.next/server/app/(dash)/settings/page_client-reference-manifest.js +1 -1
  14. package/assets/dashboard/.next/server/app/(dash)/skills/page_client-reference-manifest.js +1 -1
  15. package/assets/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/assets/dashboard/.next/server/app/_not-found.html +1 -1
  17. package/assets/dashboard/.next/server/app/_not-found.rsc +1 -1
  18. package/assets/dashboard/.next/server/app/api/claude-md/route.js +1 -1
  19. package/assets/dashboard/.next/server/app/api/healthz/route.js +1 -1
  20. package/assets/dashboard/.next/server/app/api/system/update/route.js +2 -2
  21. package/assets/dashboard/.next/server/app/api/system/version/route.js +1 -1
  22. package/assets/dashboard/.next/server/app/claude-md.html +1 -1
  23. package/assets/dashboard/.next/server/app/claude-md.rsc +1 -1
  24. package/assets/dashboard/.next/server/app/connectors.html +1 -1
  25. package/assets/dashboard/.next/server/app/connectors.rsc +1 -1
  26. package/assets/dashboard/.next/server/app/generate.html +1 -1
  27. package/assets/dashboard/.next/server/app/generate.rsc +1 -1
  28. package/assets/dashboard/.next/server/app/index.html +1 -1
  29. package/assets/dashboard/.next/server/app/index.rsc +1 -1
  30. package/assets/dashboard/.next/server/app/jobs.html +1 -1
  31. package/assets/dashboard/.next/server/app/jobs.rsc +1 -1
  32. package/assets/dashboard/.next/server/app/login/page_client-reference-manifest.js +1 -1
  33. package/assets/dashboard/.next/server/app/login.html +1 -1
  34. package/assets/dashboard/.next/server/app/login.rsc +1 -1
  35. package/assets/dashboard/.next/server/app/logs.html +1 -1
  36. package/assets/dashboard/.next/server/app/logs.rsc +1 -1
  37. package/assets/dashboard/.next/server/app/settings.html +1 -1
  38. package/assets/dashboard/.next/server/app/settings.rsc +1 -1
  39. package/assets/dashboard/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  40. package/assets/dashboard/.next/server/app/setup.html +1 -1
  41. package/assets/dashboard/.next/server/app/setup.rsc +1 -1
  42. package/assets/dashboard/.next/server/app/skills.html +1 -1
  43. package/assets/dashboard/.next/server/app/skills.rsc +1 -1
  44. package/assets/dashboard/.next/server/app-paths-manifest.json +13 -13
  45. package/assets/dashboard/.next/server/middleware-build-manifest.js +1 -1
  46. package/assets/dashboard/.next/server/middleware-manifest.json +3 -3
  47. package/assets/dashboard/.next/server/pages/404.html +1 -1
  48. package/assets/dashboard/.next/server/pages/500.html +1 -1
  49. package/assets/dashboard/.next/server/server-reference-manifest.js +1 -1
  50. package/assets/dashboard/.next/server/server-reference-manifest.json +1 -1
  51. package/package.json +1 -1
  52. /package/assets/dashboard/.next/static/{SS_jgIWqXX2pp1oaVOjaQ → B6791orORMZJwrcOvp3G0}/_buildManifest.js +0 -0
  53. /package/assets/dashboard/.next/static/{SS_jgIWqXX2pp1oaVOjaQ → B6791orORMZJwrcOvp3G0}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/(dash)/settings/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"585":{"*":{"id":"7551","name":"*","chunks":[],"async":false}},"1193":{"*":{"id":"4146","name":"*","chunks":[],"async":false}},"1343":{"*":{"id":"4759","name":"*","chunks":[],"async":false}},"2535":{"*":{"id":"7530","name":"*","chunks":[],"async":false}},"2794":{"*":{"id":"7474","name":"*","chunks":[],"async":false}},"2854":{"*":{"id":"4795","name":"*","chunks":[],"async":false}},"3382":{"*":{"id":"1795","name":"*","chunks":[],"async":false}},"3541":{"*":{"id":"1582","name":"*","chunks":[],"async":false}},"4520":{"*":{"id":"4505","name":"*","chunks":[],"async":false}},"5324":{"*":{"id":"1868","name":"*","chunks":[],"async":false}},"5474":{"*":{"id":"2521","name":"*","chunks":[],"async":false}},"5751":{"*":{"id":"2994","name":"*","chunks":[],"async":false}},"5907":{"*":{"id":"9493","name":"*","chunks":[],"async":false}},"6130":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"6513":{"*":{"id":"6114","name":"*","chunks":[],"async":false}},"6882":{"*":{"id":"2727","name":"*","chunks":[],"async":false}},"8751":{"*":{"id":"2646","name":"*","chunks":[],"async":false}},"9275":{"*":{"id":"9671","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/app-router.js":{"id":5751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/app-router.js":{"id":5751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/client-page.js":{"id":6513,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/client-page.js":{"id":6513,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/error-boundary.js":{"id":6130,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":6130,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/layout-router.js":{"id":9275,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9275,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/not-found-boundary.js":{"id":5324,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":5324,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/render-from-template-context.js":{"id":1343,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":1343,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/globals.css":{"id":3054,"name":"*","chunks":["185","static/chunks/app/layout-e3058a659be66c26.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/login/page.tsx":{"id":1193,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/setup/page.tsx":{"id":4520,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/connectors/page.tsx":{"id":8751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/components/sidebar.tsx":{"id":6882,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","138","static/chunks/138-1f2ddea72037c974.js","117","static/chunks/app/(dash)/layout-811aba273cfc2760.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/generate/page.tsx":{"id":5907,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/claude-md/page.tsx":{"id":5474,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/jobs/page.tsx":{"id":2854,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/page.tsx":{"id":3382,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","138","static/chunks/138-1f2ddea72037c974.js","523","static/chunks/app/(dash)/page-3abefdb4e3abdac4.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/settings/page.tsx":{"id":2794,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","428","static/chunks/app/(dash)/settings/page-d6d1c9958671a65b.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/skills/page.tsx":{"id":585,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/logs/page.tsx":{"id":2535,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/jobs/[id]/page.tsx":{"id":3541,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/prism/prism/web/src/":[],"/home/runner/work/prism/prism/web/src/app/layout":["static/css/27aea81e28f3c17d.css"],"/home/runner/work/prism/prism/web/src/app/(dash)/layout":[],"/home/runner/work/prism/prism/web/src/app/(dash)/page":[],"/home/runner/work/prism/prism/web/src/app/(dash)/settings/page":[]}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/(dash)/settings/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"585":{"*":{"id":"7551","name":"*","chunks":[],"async":false}},"1193":{"*":{"id":"4146","name":"*","chunks":[],"async":false}},"1343":{"*":{"id":"4759","name":"*","chunks":[],"async":false}},"2535":{"*":{"id":"7530","name":"*","chunks":[],"async":false}},"2794":{"*":{"id":"7474","name":"*","chunks":[],"async":false}},"2854":{"*":{"id":"4795","name":"*","chunks":[],"async":false}},"3382":{"*":{"id":"1795","name":"*","chunks":[],"async":false}},"3541":{"*":{"id":"1582","name":"*","chunks":[],"async":false}},"4520":{"*":{"id":"4505","name":"*","chunks":[],"async":false}},"5324":{"*":{"id":"1868","name":"*","chunks":[],"async":false}},"5474":{"*":{"id":"2521","name":"*","chunks":[],"async":false}},"5751":{"*":{"id":"2994","name":"*","chunks":[],"async":false}},"5907":{"*":{"id":"9493","name":"*","chunks":[],"async":false}},"6130":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"6513":{"*":{"id":"6114","name":"*","chunks":[],"async":false}},"6882":{"*":{"id":"2727","name":"*","chunks":[],"async":false}},"8751":{"*":{"id":"2646","name":"*","chunks":[],"async":false}},"9275":{"*":{"id":"9671","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/app-router.js":{"id":5751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/app-router.js":{"id":5751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/client-page.js":{"id":6513,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/client-page.js":{"id":6513,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/error-boundary.js":{"id":6130,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":6130,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/layout-router.js":{"id":9275,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9275,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/not-found-boundary.js":{"id":5324,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":5324,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/render-from-template-context.js":{"id":1343,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":1343,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/globals.css":{"id":3054,"name":"*","chunks":["185","static/chunks/app/layout-e3058a659be66c26.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/setup/page.tsx":{"id":4520,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/login/page.tsx":{"id":1193,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/claude-md/page.tsx":{"id":5474,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/components/sidebar.tsx":{"id":6882,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","138","static/chunks/138-1f2ddea72037c974.js","117","static/chunks/app/(dash)/layout-811aba273cfc2760.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/connectors/page.tsx":{"id":8751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/generate/page.tsx":{"id":5907,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/jobs/[id]/page.tsx":{"id":3541,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/jobs/page.tsx":{"id":2854,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/logs/page.tsx":{"id":2535,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/page.tsx":{"id":3382,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","138","static/chunks/138-1f2ddea72037c974.js","523","static/chunks/app/(dash)/page-3abefdb4e3abdac4.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/skills/page.tsx":{"id":585,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/settings/page.tsx":{"id":2794,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","428","static/chunks/app/(dash)/settings/page-d6d1c9958671a65b.js"],"async":false}},"entryCSSFiles":{"/home/runner/work/prism/prism/web/src/":[],"/home/runner/work/prism/prism/web/src/app/layout":["static/css/27aea81e28f3c17d.css"],"/home/runner/work/prism/prism/web/src/app/(dash)/layout":[],"/home/runner/work/prism/prism/web/src/app/(dash)/page":[],"/home/runner/work/prism/prism/web/src/app/(dash)/settings/page":[]}}
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/(dash)/skills/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"585":{"*":{"id":"7551","name":"*","chunks":[],"async":false}},"1193":{"*":{"id":"4146","name":"*","chunks":[],"async":false}},"1343":{"*":{"id":"4759","name":"*","chunks":[],"async":false}},"2535":{"*":{"id":"7530","name":"*","chunks":[],"async":false}},"2794":{"*":{"id":"7474","name":"*","chunks":[],"async":false}},"2854":{"*":{"id":"4795","name":"*","chunks":[],"async":false}},"3382":{"*":{"id":"1795","name":"*","chunks":[],"async":false}},"3541":{"*":{"id":"1582","name":"*","chunks":[],"async":false}},"4520":{"*":{"id":"4505","name":"*","chunks":[],"async":false}},"5324":{"*":{"id":"1868","name":"*","chunks":[],"async":false}},"5474":{"*":{"id":"2521","name":"*","chunks":[],"async":false}},"5751":{"*":{"id":"2994","name":"*","chunks":[],"async":false}},"5907":{"*":{"id":"9493","name":"*","chunks":[],"async":false}},"6130":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"6513":{"*":{"id":"6114","name":"*","chunks":[],"async":false}},"6882":{"*":{"id":"2727","name":"*","chunks":[],"async":false}},"8751":{"*":{"id":"2646","name":"*","chunks":[],"async":false}},"9275":{"*":{"id":"9671","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/app-router.js":{"id":5751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/app-router.js":{"id":5751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/client-page.js":{"id":6513,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/client-page.js":{"id":6513,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/error-boundary.js":{"id":6130,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":6130,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/layout-router.js":{"id":9275,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9275,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/not-found-boundary.js":{"id":5324,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":5324,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/render-from-template-context.js":{"id":1343,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":1343,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/globals.css":{"id":3054,"name":"*","chunks":["185","static/chunks/app/layout-e3058a659be66c26.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/login/page.tsx":{"id":1193,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/setup/page.tsx":{"id":4520,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/connectors/page.tsx":{"id":8751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/components/sidebar.tsx":{"id":6882,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","138","static/chunks/138-1f2ddea72037c974.js","117","static/chunks/app/(dash)/layout-811aba273cfc2760.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/generate/page.tsx":{"id":5907,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/claude-md/page.tsx":{"id":5474,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/jobs/page.tsx":{"id":2854,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/page.tsx":{"id":3382,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","138","static/chunks/138-1f2ddea72037c974.js","523","static/chunks/app/(dash)/page-3abefdb4e3abdac4.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/settings/page.tsx":{"id":2794,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/skills/page.tsx":{"id":585,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","237","static/chunks/app/(dash)/skills/page-e63123aa3647a703.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/logs/page.tsx":{"id":2535,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/jobs/[id]/page.tsx":{"id":3541,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/prism/prism/web/src/":[],"/home/runner/work/prism/prism/web/src/app/layout":["static/css/27aea81e28f3c17d.css"],"/home/runner/work/prism/prism/web/src/app/(dash)/layout":[],"/home/runner/work/prism/prism/web/src/app/(dash)/page":[],"/home/runner/work/prism/prism/web/src/app/(dash)/skills/page":[]}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/(dash)/skills/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"585":{"*":{"id":"7551","name":"*","chunks":[],"async":false}},"1193":{"*":{"id":"4146","name":"*","chunks":[],"async":false}},"1343":{"*":{"id":"4759","name":"*","chunks":[],"async":false}},"2535":{"*":{"id":"7530","name":"*","chunks":[],"async":false}},"2794":{"*":{"id":"7474","name":"*","chunks":[],"async":false}},"2854":{"*":{"id":"4795","name":"*","chunks":[],"async":false}},"3382":{"*":{"id":"1795","name":"*","chunks":[],"async":false}},"3541":{"*":{"id":"1582","name":"*","chunks":[],"async":false}},"4520":{"*":{"id":"4505","name":"*","chunks":[],"async":false}},"5324":{"*":{"id":"1868","name":"*","chunks":[],"async":false}},"5474":{"*":{"id":"2521","name":"*","chunks":[],"async":false}},"5751":{"*":{"id":"2994","name":"*","chunks":[],"async":false}},"5907":{"*":{"id":"9493","name":"*","chunks":[],"async":false}},"6130":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"6513":{"*":{"id":"6114","name":"*","chunks":[],"async":false}},"6882":{"*":{"id":"2727","name":"*","chunks":[],"async":false}},"8751":{"*":{"id":"2646","name":"*","chunks":[],"async":false}},"9275":{"*":{"id":"9671","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/app-router.js":{"id":5751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/app-router.js":{"id":5751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/client-page.js":{"id":6513,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/client-page.js":{"id":6513,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/error-boundary.js":{"id":6130,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":6130,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/layout-router.js":{"id":9275,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9275,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/not-found-boundary.js":{"id":5324,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":5324,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/render-from-template-context.js":{"id":1343,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":1343,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/globals.css":{"id":3054,"name":"*","chunks":["185","static/chunks/app/layout-e3058a659be66c26.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/setup/page.tsx":{"id":4520,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/login/page.tsx":{"id":1193,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/claude-md/page.tsx":{"id":5474,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/components/sidebar.tsx":{"id":6882,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","138","static/chunks/138-1f2ddea72037c974.js","117","static/chunks/app/(dash)/layout-811aba273cfc2760.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/connectors/page.tsx":{"id":8751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/generate/page.tsx":{"id":5907,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/jobs/[id]/page.tsx":{"id":3541,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/jobs/page.tsx":{"id":2854,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/logs/page.tsx":{"id":2535,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/page.tsx":{"id":3382,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","138","static/chunks/138-1f2ddea72037c974.js","523","static/chunks/app/(dash)/page-3abefdb4e3abdac4.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/skills/page.tsx":{"id":585,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","237","static/chunks/app/(dash)/skills/page-e63123aa3647a703.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/settings/page.tsx":{"id":2794,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/prism/prism/web/src/":[],"/home/runner/work/prism/prism/web/src/app/layout":["static/css/27aea81e28f3c17d.css"],"/home/runner/work/prism/prism/web/src/app/(dash)/layout":[],"/home/runner/work/prism/prism/web/src/app/(dash)/page":[],"/home/runner/work/prism/prism/web/src/app/(dash)/skills/page":[]}}
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/_not-found/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"585":{"*":{"id":"7551","name":"*","chunks":[],"async":false}},"1193":{"*":{"id":"4146","name":"*","chunks":[],"async":false}},"1343":{"*":{"id":"4759","name":"*","chunks":[],"async":false}},"2535":{"*":{"id":"7530","name":"*","chunks":[],"async":false}},"2794":{"*":{"id":"7474","name":"*","chunks":[],"async":false}},"2854":{"*":{"id":"4795","name":"*","chunks":[],"async":false}},"3382":{"*":{"id":"1795","name":"*","chunks":[],"async":false}},"3541":{"*":{"id":"1582","name":"*","chunks":[],"async":false}},"4520":{"*":{"id":"4505","name":"*","chunks":[],"async":false}},"5324":{"*":{"id":"1868","name":"*","chunks":[],"async":false}},"5474":{"*":{"id":"2521","name":"*","chunks":[],"async":false}},"5751":{"*":{"id":"2994","name":"*","chunks":[],"async":false}},"5907":{"*":{"id":"9493","name":"*","chunks":[],"async":false}},"6130":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"6513":{"*":{"id":"6114","name":"*","chunks":[],"async":false}},"6882":{"*":{"id":"2727","name":"*","chunks":[],"async":false}},"8751":{"*":{"id":"2646","name":"*","chunks":[],"async":false}},"9275":{"*":{"id":"9671","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/app-router.js":{"id":5751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/app-router.js":{"id":5751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/client-page.js":{"id":6513,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/client-page.js":{"id":6513,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/error-boundary.js":{"id":6130,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":6130,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/layout-router.js":{"id":9275,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9275,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/not-found-boundary.js":{"id":5324,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":5324,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/render-from-template-context.js":{"id":1343,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":1343,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/globals.css":{"id":3054,"name":"*","chunks":["185","static/chunks/app/layout-e3058a659be66c26.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/login/page.tsx":{"id":1193,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/setup/page.tsx":{"id":4520,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/connectors/page.tsx":{"id":8751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/components/sidebar.tsx":{"id":6882,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","138","static/chunks/138-1f2ddea72037c974.js","117","static/chunks/app/(dash)/layout-811aba273cfc2760.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/generate/page.tsx":{"id":5907,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/claude-md/page.tsx":{"id":5474,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/jobs/page.tsx":{"id":2854,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/page.tsx":{"id":3382,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","138","static/chunks/138-1f2ddea72037c974.js","523","static/chunks/app/(dash)/page-3abefdb4e3abdac4.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/settings/page.tsx":{"id":2794,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/skills/page.tsx":{"id":585,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/logs/page.tsx":{"id":2535,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/jobs/[id]/page.tsx":{"id":3541,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/prism/prism/web/src/":[],"/home/runner/work/prism/prism/web/src/app/layout":["static/css/27aea81e28f3c17d.css"],"/home/runner/work/prism/prism/web/src/app/(dash)/layout":[],"/home/runner/work/prism/prism/web/src/app/(dash)/page":[],"/home/runner/work/prism/prism/web/src/app/_not-found/page":[]}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/_not-found/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"585":{"*":{"id":"7551","name":"*","chunks":[],"async":false}},"1193":{"*":{"id":"4146","name":"*","chunks":[],"async":false}},"1343":{"*":{"id":"4759","name":"*","chunks":[],"async":false}},"2535":{"*":{"id":"7530","name":"*","chunks":[],"async":false}},"2794":{"*":{"id":"7474","name":"*","chunks":[],"async":false}},"2854":{"*":{"id":"4795","name":"*","chunks":[],"async":false}},"3382":{"*":{"id":"1795","name":"*","chunks":[],"async":false}},"3541":{"*":{"id":"1582","name":"*","chunks":[],"async":false}},"4520":{"*":{"id":"4505","name":"*","chunks":[],"async":false}},"5324":{"*":{"id":"1868","name":"*","chunks":[],"async":false}},"5474":{"*":{"id":"2521","name":"*","chunks":[],"async":false}},"5751":{"*":{"id":"2994","name":"*","chunks":[],"async":false}},"5907":{"*":{"id":"9493","name":"*","chunks":[],"async":false}},"6130":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"6513":{"*":{"id":"6114","name":"*","chunks":[],"async":false}},"6882":{"*":{"id":"2727","name":"*","chunks":[],"async":false}},"8751":{"*":{"id":"2646","name":"*","chunks":[],"async":false}},"9275":{"*":{"id":"9671","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/app-router.js":{"id":5751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/app-router.js":{"id":5751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/client-page.js":{"id":6513,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/client-page.js":{"id":6513,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/error-boundary.js":{"id":6130,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":6130,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/layout-router.js":{"id":9275,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9275,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/not-found-boundary.js":{"id":5324,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":5324,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/client/components/render-from-template-context.js":{"id":1343,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":1343,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/globals.css":{"id":3054,"name":"*","chunks":["185","static/chunks/app/layout-e3058a659be66c26.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/setup/page.tsx":{"id":4520,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/login/page.tsx":{"id":1193,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/claude-md/page.tsx":{"id":5474,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/components/sidebar.tsx":{"id":6882,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","138","static/chunks/138-1f2ddea72037c974.js","117","static/chunks/app/(dash)/layout-811aba273cfc2760.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/connectors/page.tsx":{"id":8751,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/generate/page.tsx":{"id":5907,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/jobs/[id]/page.tsx":{"id":3541,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/jobs/page.tsx":{"id":2854,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/logs/page.tsx":{"id":2535,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/page.tsx":{"id":3382,"name":"*","chunks":["502","static/chunks/502-73bc96153ad171ad.js","138","static/chunks/138-1f2ddea72037c974.js","523","static/chunks/app/(dash)/page-3abefdb4e3abdac4.js"],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/skills/page.tsx":{"id":585,"name":"*","chunks":[],"async":false},"/home/runner/work/prism/prism/web/src/app/(dash)/settings/page.tsx":{"id":2794,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/prism/prism/web/src/":[],"/home/runner/work/prism/prism/web/src/app/layout":["static/css/27aea81e28f3c17d.css"],"/home/runner/work/prism/prism/web/src/app/(dash)/layout":[],"/home/runner/work/prism/prism/web/src/app/(dash)/page":[],"/home/runner/work/prism/prism/web/src/app/_not-found/page":[]}}
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/27aea81e28f3c17d.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-1796d5ecd61cbd74.js"/><script src="/_next/static/chunks/fd9d1056-7a5475c63f298b84.js" async=""></script><script src="/_next/static/chunks/23-5e0d0f54bc756891.js" async=""></script><script src="/_next/static/chunks/main-app-cc6be8282c80a1f4.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Prism</title><meta name="description" content="Operate your prism instance from the browser."/><link rel="shortcut icon" href="/favicon.png"/><link rel="icon" href="/favicon.png" type="image/png"/><link rel="apple-touch-icon" href="/favicon.png"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="min-h-screen bg-background text-foreground antialiased"><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><script src="/_next/static/chunks/webpack-1796d5ecd61cbd74.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/27aea81e28f3c17d.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[5751,[],\"\"]\n4:I[9275,[],\"\"]\n5:I[1343,[],\"\"]\nb:I[6130,[],\"\"]\n6:{\"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\"}\n7:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n8:{\"display\":\"inline-block\"}\n9:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nc:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/27aea81e28f3c17d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L2\",null,{\"buildId\":\"SS_jgIWqXX2pp1oaVOjaQ\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/_not-found\",\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"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],null]},[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-background text-foreground antialiased\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$6\",\"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\":\"$7\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$8\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$9\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$La\"],\"globalErrorComponent\":\"$b\",\"missingSlots\":\"$Wc\"}]]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Prism\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Operate your prism instance from the browser.\"}],[\"$\",\"link\",\"4\",{\"rel\":\"shortcut icon\",\"href\":\"/favicon.png\"}],[\"$\",\"link\",\"5\",{\"rel\":\"icon\",\"href\":\"/favicon.png\",\"type\":\"image/png\"}],[\"$\",\"link\",\"6\",{\"rel\":\"apple-touch-icon\",\"href\":\"/favicon.png\"}]]\n3:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/27aea81e28f3c17d.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-1796d5ecd61cbd74.js"/><script src="/_next/static/chunks/fd9d1056-7a5475c63f298b84.js" async=""></script><script src="/_next/static/chunks/23-5e0d0f54bc756891.js" async=""></script><script src="/_next/static/chunks/main-app-cc6be8282c80a1f4.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Prism</title><meta name="description" content="Operate your prism instance from the browser."/><link rel="shortcut icon" href="/favicon.png"/><link rel="icon" href="/favicon.png" type="image/png"/><link rel="apple-touch-icon" href="/favicon.png"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="min-h-screen bg-background text-foreground antialiased"><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><script src="/_next/static/chunks/webpack-1796d5ecd61cbd74.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/27aea81e28f3c17d.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[5751,[],\"\"]\n4:I[9275,[],\"\"]\n5:I[1343,[],\"\"]\nb:I[6130,[],\"\"]\n6:{\"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\"}\n7:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n8:{\"display\":\"inline-block\"}\n9:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nc:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/27aea81e28f3c17d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L2\",null,{\"buildId\":\"B6791orORMZJwrcOvp3G0\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/_not-found\",\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[[\"$\",\"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],null]},[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-background text-foreground antialiased\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$6\",\"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\":\"$7\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$8\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$9\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$La\"],\"globalErrorComponent\":\"$b\",\"missingSlots\":\"$Wc\"}]]\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Prism\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Operate your prism instance from the browser.\"}],[\"$\",\"link\",\"4\",{\"rel\":\"shortcut icon\",\"href\":\"/favicon.png\"}],[\"$\",\"link\",\"5\",{\"rel\":\"icon\",\"href\":\"/favicon.png\",\"type\":\"image/png\"}],[\"$\",\"link\",\"6\",{\"rel\":\"apple-touch-icon\",\"href\":\"/favicon.png\"}]]\n3:null\n"])</script></body></html>
@@ -4,6 +4,6 @@
4
4
  5:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
5
5
  6:{"display":"inline-block"}
6
6
  7:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
7
- 0:["SS_jgIWqXX2pp1oaVOjaQ",[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["/_not-found",{"children":["__PAGE__",{},[["$L1",[["$","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],null]},["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children","/_not-found","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}],null]},[["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"min-h-screen bg-background text-foreground antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$4","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":"$5","children":"404"}],["$","div",null,{"style":"$6","children":["$","h2",null,{"style":"$7","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null],null],[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/27aea81e28f3c17d.css","precedence":"next","crossOrigin":"$undefined"}]],[["$","meta",null,{"name":"robots","content":"noindex"}],"$L8"]]]]]
7
+ 0:["B6791orORMZJwrcOvp3G0",[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["/_not-found",{"children":["__PAGE__",{},[["$L1",[["$","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],null]},["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children","/_not-found","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}],null]},[["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"min-h-screen bg-background text-foreground antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$4","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":"$5","children":"404"}],["$","div",null,{"style":"$6","children":["$","h2",null,{"style":"$7","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null],null],[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/27aea81e28f3c17d.css","precedence":"next","crossOrigin":"$undefined"}]],[["$","meta",null,{"name":"robots","content":"noindex"}],"$L8"]]]]]
8
8
  8:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Prism"}],["$","meta","3",{"name":"description","content":"Operate your prism instance from the browser."}],["$","link","4",{"rel":"shortcut icon","href":"/favicon.png"}],["$","link","5",{"rel":"icon","href":"/favicon.png","type":"image/png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/favicon.png"}]]
9
9
  1:null
@@ -1 +1 @@
1
- (()=>{var e={};e.id=889,e.ids=[889],e.modules={7934:e=>{function t(e){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=7934,e.exports=t},2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6113:e=>{"use strict";e.exports=require("crypto")},7718:e=>{"use strict";e.exports=require("node:child_process")},6005:e=>{"use strict";e.exports=require("node:crypto")},7561:e=>{"use strict";e.exports=require("node:fs")},3977:e=>{"use strict";e.exports=require("node:fs/promises")},612:e=>{"use strict";e.exports=require("node:os")},9411:e=>{"use strict";e.exports=require("node:path")},9030:(e,t,r)=>{"use strict";r.r(t),r.d(t,{originalPathname:()=>j,patchFetch:()=>I,requestAsyncStorage:()=>g,routeModule:()=>v,serverHooks:()=>A,staticGenerationAsyncStorage:()=>x});var n={};r.r(n),r.d(n,{GET:()=>_,POST:()=>h,dynamic:()=>y,runtime:()=>f});var s=r(9303),i=r(8716),a=r(670),o=r(7070),u=r(7718),l=r(7561),c=r(612),d=r(9411),p=r(5456),m=r(5353);let f="nodejs",y="force-dynamic",w=(0,d.join)((0,c.homedir)(),".claude"),S=(0,d.join)(w,"CLAUDE.md");async function _(){if(!await (0,p.MH)("admin"))return o.NextResponse.json({error:"admin required"},{status:403});let e=(0,m.Iu)(),t=e&&(0,l.existsSync)(e)?(0,l.readFileSync)(e,"utf8"):null,r=(0,l.existsSync)(S)?(0,l.readFileSync)(S,"utf8"):null;return o.NextResponse.json({bundled:t,bundled_path:e,installed:r,installed_path:S})}async function h(){if(!await (0,p.MH)("admin"))return o.NextResponse.json({error:"admin required"},{status:403});let e=(0,u.spawn)("prism",["claude-md","install"],{env:process.env}),t="",r="";e.stdout.on("data",e=>t+=e.toString("utf8")),e.stderr.on("data",e=>r+=e.toString("utf8"));let n=await new Promise(t=>{e.on("exit",e=>t(e??-1)),e.on("error",()=>t(-1))});return o.NextResponse.json({ok:0===n,exit_code:n,stdout:t,stderr:r})}let v=new s.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/claude-md/route",pathname:"/api/claude-md",filename:"route",bundlePath:"app/api/claude-md/route"},resolvedPagePath:"/home/runner/work/prism/prism/web/src/app/api/claude-md/route.ts",nextConfigOutput:"standalone",userland:n}),{requestAsyncStorage:g,staticGenerationAsyncStorage:x,serverHooks:A}=v,j="/api/claude-md/route";function I(){return(0,a.patchFetch)({serverHooks:A,staticGenerationAsyncStorage:x})}},5456:(e,t,r)=>{"use strict";r.d(t,{MH:()=>d,Ov:()=>f,Uj:()=>p,Vc:()=>c,c:()=>m,ts:()=>l});var n=r(1615),s=r(9902),i=r(2153);let a=process.env.ASTRY_COOKIE_NAME||"astry_session",o=process.env.ASTRY_AUTH_DOMAIN||void 0;function u(){return process.env.PRISM_DASHBOARD_TOKEN||null}async function l(){let e=(0,n.cookies)().get(a);if(!e)return null;let t=await (0,s.je)(e.value);if(t){let e=await (0,i.GA)(t.user_id);if(e&&!e.disabled)return e}let r=u();return r&&e.value===r?{id:"usr_legacy_admin",email:"admin@legacy",name:"Legacy admin (token)",role:"admin",created_at:new Date(0).toISOString(),created_by:null,last_login_at:null,disabled:!1}:null}async function c(){return l()}async function d(e){let t=await l();return t&&("admin"!==e||"admin"===t.role)?t:null}async function p(e){(0,n.cookies)().set(a,e,{httpOnly:!0,secure:function(){try{let e=(0,n.headers)().get("x-forwarded-proto");return"https"===e}catch{return!1}}(),sameSite:"lax",maxAge:5184e3,path:"/",...o?{domain:o}:{}})}async function m(e){let t=u();return!!t&&e===t&&(await p(e),!0)}async function f(){let e=(0,n.cookies)().get(a);return(0,n.cookies)().delete(a),e?.value??null}},5353:(e,t,r)=>{"use strict";r.d(t,{Fx:()=>f,Iu:()=>y,ym:()=>d,gn:()=>m});var n=r(7718),s=r(7561),i=r(9411);let a=require("node:util"),o="@martin0309205/prism",u=`https://registry.npmjs.org/${encodeURIComponent(o)}/latest`,l=(0,a.promisify)(n.execFile),c=null;async function d(){try{let{stdout:e}=await l("prism",["--version"],{timeout:5e3}),t=e.trim().split(/\s+/).pop()?.replace(/^v/,"")??"";if(/^\d+\.\d+\.\d+/.test(t))return t}catch{}return function(){let e=process.cwd();for(let t=0;t<8;t+=1){let t=(0,i.join)(e,"node_modules","@martin0309205","prism","package.json");if((0,s.existsSync)(t))try{let e=JSON.parse(s.readFileSync(t,"utf8"))?.version;if("string"==typeof e)return e}catch{}let r=(0,i.resolve)(e,"..");if(r===e)break;e=r}return null}()}async function p(){if(c&&Date.now()-c.ts<6e4)return c.version;try{let e=await fetch(u,{cache:"no-store"});if(!e.ok)return null;let t=await e.json();if("string"!=typeof t?.version)return null;return c={version:t.version,ts:Date.now()},t.version}catch{return null}}async function m(){let[e,t]=await Promise.all([d(),p()]),r=!!(e&&t&&function(e,t){let r=e.split(".").map(e=>Number(e.replace(/[^0-9].*/,"")||0)),n=t.split(".").map(e=>Number(e.replace(/[^0-9].*/,"")||0));for(let e=0;e<3;e+=1){let t=r[e]??0,s=n[e]??0;if(t!==s)return t-s}return 0}(t,e)>0);return{installed:e,latest:t,upgrade_available:r,name:o}}let f=o;function y(){try{let e=r(7934).resolve(`${o}/package.json`),t=(0,i.join)((0,i.dirname)(e),"assets","claude-md","CLAUDE.md");if((0,s.existsSync)(t))return t}catch{}let e=process.cwd();for(let t=0;t<8;t+=1){let t=(0,i.join)(e,"node_modules","@martin0309205","prism","assets","claude-md","CLAUDE.md");if((0,s.existsSync)(t))return t;let r=(0,i.resolve)(e,"..");if(r===e)break;e=r}return null}},9902:(e,t,r)=>{"use strict";r.d(t,{ed:()=>p,je:()=>m,w$:()=>f});var n=r(7561),s=r(3977),i=r(9411),a=r(6005),o=r(2153);function u(){let e=process.env.ASTRY_SESSIONS_PATH;if(e){let t=(0,i.dirname)(e);return(0,n.existsSync)(t)||(0,n.mkdirSync)(t,{recursive:!0}),e}let t=process.env.PRISM_INSTANCE_DIR;if(!t)throw Error("PRISM_INSTANCE_DIR or ASTRY_SESSIONS_PATH must be set");let r=(0,i.join)(t,"data");return(0,n.existsSync)(r)||(0,n.mkdirSync)(r,{recursive:!0}),(0,i.join)(r,"sessions.json")}function l(e){return(0,a.createHash)("sha256").update(e,"utf8").digest("hex")}async function c(){let e=u();if(!(0,n.existsSync)(e))return{version:1,sessions:[]};try{let t=await (0,s.readFile)(e,"utf8"),r=JSON.parse(t);if(r?.version!==1||!Array.isArray(r.sessions))return{version:1,sessions:[]};return r}catch{return{version:1,sessions:[]}}}async function d(e){let t=u();(0,n.mkdirSync)((0,i.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,s.writeFile)(r,JSON.stringify(e,null,2),{mode:384}),await (0,s.rename)(r,t)}async function p(e){let{session_lifetime_days:t}=await (0,o.Gw)(),r=(0,a.randomBytes)(32).toString("base64url"),n=new Date,s=new Date(n.getTime()+864e5*t),i={id:"sess_"+(0,a.randomBytes)(8).toString("base64url"),token_hash:l(r),user_id:e.user_id,created_at:n.toISOString(),expires_at:s.toISOString(),last_used_at:n.toISOString(),ip:e.ip??null,user_agent:e.user_agent??null},u=await c();return u.sessions=function(e){let t=Date.now();return e.filter(e=>new Date(e.expires_at).getTime()>t)}(u.sessions),u.sessions.push(i),await d(u),{token:r,session:i}}async function m(e){if(!e)return null;let t=l(e),r=await c(),n=r.sessions.find(e=>e.token_hash===t);return!n||new Date(n.expires_at).getTime()<Date.now()?null:(n.last_used_at=new Date().toISOString(),d(r).catch(()=>{}),n)}async function f(e){let t=l(e),r=await c(),n=r.sessions.length;return r.sessions=r.sessions.filter(e=>e.token_hash!==t),r.sessions.length!==n&&(await d(r),!0)}},2153:(e,t,r)=>{"use strict";r.d(t,{Cf:()=>g,GA:()=>y,Gv:()=>v,Gw:()=>S,Re:()=>_,r4:()=>h,ve:()=>f});var n=r(7561),s=r(3977),i=r(9411),a=r(6005),o=r(2023),u=r.n(o);function l(){let e=process.env.ASTRY_USERS_PATH;if(e){let t=(0,i.dirname)(e);return(0,n.existsSync)(t)||(0,n.mkdirSync)(t,{recursive:!0}),e}let t=process.env.PRISM_INSTANCE_DIR;if(!t)throw Error("PRISM_INSTANCE_DIR or ASTRY_USERS_PATH must be set");let r=(0,i.join)(t,"config");return(0,n.existsSync)(r)||(0,n.mkdirSync)(r,{recursive:!0}),(0,i.join)(r,"users.json")}async function c(){let e=l();if(!(0,n.existsSync)(e))return{version:1,users:[]};try{let t=await (0,s.readFile)(e,"utf8"),r=JSON.parse(t);if(r?.version!==1||!Array.isArray(r.users))return{version:1,users:[]};return r}catch{return{version:1,users:[]}}}async function d(e){let t=l();(0,n.mkdirSync)((0,i.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,s.writeFile)(r,JSON.stringify(e,null,2),{mode:384}),await (0,s.rename)(r,t)}function p(e){let{password_hash:t,...r}=e;return r}function m(e){return e.trim().toLowerCase()}async function f(){return(await c()).users.filter(e=>!e.disabled).length}async function y(e){let t=(await c()).users.find(t=>t.id===e);return t?p(t):null}async function w(e){let t=await c(),r=m(e);return t.users.find(e=>e.email===r)??null}async function S(){let e=await c();return{session_lifetime_days:e.settings?.session_lifetime_days??30}}async function _(e){let t=await c();if(!Number.isFinite(e)||e<1||e>365)throw Error("session_lifetime_days must be 1-365");t.settings={...t.settings??{},session_lifetime_days:Math.round(e)},await d(t)}async function h(e){let t=await c(),r=m(e.email);if(!r.includes("@"))throw Error("invalid email");if(e.password.length<8)throw Error("password must be at least 8 characters");if(t.users.find(e=>e.email===r))throw Error("email already exists");let n={id:"usr_"+(0,a.randomBytes)(8).toString("base64url"),email:r,name:e.name.trim()||r,password_hash:await u().hash(e.password,12),role:e.role,created_at:new Date().toISOString(),created_by:e.created_by,last_login_at:null,disabled:!1};return t.users.push(n),await d(t),p(n)}async function v(e,t){let r=await w(e);return!r||r.disabled?null:await u().compare(t,r.password_hash)?r:null}async function g(e){let t=await c(),r=t.users.find(t=>t.id===e);r&&(r.last_login_at=new Date().toISOString(),await d(t))}}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[948,277,70],()=>r(9030));module.exports=n})();
1
+ (()=>{var e={};e.id=889,e.ids=[889],e.modules={7934:e=>{function t(e){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=7934,e.exports=t},2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6113:e=>{"use strict";e.exports=require("crypto")},7718:e=>{"use strict";e.exports=require("node:child_process")},6005:e=>{"use strict";e.exports=require("node:crypto")},7561:e=>{"use strict";e.exports=require("node:fs")},3977:e=>{"use strict";e.exports=require("node:fs/promises")},612:e=>{"use strict";e.exports=require("node:os")},9411:e=>{"use strict";e.exports=require("node:path")},9030:(e,t,r)=>{"use strict";r.r(t),r.d(t,{originalPathname:()=>j,patchFetch:()=>I,requestAsyncStorage:()=>g,routeModule:()=>v,serverHooks:()=>A,staticGenerationAsyncStorage:()=>x});var n={};r.r(n),r.d(n,{GET:()=>_,POST:()=>h,dynamic:()=>y,runtime:()=>f});var s=r(9303),i=r(8716),a=r(670),o=r(7070),u=r(7718),l=r(7561),c=r(612),d=r(9411),p=r(5456),m=r(5353);let f="nodejs",y="force-dynamic",w=(0,d.join)((0,c.homedir)(),".claude"),S=(0,d.join)(w,"CLAUDE.md");async function _(){if(!await (0,p.MH)("admin"))return o.NextResponse.json({error:"admin required"},{status:403});let e=(0,m.Iu)(),t=e&&(0,l.existsSync)(e)?(0,l.readFileSync)(e,"utf8"):null,r=(0,l.existsSync)(S)?(0,l.readFileSync)(S,"utf8"):null;return o.NextResponse.json({bundled:t,bundled_path:e,installed:r,installed_path:S})}async function h(){if(!await (0,p.MH)("admin"))return o.NextResponse.json({error:"admin required"},{status:403});let e=(0,u.spawn)("prism",["claude-md","install"],{env:process.env}),t="",r="";e.stdout.on("data",e=>t+=e.toString("utf8")),e.stderr.on("data",e=>r+=e.toString("utf8"));let n=await new Promise(t=>{e.on("exit",e=>t(e??-1)),e.on("error",()=>t(-1))});return o.NextResponse.json({ok:0===n,exit_code:n,stdout:t,stderr:r})}let v=new s.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/claude-md/route",pathname:"/api/claude-md",filename:"route",bundlePath:"app/api/claude-md/route"},resolvedPagePath:"/home/runner/work/prism/prism/web/src/app/api/claude-md/route.ts",nextConfigOutput:"standalone",userland:n}),{requestAsyncStorage:g,staticGenerationAsyncStorage:x,serverHooks:A}=v,j="/api/claude-md/route";function I(){return(0,a.patchFetch)({serverHooks:A,staticGenerationAsyncStorage:x})}},5456:(e,t,r)=>{"use strict";r.d(t,{MH:()=>d,Ov:()=>f,Uj:()=>p,Vc:()=>c,c:()=>m,ts:()=>l});var n=r(1615),s=r(9902),i=r(2153);let a=process.env.ASTRY_COOKIE_NAME||"astry_session",o=process.env.ASTRY_AUTH_DOMAIN||void 0;function u(){return process.env.PRISM_DASHBOARD_TOKEN||null}async function l(){let e=(0,n.cookies)().get(a);if(!e)return null;let t=await (0,s.je)(e.value);if(t){let e=await (0,i.GA)(t.user_id);if(e&&!e.disabled)return e}let r=u();return r&&e.value===r?{id:"usr_legacy_admin",email:"admin@legacy",name:"Legacy admin (token)",role:"admin",created_at:new Date(0).toISOString(),created_by:null,last_login_at:null,disabled:!1}:null}async function c(){return l()}async function d(e){let t=await l();return t&&("admin"!==e||"admin"===t.role)?t:null}async function p(e){(0,n.cookies)().set(a,e,{httpOnly:!0,secure:function(){try{let e=(0,n.headers)().get("x-forwarded-proto");return"https"===e}catch{return!1}}(),sameSite:"lax",maxAge:5184e3,path:"/",...o?{domain:o}:{}})}async function m(e){let t=u();return!!t&&e===t&&(await p(e),!0)}async function f(){let e=(0,n.cookies)().get(a);return(0,n.cookies)().delete(a),e?.value??null}},5353:(e,t,r)=>{"use strict";r.d(t,{Iu:()=>f,ym:()=>d,gn:()=>m});var n=r(7718),s=r(7561),i=r(9411);let a=require("node:util"),o="@martin0309205/prism",u=`https://registry.npmjs.org/${encodeURIComponent(o)}/latest`,l=(0,a.promisify)(n.execFile),c=null;async function d(){try{let{stdout:e}=await l("prism",["--version"],{timeout:5e3}),t=e.trim().split(/\s+/).pop()?.replace(/^v/,"")??"";if(/^\d+\.\d+\.\d+/.test(t))return t}catch{}return function(){let e=process.cwd();for(let t=0;t<8;t+=1){let t=(0,i.join)(e,"node_modules","@martin0309205","prism","package.json");if((0,s.existsSync)(t))try{let e=JSON.parse(s.readFileSync(t,"utf8"))?.version;if("string"==typeof e)return e}catch{}let r=(0,i.resolve)(e,"..");if(r===e)break;e=r}return null}()}async function p(){if(c&&Date.now()-c.ts<6e4)return c.version;try{let e=await fetch(u,{cache:"no-store"});if(!e.ok)return null;let t=await e.json();if("string"!=typeof t?.version)return null;return c={version:t.version,ts:Date.now()},t.version}catch{return null}}async function m(){let[e,t]=await Promise.all([d(),p()]),r=!!(e&&t&&function(e,t){let r=e.split(".").map(e=>Number(e.replace(/[^0-9].*/,"")||0)),n=t.split(".").map(e=>Number(e.replace(/[^0-9].*/,"")||0));for(let e=0;e<3;e+=1){let t=r[e]??0,s=n[e]??0;if(t!==s)return t-s}return 0}(t,e)>0);return{installed:e,latest:t,upgrade_available:r,name:o}}function f(){try{let e=r(7934).resolve(`${o}/package.json`),t=(0,i.join)((0,i.dirname)(e),"assets","claude-md","CLAUDE.md");if((0,s.existsSync)(t))return t}catch{}let e=process.cwd();for(let t=0;t<8;t+=1){let t=(0,i.join)(e,"node_modules","@martin0309205","prism","assets","claude-md","CLAUDE.md");if((0,s.existsSync)(t))return t;let r=(0,i.resolve)(e,"..");if(r===e)break;e=r}return null}},9902:(e,t,r)=>{"use strict";r.d(t,{ed:()=>p,je:()=>m,w$:()=>f});var n=r(7561),s=r(3977),i=r(9411),a=r(6005),o=r(2153);function u(){let e=process.env.ASTRY_SESSIONS_PATH;if(e){let t=(0,i.dirname)(e);return(0,n.existsSync)(t)||(0,n.mkdirSync)(t,{recursive:!0}),e}let t=process.env.PRISM_INSTANCE_DIR;if(!t)throw Error("PRISM_INSTANCE_DIR or ASTRY_SESSIONS_PATH must be set");let r=(0,i.join)(t,"data");return(0,n.existsSync)(r)||(0,n.mkdirSync)(r,{recursive:!0}),(0,i.join)(r,"sessions.json")}function l(e){return(0,a.createHash)("sha256").update(e,"utf8").digest("hex")}async function c(){let e=u();if(!(0,n.existsSync)(e))return{version:1,sessions:[]};try{let t=await (0,s.readFile)(e,"utf8"),r=JSON.parse(t);if(r?.version!==1||!Array.isArray(r.sessions))return{version:1,sessions:[]};return r}catch{return{version:1,sessions:[]}}}async function d(e){let t=u();(0,n.mkdirSync)((0,i.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,s.writeFile)(r,JSON.stringify(e,null,2),{mode:384}),await (0,s.rename)(r,t)}async function p(e){let{session_lifetime_days:t}=await (0,o.Gw)(),r=(0,a.randomBytes)(32).toString("base64url"),n=new Date,s=new Date(n.getTime()+864e5*t),i={id:"sess_"+(0,a.randomBytes)(8).toString("base64url"),token_hash:l(r),user_id:e.user_id,created_at:n.toISOString(),expires_at:s.toISOString(),last_used_at:n.toISOString(),ip:e.ip??null,user_agent:e.user_agent??null},u=await c();return u.sessions=function(e){let t=Date.now();return e.filter(e=>new Date(e.expires_at).getTime()>t)}(u.sessions),u.sessions.push(i),await d(u),{token:r,session:i}}async function m(e){if(!e)return null;let t=l(e),r=await c(),n=r.sessions.find(e=>e.token_hash===t);return!n||new Date(n.expires_at).getTime()<Date.now()?null:(n.last_used_at=new Date().toISOString(),d(r).catch(()=>{}),n)}async function f(e){let t=l(e),r=await c(),n=r.sessions.length;return r.sessions=r.sessions.filter(e=>e.token_hash!==t),r.sessions.length!==n&&(await d(r),!0)}},2153:(e,t,r)=>{"use strict";r.d(t,{Cf:()=>g,GA:()=>y,Gv:()=>v,Gw:()=>S,Re:()=>_,r4:()=>h,ve:()=>f});var n=r(7561),s=r(3977),i=r(9411),a=r(6005),o=r(2023),u=r.n(o);function l(){let e=process.env.ASTRY_USERS_PATH;if(e){let t=(0,i.dirname)(e);return(0,n.existsSync)(t)||(0,n.mkdirSync)(t,{recursive:!0}),e}let t=process.env.PRISM_INSTANCE_DIR;if(!t)throw Error("PRISM_INSTANCE_DIR or ASTRY_USERS_PATH must be set");let r=(0,i.join)(t,"config");return(0,n.existsSync)(r)||(0,n.mkdirSync)(r,{recursive:!0}),(0,i.join)(r,"users.json")}async function c(){let e=l();if(!(0,n.existsSync)(e))return{version:1,users:[]};try{let t=await (0,s.readFile)(e,"utf8"),r=JSON.parse(t);if(r?.version!==1||!Array.isArray(r.users))return{version:1,users:[]};return r}catch{return{version:1,users:[]}}}async function d(e){let t=l();(0,n.mkdirSync)((0,i.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,s.writeFile)(r,JSON.stringify(e,null,2),{mode:384}),await (0,s.rename)(r,t)}function p(e){let{password_hash:t,...r}=e;return r}function m(e){return e.trim().toLowerCase()}async function f(){return(await c()).users.filter(e=>!e.disabled).length}async function y(e){let t=(await c()).users.find(t=>t.id===e);return t?p(t):null}async function w(e){let t=await c(),r=m(e);return t.users.find(e=>e.email===r)??null}async function S(){let e=await c();return{session_lifetime_days:e.settings?.session_lifetime_days??30}}async function _(e){let t=await c();if(!Number.isFinite(e)||e<1||e>365)throw Error("session_lifetime_days must be 1-365");t.settings={...t.settings??{},session_lifetime_days:Math.round(e)},await d(t)}async function h(e){let t=await c(),r=m(e.email);if(!r.includes("@"))throw Error("invalid email");if(e.password.length<8)throw Error("password must be at least 8 characters");if(t.users.find(e=>e.email===r))throw Error("email already exists");let n={id:"usr_"+(0,a.randomBytes)(8).toString("base64url"),email:r,name:e.name.trim()||r,password_hash:await u().hash(e.password,12),role:e.role,created_at:new Date().toISOString(),created_by:e.created_by,last_login_at:null,disabled:!1};return t.users.push(n),await d(t),p(n)}async function v(e,t){let r=await w(e);return!r||r.disabled?null:await u().compare(t,r.password_hash)?r:null}async function g(e){let t=await c(),r=t.users.find(t=>t.id===e);r&&(r.last_login_at=new Date().toISOString(),await d(t))}}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[948,277,70],()=>r(9030));module.exports=n})();
@@ -1 +1 @@
1
- (()=>{var e={};e.id=579,e.ids=[579],e.modules={7934:e=>{function t(e){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=7934,e.exports=t},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},4300:e=>{"use strict";e.exports=require("buffer")},7718:e=>{"use strict";e.exports=require("node:child_process")},7561:e=>{"use strict";e.exports=require("node:fs")},3977:e=>{"use strict";e.exports=require("node:fs/promises")},612:e=>{"use strict";e.exports=require("node:os")},9411:e=>{"use strict";e.exports=require("node:path")},7282:e=>{"use strict";e.exports=require("process")},9356:(e,t,r)=>{"use strict";r.r(t),r.d(t,{originalPathname:()=>v,patchFetch:()=>x,requestAsyncStorage:()=>h,routeModule:()=>m,serverHooks:()=>g,staticGenerationAsyncStorage:()=>y});var n={};r.r(n),r.d(n,{GET:()=>d,dynamic:()=>p,runtime:()=>c});var i=r(9303),s=r(8716),o=r(670),a=r(7070),l=r(9903),u=r(5353);let c="nodejs",p="force-dynamic",f=Date.now();async function d(){let e=await (0,l.ME)().catch(()=>null),t=await (0,u.ym)().catch(()=>null);return a.NextResponse.json({ok:!0,name:"prism",version:t??null,instance:e?.instance??(0,l.Vc)(),uptime_s:Math.floor((Date.now()-f)/1e3),surfaces:{slack:e?.surfaces?.slack?.enabled??!1,http:e?.surfaces?.http?.enabled??!1,cli:e?.surfaces?.cli?.enabled??!1,web:!0}})}let m=new i.AppRouteRouteModule({definition:{kind:s.x.APP_ROUTE,page:"/api/healthz/route",pathname:"/api/healthz",filename:"route",bundlePath:"app/api/healthz/route"},resolvedPagePath:"/home/runner/work/prism/prism/web/src/app/api/healthz/route.ts",nextConfigOutput:"standalone",userland:n}),{requestAsyncStorage:h,staticGenerationAsyncStorage:y,serverHooks:g}=m,v="/api/healthz/route";function x(){return(0,o.patchFetch)({serverHooks:g,staticGenerationAsyncStorage:y})}},9925:e=>{"use strict";var t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,s={};function o(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function a(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,i]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=i?i:"true"))}catch{}}return t}function l(e){var t,r;if(!e)return;let[[n,i],...s]=a(e),{domain:o,expires:l,httponly:p,maxage:f,path:d,samesite:m,secure:h,partitioned:y,priority:g}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase(),t]));return function(e){let t={};for(let r in e)e[r]&&(t[r]=e[r]);return t}({name:n,value:decodeURIComponent(i),domain:o,...l&&{expires:new Date(l)},...p&&{httpOnly:!0},..."string"==typeof f&&{maxAge:Number(f)},path:d,...m&&{sameSite:u.includes(t=(t=m).toLowerCase())?t:void 0},...h&&{secure:!0},...g&&{priority:c.includes(r=(r=g).toLowerCase())?r:void 0},...y&&{partitioned:!0}})}((e,r)=>{for(var n in r)t(e,n,{get:r[n],enumerable:!0})})(s,{RequestCookies:()=>p,ResponseCookies:()=>f,parseCookie:()=>a,parseSetCookie:()=>l,stringifyCookie:()=>o}),e.exports=((e,s,o,a)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let o of n(s))i.call(e,o)||void 0===o||t(e,o,{get:()=>s[o],enumerable:!(a=r(s,o))||a.enumerable});return e})(t({},"__esModule",{value:!0}),s);var u=["strict","lax","none"],c=["low","medium","high"],p=class{constructor(e){this._parsed=new Map,this._headers=e;let t=e.get("cookie");if(t)for(let[e,r]of a(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>o(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>o(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},f=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;let i=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(let e of Array.isArray(i)?i:function(e){if(!e)return[];var t,r,n,i,s,o=[],a=0;function l(){for(;a<e.length&&/\s/.test(e.charAt(a));)a+=1;return a<e.length}for(;a<e.length;){for(t=a,s=!1;l();)if(","===(r=e.charAt(a))){for(n=a,a+=1,l(),i=a;a<e.length&&"="!==(r=e.charAt(a))&&";"!==r&&","!==r;)a+=1;a<e.length&&"="===e.charAt(a)?(s=!0,a=i,o.push(e.substring(t,n)),t=a):a=n+1}else a+=1;(!s||a>=e.length)&&o.push(e.substring(t,e.length))}return o}(i)){let t=l(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,i=this._parsed;return i.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=o(r);t.append("set-cookie",e)}}(i,this._headers),this}delete(...e){let[t,r,n]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0].path,e[0].domain];return this.set({name:t,path:r,domain:n,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(o).join("; ")}}},9303:(e,t,r)=>{"use strict";e.exports=r(517)},2044:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RequestCookies:function(){return n.RequestCookies},ResponseCookies:function(){return n.ResponseCookies}});let n=r(9925)},5353:(e,t,r)=>{"use strict";r.d(t,{Fx:()=>m,Iu:()=>h,ym:()=>p,gn:()=>d});var n=r(7718),i=r(7561),s=r(9411);let o=require("node:util"),a="@martin0309205/prism",l=`https://registry.npmjs.org/${encodeURIComponent(a)}/latest`,u=(0,o.promisify)(n.execFile),c=null;async function p(){try{let{stdout:e}=await u("prism",["--version"],{timeout:5e3}),t=e.trim().split(/\s+/).pop()?.replace(/^v/,"")??"";if(/^\d+\.\d+\.\d+/.test(t))return t}catch{}return function(){let e=process.cwd();for(let t=0;t<8;t+=1){let t=(0,s.join)(e,"node_modules","@martin0309205","prism","package.json");if((0,i.existsSync)(t))try{let e=JSON.parse(i.readFileSync(t,"utf8"))?.version;if("string"==typeof e)return e}catch{}let r=(0,s.resolve)(e,"..");if(r===e)break;e=r}return null}()}async function f(){if(c&&Date.now()-c.ts<6e4)return c.version;try{let e=await fetch(l,{cache:"no-store"});if(!e.ok)return null;let t=await e.json();if("string"!=typeof t?.version)return null;return c={version:t.version,ts:Date.now()},t.version}catch{return null}}async function d(){let[e,t]=await Promise.all([p(),f()]),r=!!(e&&t&&function(e,t){let r=e.split(".").map(e=>Number(e.replace(/[^0-9].*/,"")||0)),n=t.split(".").map(e=>Number(e.replace(/[^0-9].*/,"")||0));for(let e=0;e<3;e+=1){let t=r[e]??0,i=n[e]??0;if(t!==i)return t-i}return 0}(t,e)>0);return{installed:e,latest:t,upgrade_available:r,name:a}}let m=a;function h(){try{let e=r(7934).resolve(`${a}/package.json`),t=(0,s.join)((0,s.dirname)(e),"assets","claude-md","CLAUDE.md");if((0,i.existsSync)(t))return t}catch{}let e=process.cwd();for(let t=0;t<8;t+=1){let t=(0,s.join)(e,"node_modules","@martin0309205","prism","assets","claude-md","CLAUDE.md");if((0,i.existsSync)(t))return t;let r=(0,s.resolve)(e,"..");if(r===e)break;e=r}return null}},9903:(e,t,r)=>{"use strict";r.d(t,{Kp:()=>u,ME:()=>p,Oh:()=>f,Vc:()=>l,hL:()=>d});var n=r(7561),i=r(3977),s=r(9411),o=r(612),a=r(9262);function l(){return process.env.PRISM_INSTANCE||"default"}function u(){return process.env.PRISM_INSTANCE_DIR||(0,s.join)((0,o.homedir)(),".prism","instances",l())}function c(){return(0,s.join)(u(),"config.yaml")}async function p(){let e={instance:l(),surfaces:{slack:{enabled:!1,allowlist_channels:[]},http:{enabled:!0,bind:"127.0.0.1",port:18790},cli:{enabled:!0}},claude:{bin:"claude",timeout_ms:6e5,workdir_root:"/tmp"},artifacts:{retention_days:7},logging:{level:"info",decision_log:!0}},t=c();if(!(0,n.existsSync)(t))return e;try{let r=await (0,i.readFile)(t,"utf8"),n=a.parse(r);if(!n)return e;return function e(t,r){if(null==r)return t;if("object"!=typeof t||"object"!=typeof r)return r??t;let n={...t};for(let[i,s]of Object.entries(r)){if(null==s)continue;let r=t[i];"object"!=typeof r||null===r||Array.isArray(r)||"object"!=typeof s||Array.isArray(s)?n[i]=s:n[i]=e(r,s)}return n}(e,n)}catch{return e}}async function f(e){let t=c();(0,n.mkdirSync)((0,s.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,i.writeFile)(r,a.stringify(e)),await (0,i.rename)(r,t)}async function d(){let e=(0,s.join)(u(),".env");if(!(0,n.existsSync)(e))return{raw:"",parsed:{}};let t=await (0,i.readFile)(e,"utf8"),r={};for(let e of t.split(/\r?\n/)){let t=e.trim();if(!t||t.startsWith("#"))continue;let n=t.indexOf("=");if(n<0)continue;let i=t.slice(0,n).trim(),s=t.slice(n+1).trim();(s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'"))&&(s=s.slice(1,-1)),r[i]=s}return{raw:t,parsed:r}}}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[948,70,262],()=>r(9356));module.exports=n})();
1
+ (()=>{var e={};e.id=579,e.ids=[579],e.modules={7934:e=>{function t(e){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=7934,e.exports=t},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},4300:e=>{"use strict";e.exports=require("buffer")},7718:e=>{"use strict";e.exports=require("node:child_process")},7561:e=>{"use strict";e.exports=require("node:fs")},3977:e=>{"use strict";e.exports=require("node:fs/promises")},612:e=>{"use strict";e.exports=require("node:os")},9411:e=>{"use strict";e.exports=require("node:path")},7282:e=>{"use strict";e.exports=require("process")},9356:(e,t,r)=>{"use strict";r.r(t),r.d(t,{originalPathname:()=>v,patchFetch:()=>x,requestAsyncStorage:()=>h,routeModule:()=>m,serverHooks:()=>g,staticGenerationAsyncStorage:()=>y});var n={};r.r(n),r.d(n,{GET:()=>d,dynamic:()=>p,runtime:()=>c});var i=r(9303),s=r(8716),o=r(670),a=r(7070),l=r(9903),u=r(5353);let c="nodejs",p="force-dynamic",f=Date.now();async function d(){let e=await (0,l.ME)().catch(()=>null),t=await (0,u.ym)().catch(()=>null);return a.NextResponse.json({ok:!0,name:"prism",version:t??null,instance:e?.instance??(0,l.Vc)(),uptime_s:Math.floor((Date.now()-f)/1e3),surfaces:{slack:e?.surfaces?.slack?.enabled??!1,http:e?.surfaces?.http?.enabled??!1,cli:e?.surfaces?.cli?.enabled??!1,web:!0}})}let m=new i.AppRouteRouteModule({definition:{kind:s.x.APP_ROUTE,page:"/api/healthz/route",pathname:"/api/healthz",filename:"route",bundlePath:"app/api/healthz/route"},resolvedPagePath:"/home/runner/work/prism/prism/web/src/app/api/healthz/route.ts",nextConfigOutput:"standalone",userland:n}),{requestAsyncStorage:h,staticGenerationAsyncStorage:y,serverHooks:g}=m,v="/api/healthz/route";function x(){return(0,o.patchFetch)({serverHooks:g,staticGenerationAsyncStorage:y})}},9925:e=>{"use strict";var t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,s={};function o(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function a(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,i]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=i?i:"true"))}catch{}}return t}function l(e){var t,r;if(!e)return;let[[n,i],...s]=a(e),{domain:o,expires:l,httponly:p,maxage:f,path:d,samesite:m,secure:h,partitioned:y,priority:g}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase(),t]));return function(e){let t={};for(let r in e)e[r]&&(t[r]=e[r]);return t}({name:n,value:decodeURIComponent(i),domain:o,...l&&{expires:new Date(l)},...p&&{httpOnly:!0},..."string"==typeof f&&{maxAge:Number(f)},path:d,...m&&{sameSite:u.includes(t=(t=m).toLowerCase())?t:void 0},...h&&{secure:!0},...g&&{priority:c.includes(r=(r=g).toLowerCase())?r:void 0},...y&&{partitioned:!0}})}((e,r)=>{for(var n in r)t(e,n,{get:r[n],enumerable:!0})})(s,{RequestCookies:()=>p,ResponseCookies:()=>f,parseCookie:()=>a,parseSetCookie:()=>l,stringifyCookie:()=>o}),e.exports=((e,s,o,a)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let o of n(s))i.call(e,o)||void 0===o||t(e,o,{get:()=>s[o],enumerable:!(a=r(s,o))||a.enumerable});return e})(t({},"__esModule",{value:!0}),s);var u=["strict","lax","none"],c=["low","medium","high"],p=class{constructor(e){this._parsed=new Map,this._headers=e;let t=e.get("cookie");if(t)for(let[e,r]of a(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>o(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>o(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},f=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;let i=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(let e of Array.isArray(i)?i:function(e){if(!e)return[];var t,r,n,i,s,o=[],a=0;function l(){for(;a<e.length&&/\s/.test(e.charAt(a));)a+=1;return a<e.length}for(;a<e.length;){for(t=a,s=!1;l();)if(","===(r=e.charAt(a))){for(n=a,a+=1,l(),i=a;a<e.length&&"="!==(r=e.charAt(a))&&";"!==r&&","!==r;)a+=1;a<e.length&&"="===e.charAt(a)?(s=!0,a=i,o.push(e.substring(t,n)),t=a):a=n+1}else a+=1;(!s||a>=e.length)&&o.push(e.substring(t,e.length))}return o}(i)){let t=l(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,i=this._parsed;return i.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=o(r);t.append("set-cookie",e)}}(i,this._headers),this}delete(...e){let[t,r,n]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0].path,e[0].domain];return this.set({name:t,path:r,domain:n,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(o).join("; ")}}},9303:(e,t,r)=>{"use strict";e.exports=r(517)},2044:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RequestCookies:function(){return n.RequestCookies},ResponseCookies:function(){return n.ResponseCookies}});let n=r(9925)},5353:(e,t,r)=>{"use strict";r.d(t,{Iu:()=>m,ym:()=>p,gn:()=>d});var n=r(7718),i=r(7561),s=r(9411);let o=require("node:util"),a="@martin0309205/prism",l=`https://registry.npmjs.org/${encodeURIComponent(a)}/latest`,u=(0,o.promisify)(n.execFile),c=null;async function p(){try{let{stdout:e}=await u("prism",["--version"],{timeout:5e3}),t=e.trim().split(/\s+/).pop()?.replace(/^v/,"")??"";if(/^\d+\.\d+\.\d+/.test(t))return t}catch{}return function(){let e=process.cwd();for(let t=0;t<8;t+=1){let t=(0,s.join)(e,"node_modules","@martin0309205","prism","package.json");if((0,i.existsSync)(t))try{let e=JSON.parse(i.readFileSync(t,"utf8"))?.version;if("string"==typeof e)return e}catch{}let r=(0,s.resolve)(e,"..");if(r===e)break;e=r}return null}()}async function f(){if(c&&Date.now()-c.ts<6e4)return c.version;try{let e=await fetch(l,{cache:"no-store"});if(!e.ok)return null;let t=await e.json();if("string"!=typeof t?.version)return null;return c={version:t.version,ts:Date.now()},t.version}catch{return null}}async function d(){let[e,t]=await Promise.all([p(),f()]),r=!!(e&&t&&function(e,t){let r=e.split(".").map(e=>Number(e.replace(/[^0-9].*/,"")||0)),n=t.split(".").map(e=>Number(e.replace(/[^0-9].*/,"")||0));for(let e=0;e<3;e+=1){let t=r[e]??0,i=n[e]??0;if(t!==i)return t-i}return 0}(t,e)>0);return{installed:e,latest:t,upgrade_available:r,name:a}}function m(){try{let e=r(7934).resolve(`${a}/package.json`),t=(0,s.join)((0,s.dirname)(e),"assets","claude-md","CLAUDE.md");if((0,i.existsSync)(t))return t}catch{}let e=process.cwd();for(let t=0;t<8;t+=1){let t=(0,s.join)(e,"node_modules","@martin0309205","prism","assets","claude-md","CLAUDE.md");if((0,i.existsSync)(t))return t;let r=(0,s.resolve)(e,"..");if(r===e)break;e=r}return null}},9903:(e,t,r)=>{"use strict";r.d(t,{Kp:()=>u,ME:()=>p,Oh:()=>f,Vc:()=>l,hL:()=>d});var n=r(7561),i=r(3977),s=r(9411),o=r(612),a=r(9262);function l(){return process.env.PRISM_INSTANCE||"default"}function u(){return process.env.PRISM_INSTANCE_DIR||(0,s.join)((0,o.homedir)(),".prism","instances",l())}function c(){return(0,s.join)(u(),"config.yaml")}async function p(){let e={instance:l(),surfaces:{slack:{enabled:!1,allowlist_channels:[]},http:{enabled:!0,bind:"127.0.0.1",port:18790},cli:{enabled:!0}},claude:{bin:"claude",timeout_ms:6e5,workdir_root:"/tmp"},artifacts:{retention_days:7},logging:{level:"info",decision_log:!0}},t=c();if(!(0,n.existsSync)(t))return e;try{let r=await (0,i.readFile)(t,"utf8"),n=a.parse(r);if(!n)return e;return function e(t,r){if(null==r)return t;if("object"!=typeof t||"object"!=typeof r)return r??t;let n={...t};for(let[i,s]of Object.entries(r)){if(null==s)continue;let r=t[i];"object"!=typeof r||null===r||Array.isArray(r)||"object"!=typeof s||Array.isArray(s)?n[i]=s:n[i]=e(r,s)}return n}(e,n)}catch{return e}}async function f(e){let t=c();(0,n.mkdirSync)((0,s.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,i.writeFile)(r,a.stringify(e)),await (0,i.rename)(r,t)}async function d(){let e=(0,s.join)(u(),".env");if(!(0,n.existsSync)(e))return{raw:"",parsed:{}};let t=await (0,i.readFile)(e,"utf8"),r={};for(let e of t.split(/\r?\n/)){let t=e.trim();if(!t||t.startsWith("#"))continue;let n=t.indexOf("=");if(n<0)continue;let i=t.slice(0,n).trim(),s=t.slice(n+1).trim();(s.startsWith('"')&&s.endsWith('"')||s.startsWith("'")&&s.endsWith("'"))&&(s=s.slice(1,-1)),r[i]=s}return{raw:t,parsed:r}}}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[948,70,262],()=>r(9356));module.exports=n})();
@@ -1,3 +1,3 @@
1
- (()=>{var e={};e.id=918,e.ids=[918],e.modules={7934:e=>{function t(e){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=7934,e.exports=t},2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},4300:e=>{"use strict";e.exports=require("buffer")},6113:e=>{"use strict";e.exports=require("crypto")},7718:e=>{"use strict";e.exports=require("node:child_process")},6005:e=>{"use strict";e.exports=require("node:crypto")},7561:e=>{"use strict";e.exports=require("node:fs")},3977:e=>{"use strict";e.exports=require("node:fs/promises")},612:e=>{"use strict";e.exports=require("node:os")},9411:e=>{"use strict";e.exports=require("node:path")},7282:e=>{"use strict";e.exports=require("process")},8652:(e,t,r)=>{"use strict";r.r(t),r.d(t,{originalPathname:()=>_,patchFetch:()=>g,requestAsyncStorage:()=>y,routeModule:()=>m,serverHooks:()=>S,staticGenerationAsyncStorage:()=>w});var n={};r.r(n),r.d(n,{POST:()=>f,dynamic:()=>p,runtime:()=>d});var s=r(9303),i=r(8716),a=r(670),o=r(7718),u=r(5456),l=r(9903),c=r(5353);let d="nodejs",p="force-dynamic";async function f(e){if(!await (0,u.MH)("admin"))return new Response(JSON.stringify({error:"admin required"}),{status:403,headers:{"Content-Type":"application/json"}});let t=(0,l.Vc)();return new Response(new ReadableStream({async start(e){let r=new TextEncoder,n=(t,n)=>{for(let s of(e.enqueue(r.encode(`event: ${t}
1
+ "use strict";(()=>{var e={};e.id=918,e.ids=[918],e.modules={2934:e=>{e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},4300:e=>{e.exports=require("buffer")},6113:e=>{e.exports=require("crypto")},7718:e=>{e.exports=require("node:child_process")},6005:e=>{e.exports=require("node:crypto")},7561:e=>{e.exports=require("node:fs")},3977:e=>{e.exports=require("node:fs/promises")},612:e=>{e.exports=require("node:os")},9411:e=>{e.exports=require("node:path")},7282:e=>{e.exports=require("process")},8652:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>S,patchFetch:()=>_,requestAsyncStorage:()=>m,routeModule:()=>f,serverHooks:()=>w,staticGenerationAsyncStorage:()=>y});var n={};r.r(n),r.d(n,{POST:()=>p,dynamic:()=>d,runtime:()=>c});var s=r(9303),i=r(8716),a=r(670),o=r(7718),u=r(5456),l=r(9903);let c="nodejs",d="force-dynamic";async function p(e){if(!await (0,u.MH)("admin"))return new Response(JSON.stringify({error:"admin required"}),{status:403,headers:{"Content-Type":"application/json"}});let t=(0,l.Vc)();return new Response(new ReadableStream({async start(e){let r=new TextEncoder,n=(t,n)=>{for(let s of(e.enqueue(r.encode(`event: ${t}
2
2
  `)),n.split("\n")))e.enqueue(r.encode(`data: ${s}
3
- `));e.enqueue(r.encode("\n"))};n("log",`[prism] installing ${c.Fx}@latest...`);let s=(0,o.spawn)("npm",["install","-g",`${c.Fx}@latest`],{env:process.env});s.stdout.on("data",e=>n("log",e.toString("utf8").trimEnd())),s.stderr.on("data",e=>n("log",e.toString("utf8").trimEnd()));let i=await new Promise(e=>{s.on("exit",t=>e(t??-1)),s.on("error",t=>{n("log",`[error] ${t.message}`),e(-1)})});if(0!==i){n("done",JSON.stringify({ok:!1,exit_code:i,stage:"npm"})),e.close();return}n("log","[prism] npm install completed (exit 0)"),n("log",`[prism] restarting prism-web@${t}.service...`),(0,o.spawn)("systemctl",["--user","restart",`prism-web@${t}.service`],{env:process.env,detached:!0,stdio:"ignore"}).unref(),n("done",JSON.stringify({ok:!0,exit_code:0,stage:"restart"})),e.close()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}})}let m=new s.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/system/update/route",pathname:"/api/system/update",filename:"route",bundlePath:"app/api/system/update/route"},resolvedPagePath:"/home/runner/work/prism/prism/web/src/app/api/system/update/route.ts",nextConfigOutput:"standalone",userland:n}),{requestAsyncStorage:y,staticGenerationAsyncStorage:w,serverHooks:S}=m,_="/api/system/update/route";function g(){return(0,a.patchFetch)({serverHooks:S,staticGenerationAsyncStorage:w})}},5456:(e,t,r)=>{"use strict";r.d(t,{MH:()=>d,Ov:()=>m,Uj:()=>p,Vc:()=>c,c:()=>f,ts:()=>l});var n=r(1615),s=r(9902),i=r(2153);let a=process.env.ASTRY_COOKIE_NAME||"astry_session",o=process.env.ASTRY_AUTH_DOMAIN||void 0;function u(){return process.env.PRISM_DASHBOARD_TOKEN||null}async function l(){let e=(0,n.cookies)().get(a);if(!e)return null;let t=await (0,s.je)(e.value);if(t){let e=await (0,i.GA)(t.user_id);if(e&&!e.disabled)return e}let r=u();return r&&e.value===r?{id:"usr_legacy_admin",email:"admin@legacy",name:"Legacy admin (token)",role:"admin",created_at:new Date(0).toISOString(),created_by:null,last_login_at:null,disabled:!1}:null}async function c(){return l()}async function d(e){let t=await l();return t&&("admin"!==e||"admin"===t.role)?t:null}async function p(e){(0,n.cookies)().set(a,e,{httpOnly:!0,secure:function(){try{let e=(0,n.headers)().get("x-forwarded-proto");return"https"===e}catch{return!1}}(),sameSite:"lax",maxAge:5184e3,path:"/",...o?{domain:o}:{}})}async function f(e){let t=u();return!!t&&e===t&&(await p(e),!0)}async function m(){let e=(0,n.cookies)().get(a);return(0,n.cookies)().delete(a),e?.value??null}},5353:(e,t,r)=>{"use strict";r.d(t,{Fx:()=>m,Iu:()=>y,ym:()=>d,gn:()=>f});var n=r(7718),s=r(7561),i=r(9411);let a=require("node:util"),o="@martin0309205/prism",u=`https://registry.npmjs.org/${encodeURIComponent(o)}/latest`,l=(0,a.promisify)(n.execFile),c=null;async function d(){try{let{stdout:e}=await l("prism",["--version"],{timeout:5e3}),t=e.trim().split(/\s+/).pop()?.replace(/^v/,"")??"";if(/^\d+\.\d+\.\d+/.test(t))return t}catch{}return function(){let e=process.cwd();for(let t=0;t<8;t+=1){let t=(0,i.join)(e,"node_modules","@martin0309205","prism","package.json");if((0,s.existsSync)(t))try{let e=JSON.parse(s.readFileSync(t,"utf8"))?.version;if("string"==typeof e)return e}catch{}let r=(0,i.resolve)(e,"..");if(r===e)break;e=r}return null}()}async function p(){if(c&&Date.now()-c.ts<6e4)return c.version;try{let e=await fetch(u,{cache:"no-store"});if(!e.ok)return null;let t=await e.json();if("string"!=typeof t?.version)return null;return c={version:t.version,ts:Date.now()},t.version}catch{return null}}async function f(){let[e,t]=await Promise.all([d(),p()]),r=!!(e&&t&&function(e,t){let r=e.split(".").map(e=>Number(e.replace(/[^0-9].*/,"")||0)),n=t.split(".").map(e=>Number(e.replace(/[^0-9].*/,"")||0));for(let e=0;e<3;e+=1){let t=r[e]??0,s=n[e]??0;if(t!==s)return t-s}return 0}(t,e)>0);return{installed:e,latest:t,upgrade_available:r,name:o}}let m=o;function y(){try{let e=r(7934).resolve(`${o}/package.json`),t=(0,i.join)((0,i.dirname)(e),"assets","claude-md","CLAUDE.md");if((0,s.existsSync)(t))return t}catch{}let e=process.cwd();for(let t=0;t<8;t+=1){let t=(0,i.join)(e,"node_modules","@martin0309205","prism","assets","claude-md","CLAUDE.md");if((0,s.existsSync)(t))return t;let r=(0,i.resolve)(e,"..");if(r===e)break;e=r}return null}},9903:(e,t,r)=>{"use strict";r.d(t,{Kp:()=>l,ME:()=>d,Oh:()=>p,Vc:()=>u,hL:()=>f});var n=r(7561),s=r(3977),i=r(9411),a=r(612),o=r(9262);function u(){return process.env.PRISM_INSTANCE||"default"}function l(){return process.env.PRISM_INSTANCE_DIR||(0,i.join)((0,a.homedir)(),".prism","instances",u())}function c(){return(0,i.join)(l(),"config.yaml")}async function d(){let e={instance:u(),surfaces:{slack:{enabled:!1,allowlist_channels:[]},http:{enabled:!0,bind:"127.0.0.1",port:18790},cli:{enabled:!0}},claude:{bin:"claude",timeout_ms:6e5,workdir_root:"/tmp"},artifacts:{retention_days:7},logging:{level:"info",decision_log:!0}},t=c();if(!(0,n.existsSync)(t))return e;try{let r=await (0,s.readFile)(t,"utf8"),n=o.parse(r);if(!n)return e;return function e(t,r){if(null==r)return t;if("object"!=typeof t||"object"!=typeof r)return r??t;let n={...t};for(let[s,i]of Object.entries(r)){if(null==i)continue;let r=t[s];"object"!=typeof r||null===r||Array.isArray(r)||"object"!=typeof i||Array.isArray(i)?n[s]=i:n[s]=e(r,i)}return n}(e,n)}catch{return e}}async function p(e){let t=c();(0,n.mkdirSync)((0,i.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,s.writeFile)(r,o.stringify(e)),await (0,s.rename)(r,t)}async function f(){let e=(0,i.join)(l(),".env");if(!(0,n.existsSync)(e))return{raw:"",parsed:{}};let t=await (0,s.readFile)(e,"utf8"),r={};for(let e of t.split(/\r?\n/)){let t=e.trim();if(!t||t.startsWith("#"))continue;let n=t.indexOf("=");if(n<0)continue;let s=t.slice(0,n).trim(),i=t.slice(n+1).trim();(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1)),r[s]=i}return{raw:t,parsed:r}}},9902:(e,t,r)=>{"use strict";r.d(t,{ed:()=>p,je:()=>f,w$:()=>m});var n=r(7561),s=r(3977),i=r(9411),a=r(6005),o=r(2153);function u(){let e=process.env.ASTRY_SESSIONS_PATH;if(e){let t=(0,i.dirname)(e);return(0,n.existsSync)(t)||(0,n.mkdirSync)(t,{recursive:!0}),e}let t=process.env.PRISM_INSTANCE_DIR;if(!t)throw Error("PRISM_INSTANCE_DIR or ASTRY_SESSIONS_PATH must be set");let r=(0,i.join)(t,"data");return(0,n.existsSync)(r)||(0,n.mkdirSync)(r,{recursive:!0}),(0,i.join)(r,"sessions.json")}function l(e){return(0,a.createHash)("sha256").update(e,"utf8").digest("hex")}async function c(){let e=u();if(!(0,n.existsSync)(e))return{version:1,sessions:[]};try{let t=await (0,s.readFile)(e,"utf8"),r=JSON.parse(t);if(r?.version!==1||!Array.isArray(r.sessions))return{version:1,sessions:[]};return r}catch{return{version:1,sessions:[]}}}async function d(e){let t=u();(0,n.mkdirSync)((0,i.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,s.writeFile)(r,JSON.stringify(e,null,2),{mode:384}),await (0,s.rename)(r,t)}async function p(e){let{session_lifetime_days:t}=await (0,o.Gw)(),r=(0,a.randomBytes)(32).toString("base64url"),n=new Date,s=new Date(n.getTime()+864e5*t),i={id:"sess_"+(0,a.randomBytes)(8).toString("base64url"),token_hash:l(r),user_id:e.user_id,created_at:n.toISOString(),expires_at:s.toISOString(),last_used_at:n.toISOString(),ip:e.ip??null,user_agent:e.user_agent??null},u=await c();return u.sessions=function(e){let t=Date.now();return e.filter(e=>new Date(e.expires_at).getTime()>t)}(u.sessions),u.sessions.push(i),await d(u),{token:r,session:i}}async function f(e){if(!e)return null;let t=l(e),r=await c(),n=r.sessions.find(e=>e.token_hash===t);return!n||new Date(n.expires_at).getTime()<Date.now()?null:(n.last_used_at=new Date().toISOString(),d(r).catch(()=>{}),n)}async function m(e){let t=l(e),r=await c(),n=r.sessions.length;return r.sessions=r.sessions.filter(e=>e.token_hash!==t),r.sessions.length!==n&&(await d(r),!0)}},2153:(e,t,r)=>{"use strict";r.d(t,{Cf:()=>v,GA:()=>y,Gv:()=>h,Gw:()=>S,Re:()=>_,r4:()=>g,ve:()=>m});var n=r(7561),s=r(3977),i=r(9411),a=r(6005),o=r(2023),u=r.n(o);function l(){let e=process.env.ASTRY_USERS_PATH;if(e){let t=(0,i.dirname)(e);return(0,n.existsSync)(t)||(0,n.mkdirSync)(t,{recursive:!0}),e}let t=process.env.PRISM_INSTANCE_DIR;if(!t)throw Error("PRISM_INSTANCE_DIR or ASTRY_USERS_PATH must be set");let r=(0,i.join)(t,"config");return(0,n.existsSync)(r)||(0,n.mkdirSync)(r,{recursive:!0}),(0,i.join)(r,"users.json")}async function c(){let e=l();if(!(0,n.existsSync)(e))return{version:1,users:[]};try{let t=await (0,s.readFile)(e,"utf8"),r=JSON.parse(t);if(r?.version!==1||!Array.isArray(r.users))return{version:1,users:[]};return r}catch{return{version:1,users:[]}}}async function d(e){let t=l();(0,n.mkdirSync)((0,i.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,s.writeFile)(r,JSON.stringify(e,null,2),{mode:384}),await (0,s.rename)(r,t)}function p(e){let{password_hash:t,...r}=e;return r}function f(e){return e.trim().toLowerCase()}async function m(){return(await c()).users.filter(e=>!e.disabled).length}async function y(e){let t=(await c()).users.find(t=>t.id===e);return t?p(t):null}async function w(e){let t=await c(),r=f(e);return t.users.find(e=>e.email===r)??null}async function S(){let e=await c();return{session_lifetime_days:e.settings?.session_lifetime_days??30}}async function _(e){let t=await c();if(!Number.isFinite(e)||e<1||e>365)throw Error("session_lifetime_days must be 1-365");t.settings={...t.settings??{},session_lifetime_days:Math.round(e)},await d(t)}async function g(e){let t=await c(),r=f(e.email);if(!r.includes("@"))throw Error("invalid email");if(e.password.length<8)throw Error("password must be at least 8 characters");if(t.users.find(e=>e.email===r))throw Error("email already exists");let n={id:"usr_"+(0,a.randomBytes)(8).toString("base64url"),email:r,name:e.name.trim()||r,password_hash:await u().hash(e.password,12),role:e.role,created_at:new Date().toISOString(),created_by:e.created_by,last_login_at:null,disabled:!1};return t.users.push(n),await d(t),p(n)}async function h(e,t){let r=await w(e);return!r||r.disabled?null:await u().compare(t,r.password_hash)?r:null}async function v(e){let t=await c(),r=t.users.find(t=>t.id===e);r&&(r.last_login_at=new Date().toISOString(),await d(t))}}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[948,277,262],()=>r(8652));module.exports=n})();
3
+ `));e.enqueue(r.encode("\n"))};n("log","[prism] running prism update (npm install + claude-md + skills) + web upgrade...");let s=`prism-update-${Date.now()}`,i=`prism update --no-restart && prism web -i ${t} --restart upgrade && systemctl --user restart prism@${t}.service`,a=(0,o.spawn)("systemd-run",["--user","--collect","--pipe","--unit",s,"bash","-c",i],{env:process.env});a.stdout.on("data",e=>n("log",e.toString("utf8").trimEnd())),a.stderr.on("data",e=>n("log",e.toString("utf8").trimEnd()));let u=await new Promise(e=>{a.on("exit",t=>e(t??-1)),a.on("error",t=>{n("log",`[error] ${t.message}`),e(-1)})});n("done",JSON.stringify({ok:0===u,exit_code:u,stage:"all"})),e.close()}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}})}let f=new s.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/system/update/route",pathname:"/api/system/update",filename:"route",bundlePath:"app/api/system/update/route"},resolvedPagePath:"/home/runner/work/prism/prism/web/src/app/api/system/update/route.ts",nextConfigOutput:"standalone",userland:n}),{requestAsyncStorage:m,staticGenerationAsyncStorage:y,serverHooks:w}=f,S="/api/system/update/route";function _(){return(0,a.patchFetch)({serverHooks:w,staticGenerationAsyncStorage:y})}},5456:(e,t,r)=>{r.d(t,{MH:()=>d,Ov:()=>m,Uj:()=>p,Vc:()=>c,c:()=>f,ts:()=>l});var n=r(1615),s=r(9902),i=r(2153);let a=process.env.ASTRY_COOKIE_NAME||"astry_session",o=process.env.ASTRY_AUTH_DOMAIN||void 0;function u(){return process.env.PRISM_DASHBOARD_TOKEN||null}async function l(){let e=(0,n.cookies)().get(a);if(!e)return null;let t=await (0,s.je)(e.value);if(t){let e=await (0,i.GA)(t.user_id);if(e&&!e.disabled)return e}let r=u();return r&&e.value===r?{id:"usr_legacy_admin",email:"admin@legacy",name:"Legacy admin (token)",role:"admin",created_at:new Date(0).toISOString(),created_by:null,last_login_at:null,disabled:!1}:null}async function c(){return l()}async function d(e){let t=await l();return t&&("admin"!==e||"admin"===t.role)?t:null}async function p(e){(0,n.cookies)().set(a,e,{httpOnly:!0,secure:function(){try{let e=(0,n.headers)().get("x-forwarded-proto");return"https"===e}catch{return!1}}(),sameSite:"lax",maxAge:5184e3,path:"/",...o?{domain:o}:{}})}async function f(e){let t=u();return!!t&&e===t&&(await p(e),!0)}async function m(){let e=(0,n.cookies)().get(a);return(0,n.cookies)().delete(a),e?.value??null}},9903:(e,t,r)=>{r.d(t,{Kp:()=>l,ME:()=>d,Oh:()=>p,Vc:()=>u,hL:()=>f});var n=r(7561),s=r(3977),i=r(9411),a=r(612),o=r(9262);function u(){return process.env.PRISM_INSTANCE||"default"}function l(){return process.env.PRISM_INSTANCE_DIR||(0,i.join)((0,a.homedir)(),".prism","instances",u())}function c(){return(0,i.join)(l(),"config.yaml")}async function d(){let e={instance:u(),surfaces:{slack:{enabled:!1,allowlist_channels:[]},http:{enabled:!0,bind:"127.0.0.1",port:18790},cli:{enabled:!0}},claude:{bin:"claude",timeout_ms:6e5,workdir_root:"/tmp"},artifacts:{retention_days:7},logging:{level:"info",decision_log:!0}},t=c();if(!(0,n.existsSync)(t))return e;try{let r=await (0,s.readFile)(t,"utf8"),n=o.parse(r);if(!n)return e;return function e(t,r){if(null==r)return t;if("object"!=typeof t||"object"!=typeof r)return r??t;let n={...t};for(let[s,i]of Object.entries(r)){if(null==i)continue;let r=t[s];"object"!=typeof r||null===r||Array.isArray(r)||"object"!=typeof i||Array.isArray(i)?n[s]=i:n[s]=e(r,i)}return n}(e,n)}catch{return e}}async function p(e){let t=c();(0,n.mkdirSync)((0,i.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,s.writeFile)(r,o.stringify(e)),await (0,s.rename)(r,t)}async function f(){let e=(0,i.join)(l(),".env");if(!(0,n.existsSync)(e))return{raw:"",parsed:{}};let t=await (0,s.readFile)(e,"utf8"),r={};for(let e of t.split(/\r?\n/)){let t=e.trim();if(!t||t.startsWith("#"))continue;let n=t.indexOf("=");if(n<0)continue;let s=t.slice(0,n).trim(),i=t.slice(n+1).trim();(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1)),r[s]=i}return{raw:t,parsed:r}}},9902:(e,t,r)=>{r.d(t,{ed:()=>p,je:()=>f,w$:()=>m});var n=r(7561),s=r(3977),i=r(9411),a=r(6005),o=r(2153);function u(){let e=process.env.ASTRY_SESSIONS_PATH;if(e){let t=(0,i.dirname)(e);return(0,n.existsSync)(t)||(0,n.mkdirSync)(t,{recursive:!0}),e}let t=process.env.PRISM_INSTANCE_DIR;if(!t)throw Error("PRISM_INSTANCE_DIR or ASTRY_SESSIONS_PATH must be set");let r=(0,i.join)(t,"data");return(0,n.existsSync)(r)||(0,n.mkdirSync)(r,{recursive:!0}),(0,i.join)(r,"sessions.json")}function l(e){return(0,a.createHash)("sha256").update(e,"utf8").digest("hex")}async function c(){let e=u();if(!(0,n.existsSync)(e))return{version:1,sessions:[]};try{let t=await (0,s.readFile)(e,"utf8"),r=JSON.parse(t);if(r?.version!==1||!Array.isArray(r.sessions))return{version:1,sessions:[]};return r}catch{return{version:1,sessions:[]}}}async function d(e){let t=u();(0,n.mkdirSync)((0,i.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,s.writeFile)(r,JSON.stringify(e,null,2),{mode:384}),await (0,s.rename)(r,t)}async function p(e){let{session_lifetime_days:t}=await (0,o.Gw)(),r=(0,a.randomBytes)(32).toString("base64url"),n=new Date,s=new Date(n.getTime()+864e5*t),i={id:"sess_"+(0,a.randomBytes)(8).toString("base64url"),token_hash:l(r),user_id:e.user_id,created_at:n.toISOString(),expires_at:s.toISOString(),last_used_at:n.toISOString(),ip:e.ip??null,user_agent:e.user_agent??null},u=await c();return u.sessions=function(e){let t=Date.now();return e.filter(e=>new Date(e.expires_at).getTime()>t)}(u.sessions),u.sessions.push(i),await d(u),{token:r,session:i}}async function f(e){if(!e)return null;let t=l(e),r=await c(),n=r.sessions.find(e=>e.token_hash===t);return!n||new Date(n.expires_at).getTime()<Date.now()?null:(n.last_used_at=new Date().toISOString(),d(r).catch(()=>{}),n)}async function m(e){let t=l(e),r=await c(),n=r.sessions.length;return r.sessions=r.sessions.filter(e=>e.token_hash!==t),r.sessions.length!==n&&(await d(r),!0)}},2153:(e,t,r)=>{r.d(t,{Cf:()=>v,GA:()=>y,Gv:()=>h,Gw:()=>S,Re:()=>_,r4:()=>g,ve:()=>m});var n=r(7561),s=r(3977),i=r(9411),a=r(6005),o=r(2023),u=r.n(o);function l(){let e=process.env.ASTRY_USERS_PATH;if(e){let t=(0,i.dirname)(e);return(0,n.existsSync)(t)||(0,n.mkdirSync)(t,{recursive:!0}),e}let t=process.env.PRISM_INSTANCE_DIR;if(!t)throw Error("PRISM_INSTANCE_DIR or ASTRY_USERS_PATH must be set");let r=(0,i.join)(t,"config");return(0,n.existsSync)(r)||(0,n.mkdirSync)(r,{recursive:!0}),(0,i.join)(r,"users.json")}async function c(){let e=l();if(!(0,n.existsSync)(e))return{version:1,users:[]};try{let t=await (0,s.readFile)(e,"utf8"),r=JSON.parse(t);if(r?.version!==1||!Array.isArray(r.users))return{version:1,users:[]};return r}catch{return{version:1,users:[]}}}async function d(e){let t=l();(0,n.mkdirSync)((0,i.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,s.writeFile)(r,JSON.stringify(e,null,2),{mode:384}),await (0,s.rename)(r,t)}function p(e){let{password_hash:t,...r}=e;return r}function f(e){return e.trim().toLowerCase()}async function m(){return(await c()).users.filter(e=>!e.disabled).length}async function y(e){let t=(await c()).users.find(t=>t.id===e);return t?p(t):null}async function w(e){let t=await c(),r=f(e);return t.users.find(e=>e.email===r)??null}async function S(){let e=await c();return{session_lifetime_days:e.settings?.session_lifetime_days??30}}async function _(e){let t=await c();if(!Number.isFinite(e)||e<1||e>365)throw Error("session_lifetime_days must be 1-365");t.settings={...t.settings??{},session_lifetime_days:Math.round(e)},await d(t)}async function g(e){let t=await c(),r=f(e.email);if(!r.includes("@"))throw Error("invalid email");if(e.password.length<8)throw Error("password must be at least 8 characters");if(t.users.find(e=>e.email===r))throw Error("email already exists");let n={id:"usr_"+(0,a.randomBytes)(8).toString("base64url"),email:r,name:e.name.trim()||r,password_hash:await u().hash(e.password,12),role:e.role,created_at:new Date().toISOString(),created_by:e.created_by,last_login_at:null,disabled:!1};return t.users.push(n),await d(t),p(n)}async function h(e,t){let r=await w(e);return!r||r.disabled?null:await u().compare(t,r.password_hash)?r:null}async function v(e){let t=await c(),r=t.users.find(t=>t.id===e);r&&(r.last_login_at=new Date().toISOString(),await d(t))}}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[948,277,262],()=>r(8652));module.exports=n})();
@@ -1 +1 @@
1
- (()=>{var e={};e.id=128,e.ids=[128],e.modules={7934:e=>{function t(e){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=7934,e.exports=t},2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6113:e=>{"use strict";e.exports=require("crypto")},7718:e=>{"use strict";e.exports=require("node:child_process")},6005:e=>{"use strict";e.exports=require("node:crypto")},7561:e=>{"use strict";e.exports=require("node:fs")},3977:e=>{"use strict";e.exports=require("node:fs/promises")},9411:e=>{"use strict";e.exports=require("node:path")},3769:(e,t,r)=>{"use strict";r.r(t),r.d(t,{originalPathname:()=>_,patchFetch:()=>S,requestAsyncStorage:()=>f,routeModule:()=>m,serverHooks:()=>w,staticGenerationAsyncStorage:()=>y});var s={};r.r(s),r.d(s,{GET:()=>p,dynamic:()=>d,runtime:()=>c});var n=r(9303),i=r(8716),a=r(670),o=r(7070),u=r(5456),l=r(5353);let c="nodejs",d="force-dynamic";async function p(){if(!await (0,u.Vc)())return o.NextResponse.json({error:"unauthorized"},{status:401});let e=await (0,l.gn)();return o.NextResponse.json(e)}let m=new n.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/system/version/route",pathname:"/api/system/version",filename:"route",bundlePath:"app/api/system/version/route"},resolvedPagePath:"/home/runner/work/prism/prism/web/src/app/api/system/version/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:f,staticGenerationAsyncStorage:y,serverHooks:w}=m,_="/api/system/version/route";function S(){return(0,a.patchFetch)({serverHooks:w,staticGenerationAsyncStorage:y})}},5456:(e,t,r)=>{"use strict";r.d(t,{MH:()=>d,Ov:()=>f,Uj:()=>p,Vc:()=>c,c:()=>m,ts:()=>l});var s=r(1615),n=r(9902),i=r(2153);let a=process.env.ASTRY_COOKIE_NAME||"astry_session",o=process.env.ASTRY_AUTH_DOMAIN||void 0;function u(){return process.env.PRISM_DASHBOARD_TOKEN||null}async function l(){let e=(0,s.cookies)().get(a);if(!e)return null;let t=await (0,n.je)(e.value);if(t){let e=await (0,i.GA)(t.user_id);if(e&&!e.disabled)return e}let r=u();return r&&e.value===r?{id:"usr_legacy_admin",email:"admin@legacy",name:"Legacy admin (token)",role:"admin",created_at:new Date(0).toISOString(),created_by:null,last_login_at:null,disabled:!1}:null}async function c(){return l()}async function d(e){let t=await l();return t&&("admin"!==e||"admin"===t.role)?t:null}async function p(e){(0,s.cookies)().set(a,e,{httpOnly:!0,secure:function(){try{let e=(0,s.headers)().get("x-forwarded-proto");return"https"===e}catch{return!1}}(),sameSite:"lax",maxAge:5184e3,path:"/",...o?{domain:o}:{}})}async function m(e){let t=u();return!!t&&e===t&&(await p(e),!0)}async function f(){let e=(0,s.cookies)().get(a);return(0,s.cookies)().delete(a),e?.value??null}},5353:(e,t,r)=>{"use strict";r.d(t,{Fx:()=>f,Iu:()=>y,ym:()=>d,gn:()=>m});var s=r(7718),n=r(7561),i=r(9411);let a=require("node:util"),o="@martin0309205/prism",u=`https://registry.npmjs.org/${encodeURIComponent(o)}/latest`,l=(0,a.promisify)(s.execFile),c=null;async function d(){try{let{stdout:e}=await l("prism",["--version"],{timeout:5e3}),t=e.trim().split(/\s+/).pop()?.replace(/^v/,"")??"";if(/^\d+\.\d+\.\d+/.test(t))return t}catch{}return function(){let e=process.cwd();for(let t=0;t<8;t+=1){let t=(0,i.join)(e,"node_modules","@martin0309205","prism","package.json");if((0,n.existsSync)(t))try{let e=JSON.parse(n.readFileSync(t,"utf8"))?.version;if("string"==typeof e)return e}catch{}let r=(0,i.resolve)(e,"..");if(r===e)break;e=r}return null}()}async function p(){if(c&&Date.now()-c.ts<6e4)return c.version;try{let e=await fetch(u,{cache:"no-store"});if(!e.ok)return null;let t=await e.json();if("string"!=typeof t?.version)return null;return c={version:t.version,ts:Date.now()},t.version}catch{return null}}async function m(){let[e,t]=await Promise.all([d(),p()]),r=!!(e&&t&&function(e,t){let r=e.split(".").map(e=>Number(e.replace(/[^0-9].*/,"")||0)),s=t.split(".").map(e=>Number(e.replace(/[^0-9].*/,"")||0));for(let e=0;e<3;e+=1){let t=r[e]??0,n=s[e]??0;if(t!==n)return t-n}return 0}(t,e)>0);return{installed:e,latest:t,upgrade_available:r,name:o}}let f=o;function y(){try{let e=r(7934).resolve(`${o}/package.json`),t=(0,i.join)((0,i.dirname)(e),"assets","claude-md","CLAUDE.md");if((0,n.existsSync)(t))return t}catch{}let e=process.cwd();for(let t=0;t<8;t+=1){let t=(0,i.join)(e,"node_modules","@martin0309205","prism","assets","claude-md","CLAUDE.md");if((0,n.existsSync)(t))return t;let r=(0,i.resolve)(e,"..");if(r===e)break;e=r}return null}},9902:(e,t,r)=>{"use strict";r.d(t,{ed:()=>p,je:()=>m,w$:()=>f});var s=r(7561),n=r(3977),i=r(9411),a=r(6005),o=r(2153);function u(){let e=process.env.ASTRY_SESSIONS_PATH;if(e){let t=(0,i.dirname)(e);return(0,s.existsSync)(t)||(0,s.mkdirSync)(t,{recursive:!0}),e}let t=process.env.PRISM_INSTANCE_DIR;if(!t)throw Error("PRISM_INSTANCE_DIR or ASTRY_SESSIONS_PATH must be set");let r=(0,i.join)(t,"data");return(0,s.existsSync)(r)||(0,s.mkdirSync)(r,{recursive:!0}),(0,i.join)(r,"sessions.json")}function l(e){return(0,a.createHash)("sha256").update(e,"utf8").digest("hex")}async function c(){let e=u();if(!(0,s.existsSync)(e))return{version:1,sessions:[]};try{let t=await (0,n.readFile)(e,"utf8"),r=JSON.parse(t);if(r?.version!==1||!Array.isArray(r.sessions))return{version:1,sessions:[]};return r}catch{return{version:1,sessions:[]}}}async function d(e){let t=u();(0,s.mkdirSync)((0,i.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,n.writeFile)(r,JSON.stringify(e,null,2),{mode:384}),await (0,n.rename)(r,t)}async function p(e){let{session_lifetime_days:t}=await (0,o.Gw)(),r=(0,a.randomBytes)(32).toString("base64url"),s=new Date,n=new Date(s.getTime()+864e5*t),i={id:"sess_"+(0,a.randomBytes)(8).toString("base64url"),token_hash:l(r),user_id:e.user_id,created_at:s.toISOString(),expires_at:n.toISOString(),last_used_at:s.toISOString(),ip:e.ip??null,user_agent:e.user_agent??null},u=await c();return u.sessions=function(e){let t=Date.now();return e.filter(e=>new Date(e.expires_at).getTime()>t)}(u.sessions),u.sessions.push(i),await d(u),{token:r,session:i}}async function m(e){if(!e)return null;let t=l(e),r=await c(),s=r.sessions.find(e=>e.token_hash===t);return!s||new Date(s.expires_at).getTime()<Date.now()?null:(s.last_used_at=new Date().toISOString(),d(r).catch(()=>{}),s)}async function f(e){let t=l(e),r=await c(),s=r.sessions.length;return r.sessions=r.sessions.filter(e=>e.token_hash!==t),r.sessions.length!==s&&(await d(r),!0)}},2153:(e,t,r)=>{"use strict";r.d(t,{Cf:()=>g,GA:()=>y,Gv:()=>h,Gw:()=>_,Re:()=>S,r4:()=>v,ve:()=>f});var s=r(7561),n=r(3977),i=r(9411),a=r(6005),o=r(2023),u=r.n(o);function l(){let e=process.env.ASTRY_USERS_PATH;if(e){let t=(0,i.dirname)(e);return(0,s.existsSync)(t)||(0,s.mkdirSync)(t,{recursive:!0}),e}let t=process.env.PRISM_INSTANCE_DIR;if(!t)throw Error("PRISM_INSTANCE_DIR or ASTRY_USERS_PATH must be set");let r=(0,i.join)(t,"config");return(0,s.existsSync)(r)||(0,s.mkdirSync)(r,{recursive:!0}),(0,i.join)(r,"users.json")}async function c(){let e=l();if(!(0,s.existsSync)(e))return{version:1,users:[]};try{let t=await (0,n.readFile)(e,"utf8"),r=JSON.parse(t);if(r?.version!==1||!Array.isArray(r.users))return{version:1,users:[]};return r}catch{return{version:1,users:[]}}}async function d(e){let t=l();(0,s.mkdirSync)((0,i.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,n.writeFile)(r,JSON.stringify(e,null,2),{mode:384}),await (0,n.rename)(r,t)}function p(e){let{password_hash:t,...r}=e;return r}function m(e){return e.trim().toLowerCase()}async function f(){return(await c()).users.filter(e=>!e.disabled).length}async function y(e){let t=(await c()).users.find(t=>t.id===e);return t?p(t):null}async function w(e){let t=await c(),r=m(e);return t.users.find(e=>e.email===r)??null}async function _(){let e=await c();return{session_lifetime_days:e.settings?.session_lifetime_days??30}}async function S(e){let t=await c();if(!Number.isFinite(e)||e<1||e>365)throw Error("session_lifetime_days must be 1-365");t.settings={...t.settings??{},session_lifetime_days:Math.round(e)},await d(t)}async function v(e){let t=await c(),r=m(e.email);if(!r.includes("@"))throw Error("invalid email");if(e.password.length<8)throw Error("password must be at least 8 characters");if(t.users.find(e=>e.email===r))throw Error("email already exists");let s={id:"usr_"+(0,a.randomBytes)(8).toString("base64url"),email:r,name:e.name.trim()||r,password_hash:await u().hash(e.password,12),role:e.role,created_at:new Date().toISOString(),created_by:e.created_by,last_login_at:null,disabled:!1};return t.users.push(s),await d(t),p(s)}async function h(e,t){let r=await w(e);return!r||r.disabled?null:await u().compare(t,r.password_hash)?r:null}async function g(e){let t=await c(),r=t.users.find(t=>t.id===e);r&&(r.last_login_at=new Date().toISOString(),await d(t))}}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[948,277,70],()=>r(3769));module.exports=s})();
1
+ (()=>{var e={};e.id=128,e.ids=[128],e.modules={7934:e=>{function t(e){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=7934,e.exports=t},2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},6113:e=>{"use strict";e.exports=require("crypto")},7718:e=>{"use strict";e.exports=require("node:child_process")},6005:e=>{"use strict";e.exports=require("node:crypto")},7561:e=>{"use strict";e.exports=require("node:fs")},3977:e=>{"use strict";e.exports=require("node:fs/promises")},9411:e=>{"use strict";e.exports=require("node:path")},3769:(e,t,r)=>{"use strict";r.r(t),r.d(t,{originalPathname:()=>_,patchFetch:()=>S,requestAsyncStorage:()=>f,routeModule:()=>m,serverHooks:()=>w,staticGenerationAsyncStorage:()=>y});var s={};r.r(s),r.d(s,{GET:()=>p,dynamic:()=>d,runtime:()=>c});var n=r(9303),i=r(8716),a=r(670),o=r(7070),u=r(5456),l=r(5353);let c="nodejs",d="force-dynamic";async function p(){if(!await (0,u.Vc)())return o.NextResponse.json({error:"unauthorized"},{status:401});let e=await (0,l.gn)();return o.NextResponse.json(e)}let m=new n.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/system/version/route",pathname:"/api/system/version",filename:"route",bundlePath:"app/api/system/version/route"},resolvedPagePath:"/home/runner/work/prism/prism/web/src/app/api/system/version/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:f,staticGenerationAsyncStorage:y,serverHooks:w}=m,_="/api/system/version/route";function S(){return(0,a.patchFetch)({serverHooks:w,staticGenerationAsyncStorage:y})}},5456:(e,t,r)=>{"use strict";r.d(t,{MH:()=>d,Ov:()=>f,Uj:()=>p,Vc:()=>c,c:()=>m,ts:()=>l});var s=r(1615),n=r(9902),i=r(2153);let a=process.env.ASTRY_COOKIE_NAME||"astry_session",o=process.env.ASTRY_AUTH_DOMAIN||void 0;function u(){return process.env.PRISM_DASHBOARD_TOKEN||null}async function l(){let e=(0,s.cookies)().get(a);if(!e)return null;let t=await (0,n.je)(e.value);if(t){let e=await (0,i.GA)(t.user_id);if(e&&!e.disabled)return e}let r=u();return r&&e.value===r?{id:"usr_legacy_admin",email:"admin@legacy",name:"Legacy admin (token)",role:"admin",created_at:new Date(0).toISOString(),created_by:null,last_login_at:null,disabled:!1}:null}async function c(){return l()}async function d(e){let t=await l();return t&&("admin"!==e||"admin"===t.role)?t:null}async function p(e){(0,s.cookies)().set(a,e,{httpOnly:!0,secure:function(){try{let e=(0,s.headers)().get("x-forwarded-proto");return"https"===e}catch{return!1}}(),sameSite:"lax",maxAge:5184e3,path:"/",...o?{domain:o}:{}})}async function m(e){let t=u();return!!t&&e===t&&(await p(e),!0)}async function f(){let e=(0,s.cookies)().get(a);return(0,s.cookies)().delete(a),e?.value??null}},5353:(e,t,r)=>{"use strict";r.d(t,{Iu:()=>f,ym:()=>d,gn:()=>m});var s=r(7718),n=r(7561),i=r(9411);let a=require("node:util"),o="@martin0309205/prism",u=`https://registry.npmjs.org/${encodeURIComponent(o)}/latest`,l=(0,a.promisify)(s.execFile),c=null;async function d(){try{let{stdout:e}=await l("prism",["--version"],{timeout:5e3}),t=e.trim().split(/\s+/).pop()?.replace(/^v/,"")??"";if(/^\d+\.\d+\.\d+/.test(t))return t}catch{}return function(){let e=process.cwd();for(let t=0;t<8;t+=1){let t=(0,i.join)(e,"node_modules","@martin0309205","prism","package.json");if((0,n.existsSync)(t))try{let e=JSON.parse(n.readFileSync(t,"utf8"))?.version;if("string"==typeof e)return e}catch{}let r=(0,i.resolve)(e,"..");if(r===e)break;e=r}return null}()}async function p(){if(c&&Date.now()-c.ts<6e4)return c.version;try{let e=await fetch(u,{cache:"no-store"});if(!e.ok)return null;let t=await e.json();if("string"!=typeof t?.version)return null;return c={version:t.version,ts:Date.now()},t.version}catch{return null}}async function m(){let[e,t]=await Promise.all([d(),p()]),r=!!(e&&t&&function(e,t){let r=e.split(".").map(e=>Number(e.replace(/[^0-9].*/,"")||0)),s=t.split(".").map(e=>Number(e.replace(/[^0-9].*/,"")||0));for(let e=0;e<3;e+=1){let t=r[e]??0,n=s[e]??0;if(t!==n)return t-n}return 0}(t,e)>0);return{installed:e,latest:t,upgrade_available:r,name:o}}function f(){try{let e=r(7934).resolve(`${o}/package.json`),t=(0,i.join)((0,i.dirname)(e),"assets","claude-md","CLAUDE.md");if((0,n.existsSync)(t))return t}catch{}let e=process.cwd();for(let t=0;t<8;t+=1){let t=(0,i.join)(e,"node_modules","@martin0309205","prism","assets","claude-md","CLAUDE.md");if((0,n.existsSync)(t))return t;let r=(0,i.resolve)(e,"..");if(r===e)break;e=r}return null}},9902:(e,t,r)=>{"use strict";r.d(t,{ed:()=>p,je:()=>m,w$:()=>f});var s=r(7561),n=r(3977),i=r(9411),a=r(6005),o=r(2153);function u(){let e=process.env.ASTRY_SESSIONS_PATH;if(e){let t=(0,i.dirname)(e);return(0,s.existsSync)(t)||(0,s.mkdirSync)(t,{recursive:!0}),e}let t=process.env.PRISM_INSTANCE_DIR;if(!t)throw Error("PRISM_INSTANCE_DIR or ASTRY_SESSIONS_PATH must be set");let r=(0,i.join)(t,"data");return(0,s.existsSync)(r)||(0,s.mkdirSync)(r,{recursive:!0}),(0,i.join)(r,"sessions.json")}function l(e){return(0,a.createHash)("sha256").update(e,"utf8").digest("hex")}async function c(){let e=u();if(!(0,s.existsSync)(e))return{version:1,sessions:[]};try{let t=await (0,n.readFile)(e,"utf8"),r=JSON.parse(t);if(r?.version!==1||!Array.isArray(r.sessions))return{version:1,sessions:[]};return r}catch{return{version:1,sessions:[]}}}async function d(e){let t=u();(0,s.mkdirSync)((0,i.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,n.writeFile)(r,JSON.stringify(e,null,2),{mode:384}),await (0,n.rename)(r,t)}async function p(e){let{session_lifetime_days:t}=await (0,o.Gw)(),r=(0,a.randomBytes)(32).toString("base64url"),s=new Date,n=new Date(s.getTime()+864e5*t),i={id:"sess_"+(0,a.randomBytes)(8).toString("base64url"),token_hash:l(r),user_id:e.user_id,created_at:s.toISOString(),expires_at:n.toISOString(),last_used_at:s.toISOString(),ip:e.ip??null,user_agent:e.user_agent??null},u=await c();return u.sessions=function(e){let t=Date.now();return e.filter(e=>new Date(e.expires_at).getTime()>t)}(u.sessions),u.sessions.push(i),await d(u),{token:r,session:i}}async function m(e){if(!e)return null;let t=l(e),r=await c(),s=r.sessions.find(e=>e.token_hash===t);return!s||new Date(s.expires_at).getTime()<Date.now()?null:(s.last_used_at=new Date().toISOString(),d(r).catch(()=>{}),s)}async function f(e){let t=l(e),r=await c(),s=r.sessions.length;return r.sessions=r.sessions.filter(e=>e.token_hash!==t),r.sessions.length!==s&&(await d(r),!0)}},2153:(e,t,r)=>{"use strict";r.d(t,{Cf:()=>g,GA:()=>y,Gv:()=>h,Gw:()=>_,Re:()=>S,r4:()=>v,ve:()=>f});var s=r(7561),n=r(3977),i=r(9411),a=r(6005),o=r(2023),u=r.n(o);function l(){let e=process.env.ASTRY_USERS_PATH;if(e){let t=(0,i.dirname)(e);return(0,s.existsSync)(t)||(0,s.mkdirSync)(t,{recursive:!0}),e}let t=process.env.PRISM_INSTANCE_DIR;if(!t)throw Error("PRISM_INSTANCE_DIR or ASTRY_USERS_PATH must be set");let r=(0,i.join)(t,"config");return(0,s.existsSync)(r)||(0,s.mkdirSync)(r,{recursive:!0}),(0,i.join)(r,"users.json")}async function c(){let e=l();if(!(0,s.existsSync)(e))return{version:1,users:[]};try{let t=await (0,n.readFile)(e,"utf8"),r=JSON.parse(t);if(r?.version!==1||!Array.isArray(r.users))return{version:1,users:[]};return r}catch{return{version:1,users:[]}}}async function d(e){let t=l();(0,s.mkdirSync)((0,i.dirname)(t),{recursive:!0});let r=`${t}.tmp.${process.pid}.${Date.now()}`;await (0,n.writeFile)(r,JSON.stringify(e,null,2),{mode:384}),await (0,n.rename)(r,t)}function p(e){let{password_hash:t,...r}=e;return r}function m(e){return e.trim().toLowerCase()}async function f(){return(await c()).users.filter(e=>!e.disabled).length}async function y(e){let t=(await c()).users.find(t=>t.id===e);return t?p(t):null}async function w(e){let t=await c(),r=m(e);return t.users.find(e=>e.email===r)??null}async function _(){let e=await c();return{session_lifetime_days:e.settings?.session_lifetime_days??30}}async function S(e){let t=await c();if(!Number.isFinite(e)||e<1||e>365)throw Error("session_lifetime_days must be 1-365");t.settings={...t.settings??{},session_lifetime_days:Math.round(e)},await d(t)}async function v(e){let t=await c(),r=m(e.email);if(!r.includes("@"))throw Error("invalid email");if(e.password.length<8)throw Error("password must be at least 8 characters");if(t.users.find(e=>e.email===r))throw Error("email already exists");let s={id:"usr_"+(0,a.randomBytes)(8).toString("base64url"),email:r,name:e.name.trim()||r,password_hash:await u().hash(e.password,12),role:e.role,created_at:new Date().toISOString(),created_by:e.created_by,last_login_at:null,disabled:!1};return t.users.push(s),await d(t),p(s)}async function h(e,t){let r=await w(e);return!r||r.disabled?null:await u().compare(t,r.password_hash)?r:null}async function g(e){let t=await c(),r=t.users.find(t=>t.id===e);r&&(r.last_login_at=new Date().toISOString(),await d(t))}}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[948,277,70],()=>r(3769));module.exports=s})();