@alook/app 0.0.86 → 0.0.88

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 (87) hide show
  1. package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
  2. package/bundled/web/.open-next/assets/BUILD_ID +1 -1
  3. package/bundled/web/.open-next/cache/{SpcOOHJ2eqA1R7TZbgWwM → -kpnfm6PFlHuGmHkAST-N}/_global-error.cache +1 -1
  4. package/bundled/web/.open-next/cache/{SpcOOHJ2eqA1R7TZbgWwM → -kpnfm6PFlHuGmHkAST-N}/_not-found.cache +1 -1
  5. package/bundled/web/.open-next/cache/{SpcOOHJ2eqA1R7TZbgWwM → -kpnfm6PFlHuGmHkAST-N}/privacy.cache +1 -1
  6. package/bundled/web/.open-next/cache/{SpcOOHJ2eqA1R7TZbgWwM → -kpnfm6PFlHuGmHkAST-N}/sitemap.xml.cache +1 -1
  7. package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
  8. package/bundled/web/.open-next/cloudflare/init.js +1 -1
  9. package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
  10. package/bundled/web/.open-next/middleware/handler.mjs +3 -3
  11. package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
  12. package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
  13. package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
  14. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/route.js +4 -4
  15. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/workspace/browse/route.js +3 -3
  16. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/route.js +2 -2
  17. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/artifacts/upload/route.js +2 -2
  18. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/route.js +2 -2
  19. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/active-task/route.js +2 -2
  20. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/[messageId]/route.js +2 -2
  21. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/route.js +5 -5
  22. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/messages/route.js +3 -3
  23. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/register/route.js +2 -2
  24. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/sweep/route.js +2 -2
  25. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/complete/route.js +1 -1
  26. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/fail/route.js +1 -1
  27. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/messages/route.js +3 -3
  28. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/start/route.js +1 -1
  29. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/[taskId]/supersede/route.js +1 -1
  30. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/tasks/poll/route.js +2 -2
  31. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/daemon/workspace/report/route.js +3 -3
  32. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/send/route.js +1 -1
  33. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/comments/route.js +1 -1
  34. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/route.js +2 -2
  35. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/route.js +2 -2
  36. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/[runtimeId]/rescan/route.js +2 -2
  37. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/[runtimeId]/update/route.js +3 -3
  38. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/runtimes/machine/route.js +2 -2
  39. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/route.js +3 -3
  40. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/tasks/[id]/retry/route.js +2 -2
  41. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__04maj_8._.js +1 -1
  42. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__09r0_sk._.js +1 -1
  43. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0_.051i._.js +1 -1
  44. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0glqblu._.js +1 -1
  45. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ko5xa_._.js +1 -1
  46. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kruv9u._.js +1 -1
  47. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0l91rwj._.js +1 -1
  48. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m5a1_f._.js +1 -1
  49. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ntc1ld._.js +1 -1
  50. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0om99x0._.js +1 -1
  51. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0-7a9se._.js +1 -1
  52. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_007pf4f._.js +1 -1
  53. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_037ndoa._.js +1 -1
  54. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_04gp_km._.js +1 -1
  55. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_05zp0zn._.js +1 -1
  56. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_05~18bk._.js +1 -1
  57. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_091mubc._.js +1 -1
  58. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0aveiot._.js +2 -2
  59. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0cji8yc._.js +1 -1
  60. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0f.tk9k._.js +1 -1
  61. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0g1_3hn._.js +1 -1
  62. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0h3guve._.js +1 -1
  63. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0h_dgb9._.js +1 -1
  64. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0hxvvdy._.js +1 -1
  65. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ke5r~m._.js +1 -1
  66. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0l0biq~._.js +1 -1
  67. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0oyl16-._.js +1 -1
  68. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0pt9vvp._.js +1 -1
  69. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0s~hhx-._.js +1 -1
  70. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12gxjds._.js +1 -1
  71. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_13hlohp._.js +1 -1
  72. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0mko5ir._.js +1 -1
  73. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
  74. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
  75. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
  76. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
  77. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +35 -35
  78. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +97 -97
  79. package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
  80. package/bundled/ws-do/index.js +7 -2
  81. package/dist/cli/index.js +1 -1
  82. package/dist/index.js +52 -14
  83. package/package.json +1 -1
  84. /package/bundled/web/.open-next/assets/_next/static/{SpcOOHJ2eqA1R7TZbgWwM → -kpnfm6PFlHuGmHkAST-N}/_buildManifest.js +0 -0
  85. /package/bundled/web/.open-next/assets/_next/static/{SpcOOHJ2eqA1R7TZbgWwM → -kpnfm6PFlHuGmHkAST-N}/_clientMiddlewareManifest.js +0 -0
  86. /package/bundled/web/.open-next/assets/_next/static/{SpcOOHJ2eqA1R7TZbgWwM → -kpnfm6PFlHuGmHkAST-N}/_ssgManifest.js +0 -0
  87. /package/bundled/web/.open-next/cache/{SpcOOHJ2eqA1R7TZbgWwM → -kpnfm6PFlHuGmHkAST-N}/robots.txt.cache +0 -0
@@ -1268,11 +1268,11 @@ var NEXT_DIR = path.join(__dirname, ".next");
1268
1268
  var OPEN_NEXT_DIR = path.join(__dirname, ".open-next");
1269
1269
  debug({ NEXT_DIR, OPEN_NEXT_DIR });
