@alook/app 0.0.120 → 0.0.122
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
- package/bundled/web/.open-next/assets/BUILD_ID +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{133ba3~6n5tgq.css → 16-86brhtbf3d.css} +1 -1
- package/bundled/web/.open-next/cache/{LzjT49JW_J_-C3CU-45ou → 1HIX5exhB6xRr_rbtiK-8}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{LzjT49JW_J_-C3CU-45ou → 1HIX5exhB6xRr_rbtiK-8}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{LzjT49JW_J_-C3CU-45ou → 1HIX5exhB6xRr_rbtiK-8}/device.cache +1 -1
- package/bundled/web/.open-next/cache/{LzjT49JW_J_-C3CU-45ou → 1HIX5exhB6xRr_rbtiK-8}/privacy.cache +1 -1
- package/bundled/web/.open-next/cache/{LzjT49JW_J_-C3CU-45ou → 1HIX5exhB6xRr_rbtiK-8}/sitemap.xml.cache +1 -1
- package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
- package/bundled/web/.open-next/cloudflare/init.js +1 -1
- package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
- package/bundled/web/.open-next/middleware/handler.mjs +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/[traceId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/device/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
- package/bundled/web/wrangler.toml +1 -1
- package/dist/cli/index.js +166 -25
- package/package.json +1 -1
- /package/bundled/web/.open-next/assets/_next/static/{LzjT49JW_J_-C3CU-45ou → 1HIX5exhB6xRr_rbtiK-8}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{LzjT49JW_J_-C3CU-45ou → 1HIX5exhB6xRr_rbtiK-8}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{LzjT49JW_J_-C3CU-45ou → 1HIX5exhB6xRr_rbtiK-8}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{LzjT49JW_J_-C3CU-45ou → 1HIX5exhB6xRr_rbtiK-8}/robots.txt.cache +0 -0
|
@@ -4249,7 +4249,7 @@
|
|
|
4249
4249
|
"format": "cjs"
|
|
4250
4250
|
},
|
|
4251
4251
|
".open-next/server-functions/default/node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/load-manifest.external.js": {
|
|
4252
|
-
"bytes":
|
|
4252
|
+
"bytes": 827411,
|
|
4253
4253
|
"imports": [
|
|
4254
4254
|
{
|
|
4255
4255
|
"path": "path",
|
|
@@ -30498,7 +30498,7 @@
|
|
|
30498
30498
|
"bytesInOutput": 456
|
|
30499
30499
|
},
|
|
30500
30500
|
".open-next/server-functions/default/node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/server/load-manifest.external.js": {
|
|
30501
|
-
"bytesInOutput":
|
|
30501
|
+
"bytesInOutput": 739888
|
|
30502
30502
|
},
|
|
30503
30503
|
".open-next/server-functions/default/node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/compiled/@vercel/og/index.edge.js": {
|
|
30504
30504
|
"bytesInOutput": 546910
|
|
@@ -33417,7 +33417,7 @@
|
|
|
33417
33417
|
"bytesInOutput": 94669
|
|
33418
33418
|
}
|
|
33419
33419
|
},
|
|
33420
|
-
"bytes":
|
|
33420
|
+
"bytes": 19484018
|
|
33421
33421
|
}
|
|
33422
33422
|
}
|
|
33423
33423
|
}
|
|
@@ -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.15_react@19.2.6_/node_modules/@next/mdx/mdx-js-loader.js", "options": { "providerImportSource": "next-mdx-import-source-file", "remarkPlugins": ["remark-gfm"], "rehypePlugins": ["rehype-slug", ["rehype-autolink-headings", { "behavior": "wrap" }], ["rehype-external-links", { "target": "_blank", "rel": ["noopener", "noreferrer"] }], ["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 = "
|
|
1271
|
+
var BuildId = "1HIX5exhB6xRr_rbtiK-8";
|
|
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": "/.well-known/apple-app-site-association", "regex": "^/\\.well\\-known/apple\\-app\\-site\\-association(?:/)?$", "routeKeys": {}, "namedRegex": "^/\\.well\\-known/apple\\-app\\-site\\-association(?:/)?$" }, { "page": "/.well-known/assetlinks.json", "regex": "^/\\.well\\-known/assetlinks\\.json(?:/)?$", "routeKeys": {}, "namedRegex": "^/\\.well\\-known/assetlinks\\.json(?:/)?$" }, { "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/recruit", "regex": "^/api/agents/recruit(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/agents/recruit(?:/)?$" }, { "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/skills/sync", "regex": "^/api/daemon/skills/sync(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/daemon/skills/sync(?:/)?$" }, { "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/machine-tokens/bind-workspace", "regex": "^/api/machine\\-tokens/bind\\-workspace(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/machine\\-tokens/bind\\-workspace(?:/)?$" }, { "page": "/api/machine-tokens/status", "regex": "^/api/machine\\-tokens/status(?:/)?$", "routeKeys": {}, "namedRegex": "^/api/machine\\-tokens/status(?:/)?$" }, { "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/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": "/device", "regex": "^/device(?:/)?$", "routeKeys": {}, "namedRegex": "^/device(?:/)?$" }, { "page": "/og", "regex": "^/og(?:/)?$", "routeKeys": {}, "namedRegex": "^/og(?:/)?$" }, { "page": "/onboard.md", "regex": "^/onboard\\.md(?:/)?$", "routeKeys": {}, "namedRegex": "^/onboard\\.md(?:/)?$" }, { "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]/skills", "regex": "^/api/agents/([^/]+?)/skills(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/agents/(?<nxtPid>[^/]+?)/skills(?:/)?$" }, { "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]/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/conversations/[id]/messages", "regex": "^/api/daemon/conversations/([^/]+?)/messages(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/api/daemon/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/desktop/update/[target]/[arch]/[current_version]", "regex": "^/api/desktop/update/([^/]+?)/([^/]+?)/([^/]+?)(?:/)?$", "routeKeys": { "nxtPtarget": "nxtPtarget", "nxtParch": "nxtParch", "nxtPcurrent_version": "nxtPcurrent_version" }, "namedRegex": "^/api/desktop/update/(?<nxtPtarget>[^/]+?)/(?<nxtParch>[^/]+?)/(?<nxtPcurrent_version>[^/]+?)(?:/)?$" }, { "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": "/templates/[id]/json", "regex": "^/templates/([^/]+?)/json(?:/)?$", "routeKeys": { "nxtPid": "nxtPid" }, "namedRegex": "^/templates/(?<nxtPid>[^/]+?)/json(?:/)?$" }, { "page": "/w/[slug]", "regex": "^/w/([^/]+?)(?:/)?$", "routeKeys": { "nxtPslug": "nxtPslug" }, "namedRegex": "^/w/(?<nxtPslug>[^/]+?)(?:/)?$" }, { "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"] }, "/device": { "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/device", "dataRoute": "/device.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": "
|
|
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_0yc2vrw._.js", "server/edge/chunks/[root-of-the-server]__0y.93rt._.js", "server/edge/chunks/118y_@better-auth_core_dist_0lg92m2._.js", "server/edge/chunks/[root-of-the-server]__0oytv_q._.js", "server/edge/chunks/0kwo_kysely_dist_esm_0~ppdkt._.js", "server/edge/chunks/11ag_@better-auth_kysely-adapter_dist_index_mjs_0nkxiub._.js", "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_0-ubsnc.js"], "name": "middleware", "page": "/", "entrypoint": "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_0-ubsnc.js", "matchers": [{ "regexp": "^(?:\\/(_next\\/data\\/[^/]{1,}))?(?:\\/((?!_next|favicon\\.ico|.*\\..*).*))(\\.json|\\.rsc|\\.segments\\/.+\\.segment\\.rsc)?[\\/#\\?]?$", "originalSource": "/((?!_next|favicon\\.ico|.*\\..*).*)" }], "wasm": [], "assets": [], "env": { "__NEXT_BUILD_ID": "
|
|
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"] }, "/device": { "experimentalBypassFor": [{ "type": "header", "key": "next-action" }, { "type": "header", "key": "content-type", "value": "multipart/form-data;.*" }], "initialRevalidateSeconds": false, "srcRoute": "/device", "dataRoute": "/device.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": "588dc6d963ad4ed174238270c9fc6155", "previewModeSigningKey": "93d19cda69d83e272259f771acdcbb8ad9975bb05d202c30fa77898d22409934", "previewModeEncryptionKey": "ebffbc4b961e93eafa86e515bc84fee117fc90f704d70c6b69e3a467ebc56f79" } };
|
|
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_0yc2vrw._.js", "server/edge/chunks/[root-of-the-server]__0y.93rt._.js", "server/edge/chunks/118y_@better-auth_core_dist_0lg92m2._.js", "server/edge/chunks/[root-of-the-server]__0oytv_q._.js", "server/edge/chunks/0kwo_kysely_dist_esm_0~ppdkt._.js", "server/edge/chunks/11ag_@better-auth_kysely-adapter_dist_index_mjs_0nkxiub._.js", "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_0-ubsnc.js"], "name": "middleware", "page": "/", "entrypoint": "server/edge/chunks/058b_next_dist_esm_build_templates_edge-wrapper_0-ubsnc.js", "matchers": [{ "regexp": "^(?:\\/(_next\\/data\\/[^/]{1,}))?(?:\\/((?!_next|favicon\\.ico|.*\\..*).*))(\\.json|\\.rsc|\\.segments\\/.+\\.segment\\.rsc)?[\\/#\\?]?$", "originalSource": "/((?!_next|favicon\\.ico|.*\\..*).*)" }], "wasm": [], "assets": [], "env": { "__NEXT_BUILD_ID": "1HIX5exhB6xRr_rbtiK-8", "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "inWDzkCQRE6EjWsoWocQelbqKO9psmrua9llOzmCZCE=", "__NEXT_PREVIEW_MODE_ID": "588dc6d963ad4ed174238270c9fc6155", "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "ebffbc4b961e93eafa86e515bc84fee117fc90f704d70c6b69e3a467ebc56f79", "__NEXT_PREVIEW_MODE_SIGNING_KEY": "93d19cda69d83e272259f771acdcbb8ad9975bb05d202c30fa77898d22409934" } } }, "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]/page": "/w/[slug]", "/(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", "/.well-known/apple-app-site-association/route": "/.well-known/apple-app-site-association", "/.well-known/assetlinks.json/route": "/.well-known/assetlinks.json", "/_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]/skills/route": "/api/agents/[id]/skills", "/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/recruit/route": "/api/agents/recruit", "/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]/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/conversations/[id]/messages/route": "/api/daemon/conversations/[id]/messages", "/api/daemon/deregister/route": "/api/daemon/deregister", "/api/daemon/heartbeat/route": "/api/daemon/heartbeat", "/api/daemon/register/route": "/api/daemon/register", "/api/daemon/skills/sync/route": "/api/daemon/skills/sync", "/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/desktop/update/[target]/[arch]/[current_version]/route": "/api/desktop/update/[target]/[arch]/[current_version]", "/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/bind-workspace/route": "/api/machine-tokens/bind-workspace", "/api/machine-tokens/route": "/api/machine-tokens", "/api/machine-tokens/status/route": "/api/machine-tokens/status", "/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/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", "/device/page": "/device", "/og/route": "/og", "/onboard.md/route": "/onboard.md", "/page": "/", "/privacy/page": "/privacy", "/robots.txt/route": "/robots.txt", "/sitemap.xml/route": "/sitemap.xml", "/templates/[id]/json/route": "/templates/[id]/json", "/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" };
|
package/dist/cli/index.js
CHANGED
|
@@ -16986,6 +16986,7 @@ function loadCLIConfigForProfile(profile) {
|
|
|
16986
16986
|
}
|
|
16987
16987
|
const result = {
|
|
16988
16988
|
server_url: cfg.server_url || "",
|
|
16989
|
+
session_token: cfg.session_token,
|
|
16989
16990
|
watched_workspaces: cfg.watched_workspaces || []
|
|
16990
16991
|
};
|
|
16991
16992
|
const legacy = cfg.machine_token;
|
|
@@ -17010,6 +17011,7 @@ function saveCLIConfigForProfile(profile, profileConfig) {
|
|
|
17010
17011
|
cfg.profiles[profile] = profileConfig;
|
|
17011
17012
|
} else {
|
|
17012
17013
|
cfg.server_url = profileConfig.server_url;
|
|
17014
|
+
cfg.session_token = profileConfig.session_token;
|
|
17013
17015
|
cfg.watched_workspaces = profileConfig.watched_workspaces;
|
|
17014
17016
|
delete cfg.machine_token;
|
|
17015
17017
|
}
|
|
@@ -17429,6 +17431,30 @@ function openBrowser(url2) {
|
|
|
17429
17431
|
function sleep(ms) {
|
|
17430
17432
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
17431
17433
|
}
|
|
17434
|
+
function syncWorkspacesToConfig(serverWorkspaces, profile, sessionToken) {
|
|
17435
|
+
const cfg = loadCLIConfigForProfile(profile);
|
|
17436
|
+
const watched = cfg.watched_workspaces || [];
|
|
17437
|
+
const serverIds = new Set(serverWorkspaces.map((w) => w.id));
|
|
17438
|
+
for (const sw of serverWorkspaces) {
|
|
17439
|
+
const existing = watched.find((w) => w.id === sw.id);
|
|
17440
|
+
if (existing) {
|
|
17441
|
+
existing.status = "active";
|
|
17442
|
+
existing.name = sw.name;
|
|
17443
|
+
} else {
|
|
17444
|
+
watched.push({ id: sw.id, name: sw.name, token: "", status: "active", agent_ids: [] });
|
|
17445
|
+
}
|
|
17446
|
+
}
|
|
17447
|
+
for (const w of watched) {
|
|
17448
|
+
if (w.id && !serverIds.has(w.id) && w.status !== "registered") {
|
|
17449
|
+
w.status = "deleted";
|
|
17450
|
+
}
|
|
17451
|
+
}
|
|
17452
|
+
saveCLIConfigForProfile(profile, {
|
|
17453
|
+
server_url: cfg.server_url,
|
|
17454
|
+
session_token: sessionToken ?? cfg.session_token,
|
|
17455
|
+
watched_workspaces: watched
|
|
17456
|
+
});
|
|
17457
|
+
}
|
|
17432
17458
|
async function pollAndActivate(opts) {
|
|
17433
17459
|
const { deviceCode, expiresIn, serverUrl, profile } = opts;
|
|
17434
17460
|
let interval = opts.interval;
|
|
@@ -17479,13 +17505,12 @@ async function pollAndActivate(opts) {
|
|
|
17479
17505
|
const me = await client.getJSON("/api/me");
|
|
17480
17506
|
email3 = me.email;
|
|
17481
17507
|
} catch {}
|
|
17482
|
-
let
|
|
17508
|
+
let serverWorkspaces = [];
|
|
17483
17509
|
try {
|
|
17484
|
-
|
|
17485
|
-
if (workspaces.length > 0) {
|
|
17486
|
-
existingWorkspaceId = workspaces[0].id;
|
|
17487
|
-
}
|
|
17510
|
+
serverWorkspaces = await client.getJSON("/api/workspaces");
|
|
17488
17511
|
} catch {}
|
|
17512
|
+
syncWorkspacesToConfig(serverWorkspaces, profile, sessionToken);
|
|
17513
|
+
const existingWorkspaceId = serverWorkspaces.length > 0 ? serverWorkspaces[0].id : "";
|
|
17489
17514
|
const mtUrl = existingWorkspaceId ? `/api/machine-tokens?workspace_id=${existingWorkspaceId}` : "/api/machine-tokens";
|
|
17490
17515
|
let machineToken2;
|
|
17491
17516
|
try {
|
|
@@ -17515,32 +17540,37 @@ if (process.argv.includes("--__login-poll")) {
|
|
|
17515
17540
|
}
|
|
17516
17541
|
async function checkExistingAuth(serverUrl, profile) {
|
|
17517
17542
|
const config2 = loadCLIConfigForProfile(profile);
|
|
17543
|
+
const sessionToken = config2.session_token;
|
|
17518
17544
|
const workspaces = config2.watched_workspaces || [];
|
|
17519
|
-
if (workspaces.length === 0) {
|
|
17520
|
-
return { valid: false };
|
|
17521
|
-
}
|
|
17522
17545
|
const ws = workspaces[0];
|
|
17523
|
-
|
|
17546
|
+
const authToken = sessionToken || ws?.token;
|
|
17547
|
+
if (!authToken) {
|
|
17524
17548
|
return { valid: false };
|
|
17525
17549
|
}
|
|
17526
17550
|
try {
|
|
17527
17551
|
const res = await fetch(`${serverUrl}/api/workspaces`, {
|
|
17528
|
-
headers: { Authorization: `Bearer ${
|
|
17552
|
+
headers: { Authorization: `Bearer ${authToken}` }
|
|
17529
17553
|
});
|
|
17530
17554
|
if (!res.ok) {
|
|
17531
17555
|
return { valid: false };
|
|
17532
17556
|
}
|
|
17557
|
+
const serverWorkspaces = await res.json();
|
|
17558
|
+
const hasValidWorkspace = workspaces.some((w) => w.id && w.status !== "deleted");
|
|
17559
|
+
if (!hasValidWorkspace && serverWorkspaces.length > 0) {
|
|
17560
|
+
syncWorkspacesToConfig(serverWorkspaces, profile);
|
|
17561
|
+
}
|
|
17533
17562
|
let email3;
|
|
17534
17563
|
try {
|
|
17535
17564
|
const meRes = await fetch(`${serverUrl}/api/me`, {
|
|
17536
|
-
headers: { Authorization: `Bearer ${
|
|
17565
|
+
headers: { Authorization: `Bearer ${authToken}` }
|
|
17537
17566
|
});
|
|
17538
17567
|
if (meRes.ok) {
|
|
17539
17568
|
const me = await meRes.json();
|
|
17540
17569
|
email3 = me.email;
|
|
17541
17570
|
}
|
|
17542
17571
|
} catch {}
|
|
17543
|
-
|
|
17572
|
+
const workspaceName = (serverWorkspaces.length > 0 ? serverWorkspaces[0].name : undefined) || ws?.name || undefined;
|
|
17573
|
+
return { valid: true, email: email3, workspaceName };
|
|
17544
17574
|
} catch {
|
|
17545
17575
|
return { valid: false };
|
|
17546
17576
|
}
|
|
@@ -22175,6 +22205,14 @@ function getRootOpts(command) {
|
|
|
22175
22205
|
|
|
22176
22206
|
// lib/resolve-client.ts
|
|
22177
22207
|
function resolveClientOpts(command, opts = {}) {
|
|
22208
|
+
const result = resolveClientOptsPartial(command, opts);
|
|
22209
|
+
if (!result.workspaceId) {
|
|
22210
|
+
console.error("Error: cannot determine workspace. Set ALOOK_WORKSPACE_ID env var or use --workspace flag.");
|
|
22211
|
+
process.exit(1);
|
|
22212
|
+
}
|
|
22213
|
+
return result;
|
|
22214
|
+
}
|
|
22215
|
+
function resolveClientOptsPartial(command, opts = {}) {
|
|
22178
22216
|
const parentOpts = getRootOpts(command);
|
|
22179
22217
|
const cfg = loadCLIConfigForProfile(parentOpts.profile);
|
|
22180
22218
|
const serverUrl = parentOpts.server || process.env.ALOOK_SERVER_URL || cfg.server_url;
|
|
@@ -22206,16 +22244,12 @@ function resolveClientOpts(command, opts = {}) {
|
|
|
22206
22244
|
ws = workspaces[0];
|
|
22207
22245
|
}
|
|
22208
22246
|
const envToken = process.env.ALOOK_TOKEN;
|
|
22209
|
-
const token = envToken || ws?.token;
|
|
22247
|
+
const token = envToken || ws?.token || cfg.session_token;
|
|
22210
22248
|
if (!token) {
|
|
22211
22249
|
console.error(`Error: not registered. Run '${cmdPrefix()} register --token <token>' first.`);
|
|
22212
22250
|
process.exit(1);
|
|
22213
22251
|
}
|
|
22214
|
-
const workspaceId = ws?.id || envWorkspaceId;
|
|
22215
|
-
if (!workspaceId) {
|
|
22216
|
-
console.error("Error: cannot determine workspace. Set ALOOK_WORKSPACE_ID env var or use --workspace flag.");
|
|
22217
|
-
process.exit(1);
|
|
22218
|
-
}
|
|
22252
|
+
const workspaceId = ws?.id || envWorkspaceId || undefined;
|
|
22219
22253
|
return { serverUrl, token, workspaceId };
|
|
22220
22254
|
}
|
|
22221
22255
|
|
|
@@ -23231,11 +23265,40 @@ import { readFileSync as readFileSync14 } from "fs";
|
|
|
23231
23265
|
function slugify2(name) {
|
|
23232
23266
|
return name.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "").slice(0, 60);
|
|
23233
23267
|
}
|
|
23268
|
+
function sleep4(ms) {
|
|
23269
|
+
return new Promise((resolve2) => setTimeout(resolve2, ms));
|
|
23270
|
+
}
|
|
23271
|
+
async function resolveWorkspaceId(client, configName) {
|
|
23272
|
+
let workspaces;
|
|
23273
|
+
try {
|
|
23274
|
+
workspaces = await client.getJSON("/api/workspaces");
|
|
23275
|
+
} catch (err) {
|
|
23276
|
+
console.error(`Error: failed to fetch workspaces: ${err instanceof Error ? err.message : err}`);
|
|
23277
|
+
process.exit(1);
|
|
23278
|
+
}
|
|
23279
|
+
for (const ws of workspaces) {
|
|
23280
|
+
try {
|
|
23281
|
+
const agents = await client.getJSON(`/api/agents?workspace_id=${ws.id}`);
|
|
23282
|
+
if (agents.length === 0) {
|
|
23283
|
+
return { workspaceId: ws.id, created: false };
|
|
23284
|
+
}
|
|
23285
|
+
} catch {}
|
|
23286
|
+
}
|
|
23287
|
+
const wsName = configName || "Personal";
|
|
23288
|
+
try {
|
|
23289
|
+
const newWs = await client.postJSON("/api/workspaces", { name: wsName, slug: slugify2(wsName) });
|
|
23290
|
+
console.log(`Created workspace: ${newWs.name} (${newWs.id})`);
|
|
23291
|
+
return { workspaceId: newWs.id, created: true };
|
|
23292
|
+
} catch (err) {
|
|
23293
|
+
console.error(`Error: failed to create workspace: ${err instanceof Error ? err.message : err}`);
|
|
23294
|
+
process.exit(1);
|
|
23295
|
+
}
|
|
23296
|
+
}
|
|
23234
23297
|
function workspaceCommand() {
|
|
23235
23298
|
const cmd = new Command13("workspace").description("Manage workspaces");
|
|
23236
23299
|
cmd.command("init").description("Initialize a workspace from a JSON configuration file").requiredOption("--json-file <path>", "Path to the JSON configuration file").option("--name <name>", "Workspace name (overrides JSON)").option("--json", "Output as JSON").action(async (opts, command) => {
|
|
23237
|
-
const { serverUrl, token, workspaceId } =
|
|
23238
|
-
const client = new APIClient(serverUrl, token,
|
|
23300
|
+
const { serverUrl, token, workspaceId: resolvedWorkspaceId } = resolveClientOptsPartial(command);
|
|
23301
|
+
const client = new APIClient(serverUrl, token, resolvedWorkspaceId);
|
|
23239
23302
|
let configJson;
|
|
23240
23303
|
try {
|
|
23241
23304
|
configJson = readFileSync14(opts.jsonFile, "utf-8");
|
|
@@ -23254,9 +23317,89 @@ function workspaceCommand() {
|
|
|
23254
23317
|
console.error("Error: JSON must contain a 'members' array with at least one member");
|
|
23255
23318
|
process.exit(1);
|
|
23256
23319
|
}
|
|
23320
|
+
let targetWorkspaceId = resolvedWorkspaceId;
|
|
23321
|
+
if (!targetWorkspaceId) {
|
|
23322
|
+
const resolved = await resolveWorkspaceId(client, opts.name || config2.name);
|
|
23323
|
+
targetWorkspaceId = resolved.workspaceId;
|
|
23324
|
+
const parentOpts = getRootOpts(command);
|
|
23325
|
+
const cfg = loadCLIConfigForProfile(parentOpts.profile);
|
|
23326
|
+
const registeredWs = cfg.watched_workspaces?.find((w) => w.status === "registered" && !w.id);
|
|
23327
|
+
if (registeredWs) {
|
|
23328
|
+
try {
|
|
23329
|
+
await client.postJSON("/api/machine-tokens/bind-workspace", { workspace_id: targetWorkspaceId });
|
|
23330
|
+
console.log("Machine token bound to workspace. Waiting for runtime registration...");
|
|
23331
|
+
} catch (err) {
|
|
23332
|
+
console.warn(`Warning: bind-workspace failed: ${err instanceof Error ? err.message : err}`);
|
|
23333
|
+
}
|
|
23334
|
+
}
|
|
23335
|
+
let runtimes2 = [];
|
|
23336
|
+
const wsClient = new APIClient(serverUrl, token, targetWorkspaceId);
|
|
23337
|
+
for (let attempt = 0;attempt < 15; attempt++) {
|
|
23338
|
+
try {
|
|
23339
|
+
runtimes2 = await wsClient.getJSON("/api/runtimes");
|
|
23340
|
+
if (runtimes2.length > 0)
|
|
23341
|
+
break;
|
|
23342
|
+
} catch {}
|
|
23343
|
+
await sleep4(1000);
|
|
23344
|
+
}
|
|
23345
|
+
if (runtimes2.length === 0) {
|
|
23346
|
+
console.error(`Error: No daemon registered after waiting. Run '${cmdPrefix()} daemon start' first.`);
|
|
23347
|
+
process.exit(1);
|
|
23348
|
+
}
|
|
23349
|
+
const OFFLINE_THRESHOLD_MS3 = 5 * 60 * 1000;
|
|
23350
|
+
const now2 = Date.now();
|
|
23351
|
+
const onlineRuntime2 = runtimes2.find((r) => {
|
|
23352
|
+
if (!r.machineLastSeenAt)
|
|
23353
|
+
return false;
|
|
23354
|
+
const lastSeen = new Date(r.machineLastSeenAt.includes("Z") ? r.machineLastSeenAt : r.machineLastSeenAt + "Z").getTime();
|
|
23355
|
+
return now2 - lastSeen < OFFLINE_THRESHOLD_MS3;
|
|
23356
|
+
});
|
|
23357
|
+
const runtime2 = onlineRuntime2 || runtimes2[0];
|
|
23358
|
+
const members2 = config2.members.map((m) => ({
|
|
23359
|
+
...m,
|
|
23360
|
+
runtime_id: runtime2.id
|
|
23361
|
+
}));
|
|
23362
|
+
const payload2 = {
|
|
23363
|
+
name: opts.name || config2.name,
|
|
23364
|
+
scenario: config2.scenario,
|
|
23365
|
+
members: members2
|
|
23366
|
+
};
|
|
23367
|
+
try {
|
|
23368
|
+
const res = await wsClient.postJSON("/api/studios", payload2);
|
|
23369
|
+
try {
|
|
23370
|
+
const freshCfg = loadCLIConfigForProfile(parentOpts.profile);
|
|
23371
|
+
const watched = freshCfg.watched_workspaces || [];
|
|
23372
|
+
const existing = watched.find((w) => w.id === targetWorkspaceId);
|
|
23373
|
+
if (existing) {
|
|
23374
|
+
existing.status = "active";
|
|
23375
|
+
existing.name = res.workspace.name;
|
|
23376
|
+
} else {
|
|
23377
|
+
watched.push({ id: targetWorkspaceId, name: res.workspace.name, token, status: "active", agent_ids: [] });
|
|
23378
|
+
}
|
|
23379
|
+
freshCfg.watched_workspaces = watched;
|
|
23380
|
+
saveCLIConfigForProfile(parentOpts.profile, freshCfg);
|
|
23381
|
+
} catch {}
|
|
23382
|
+
if (opts.json)
|
|
23383
|
+
return printJSON(res);
|
|
23384
|
+
console.log(`
|
|
23385
|
+
Workspace initialized: ${res.studio.name || res.workspace.name}`);
|
|
23386
|
+
console.log("Agents created:");
|
|
23387
|
+
for (const agent2 of res.agents) {
|
|
23388
|
+
const email3 = agent2.email_handle ? toAlookAddress(agent2.email_handle) : "no email";
|
|
23389
|
+
console.log(` - ${agent2.name} (${email3})`);
|
|
23390
|
+
}
|
|
23391
|
+
console.log(`
|
|
23392
|
+
Open: ${serverUrl}/w/${res.workspace.slug}`);
|
|
23393
|
+
} catch (err) {
|
|
23394
|
+
console.error(`Error: failed to create workspace: ${err instanceof Error ? err.message : err}`);
|
|
23395
|
+
process.exit(1);
|
|
23396
|
+
}
|
|
23397
|
+
return;
|
|
23398
|
+
}
|
|
23399
|
+
let targetClient = new APIClient(serverUrl, token, targetWorkspaceId);
|
|
23257
23400
|
let runtimes;
|
|
23258
23401
|
try {
|
|
23259
|
-
runtimes = await
|
|
23402
|
+
runtimes = await targetClient.getJSON("/api/runtimes");
|
|
23260
23403
|
} catch (err) {
|
|
23261
23404
|
console.error(`Error: failed to fetch runtimes: ${err instanceof Error ? err.message : err}`);
|
|
23262
23405
|
process.exit(1);
|
|
@@ -23274,14 +23417,12 @@ function workspaceCommand() {
|
|
|
23274
23417
|
return now - lastSeen < OFFLINE_THRESHOLD_MS2;
|
|
23275
23418
|
});
|
|
23276
23419
|
let runtime = onlineRuntime || runtimes[0];
|
|
23277
|
-
let targetWorkspaceId = workspaceId;
|
|
23278
|
-
let targetClient = client;
|
|
23279
23420
|
try {
|
|
23280
|
-
const agents = await
|
|
23421
|
+
const agents = await targetClient.getJSON(`/api/agents?workspace_id=${targetWorkspaceId}`);
|
|
23281
23422
|
if (agents.length > 0) {
|
|
23282
23423
|
console.log("Current workspace has existing agents. Creating a new workspace...");
|
|
23283
23424
|
const wsName = opts.name || config2.name || "New Workspace";
|
|
23284
|
-
const newWs = await
|
|
23425
|
+
const newWs = await targetClient.postJSON("/api/workspaces", { name: wsName, slug: slugify2(wsName) });
|
|
23285
23426
|
targetWorkspaceId = newWs.id;
|
|
23286
23427
|
targetClient = new APIClient(serverUrl, token, targetWorkspaceId);
|
|
23287
23428
|
console.log(`Created workspace: ${newWs.name} (${newWs.id})`);
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|