1270
1270
  var NextConfig = { "env": {}, "typescript": { "ignoreBuildErrors": false }, "typedRoutes": false, "distDir": ".next", "cleanDistDir": true, "assetPrefix": "", "cacheMaxMemorySize": 52428800, "configOrigin": "next.config.ts", "useFileSystemPublicRoutes": true, "generateEtags": true, "pageExtensions": ["js", "jsx", "md", "mdx", "ts", "tsx"], "poweredByHeader": true, "compress": true, "images": { "deviceSizes": [640, 750, 828, 1080, 1200, 1920, 2048, 3840], "imageSizes": [32, 48, 64, 96, 128, 256, 384], "path": "/_next/image", "loader": "default", "loaderFile": "", "domains": [], "disableStaticImages": false, "minimumCacheTTL": 14400, "formats": ["image/webp"], "maximumRedirects": 3, "maximumResponseBody": 5e7, "dangerouslyAllowLocalIP": false, "dangerouslyAllowSVG": false, "contentSecurityPolicy": "script-src 'none'; frame-src 'none'; sandbox;", "contentDispositionType": "attachment", "localPatterns": [{ "pathname": "**", "search": "" }], "remotePatterns": [], "qualities": [75], "unoptimized": false, "customCacheHandler": false }, "devIndicators": { "position": "bottom-left" }, "onDemandEntries": { "maxInactiveAge": 6e4, "pagesBufferLength": 5 }, "basePath": "", "sassOptions": {}, "trailingSlash": false, "i18n": null, "productionBrowserSourceMaps": false, "excludeDefaultMomentLocales": true, "reactProductionProfiling": false, "reactStrictMode": null, "reactMaxHeadersLength": 6e3, "httpAgentOptions": { "keepAlive": true }, "logging": { "serverFunctions": true, "browserToTerminal": "warn" }, "compiler": {}, "expireTime": 31536e3, "staticPageGenerationTimeout": 60, "output": "standalone", "modularizeImports": { "@mui/icons-material": { "transform": "@mui/icons-material/{{member}}" }, "lodash": { "transform": "lodash/{{member}}" } }, "outputFileTracingRoot": "/home/runner/work/alook/alook", "cacheComponents": false, "cacheLife": { "default": { "stale": 300, "revalidate": 900, "expire": 4294967294 }, "seconds": { "stale": 30, "revalidate": 1, "expire": 60 }, "minutes": { "stale": 300, "revalidate": 60, "expire": 3600 }, "hours": { "stale": 300, "revalidate": 3600, "expire": 86400 }, "days": { "stale": 300, "revalidate": 86400, "expire": 604800 }, "weeks": { "stale": 300, "revalidate": 604800, "expire": 2592e3 }, "max": { "stale": 300, "revalidate": 2592e3, "expire": 31536e3 } }, "cacheHandlers": {}, "experimental": { "appNewScrollHandler": false, "useSkewCookie": false, "cssChunking": true, "multiZoneDraftMode": false, "appNavFailHandling": false, "prerenderEarlyExit": true, "serverMinification": true, "linkNoTouchStart": false, "caseSensitiveRoutes": false, "cachedNavigations": false, "partialFallbacks": false, "dynamicOnHover": false, "varyParams": false, "prefetchInlining": false, "preloadEntriesOnStart": true, "clientRouterFilter": true, "clientRouterFilterRedirects": false, "fetchCacheKeyPrefix": "", "proxyPrefetch": "flexible", "optimisticClientCache": true, "manualClientBasePath": false, "cpus": 3, "memoryBasedWorkersCount": false, "imgOptConcurrency": null, "imgOptTimeoutInSeconds": 7, "imgOptMaxInputPixels": 268402689, "imgOptSequentialRead": null, "imgOptSkipMetadata": null, "isrFlushToDisk": true, "workerThreads": false, "optimizeCss": false, "nextScriptWorkers": false, "scrollRestoration": false, "externalDir": false, "disableOptimizedLoading": false, "gzipSize": true, "craCompat": false, "esmExternals": true, "fullySpecified": false, "swcTraceProfiling": false, "forceSwcTransforms": false, "largePageDataBytes": 128e3, "typedEnv": false, "parallelServerCompiles": false, "parallelServerBuildTraces": false, "ppr": false, "authInterrupts": false, "webpackMemoryOptimizations": false, "optimizeServerReact": true, "strictRouteTypes": false, "viewTransition": false, "removeUncaughtErrorAndRejectionListeners": false, "validateRSCRequestHeaders": false, "staleTimes": { "dynamic": 0, "static": 300 }, "reactDebugChannel": true, "serverComponentsHmrCache": true, "staticGenerationMaxConcurrency": 8, "staticGenerationMinPagesPerWorker": 25, "transitionIndicator": false, "gestureTransition": false, "inlineCss": false, "useCache": false, "globalNotFound": false, "browserDebugInfoInTerminal": "warn", "lockDistDir": true, "proxyClientMaxBodySize": 10485760, "hideLogsAfterAbort": false, "mcpServer": true, "turbopackFileSystemCacheForDev": true, "turbopackFileSystemCacheForBuild": false, "turbopackInferModuleSideEffects": true, "turbopackPluginRuntimeStrategy": "childProcesses", "optimizePackageImports": ["lucide-react", "date-fns", "lodash-es", "ramda", "antd", "react-bootstrap", "ahooks", "@ant-design/icons", "@headlessui/react", "@headlessui-float/react", "@heroicons/react/20/solid", "@heroicons/react/24/solid", "@heroicons/react/24/outline", "@visx/visx", "@tremor/react", "rxjs", "@mui/material", "@mui/icons-material", "recharts", "react-use", "effect", "@effect/schema", "@effect/platform", "@effect/platform-node", "@effect/platform-browser", "@effect/platform-bun", "@effect/sql", "@effect/sql-mssql", "@effect/sql-mysql2", "@effect/sql-pg", "@effect/sql-sqlite-node", "@effect/sql-sqlite-bun", "@effect/sql-sqlite-wasm", "@effect/sql-sqlite-react-native", "@effect/rpc", "@effect/rpc-http", "@effect/typeclass", "@effect/experimental", "@effect/opentelemetry", "@material-ui/core", "@material-ui/icons", "@tabler/icons-react", "mui-core", "react-icons/ai", "react-icons/bi", "react-icons/bs", "react-icons/cg", "react-icons/ci", "react-icons/di", "react-icons/fa", "react-icons/fa6", "react-icons/fc", "react-icons/fi", "react-icons/gi", "react-icons/go", "react-icons/gr", "react-icons/hi", "react-icons/hi2", "react-icons/im", "react-icons/io", "react-icons/io5", "react-icons/lia", "react-icons/lib", "react-icons/lu", "react-icons/md", "react-icons/pi", "react-icons/ri", "react-icons/rx", "react-icons/si", "react-icons/sl", "react-icons/tb", "react-icons/tfi", "react-icons/ti", "react-icons/vsc", "react-icons/wi"], "trustHostHeader": false, "isExperimentalCompile": false }, "htmlLimitedBots": "[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight", "bundlePagesRouterDependencies": false, "configFileName": "next.config.ts", "serverExternalPackages": ["@better-auth/core"], "turbopack": { "root": "/home/runner/work/alook/alook", "rules": { "{*,next-mdx-rule}": [{ "loaders": [{ "loader": "/home/runner/work/alook/alook/node_modules/.pnpm/@next+mdx@16.2.6_@mdx-js+loader@3.1.1_@mdx-js+react@3.1.1_@types+react@19.2.14_react@19.2.6_/node_modules/@next/mdx/mdx-js-loader.js", "options": { "providerImportSource": "next-mdx-import-source-file", "remarkPlugins": [], "rehypePlugins": [["rehype-pretty-code", { "theme": { "light": "vitesse-light", "dark": "vitesse-dark" }, "keepBackground": false }]] } }], "as": "*.tsx", "condition": { "path": {} } }] }, "resolveAlias": { "next-mdx-import-source-file": "@vercel/turbopack-next/mdx-import-source" } }, "distDirRoot": ".next" };
1271
- var BuildId = "SpcOOHJ2eqA1R7TZbgWwM";
1271
+ var BuildId = "-kpnfm6PFlHuGmHkAST-N";
1272
1272
  var HtmlPages = ["/404", "/500"];
1273
1273
  var RoutesManifest = { "basePath": "", "rewrites": { "beforeFiles": [], "afterFiles": [], "fallback": [] }, "redirects": [{ "source": "/:path+/", "destination": "/:path+", "internal": true, "priority": true, "statusCode": 308, "regex": "^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$" }], "routes": { "static": [{ "page": "/", "regex": "^/(?:/)?$", "routeKeys": {}, "namedRegex": "^/(?:/)?$" }, { "page": "/_global-error", "regex": "^/_global\\-error(?:/)?$", "routeKeys": {}, "namedRegex": "^/_global\\-error(?:/)?$" }, { "page": "/_not-found", "regex": "^/_not\\-found(?:/)?$", "routeKeys": {}, "namedRegex": "^/_not\\-found(?:/)?$" }, { "page": "/api/agent-links", "regex": "^/api/agent\\-links(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agent\\-links(?:/)?$" }, { "page": "/api/agents", "regex": "^/api/agents(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agents(?:/)?$" }, { "page": "/api/agents/active-task-counts", "regex": "^/api/agents/active\\-task\\-counts(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agents/active\\-task\\-counts(?:/)?$" }, { "page": "/api/agents/active-tasks", "regex": "^/api/agents/active\\-tasks(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agents/active\\-tasks(?:/)?$" }, { "page": "/api/agents/pins", "regex": "^/api/agents/pins(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agents/pins(?:/)?$" }, { "page": "/api/agents/pins/reorder", "regex": "^/api/agents/pins/reorder(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agents/pins/reorder(?:/)?$" }, { "page": "/api/agents/sidebar/reorder", "regex": "^/api/agents/sidebar/reorder(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agents/sidebar/reorder(?:/)?$" }, { "page": "/api/artifacts", "regex": "^/api/artifacts(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/artifacts(?:/)?$" }, { "page": "/api/artifacts/upload", "regex": "^/api/artifacts/upload(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/artifacts/upload(?:/)?$" }, { "page": "/api/calendar", "regex": "^/api/calendar(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/calendar(?:/)?$" }, { "page": "/api/channels", "regex": "^/api/channels(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/channels(?:/)?$" }, { "page": "/api/channels/reorder", "regex": "^/api/channels/reorder(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/channels/reorder(?:/)?$" }, { "page": "/api/cli/latest-version", "regex": "^/api/cli/latest\\-version(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/cli/latest\\-version(?:/)?$" }, { "page": "/api/config/min-version", "regex": "^/api/config/min\\-version(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/config/min\\-version(?:/)?$" }, { "page": "/api/config/model-options", "regex": "^/api/config/model\\-options(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/config/model\\-options(?:/)?$" }, { "page": "/api/conversations", "regex": "^/api/conversations(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/conversations(?:/)?$" }, { "page": "/api/conversations/check-fresh", "regex": "^/api/conversations/check\\-fresh(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/conversations/check\\-fresh(?:/)?$" }, { "page": "/api/daemon/deregister", "regex": "^/api/daemon/deregister(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/daemon/deregister(?:/)?$" }, { "page": "/api/daemon/heartbeat", "regex": "^/api/daemon/heartbeat(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/daemon/heartbeat(?:/)?$" }, { "page": "/api/daemon/register", "regex": "^/api/daemon/register(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/daemon/register(?:/)?$" }, { "page": "/api/daemon/sweep", "regex": "^/api/daemon/sweep(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/daemon/sweep(?:/)?$" }, { "page": "/api/daemon/tasks/poll", "regex": "^/api/daemon/tasks/poll(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/daemon/tasks/poll(?:/)?$" }, { "page": "/api/daemon/workspace/report", "regex": "^/api/daemon/workspace/report(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/daemon/workspace/report(?:/)?$" }, { "page": "/api/daily-quote", "regex": "^/api/daily\\-quote(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/daily\\-quote(?:/)?$" }, { "page": "/api/email", "regex": "^/api/email(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/email(?:/)?$" }, { "page": "/api/email/notify", "regex": "^/api/email/notify(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/email/notify(?:/)?$" }, { "page": "/api/email/send", "regex": "^/api/email/send(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/email/send(?:/)?$" }, { "page": "/api/email/upload", "regex": "^/api/email/upload(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/email/upload(?:/)?$" }, { "page": "/api/flags", "regex": "^/api/flags(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/flags(?:/)?$" }, { "page": "/api/flags/count", "regex": "^/api/flags/count(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/flags/count(?:/)?$" }, { "page": "/api/health", "regex": "^/api/health(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/health(?:/)?$" }, { "page": "/api/inbox", "regex": "^/api/inbox(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/inbox(?:/)?$" }, { "page": "/api/inbox/count", "regex": "^/api/inbox/count(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/inbox/count(?:/)?$" }, { "page": "/api/inbox/read", "regex": "^/api/inbox/read(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/inbox/read(?:/)?$" }, { "page": "/api/inbox/read-all", "regex": "^/api/inbox/read\\-all(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/inbox/read\\-all(?:/)?$" }, { "page": "/api/issues", "regex": "^/api/issues(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/issues(?:/)?$" }, { "page": "/api/machine-tokens", "regex": "^/api/machine\\-tokens(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/machine\\-tokens(?:/)?$" }, { "page": "/api/machine-tokens/activate", "regex": "^/api/machine\\-tokens/activate(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/machine\\-tokens/activate(?:/)?$" }, { "page": "/api/me", "regex": "^/api/me(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/me(?:/)?$" }, { "page": "/api/meeting/callback", "regex": "^/api/meeting/callback(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/meeting/callback(?:/)?$" }, { "page": "/api/members/me", "regex": "^/api/members/me(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/members/me(?:/)?$" }, { "page": "/api/runtimes", "regex": "^/api/runtimes(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/runtimes(?:/)?$" }, { "page": "/api/runtimes/machine", "regex": "^/api/runtimes/machine(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/runtimes/machine(?:/)?$" }, { "page": "/api/studios", "regex": "^/api/studios(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/studios(?:/)?$" }, { "page": "/api/studios/check-handles", "regex": "^/api/studios/check\\-handles(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/studios/check\\-handles(?:/)?$" }, { "page": "/api/studios/check-name", "regex": "^/api/studios/check\\-name(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/studios/check\\-name(?:/)?$" }, { "page": "/api/tasks/step-counts", "regex": "^/api/tasks/step\\-counts(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/tasks/step\\-counts(?:/)?$" }, { "page": "/api/traces", "regex": "^/api/traces(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/traces(?:/)?$" }, { "page": "/api/workspaces", "regex": "^/api/workspaces(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/workspaces(?:/)?$" }, { "page": "/api/ws/token", "regex": "^/api/ws/token(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/ws/token(?:/)?$" }, { "page": "/og", "regex": "^/og(?:/)?$", "routeKeys": {}, "namedRegex": "^/og(?:/)?$" }, { "page": "/privacy", "regex": "^/privacy(?:/)?$", "routeKeys": {}, "namedRegex": "^/privacy(?:/)?$" }, { "page": "/robots.txt", "regex": "^/robots\\.txt(?:/)?$", "routeKeys": {}, "namedRegex": "^/robots\\.txt(?:/)?$" }, { "page": "/sign-in", "regex": "^/sign\\-in(?:/)?$", "routeKeys": {}, "namedRegex": "^/sign\\-in(?:/)?$" }, { "page": "/sitemap.xml", "regex": "^/sitemap\\.xml(?:/)?$", "routeKeys": {}, "namedRegex": "^/sitemap\\.xml(?:/)?$" }, { "page": "/studio/new", "regex": "^/studio/new(?:/)?$", "routeKeys": {}, "namedRegex": "^/studio/new(?:/)?$" }, { "page": "/templates", "regex": "^/templates(?:/)?$", "routeKeys": {}, "namedRegex": "^/templates(?:/)?$" }, { "page": "/workspaces", "regex": "^/workspaces(?:/)?$", "routeKeys": {}, "namedRegex": "^/workspaces(?:/)?$" }], "dynamic": [{ "page": "/api/agent-links/[id]", "regex": "^/api/agent\\-links/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agent\\-links/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/agents/[id]", "regex": "^/api/agents/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/agents/[id]/access", "regex": "^/api/agents/([^/]+?)/access(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/access(?:/)?$" }, { "page": "/api/agents/[id]/access/[userId]", "regex": "^/api/agents/([^/]+?)/access/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPuserId": "nxtPuserId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/access/(?<nxtPuserId>[^/]+?)(?:/)?$" }, { "page": "/api/agents/[id]/active-tasks", "regex": "^/api/agents/([^/]+?)/active\\-tasks(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/active\\-tasks(?:/)?$" }, { "page": "/api/agents/[id]/activity", "regex": "^/api/agents/([^/]+?)/activity(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/activity(?:/)?$" }, { "page": "/api/agents/[id]/chat-init", "regex": "^/api/agents/([^/]+?)/chat\\-init(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/chat\\-init(?:/)?$" }, { "page": "/api/agents/[id]/conversation", "regex": "^/api/agents/([^/]+?)/conversation(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/conversation(?:/)?$" }, { "page": "/api/agents/[id]/conversations", "regex": "^/api/agents/([^/]+?)/conversations(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/conversations(?:/)?$" }, { "page": "/api/agents/[id]/email-accounts", "regex": "^/api/agents/([^/]+?)/email\\-accounts(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/email\\-accounts(?:/)?$" }, { "page": "/api/agents/[id]/email-accounts/[accountId]", "regex": "^/api/agents/([^/]+?)/email\\-accounts/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPaccountId": "nxtPaccountId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/email\\-accounts/(?<nxtPaccountId>[^/]+?)(?:/)?$" }, { "page": "/api/agents/[id]/email-accounts/[accountId]/sync", "regex": "^/api/agents/([^/]+?)/email\\-accounts/([^/]+?)/sync(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPaccountId": "nxtPaccountId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/email\\-accounts/(?<nxtPaccountId>[^/]+?)/sync(?:/)?$" }, { "page": "/api/agents/[id]/email-accounts/[accountId]/test", "regex": "^/api/agents/([^/]+?)/email\\-accounts/([^/]+?)/test(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPaccountId": "nxtPaccountId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/email\\-accounts/(?<nxtPaccountId>[^/]+?)/test(?:/)?$" }, { "page": "/api/agents/[id]/meetings", "regex": "^/api/agents/([^/]+?)/meetings(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/meetings(?:/)?$" }, { "page": "/api/agents/[id]/meetings/[meetingId]", "regex": "^/api/agents/([^/]+?)/meetings/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPmeetingId": "nxtPmeetingId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/meetings/(?<nxtPmeetingId>[^/]+?)(?:/)?$" }, { "page": "/api/agents/[id]/meetings/[meetingId]/approve", "regex": "^/api/agents/([^/]+?)/meetings/([^/]+?)/approve(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPmeetingId": "nxtPmeetingId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/meetings/(?<nxtPmeetingId>[^/]+?)/approve(?:/)?$" }, { "page": "/api/agents/[id]/meetings/[meetingId]/stop", "regex": "^/api/agents/([^/]+?)/meetings/([^/]+?)/stop(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPmeetingId": "nxtPmeetingId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/meetings/(?<nxtPmeetingId>[^/]+?)/stop(?:/)?$" }, { "page": "/api/agents/[id]/pin", "regex": "^/api/agents/([^/]+?)/pin(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/pin(?:/)?$" }, { "page": "/api/agents/[id]/whitelist", "regex": "^/api/agents/([^/]+?)/whitelist(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/whitelist(?:/)?$" }, { "page": "/api/agents/[id]/whitelist/[whitelistId]", "regex": "^/api/agents/([^/]+?)/whitelist/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPwhitelistId": "nxtPwhitelistId" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/whitelist/(?<nxtPwhitelistId>[^/]+?)(?:/)?$" }, { "page": "/api/agents/[id]/workspace/browse", "regex": "^/api/agents/([^/]+?)/workspace/browse(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/workspace/browse(?:/)?$" }, { "page": "/api/artifacts/[id]", "regex": "^/api/artifacts/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/artifacts/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/artifacts/[id]/content", "regex": "^/api/artifacts/([^/]+?)/content(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/artifacts/(?<nxtPid>[^/]+?)/content(?:/)?$" }, { "page": "/api/auth/[...all]", "regex": "^/api/auth/(.+?)(?:/)?$", "routeKeys": { "nxtPall": "nxtPall" }, "namedRegex": "^/api/auth/(?<nxtPall>.+?)(?:/)?$" }, { "page": "/api/calendar/[id]", "regex": "^/api/calendar/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/calendar/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/channels/[id]", "regex": "^/api/channels/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/channels/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/conversations/[id]", "regex": "^/api/conversations/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/conversations/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/conversations/[id]/active-task", "regex": "^/api/conversations/([^/]+?)/active\\-task(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/conversations/(?<nxtPid>[^/]+?)/active\\-task(?:/)?$" }, { "page": "/api/conversations/[id]/buffered-messages", "regex": "^/api/conversations/([^/]+?)/buffered\\-messages(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/conversations/(?<nxtPid>[^/]+?)/buffered\\-messages(?:/)?$" }, { "page": "/api/conversations/[id]/buffered-messages/[messageId]", "regex": "^/api/conversations/([^/]+?)/buffered\\-messages/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPmessageId": "nxtPmessageId" }, "namedRegex": "^/api/conversations/(?<nxtPid>[^/]+?)/buffered\\-messages/(?<nxtPmessageId>[^/]+?)(?:/)?$" }, { "page": "/api/conversations/[id]/init", "regex": "^/api/conversations/([^/]+?)/init(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/conversations/(?<nxtPid>[^/]+?)/init(?:/)?$" }, { "page": "/api/conversations/[id]/messages", "regex": "^/api/conversations/([^/]+?)/messages(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/conversations/(?<nxtPid>[^/]+?)/messages(?:/)?$" }, { "page": "/api/daemon/tasks/[taskId]/complete", "regex": "^/api/daemon/tasks/([^/]+?)/complete(?:/)?$", "routeKeys": { "nxtPtaskId": "nxtPtaskId" }, "namedRegex": "^/api/daemon/tasks/(?<nxtPtaskId>[^/]+?)/complete(?:/)?$" }, { "page": "/api/daemon/tasks/[taskId]/fail", "regex": "^/api/daemon/tasks/([^/]+?)/fail(?:/)?$", "routeKeys": { "nxtPtaskId": "nxtPtaskId" }, "namedRegex": "^/api/daemon/tasks/(?<nxtPtaskId>[^/]+?)/fail(?:/)?$" }, { "page": "/api/daemon/tasks/[taskId]/messages", "regex": "^/api/daemon/tasks/([^/]+?)/messages(?:/)?$", "routeKeys": { "nxtPtaskId": "nxtPtaskId" }, "namedRegex": "^/api/daemon/tasks/(?<nxtPtaskId>[^/]+?)/messages(?:/)?$" }, { "page": "/api/daemon/tasks/[taskId]/progress", "regex": "^/api/daemon/tasks/([^/]+?)/progress(?:/)?$", "routeKeys": { "nxtPtaskId": "nxtPtaskId" }, "namedRegex": "^/api/daemon/tasks/(?<nxtPtaskId>[^/]+?)/progress(?:/)?$" }, { "page": "/api/daemon/tasks/[taskId]/start", "regex": "^/api/daemon/tasks/([^/]+?)/start(?:/)?$", "routeKeys": { "nxtPtaskId": "nxtPtaskId" }, "namedRegex": "^/api/daemon/tasks/(?<nxtPtaskId>[^/]+?)/start(?:/)?$" }, { "page": "/api/daemon/tasks/[taskId]/status", "regex": "^/api/daemon/tasks/([^/]+?)/status(?:/)?$", "routeKeys": { "nxtPtaskId": "nxtPtaskId" }, "namedRegex": "^/api/daemon/tasks/(?<nxtPtaskId>[^/]+?)/status(?:/)?$" }, { "page": "/api/daemon/tasks/[taskId]/supersede", "regex": "^/api/daemon/tasks/([^/]+?)/supersede(?:/)?$", "routeKeys": { "nxtPtaskId": "nxtPtaskId" }, "namedRegex": "^/api/daemon/tasks/(?<nxtPtaskId>[^/]+?)/supersede(?:/)?$" }, { "page": "/api/email/[id]", "regex": "^/api/email/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/email/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/email/[id]/attachment/[index]", "regex": "^/api/email/([^/]+?)/attachment/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPindex": "nxtPindex" }, "namedRegex": "^/api/email/(?<nxtPid>[^/]+?)/attachment/(?<nxtPindex>[^/]+?)(?:/)?$" }, { "page": "/api/email/[id]/body", "regex": "^/api/email/([^/]+?)/body(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/email/(?<nxtPid>[^/]+?)/body(?:/)?$" }, { "page": "/api/email/[id]/raw", "regex": "^/api/email/([^/]+?)/raw(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/email/(?<nxtPid>[^/]+?)/raw(?:/)?$" }, { "page": "/api/email/[id]/thread", "regex": "^/api/email/([^/]+?)/thread(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/email/(?<nxtPid>[^/]+?)/thread(?:/)?$" }, { "page": "/api/flags/[messageId]", "regex": "^/api/flags/([^/]+?)(?:/)?$", "routeKeys": { "nxtPmessageId": "nxtPmessageId" }, "namedRegex": "^/api/flags/(?<nxtPmessageId>[^/]+?)(?:/)?$" }, { "page": "/api/invite/[token]", "regex": "^/api/invite/([^/]+?)(?:/)?$", "routeKeys": { "nxtPtoken": "nxtPtoken" }, "namedRegex": "^/api/invite/(?<nxtPtoken>[^/]+?)(?:/)?$" }, { "page": "/api/issues/[id]", "regex": "^/api/issues/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/issues/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/issues/[id]/comments", "regex": "^/api/issues/([^/]+?)/comments(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/issues/(?<nxtPid>[^/]+?)/comments(?:/)?$" }, { "page": "/api/machine-tokens/[id]", "regex": "^/api/machine\\-tokens/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/machine\\-tokens/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/runtimes/[runtimeId]/rescan", "regex": "^/api/runtimes/([^/]+?)/rescan(?:/)?$", "routeKeys": { "nxtPruntimeId": "nxtPruntimeId" }, "namedRegex": "^/api/runtimes/(?<nxtPruntimeId>[^/]+?)/rescan(?:/)?$" }, { "page": "/api/runtimes/[runtimeId]/update", "regex": "^/api/runtimes/([^/]+?)/update(?:/)?$", "routeKeys": { "nxtPruntimeId": "nxtPruntimeId" }, "namedRegex": "^/api/runtimes/(?<nxtPruntimeId>[^/]+?)/update(?:/)?$" }, { "page": "/api/tasks/[id]", "regex": "^/api/tasks/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/tasks/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/tasks/[id]/messages", "regex": "^/api/tasks/([^/]+?)/messages(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/tasks/(?<nxtPid>[^/]+?)/messages(?:/)?$" }, { "page": "/api/tasks/[id]/retry", "regex": "^/api/tasks/([^/]+?)/retry(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/tasks/(?<nxtPid>[^/]+?)/retry(?:/)?$" }, { "page": "/api/traces/[traceId]", "regex": "^/api/traces/([^/]+?)(?:/)?$", "routeKeys": { "nxtPtraceId": "nxtPtraceId" }, "namedRegex": "^/api/traces/(?<nxtPtraceId>[^/]+?)(?:/)?$" }, { "page": "/api/workspaces/[id]", "regex": "^/api/workspaces/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/workspaces/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/api/workspaces/[id]/invites", "regex": "^/api/workspaces/([^/]+?)/invites(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/workspaces/(?<nxtPid>[^/]+?)/invites(?:/)?$" }, { "page": "/api/workspaces/[id]/invites/[inviteId]", "regex": "^/api/workspaces/([^/]+?)/invites/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPinviteId": "nxtPinviteId" }, "namedRegex": "^/api/workspaces/(?<nxtPid>[^/]+?)/invites/(?<nxtPinviteId>[^/]+?)(?:/)?$" }, { "page": "/api/workspaces/[id]/members", "regex": "^/api/workspaces/([^/]+?)/members(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/workspaces/(?<nxtPid>[^/]+?)/members(?:/)?$" }, { "page": "/api/workspaces/[id]/members/[memberId]", "regex": "^/api/workspaces/([^/]+?)/members/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid", "nxtPmemberId": "nxtPmemberId" }, "namedRegex": "^/api/workspaces/(?<nxtPid>[^/]+?)/members/(?<nxtPmemberId>[^/]+?)(?:/)?$" }, { "page": "/api/workspaces/[id]/overview", "regex": "^/api/workspaces/([^/]+?)/overview(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/workspaces/(?<nxtPid>[^/]+?)/overview(?:/)?$" }, { "page": "/invite/[token]", "regex": "^/invite/([^/]+?)(?:/)?$", "routeKeys": { "nxtPtoken": "nxtPtoken" }, "namedRegex": "^/invite/(?<nxtPtoken>[^/]+?)(?:/)?$" }, { "page": "/templates/[id]", "regex": "^/templates/([^/]+?)(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/templates/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/w/[slug]/agents", "regex": "^/w/([^/]+?)/agents(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents(?:/)?$" }, { "page": "/w/[slug]/agents/new", "regex": "^/w/([^/]+?)/agents/new(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/new(?:/)?$" }, { "page": "/w/[slug]/agents/[id]", "regex": "^/w/([^/]+?)/agents/([^/]+?)(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPid": "nxtPid" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/(?<nxtPid>[^/]+?)(?:/)?$" }, { "page": "/w/[slug]/agents/[id]/activity", "regex": "^/w/([^/]+?)/agents/([^/]+?)/activity(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPid": "nxtPid" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/(?<nxtPid>[^/]+?)/activity(?:/)?$" }, { "page": "/w/[slug]/agents/[id]/chat", "regex": "^/w/([^/]+?)/agents/([^/]+?)/chat(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPid": "nxtPid" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/(?<nxtPid>[^/]+?)/chat(?:/)?$" }, { "page": "/w/[slug]/agents/[id]/chat/[convId]", "regex": "^/w/([^/]+?)/agents/([^/]+?)/chat/([^/]+?)(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPid": "nxtPid", "nxtPconvId": "nxtPconvId" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/(?<nxtPid>[^/]+?)/chat/(?<nxtPconvId>[^/]+?)(?:/)?$" }, { "page": "/w/[slug]/agents/[id]/email", "regex": "^/w/([^/]+?)/agents/([^/]+?)/email(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPid": "nxtPid" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/(?<nxtPid>[^/]+?)/email(?:/)?$" }, { "page": "/w/[slug]/agents/[id]/files", "regex": "^/w/([^/]+?)/agents/([^/]+?)/files(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPid": "nxtPid" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/(?<nxtPid>[^/]+?)/files(?:/)?$" }, { "page": "/w/[slug]/agents/[id]/meetings", "regex": "^/w/([^/]+?)/agents/([^/]+?)/meetings(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPid": "nxtPid" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/agents/(?<nxtPid>[^/]+?)/meetings(?:/)?$" }, { "page": "/w/[slug]/calendar", "regex": "^/w/([^/]+?)/calendar(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/calendar(?:/)?$" }, { "page": "/w/[slug]/flags", "regex": "^/w/([^/]+?)/flags(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/flags(?:/)?$" }, { "page": "/w/[slug]/help/email-setup", "regex": "^/w/([^/]+?)/help/email\\-setup(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/help/email\\-setup(?:/)?$" }, { "page": "/w/[slug]/home", "regex": "^/w/([^/]+?)/home(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/home(?:/)?$" }, { "page": "/w/[slug]/issues", "regex": "^/w/([^/]+?)/issues(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/issues(?:/)?$" }, { "page": "/w/[slug]/runtimes", "regex": "^/w/([^/]+?)/runtimes(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/runtimes(?:/)?$" }, { "page": "/w/[slug]/settings", "regex": "^/w/([^/]+?)/settings(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/settings(?:/)?$" }, { "page": "/w/[slug]/threads", "regex": "^/w/([^/]+?)/threads(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/threads(?:/)?$" }, { "page": "/w/[slug]/threads/[traceId]", "regex": "^/w/([^/]+?)/threads/([^/]+?)(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug", "nxtPtraceId": "nxtPtraceId" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/threads/(?<nxtPtraceId>[^/]+?)(?:/)?$" }, { "page": "/w/[slug]/unread", "regex": "^/w/([^/]+?)/unread(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)/unread(?:/)?$" }], "data": { "static": [], "dynamic": [] } }, "locales": [] };
1274
- var PrerenderManifest = { "version": 4, "routes": { "/_global-error": { "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/_global-error", "dataRoute": "/_global-error.rsc", "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] }, "/_not-found": { "initialStatus": 404, "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/_not-found", "dataRoute": "/_not-found.rsc", "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] }, "/privacy": { "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/privacy", "dataRoute": "/privacy.rsc", "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] }, "/robots.txt": { "initialHeaders": { "cache-control": "public, max-age=0, must-revalidate", "content-type": "text/plain", "x-next-cache-tags": "_N_T_/layout,_N_T_/robots.txt/layout,_N_T_/robots.txt/route,_N_T_/robots.txt" }, "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/robots.txt", "dataRoute": null, "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] }, "/sitemap.xml": { "initialHeaders": { "cache-control": "public, max-age=0, must-revalidate", "content-type": "application/xml", "x-next-cache-tags": "_N_T_/layout,_N_T_/sitemap.xml/layout,_N_T_/sitemap.xml/route,_N_T_/sitemap.xml" }, "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/sitemap.xml", "dataRoute": null, "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] } }, "dynamicRoutes": {}, "notFoundRoutes": [], "preview": { "previewModeId": "8cf7188582327f3290fb27d2ac482073", "previewModeSigningKey": "19a23d87b536aa1e065fdb9fec2a5d4604c73471d628d16ed9c7180e42055a9a", "previewModeEncryptionKey": "3df8d8a9bc336e23a4f39304167003eb0ccb82d883a21c074104148f8ec0f133" } };
1275
- var MiddlewareManifest = { "version": 3, "middleware": { "/": { "files": ["server/edge/chunks/_0hofbt5._.js", "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_05qoh-5.js", "server/edge/chunks/node_modules__pnpm_064.gf-._.js", "server/edge/chunks/[root-of-the-server]__0y.93rt._.js", "server/edge/chunks/0u~q_@better-auth_core_dist_0nfw4wv._.js", "server/edge/chunks/[root-of-the-server]__0oytv_q._.js", "server/edge/chunks/0kwo_kysely_dist_esm_0~ppdkt._.js", "server/edge/chunks/0_yy_@better-auth_kysely-adapter_dist_index_mjs_0j71amh._.js", "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_0iw744w.js"], "name": "middleware", "page": "/", "entrypoint": "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_0iw744w.js", "matchers": [{ "regexp": "^(?:\\/(_next\\/data\\/[^/]{1,}))?(?:\\/((?!_next|favicon\\.ico|.*\\..*).*))(\\.json|\\.rsc|\\.segments\\/.+\\.segment\\.rsc)?[\\/#\\?]?$", "originalSource": "/((?!_next|favicon\\.ico|.*\\..*).*)" }], "wasm": [], "assets": [], "env": { "__NEXT_BUILD_ID": "SpcOOHJ2eqA1R7TZbgWwM", "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "4KpRQHKP18NR1sw55vRn4gVkc4Qbga9ijYK2o06IevU=", "__NEXT_PREVIEW_MODE_ID": "8cf7188582327f3290fb27d2ac482073", "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "3df8d8a9bc336e23a4f39304167003eb0ccb82d883a21c074104148f8ec0f133", "__NEXT_PREVIEW_MODE_SIGNING_KEY": "19a23d87b536aa1e065fdb9fec2a5d4604c73471d628d16ed9c7180e42055a9a" } } }, "sortedMiddleware": ["/"], "functions": {} };
1274
+ var PrerenderManifest = { "version": 4, "routes": { "/_global-error": { "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/_global-error", "dataRoute": "/_global-error.rsc", "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] }, "/_not-found": { "initialStatus": 404, "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/_not-found", "dataRoute": "/_not-found.rsc", "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] }, "/privacy": { "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/privacy", "dataRoute": "/privacy.rsc", "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] }, "/robots.txt": { "initialHeaders": { "cache-control": "public, max-age=0, must-revalidate", "content-type": "text/plain", "x-next-cache-tags": "_N_T_/layout,_N_T_/robots.txt/layout,_N_T_/robots.txt/route,_N_T_/robots.txt" }, "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/robots.txt", "dataRoute": null, "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] }, "/sitemap.xml": { "initialHeaders": { "cache-control": "public, max-age=0, must-revalidate", "content-type": "application/xml", "x-next-cache-tags": "_N_T_/layout,_N_T_/sitemap.xml/layout,_N_T_/sitemap.xml/route,_N_T_/sitemap.xml" }, "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/sitemap.xml", "dataRoute": null, "allowHeader": ["host", "x-matched-path", "x-prerender-revalidate", "x-prerender-revalidate-if-generated", "x-next-revalidated-tags", "x-next-revalidate-tag-token"] } }, "dynamicRoutes": {}, "notFoundRoutes": [], "preview": { "previewModeId": "df0626a9a461125cbb5f23d287dd3096", "previewModeSigningKey": "a58a581ee372ce0186494439d39fdb3767672f4bbe869c2a4aa1396057319953", "previewModeEncryptionKey": "a1365c3a74622c7629347fd18123fc4ad40c2d96dbe4e8ebdd46d2296bdf323e" } };
1275
+ var MiddlewareManifest = { "version": 3, "middleware": { "/": { "files": ["server/edge/chunks/_0hofbt5._.js", "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_05qoh-5.js", "server/edge/chunks/node_modules__pnpm_064.gf-._.js", "server/edge/chunks/[root-of-the-server]__0y.93rt._.js", "server/edge/chunks/0u~q_@better-auth_core_dist_0nfw4wv._.js", "server/edge/chunks/[root-of-the-server]__0oytv_q._.js", "server/edge/chunks/0kwo_kysely_dist_esm_0~ppdkt._.js", "server/edge/chunks/0_yy_@better-auth_kysely-adapter_dist_index_mjs_0j71amh._.js", "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_0iw744w.js"], "name": "middleware", "page": "/", "entrypoint": "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_0iw744w.js", "matchers": [{ "regexp": "^(?:\\/(_next\\/data\\/[^/]{1,}))?(?:\\/((?!_next|favicon\\.ico|.*\\..*).*))(\\.json|\\.rsc|\\.segments\\/.+\\.segment\\.rsc)?[\\/#\\?]?$", "originalSource": "/((?!_next|favicon\\.ico|.*\\..*).*)" }], "wasm": [], "assets": [], "env": { "__NEXT_BUILD_ID": "-kpnfm6PFlHuGmHkAST-N", "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "+md2ZNoI+bJdag40g+cDmSSfBwty4LqRp0YflGGL1Yg=", "__NEXT_PREVIEW_MODE_ID": "df0626a9a461125cbb5f23d287dd3096", "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "a1365c3a74622c7629347fd18123fc4ad40c2d96dbe4e8ebdd46d2296bdf323e", "__NEXT_PREVIEW_MODE_SIGNING_KEY": "a58a581ee372ce0186494439d39fdb3767672f4bbe869c2a4aa1396057319953" } } }, "sortedMiddleware": ["/"], "functions": {} };
1276
1276
  var AppPathRoutesManifest = { "/(app)/invite/[token]/page": "/invite/[token]", "/(app)/studio/new/page": "/studio/new", "/(app)/w/[slug]/agents/[id]/activity/page": "/w/[slug]/agents/[id]/activity", "/(app)/w/[slug]/agents/[id]/chat/[convId]/page": "/w/[slug]/agents/[id]/chat/[convId]", "/(app)/w/[slug]/agents/[id]/chat/page": "/w/[slug]/agents/[id]/chat", "/(app)/w/[slug]/agents/[id]/email/page": "/w/[slug]/agents/[id]/email", "/(app)/w/[slug]/agents/[id]/files/page": "/w/[slug]/agents/[id]/files", "/(app)/w/[slug]/agents/[id]/meetings/page": "/w/[slug]/agents/[id]/meetings", "/(app)/w/[slug]/agents/[id]/page": "/w/[slug]/agents/[id]", "/(app)/w/[slug]/agents/new/page": "/w/[slug]/agents/new", "/(app)/w/[slug]/agents/page": "/w/[slug]/agents", "/(app)/w/[slug]/calendar/page": "/w/[slug]/calendar", "/(app)/w/[slug]/flags/page": "/w/[slug]/flags", "/(app)/w/[slug]/help/email-setup/page": "/w/[slug]/help/email-setup", "/(app)/w/[slug]/home/page": "/w/[slug]/home", "/(app)/w/[slug]/issues/page": "/w/[slug]/issues", "/(app)/w/[slug]/runtimes/page": "/w/[slug]/runtimes", "/(app)/w/[slug]/settings/page": "/w/[slug]/settings", "/(app)/w/[slug]/threads/[traceId]/page": "/w/[slug]/threads/[traceId]", "/(app)/w/[slug]/threads/page": "/w/[slug]/threads", "/(app)/w/[slug]/unread/page": "/w/[slug]/unread", "/(app)/workspaces/page": "/workspaces", "/(auth)/sign-in/page": "/sign-in", "/_global-error/page": "/_global-error", "/_not-found/page": "/_not-found", "/api/agent-links/[id]/route": "/api/agent-links/[id]", "/api/agent-links/route": "/api/agent-links", "/api/agents/[id]/access/[userId]/route": "/api/agents/[id]/access/[userId]", "/api/agents/[id]/access/route": "/api/agents/[id]/access", "/api/agents/[id]/active-tasks/route": "/api/agents/[id]/active-tasks", "/api/agents/[id]/activity/route": "/api/agents/[id]/activity", "/api/agents/[id]/chat-init/route": "/api/agents/[id]/chat-init", "/api/agents/[id]/conversation/route": "/api/agents/[id]/conversation", "/api/agents/[id]/conversations/route": "/api/agents/[id]/conversations", "/api/agents/[id]/email-accounts/[accountId]/route": "/api/agents/[id]/email-accounts/[accountId]", "/api/agents/[id]/email-accounts/[accountId]/sync/route": "/api/agents/[id]/email-accounts/[accountId]/sync", "/api/agents/[id]/email-accounts/[accountId]/test/route": "/api/agents/[id]/email-accounts/[accountId]/test", "/api/agents/[id]/email-accounts/route": "/api/agents/[id]/email-accounts", "/api/agents/[id]/meetings/[meetingId]/approve/route": "/api/agents/[id]/meetings/[meetingId]/approve", "/api/agents/[id]/meetings/[meetingId]/route": "/api/agents/[id]/meetings/[meetingId]", "/api/agents/[id]/meetings/[meetingId]/stop/route": "/api/agents/[id]/meetings/[meetingId]/stop", "/api/agents/[id]/meetings/route": "/api/agents/[id]/meetings", "/api/agents/[id]/pin/route": "/api/agents/[id]/pin", "/api/agents/[id]/route": "/api/agents/[id]", "/api/agents/[id]/whitelist/[whitelistId]/route": "/api/agents/[id]/whitelist/[whitelistId]", "/api/agents/[id]/whitelist/route": "/api/agents/[id]/whitelist", "/api/agents/[id]/workspace/browse/route": "/api/agents/[id]/workspace/browse", "/api/agents/active-task-counts/route": "/api/agents/active-task-counts", "/api/agents/active-tasks/route": "/api/agents/active-tasks", "/api/agents/pins/reorder/route": "/api/agents/pins/reorder", "/api/agents/pins/route": "/api/agents/pins", "/api/agents/route": "/api/agents", "/api/agents/sidebar/reorder/route": "/api/agents/sidebar/reorder", "/api/artifacts/[id]/content/route": "/api/artifacts/[id]/content", "/api/artifacts/[id]/route": "/api/artifacts/[id]", "/api/artifacts/route": "/api/artifacts", "/api/artifacts/upload/route": "/api/artifacts/upload", "/api/auth/[...all]/route": "/api/auth/[...all]", "/api/calendar/[id]/route": "/api/calendar/[id]", "/api/calendar/route": "/api/calendar", "/api/channels/[id]/route": "/api/channels/[id]", "/api/channels/reorder/route": "/api/channels/reorder", "/api/channels/route": "/api/channels", "/api/cli/latest-version/route": "/api/cli/latest-version", "/api/config/min-version/route": "/api/config/min-version", "/api/config/model-options/route": "/api/config/model-options", "/api/conversations/[id]/active-task/route": "/api/conversations/[id]/active-task", "/api/conversations/[id]/buffered-messages/[messageId]/route": "/api/conversations/[id]/buffered-messages/[messageId]", "/api/conversations/[id]/buffered-messages/route": "/api/conversations/[id]/buffered-messages", "/api/conversations/[id]/init/route": "/api/conversations/[id]/init", "/api/conversations/[id]/messages/route": "/api/conversations/[id]/messages", "/api/conversations/[id]/route": "/api/conversations/[id]", "/api/conversations/check-fresh/route": "/api/conversations/check-fresh", "/api/conversations/route": "/api/conversations", "/api/daemon/deregister/route": "/api/daemon/deregister", "/api/daemon/heartbeat/route": "/api/daemon/heartbeat", "/api/daemon/register/route": "/api/daemon/register", "/api/daemon/sweep/route": "/api/daemon/sweep", "/api/daemon/tasks/[taskId]/complete/route": "/api/daemon/tasks/[taskId]/complete", "/api/daemon/tasks/[taskId]/fail/route": "/api/daemon/tasks/[taskId]/fail", "/api/daemon/tasks/[taskId]/messages/route": "/api/daemon/tasks/[taskId]/messages", "/api/daemon/tasks/[taskId]/progress/route": "/api/daemon/tasks/[taskId]/progress", "/api/daemon/tasks/[taskId]/start/route": "/api/daemon/tasks/[taskId]/start", "/api/daemon/tasks/[taskId]/status/route": "/api/daemon/tasks/[taskId]/status", "/api/daemon/tasks/[taskId]/supersede/route": "/api/daemon/tasks/[taskId]/supersede", "/api/daemon/tasks/poll/route": "/api/daemon/tasks/poll", "/api/daemon/workspace/report/route": "/api/daemon/workspace/report", "/api/daily-quote/route": "/api/daily-quote", "/api/email/[id]/attachment/[index]/route": "/api/email/[id]/attachment/[index]", "/api/email/[id]/body/route": "/api/email/[id]/body", "/api/email/[id]/raw/route": "/api/email/[id]/raw", "/api/email/[id]/route": "/api/email/[id]", "/api/email/[id]/thread/route": "/api/email/[id]/thread", "/api/email/notify/route": "/api/email/notify", "/api/email/route": "/api/email", "/api/email/send/route": "/api/email/send", "/api/email/upload/route": "/api/email/upload", "/api/flags/[messageId]/route": "/api/flags/[messageId]", "/api/flags/count/route": "/api/flags/count", "/api/flags/route": "/api/flags", "/api/health/route": "/api/health", "/api/inbox/count/route": "/api/inbox/count", "/api/inbox/read-all/route": "/api/inbox/read-all", "/api/inbox/read/route": "/api/inbox/read", "/api/inbox/route": "/api/inbox", "/api/invite/[token]/route": "/api/invite/[token]", "/api/issues/[id]/comments/route": "/api/issues/[id]/comments", "/api/issues/[id]/route": "/api/issues/[id]", "/api/issues/route": "/api/issues", "/api/machine-tokens/[id]/route": "/api/machine-tokens/[id]", "/api/machine-tokens/activate/route": "/api/machine-tokens/activate", "/api/machine-tokens/route": "/api/machine-tokens", "/api/me/route": "/api/me", "/api/meeting/callback/route": "/api/meeting/callback", "/api/members/me/route": "/api/members/me", "/api/runtimes/[runtimeId]/rescan/route": "/api/runtimes/[runtimeId]/rescan", "/api/runtimes/[runtimeId]/update/route": "/api/runtimes/[runtimeId]/update", "/api/runtimes/machine/route": "/api/runtimes/machine", "/api/runtimes/route": "/api/runtimes", "/api/studios/check-handles/route": "/api/studios/check-handles", "/api/studios/check-name/route": "/api/studios/check-name", "/api/studios/route": "/api/studios", "/api/tasks/[id]/messages/route": "/api/tasks/[id]/messages", "/api/tasks/[id]/retry/route": "/api/tasks/[id]/retry", "/api/tasks/[id]/route": "/api/tasks/[id]", "/api/tasks/step-counts/route": "/api/tasks/step-counts", "/api/traces/[traceId]/route": "/api/traces/[traceId]", "/api/traces/route": "/api/traces", "/api/workspaces/[id]/invites/[inviteId]/route": "/api/workspaces/[id]/invites/[inviteId]", "/api/workspaces/[id]/invites/route": "/api/workspaces/[id]/invites", "/api/workspaces/[id]/members/[memberId]/route": "/api/workspaces/[id]/members/[memberId]", "/api/workspaces/[id]/members/route": "/api/workspaces/[id]/members", "/api/workspaces/[id]/overview/route": "/api/workspaces/[id]/overview", "/api/workspaces/[id]/route": "/api/workspaces/[id]", "/api/workspaces/route": "/api/workspaces", "/api/ws/token/route": "/api/ws/token", "/og/route": "/og", "/page": "/", "/privacy/page": "/privacy", "/robots.txt/route": "/robots.txt", "/sitemap.xml/route": "/sitemap.xml", "/templates/[id]/page": "/templates/[id]", "/templates/page": "/templates" };
1277
1277
  var FunctionsConfigManifest = { "version": 1, "functions": {} };
1278
1278
  var PagesManifest = { "/404": "pages/404.html", "/500": "pages/500.html" };
@@ -26363,8 +26363,10 @@ var WebSocketDurableObject = class extends DurableObject {
26363
26363
  const url2 = new URL(request.url);
26364
26364
  if (url2.pathname === "/broadcast" && request.method === "POST") {
26365
26365
  const body = await request.text();
26366
- this.broadcast(body);
26367
- return new Response("ok");
26366
+ const sent = this.broadcast(body);
26367
+ return new Response(JSON.stringify({ sent }), {
26368
+ headers: { "Content-Type": "application/json" }
26369
+ });
26368
26370
  }
26369
26371
  if (request.headers.get("Upgrade") !== "websocket") {
26370
26372
  return new Response("Expected WebSocket", { status: 426 });
@@ -26432,12 +26434,15 @@ var WebSocketDurableObject = class extends DurableObject {
26432
26434
  }
26433
26435
  }
26434
26436
  broadcast(message2) {
26437
+ let sent = 0;
26435
26438
  for (const ws of this.ctx.getWebSockets()) {
26436
26439
  const state = ws.deserializeAttachment();
26437
26440
  if (state.authenticated && ws.readyState === WebSocket.OPEN) {
26438
26441
  ws.send(message2);
26442
+ sent++;
26439
26443
  }
26440
26444
  }
26445
+ return sent;
26441
26446
  }
26442
26447
  async validateToken(token) {
26443
26448
  const db = createDb(this.env.DB);
package/dist/cli/index.js CHANGED
@@ -19657,7 +19657,7 @@ var WS_RECONNECT_INIT = 1000;
19657
19657
  var WS_RECONNECT_MAX = 30000;
19658
19658
  var WS_PING_INTERVAL = 25000;
19659
19659
  var WS_LIVENESS_TIMEOUT = 50000;
19660
- var WS_DO_DEV_PORT = 8789;
19660
+ var WS_DO_DEV_PORT = Number(process.env.ALOOK_WS_DO_PORT) || 8789;
19661
19661
 
19662
19662
  class DaemonWsClient {
19663
19663
  opts;
package/dist/index.js CHANGED
@@ -19,8 +19,8 @@ var __require = /* @__PURE__ */ createRequire(import.meta.url);
19
19
  // src/index.ts
20
20
  import { Command as Command6 } from "commander";
21
21
  import { readFileSync as readFileSync4 } from "fs";
22
- import { join as join10, dirname as dirname5 } from "path";
23
- import { fileURLToPath as fileURLToPath4 } from "url";
22
+ import { join as join11, dirname as dirname6 } from "path";
23
+ import { fileURLToPath as fileURLToPath5 } from "url";
24
24
 
25
25
  // src/commands/onboard.ts
26
26
  import { Command } from "commander";
@@ -17303,13 +17303,16 @@ port = ${ports.web}
17303
17303
 
17304
17304
  // src/lib/cli-env.ts
17305
17305
  function buildCliEnv(webPort) {
17306
- const port = webPort ?? (readPids().ports?.web ?? DEFAULT_PORTS.web);
17306
+ const pids = readPids();
17307
+ const port = webPort ?? (pids.ports?.web ?? DEFAULT_PORTS.web);
17308
+ const wsDoPort = pids.ports?.wsDo ?? DEFAULT_PORTS.wsDo;
17307
17309
  return {
17308
17310
  ...process.env,
17309
17311
  ALOOK_SERVER_URL: WEB_URL(port),
17310
17312
  ALOOK_PROJECT_ROOT: SELF_HOSTED_DIR,
17311
17313
  ALOOK_CMD_PREFIX: "npx @alook/app cli",
17312
- ALOOK_HEALTH_PORT: "19515"
17314
+ ALOOK_HEALTH_PORT: "19515",
17315
+ ALOOK_WS_DO_PORT: String(wsDoPort)
17313
17316
  };
17314
17317
  }
17315
17318
 
@@ -17477,11 +17480,36 @@ All services stopped.`);
17477
17480
 
17478
17481
  // src/commands/update.ts
17479
17482
  import { Command as Command4 } from "commander";
17483
+ import { spawnSync as spawnSync2 } from "child_process";
17484
+ import { dirname as dirname4, join as join9 } from "path";
17485
+ import { fileURLToPath as fileURLToPath3 } from "url";
17486
+ var __dirname4 = dirname4(fileURLToPath3(import.meta.url));
17487
+ function cliEntry() {
17488
+ return join9(__dirname4, "cli", "index.js");
17489
+ }
17490
+ function runDaemon(args, quiet = false) {
17491
+ const result = spawnSync2("node", [cliEntry(), "daemon", ...args], {
17492
+ stdio: quiet ? ["pipe", "pipe", "pipe"] : "inherit",
17493
+ env: buildCliEnv()
17494
+ });
17495
+ const output = quiet ? result.stdout?.toString() ?? "" : "";
17496
+ return { ok: result.status === 0, output };
17497
+ }
17498
+ function isDaemonRunning() {
17499
+ const { output } = runDaemon(["status"], true);
17500
+ return output.includes("running (pid=");
17501
+ }
17480
17502
  function updateCommand() {
17481
17503
  return new Command4("update").description("Update Alook to the latest version").action(() => {
17482
17504
  console.log(`Updating Alook...
17483
17505
  `);
17484
- if (isRunning()) {
17506
+ const daemonWasRunning = isDaemonRunning();
17507
+ if (daemonWasRunning) {
17508
+ console.log("Stopping daemon...");
17509
+ runDaemon(["stop"]);
17510
+ }
17511
+ const servicesWereRunning = isRunning();
17512
+ if (servicesWereRunning) {
17485
17513
  console.log("Stopping running services...");
17486
17514
  stopServices();
17487
17515
  }
@@ -17491,23 +17519,33 @@ function updateCommand() {
17491
17519
  patchWranglerConfigs(DEFAULT_PORTS);
17492
17520
  console.log("Running migrations...");
17493
17521
  runMigrations();
17522
+ if (servicesWereRunning) {
17523
+ console.log("Restarting services...");
17524
+ startServices(DEFAULT_PORTS);
17525
+ }
17526
+ if (daemonWasRunning) {
17527
+ console.log("Restarting daemon...");
17528
+ runDaemon(["start"]);
17529
+ }
17494
17530
  console.log(`
17495
17531
  ✓ Update complete.`);
17496
- console.log("Run 'npx @alook/app start' to restart.");
17532
+ if (!servicesWereRunning) {
17533
+ console.log("Run 'npx @alook/app start' to start services.");
17534
+ }
17497
17535
  });
17498
17536
  }
17499
17537
 
17500
17538
  // src/commands/cli.ts
17501
17539
  import { Command as Command5 } from "commander";
17502
- import { spawnSync as spawnSync2 } from "child_process";
17503
- import { dirname as dirname4, join as join9 } from "path";
17504
- import { fileURLToPath as fileURLToPath3 } from "url";
17505
- var __dirname4 = dirname4(fileURLToPath3(import.meta.url));
17540
+ import { spawnSync as spawnSync3 } from "child_process";
17541
+ import { dirname as dirname5, join as join10 } from "path";
17542
+ import { fileURLToPath as fileURLToPath4 } from "url";
17543
+ var __dirname5 = dirname5(fileURLToPath4(import.meta.url));
17506
17544
  function findCliEntry() {
17507
- return join9(__dirname4, "cli", "index.js");
17545
+ return join10(__dirname5, "cli", "index.js");
17508
17546
  }
17509
17547
  function runCli(args) {
17510
- const result = spawnSync2("node", [findCliEntry(), ...args], {
17548
+ const result = spawnSync3("node", [findCliEntry(), ...args], {
17511
17549
  stdio: "inherit",
17512
17550
  env: buildCliEnv()
17513
17551
  });
@@ -17539,8 +17577,8 @@ function cliPassthroughCommand() {
17539
17577
 
17540
17578
  // src/index.ts
17541
17579
  function getVersion() {
17542
- const __dirname5 = dirname5(fileURLToPath4(import.meta.url));
17543
- for (const candidate of [join10(__dirname5, "..", "package.json"), join10(__dirname5, "..", "..", "package.json")]) {
17580
+ const __dirname6 = dirname6(fileURLToPath5(import.meta.url));
17581
+ for (const candidate of [join11(__dirname6, "..", "package.json"), join11(__dirname6, "..", "..", "package.json")]) {
17544
17582
  try {
17545
17583
  const pkg = JSON.parse(readFileSync4(candidate, "utf-8"));
17546
17584
  if (pkg.version)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alook/app",
3
- "version": "0.0.86",
3
+ "version": "0.0.88",
4
4
  "description": "Run Alook locally — one command, no clone needed",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/alookai/alook#readme",