@seqyuan/ennote 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +10 -0
  2. package/bin/ennote.js +122 -26
  3. package/out/404.html +1 -1
  4. package/out/__next.__PAGE__.txt +4 -4
  5. package/out/__next._full.txt +13 -13
  6. package/out/__next._head.txt +4 -4
  7. package/out/__next._index.txt +6 -6
  8. package/out/__next._tree.txt +2 -2
  9. package/out/_next/static/chunks/{0bxrnkjb.apni.css → 042svogz3qv71.css} +1 -0
  10. package/out/_next/static/chunks/05rc5pno5-uub.js +8 -0
  11. package/out/_next/static/chunks/{0l9r.o-l3s.5h.js → 0gee9kb6nwlbz.js} +1 -1
  12. package/out/_not-found/__next._full.txt +11 -11
  13. package/out/_not-found/__next._head.txt +4 -4
  14. package/out/_not-found/__next._index.txt +6 -6
  15. package/out/_not-found/__next._not-found.__PAGE__.txt +2 -2
  16. package/out/_not-found/__next._not-found.txt +3 -3
  17. package/out/_not-found/__next._tree.txt +1 -1
  18. package/out/_not-found.html +1 -1
  19. package/out/_not-found.txt +11 -11
  20. package/out/graphs/__next._full.txt +13 -13
  21. package/out/graphs/__next._head.txt +4 -4
  22. package/out/graphs/__next._index.txt +6 -6
  23. package/out/graphs/__next._tree.txt +2 -2
  24. package/out/graphs/__next.graphs.__PAGE__.txt +4 -4
  25. package/out/graphs/__next.graphs.txt +3 -3
  26. package/out/graphs.html +1 -1
  27. package/out/graphs.txt +13 -13
  28. package/out/index.html +2 -2
  29. package/out/index.txt +13 -13
  30. package/out/roles/__next._full.txt +13 -13
  31. package/out/roles/__next._head.txt +4 -4
  32. package/out/roles/__next._index.txt +6 -6
  33. package/out/roles/__next._tree.txt +2 -2
  34. package/out/roles/__next.roles.__PAGE__.txt +4 -4
  35. package/out/roles/__next.roles.txt +3 -3
  36. package/out/roles.html +1 -1
  37. package/out/roles.txt +13 -13
  38. package/package.json +17 -3
  39. package/out/_next/static/chunks/01j7xr5p-4q8-.js +0 -8
  40. /package/out/_next/static/{I9_aKPkRc3su-s0AsXKQM → 1IULeStFBlnqxNnZLaKnI}/_buildManifest.js +0 -0
  41. /package/out/_next/static/{I9_aKPkRc3su-s0AsXKQM → 1IULeStFBlnqxNnZLaKnI}/_clientMiddlewareManifest.js +0 -0
  42. /package/out/_next/static/{I9_aKPkRc3su-s0AsXKQM → 1IULeStFBlnqxNnZLaKnI}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -120,6 +120,16 @@ ENNOTE_HOSTNAME=0.0.0.0 ENNOTE_ALLOW_LAN=1 ENNOTE_ALLOW_INSECURE_LAN=1 ennogate
120
120
 
121
121
  非 loopback 地址在缺少 `ENNOTE_ALLOW_LAN=1` 时会拒绝启动;缺少 TLS 且没有 `ENNOTE_ALLOW_INSECURE_LAN=1` 时同样拒绝启动。
122
122
 
123
+ ennogate 对每个请求校验 `Host` 头(防 DNS rebinding):`localhost`、loopback 地址和任意 IP 字面量始终放行;用主机名(含反向代理、自定义 DNS 名)访问时必须显式列入 `ENNOTE_GATE_ALLOWED_HOSTS`(逗号分隔),否则返回 403,请改用 IP 或 `127.0.0.1` 访问:
124
+
125
+ ```bash
126
+ ENNOTE_HOSTNAME=0.0.0.0 ENNOTE_ALLOW_LAN=1 \
127
+ ENNOTE_GATE_ALLOWED_HOSTS=ennote.example \
128
+ ENNOTE_TLS_CERT=/path/cert.pem ENNOTE_TLS_KEY=/path/key.pem ennogate
129
+ ```
130
+
131
+ 未设置 `ENNOTE_GATE_ALLOWED_HOSTS` 时,主机名访问(包括 `myhost.local` 这类 mDNS 名)一律 403:攻击者可以让自己的域名解析到 127.0.0.1,但无法让浏览器在 `Host` 头里写入一个未经授权的主机名。
132
+
123
133
  ## 目录
124
134
 
125
135
  ```
package/bin/ennote.js CHANGED
@@ -18,7 +18,18 @@ const START_TIMEOUT_MS = 45_000;
18
18
  const STOP_TIMEOUT_MS = 15_000;
19
19
  const PACK_INSPECT_TIMEOUT_MS = 15_000;
20
20
  const PACK_REQUEST_TIMEOUT_MS = 15_000;
21
- const GITHUB_RELEASES_BASE = "https://github.com/seqyuan/ennote/releases/download";
21
+ const DEFAULT_RELEASES_BASE = "https://github.com/seqyuan/ennote/releases/download";
22
+
23
+ // releasesBase honours ENNOTE_RELEASES_BASE so a mirror (or an air-gapped
24
+ // install serving the release assets locally) can be used instead of GitHub.
25
+ // The value is read at call time, not import time, so a wrapper script that
26
+ // sets it still affects this process. HTTPS is enforced by requireHTTPS.
27
+ function releasesBase() {
28
+ const override = String(process.env.ENNOTE_RELEASES_BASE ?? "").trim();
29
+ return override === "" ? DEFAULT_RELEASES_BASE : override.replace(/\/+$/, "");
30
+ }
31
+
32
+ const BINARY_NAMES = ["ennogate", "ennoworker"];
22
33
 
23
34
  function platformSuffix(platform = os.platform(), arch = os.arch()) {
24
35
  if (!new Set(["linux", "darwin"]).has(platform)) {
@@ -101,6 +112,53 @@ function removeFile(file) {
101
112
  }
102
113
  }
103
114
 
115
+ // compareVersions orders dotted numeric versions. A pre-release suffix sorts
116
+ // before the release it belongs to, so 0.5.0-rc1 < 0.5.0.
117
+ function compareVersions(left, right) {
118
+ const parse = (value) => {
119
+ const [core, ...pre] = String(value).split("-");
120
+ return { parts: core.split(".").map((part) => Number.parseInt(part, 10) || 0), pre: pre.join("-") };
121
+ };
122
+ const a = parse(left);
123
+ const b = parse(right);
124
+ const length = Math.max(a.parts.length, b.parts.length);
125
+ for (let index = 0; index < length; index += 1) {
126
+ const difference = (a.parts[index] ?? 0) - (b.parts[index] ?? 0);
127
+ if (difference !== 0) return difference;
128
+ }
129
+ if (a.pre === b.pre) return 0;
130
+ if (a.pre === "") return 1;
131
+ if (b.pre === "") return -1;
132
+ return a.pre < b.pre ? -1 : 1;
133
+ }
134
+
135
+ // cachedBinaryVersions lists the versions that already have BOTH binaries for
136
+ // this platform, newest first. A version with only one binary is an abandoned
137
+ // partial download and must not be offered as a fallback. Selection is explicit
138
+ // rather than readdir order, which is filesystem-defined.
139
+ function cachedBinaryVersions(home, suffix) {
140
+ const binDir = runtimeBinDir(home);
141
+ let entries;
142
+ try {
143
+ entries = fs.readdirSync(binDir);
144
+ } catch (error) {
145
+ if (error?.code === "ENOENT") return [];
146
+ throw error;
147
+ }
148
+ const versions = new Set();
149
+ for (const entry of entries) {
150
+ for (const name of BINARY_NAMES) {
151
+ const postfix = `-${suffix}`;
152
+ if (!entry.startsWith(`${name}-`) || !entry.endsWith(postfix)) continue;
153
+ const version = entry.slice(name.length + 1, entry.length - postfix.length);
154
+ if (version !== "") versions.add(version);
155
+ }
156
+ }
157
+ return [...versions]
158
+ .filter((version) => BINARY_NAMES.every((name) => fs.existsSync(path.join(binDir, `${name}-${version}-${suffix}`))))
159
+ .sort((a, b) => compareVersions(b, a));
160
+ }
161
+
104
162
  function isPidAlive(pid) {
105
163
  if (!Number.isInteger(pid) || pid <= 0) return false;
106
164
  try {
@@ -260,33 +318,56 @@ function downloadText(url) {
260
318
  });
261
319
  }
262
320
 
263
- async function ensureBinaries(home, pkg, log, platform = os.platform(), arch = os.arch()) {
321
+ async function ensureBinaries(home, pkg, log, platform = os.platform(), arch = os.arch(), download = {}) {
264
322
  const suffix = platformSuffix(platform, arch);
265
323
  const version = pkg.version;
266
324
  const binDir = runtimeBinDir(home);
267
325
  ensureDirectory(binDir);
268
- const gatePath = path.join(binDir, `ennogate-${version}-${suffix}`);
269
- const workerPath = path.join(binDir, `ennoworker-${version}-${suffix}`);
270
- const needed = [];
271
- if (!fs.existsSync(gatePath)) needed.push({ name: "ennogate", path: gatePath });
272
- if (!fs.existsSync(workerPath)) needed.push({ name: "ennoworker", path: workerPath });
273
- if (needed.length === 0) return;
274
- log(`Downloading ${needed.length} binary(s) for ${suffix}...`);
275
- const sumsUrl = `${GITHUB_RELEASES_BASE}/v${version}/SHA256SUMS`;
276
- const sumsText = await downloadText(sumsUrl);
277
- for (const { name, path: dest } of needed) {
278
- const filename = `${name}-${suffix}`;
279
- const expected = parseSHA256SUMS(sumsText, filename);
280
- const url = `${GITHUB_RELEASES_BASE}/v${version}/${filename}`;
281
- await downloadFile(url, dest);
282
- try {
283
- verifyFileSHA256(dest, expected);
284
- } catch (error) {
285
- try { fs.unlinkSync(dest); } catch {}
286
- throw error;
326
+ const binaryPath = (name, at) => path.join(binDir, `${name}-${at}-${suffix}`);
327
+ const missing = BINARY_NAMES.filter((name) => !fs.existsSync(binaryPath(name, version)));
328
+ if (missing.length === 0) return { version, fallback: false };
329
+
330
+ const base = releasesBase();
331
+ const fetchText = download.downloadText ?? downloadText;
332
+ const fetchFile = download.downloadFile ?? downloadFile;
333
+ const sumsUrl = `${base}/v${version}/SHA256SUMS`;
334
+ log(`Downloading ${missing.length} binary(s) for ${suffix}...`);
335
+ try {
336
+ const sumsText = await fetchText(sumsUrl);
337
+ for (const name of missing) {
338
+ const filename = `${name}-${suffix}`;
339
+ const dest = binaryPath(name, version);
340
+ const expected = parseSHA256SUMS(sumsText, filename);
341
+ try {
342
+ await fetchFile(`${base}/v${version}/${filename}`, dest);
343
+ verifyFileSHA256(dest, expected);
344
+ } catch (error) {
345
+ // Never leave a partial or unverified binary behind: it would look like
346
+ // a usable cache entry to the next run.
347
+ removeFile(dest);
348
+ throw error;
349
+ }
287
350
  }
351
+ return { version, fallback: false };
352
+ } catch (error) {
353
+ // Downloading needs GitHub. A local-first runtime should still start from a
354
+ // binary that is already on disk rather than fail on a network the user may
355
+ // not have, so an older cached version is better than no server.
356
+ const fallback = cachedBinaryVersions(home, suffix)[0];
357
+ if (!fallback) {
358
+ throw new Error(
359
+ `failed to install Ennote ${version} binaries: ${error.message}; ` +
360
+ `attempted ${sumsUrl} and found no complete cached build under ${binDir} for ${suffix}. ` +
361
+ `Install the release assets manually or set ENNOTE_RELEASES_BASE to a mirror.`,
362
+ );
363
+ }
364
+ log(
365
+ `warning: failed to install Ennote ${version} binaries (${error.message}); ` +
366
+ `using cached ${fallback} for ${suffix} instead. ` +
367
+ `The Worker is older than the CLI's expected ${version}; re-run with network access to update.`,
368
+ );
369
+ return { version: fallback, fallback: true };
288
370
  }
289
- log("Binaries ready.");
290
371
  }
291
372
 
292
373
  async function startService(options) {
@@ -304,8 +385,8 @@ async function startService(options) {
304
385
  if (!await canBind(port, hostname)) throw new Error(`Port ${port} is already in use on ${hostname}`);
305
386
 
306
387
  const pkg = JSON.parse(fs.readFileSync(path.join(packageDir, "package.json"), "utf8"));
307
- await ensureBinaries(home, pkg, log);
308
- const runtime = runtimePaths(packageDir, home, pkg.version);
388
+ const binaries = await ensureBinaries(home, pkg, log);
389
+ const runtime = runtimePaths(packageDir, home, binaries.version);
309
390
  validateRuntime(runtime);
310
391
  ensureDirectory(home);
311
392
  const output = fs.openSync(files.log, "a", 0o600);
@@ -332,9 +413,14 @@ async function startService(options) {
332
413
  port: String(port),
333
414
  hostname,
334
415
  url,
416
+ // Which build is actually serving: an offline start can run a cached
417
+ // version older than this CLI, and that has to be recoverable after the
418
+ // fact rather than only visible in one warning line.
419
+ binaryVersion: binaries.version,
420
+ binaryFallback: binaries.fallback,
335
421
  startedAt: new Date().toISOString(),
336
422
  });
337
- log(`starting ennogate pid=${child.pid} url=${url}`);
423
+ log(`starting ennogate pid=${child.pid} url=${url} bin=${binaries.version}${binaries.fallback ? " (cached fallback)" : ""}`);
338
424
 
339
425
  const deadline = Date.now() + START_TIMEOUT_MS;
340
426
  while (Date.now() < deadline) {
@@ -376,7 +462,14 @@ async function serviceStatus(home) {
376
462
  return { running: false, stale: Boolean(state) };
377
463
  }
378
464
  const healthy = await healthCheck(state.url);
379
- return { running: healthy, healthy, pid: state.pid, url: state.url, port: state.port };
465
+ return {
466
+ running: healthy,
467
+ healthy,
468
+ pid: state.pid,
469
+ url: state.url,
470
+ port: state.port,
471
+ ...(state.binaryVersion ? { binaryVersion: state.binaryVersion, binaryFallback: Boolean(state.binaryFallback) } : {}),
472
+ };
380
473
  }
381
474
 
382
475
  function isLoopbackHostname(hostname) {
@@ -877,6 +970,9 @@ module.exports = {
877
970
  parseSHA256SUMS,
878
971
  fileSHA256,
879
972
  verifyFileSHA256,
973
+ compareVersions,
974
+ cachedBinaryVersions,
975
+ releasesBase,
880
976
  ensureBinaries,
881
977
  startService,
882
978
  stopService,
package/out/404.html CHANGED
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0r3uxu723bo0o.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/0k-~g5-_lbznv.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0j-yjan8jn-8-.js"/><script src="/_next/static/chunks/0398hkm93nbvg.js" async=""></script><script src="/_next/static/chunks/0-j.wjqnc6zff.js" async=""></script><script src="/_next/static/chunks/turbopack-0~_.ya0bk7q2w.js" async=""></script><script src="/_next/static/chunks/0_yt3a8a9j1yd.js" async=""></script><script src="/_next/static/chunks/0e~k9df0bajhc.js" async=""></script><script src="/_next/static/chunks/0l9r.o-l3s.5h.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Ennote</title><meta name="description" content="Auditable local agent runtime built around Agent Flow"/><link rel="icon" href="/icon.png?icon.0l6z533ta5iiy.png" sizes="64x64" type="image/png"/><script id="theme-init">(function(){try{var t=localStorage.getItem("ennote-theme");var d=t==="dark"||(t!=="light"&&matchMedia("(prefers-color-scheme:dark)").matches);document.documentElement.classList.toggle("dark",d);document.documentElement.dataset.theme=d?"dark":"light"}catch(e){}})();</script><script id="locale-init">(function(){try{var l=localStorage.getItem("ennote-locale");document.documentElement.lang=(l==="zh-CN")?"zh-CN":"en"}catch(e){}})();</script><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body style="height:100dvh;display:flex;flex-direction:column"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0j-yjan8jn-8-.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[26356,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0l9r.o-l3s.5h.js\"],\"WorkerGenerationGuard\"]\n3:I[27437,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0l9r.o-l3s.5h.js\"],\"LocaleProvider\"]\n4:I[85026,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0l9r.o-l3s.5h.js\"],\"WorkspaceProvider\"]\n5:I[39756,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0l9r.o-l3s.5h.js\"],\"default\"]\n6:I[37457,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0l9r.o-l3s.5h.js\"],\"default\"]\n7:I[97367,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0l9r.o-l3s.5h.js\"],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\nb:I[97367,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0l9r.o-l3s.5h.js\"],\"ViewportBoundary\"]\nd:I[97367,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0l9r.o-l3s.5h.js\"],\"MetadataBoundary\"]\nf:I[68027,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0l9r.o-l3s.5h.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0r3uxu723bo0o.css\",\"style\"]\n:HL[\"/_next/static/chunks/0k-~g5-_lbznv.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0r3uxu723bo0o.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0k-~g5-_lbznv.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0e~k9df0bajhc.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0l9r.o-l3s.5h.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"id\":\"theme-init\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"ennote-theme\\\");var d=t===\\\"dark\\\"||(t!==\\\"light\\\"\u0026\u0026matchMedia(\\\"(prefers-color-scheme:dark)\\\").matches);document.documentElement.classList.toggle(\\\"dark\\\",d);document.documentElement.dataset.theme=d?\\\"dark\\\":\\\"light\\\"}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"id\":\"locale-init\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var l=localStorage.getItem(\\\"ennote-locale\\\");document.documentElement.lang=(l===\\\"zh-CN\\\")?\\\"zh-CN\\\":\\\"en\\\"}catch(e){}})();\"}}]]}],[\"$\",\"body\",null,{\"style\":{\"height\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,\"$@a\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0r3uxu723bo0o.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0k-~g5-_lbznv.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"I9_aKPkRc3su-s0AsXKQM\"}\n"])</script><script>self.__next_f.push([1,"10:[]\na:\"$W10\"\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"11:I[27201,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0l9r.o-l3s.5h.js\"],\"IconMark\"]\n9:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"Ennote\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Auditable local agent runtime built around Agent Flow\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/icon.png?icon.0l6z533ta5iiy.png\",\"sizes\":\"64x64\",\"type\":\"image/png\"}],[\"$\",\"$L11\",\"3\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0r3uxu723bo0o.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/0k-~g5-_lbznv.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0j-yjan8jn-8-.js"/><script src="/_next/static/chunks/0398hkm93nbvg.js" async=""></script><script src="/_next/static/chunks/0-j.wjqnc6zff.js" async=""></script><script src="/_next/static/chunks/turbopack-0~_.ya0bk7q2w.js" async=""></script><script src="/_next/static/chunks/0_yt3a8a9j1yd.js" async=""></script><script src="/_next/static/chunks/0e~k9df0bajhc.js" async=""></script><script src="/_next/static/chunks/0gee9kb6nwlbz.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Ennote</title><meta name="description" content="Auditable local agent runtime built around Agent Flow"/><link rel="icon" href="/icon.png?icon.0l6z533ta5iiy.png" sizes="64x64" type="image/png"/><script id="theme-init">(function(){try{var t=localStorage.getItem("ennote-theme");var d=t==="dark"||(t!=="light"&&matchMedia("(prefers-color-scheme:dark)").matches);document.documentElement.classList.toggle("dark",d);document.documentElement.dataset.theme=d?"dark":"light"}catch(e){}})();</script><script id="locale-init">(function(){try{var l=localStorage.getItem("ennote-locale");document.documentElement.lang=(l==="zh-CN")?"zh-CN":"en"}catch(e){}})();</script><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body style="height:100dvh;display:flex;flex-direction:column"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0j-yjan8jn-8-.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[26356,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0gee9kb6nwlbz.js\"],\"WorkerGenerationGuard\"]\n3:I[27437,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0gee9kb6nwlbz.js\"],\"LocaleProvider\"]\n4:I[85026,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0gee9kb6nwlbz.js\"],\"WorkspaceProvider\"]\n5:I[39756,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0gee9kb6nwlbz.js\"],\"default\"]\n6:I[37457,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0gee9kb6nwlbz.js\"],\"default\"]\n7:I[97367,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0gee9kb6nwlbz.js\"],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\nb:I[97367,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0gee9kb6nwlbz.js\"],\"ViewportBoundary\"]\nd:I[97367,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0gee9kb6nwlbz.js\"],\"MetadataBoundary\"]\nf:I[68027,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0gee9kb6nwlbz.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0r3uxu723bo0o.css\",\"style\"]\n:HL[\"/_next/static/chunks/0k-~g5-_lbznv.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0r3uxu723bo0o.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0k-~g5-_lbznv.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0e~k9df0bajhc.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0gee9kb6nwlbz.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"id\":\"theme-init\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"ennote-theme\\\");var d=t===\\\"dark\\\"||(t!==\\\"light\\\"\u0026\u0026matchMedia(\\\"(prefers-color-scheme:dark)\\\").matches);document.documentElement.classList.toggle(\\\"dark\\\",d);document.documentElement.dataset.theme=d?\\\"dark\\\":\\\"light\\\"}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"id\":\"locale-init\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var l=localStorage.getItem(\\\"ennote-locale\\\");document.documentElement.lang=(l===\\\"zh-CN\\\")?\\\"zh-CN\\\":\\\"en\\\"}catch(e){}})();\"}}]]}],[\"$\",\"body\",null,{\"style\":{\"height\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,\"$@a\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0r3uxu723bo0o.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0k-~g5-_lbznv.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"1IULeStFBlnqxNnZLaKnI\"}\n"])</script><script>self.__next_f.push([1,"10:[]\na:\"$W10\"\n"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"11:I[27201,[\"/_next/static/chunks/0_yt3a8a9j1yd.js\",\"/_next/static/chunks/0e~k9df0bajhc.js\",\"/_next/static/chunks/0gee9kb6nwlbz.js\"],\"IconMark\"]\n9:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"Ennote\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Auditable local agent runtime built around Agent Flow\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/icon.png?icon.0l6z533ta5iiy.png\",\"sizes\":\"64x64\",\"type\":\"image/png\"}],[\"$\",\"$L11\",\"3\",{}]]\n"])</script></body></html>
@@ -1,7 +1,7 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:"$Sreact.suspense"
3
- 3:I[59665,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js","/_next/static/chunks/0twsdyb7~zp7n.js","/_next/static/chunks/01j7xr5p-4q8-.js"],"AppShell"]
4
- 4:I[97367,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"OutletBoundary"]
5
- :HL["/_next/static/chunks/0bxrnkjb.apni.css","style"]
6
- 0:{"rsc":["$","$1","c",{"children":[["$","$2",null,{"children":["$","$L3",null,{}]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0bxrnkjb.apni.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0twsdyb7~zp7n.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/01j7xr5p-4q8-.js","async":true}]],["$","$L4",null,{"children":["$","$2",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"I9_aKPkRc3su-s0AsXKQM"}
3
+ 3:I[59665,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js","/_next/static/chunks/0twsdyb7~zp7n.js","/_next/static/chunks/05rc5pno5-uub.js"],"AppShell"]
4
+ 4:I[97367,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"OutletBoundary"]
5
+ :HL["/_next/static/chunks/042svogz3qv71.css","style"]
6
+ 0:{"rsc":["$","$1","c",{"children":[["$","$2",null,{"children":["$","$L3",null,{}]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/042svogz3qv71.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0twsdyb7~zp7n.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/05rc5pno5-uub.js","async":true}]],["$","$L4",null,{"children":["$","$2",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"1IULeStFBlnqxNnZLaKnI"}
7
7
  5:null
@@ -1,20 +1,20 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[26356,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"WorkerGenerationGuard"]
3
- 3:I[27437,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"LocaleProvider"]
4
- 4:I[85026,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"WorkspaceProvider"]
5
- 5:I[39756,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"default"]
6
- 6:I[37457,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"default"]
2
+ 2:I[26356,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"WorkerGenerationGuard"]
3
+ 3:I[27437,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"LocaleProvider"]
4
+ 4:I[85026,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"WorkspaceProvider"]
5
+ 5:I[39756,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"default"]
6
+ 6:I[37457,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"default"]
7
7
  7:"$Sreact.suspense"
8
- 8:I[59665,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js","/_next/static/chunks/0twsdyb7~zp7n.js","/_next/static/chunks/01j7xr5p-4q8-.js"],"AppShell"]
9
- 9:I[97367,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"OutletBoundary"]
10
- b:I[97367,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"ViewportBoundary"]
11
- d:I[97367,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"MetadataBoundary"]
12
- f:I[68027,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"default",1]
8
+ 8:I[59665,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js","/_next/static/chunks/0twsdyb7~zp7n.js","/_next/static/chunks/05rc5pno5-uub.js"],"AppShell"]
9
+ 9:I[97367,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"OutletBoundary"]
10
+ b:I[97367,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"ViewportBoundary"]
11
+ d:I[97367,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"MetadataBoundary"]
12
+ f:I[68027,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"default",1]
13
13
  :HL["/_next/static/chunks/0r3uxu723bo0o.css","style"]
14
14
  :HL["/_next/static/chunks/0k-~g5-_lbznv.css","style"]
15
- :HL["/_next/static/chunks/0bxrnkjb.apni.css","style"]
16
- 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0r3uxu723bo0o.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0k-~g5-_lbznv.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0_yt3a8a9j1yd.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0e~k9df0bajhc.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/0l9r.o-l3s.5h.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"id":"theme-init","dangerouslySetInnerHTML":{"__html":"(function(){try{var t=localStorage.getItem(\"ennote-theme\");var d=t===\"dark\"||(t!==\"light\"&&matchMedia(\"(prefers-color-scheme:dark)\").matches);document.documentElement.classList.toggle(\"dark\",d);document.documentElement.dataset.theme=d?\"dark\":\"light\"}catch(e){}})();"}}],["$","script",null,{"id":"locale-init","dangerouslySetInnerHTML":{"__html":"(function(){try{var l=localStorage.getItem(\"ennote-locale\");document.documentElement.lang=(l===\"zh-CN\")?\"zh-CN\":\"en\"}catch(e){}})();"}}]]}],["$","body",null,{"style":{"height":"100dvh","display":"flex","flexDirection":"column"},"children":["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$7",null,{"children":["$","$L8",null,{}]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0bxrnkjb.apni.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0twsdyb7~zp7n.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/01j7xr5p-4q8-.js","async":true,"nonce":"$undefined"}]],["$","$L9",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lb",null,{"children":"$Lc"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$7",null,{"name":"Next.Metadata","children":"$Le"}]}]}],null]}],false]],"m":"$undefined","G":["$f",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0r3uxu723bo0o.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0k-~g5-_lbznv.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"I9_aKPkRc3su-s0AsXKQM"}
15
+ :HL["/_next/static/chunks/042svogz3qv71.css","style"]
16
+ 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0r3uxu723bo0o.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0k-~g5-_lbznv.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0_yt3a8a9j1yd.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0e~k9df0bajhc.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/0gee9kb6nwlbz.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"id":"theme-init","dangerouslySetInnerHTML":{"__html":"(function(){try{var t=localStorage.getItem(\"ennote-theme\");var d=t===\"dark\"||(t!==\"light\"&&matchMedia(\"(prefers-color-scheme:dark)\").matches);document.documentElement.classList.toggle(\"dark\",d);document.documentElement.dataset.theme=d?\"dark\":\"light\"}catch(e){}})();"}}],["$","script",null,{"id":"locale-init","dangerouslySetInnerHTML":{"__html":"(function(){try{var l=localStorage.getItem(\"ennote-locale\");document.documentElement.lang=(l===\"zh-CN\")?\"zh-CN\":\"en\"}catch(e){}})();"}}]]}],["$","body",null,{"style":{"height":"100dvh","display":"flex","flexDirection":"column"},"children":["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$7",null,{"children":["$","$L8",null,{}]}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/042svogz3qv71.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0twsdyb7~zp7n.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/05rc5pno5-uub.js","async":true,"nonce":"$undefined"}]],["$","$L9",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lb",null,{"children":"$Lc"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$7",null,{"name":"Next.Metadata","children":"$Le"}]}]}],null]}],false]],"m":"$undefined","G":["$f",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0r3uxu723bo0o.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0k-~g5-_lbznv.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"1IULeStFBlnqxNnZLaKnI"}
17
17
  c:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
18
- 10:I[27201,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"IconMark"]
18
+ 10:I[27201,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"IconMark"]
19
19
  a:null
20
20
  e:[["$","title","0",{"children":"Ennote"}],["$","meta","1",{"name":"description","content":"Auditable local agent runtime built around Agent Flow"}],["$","link","2",{"rel":"icon","href":"/icon.png?icon.0l6z533ta5iiy.png","sizes":"64x64","type":"image/png"}],["$","$L10","3",{}]]
@@ -1,6 +1,6 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[97367,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"ViewportBoundary"]
3
- 3:I[97367,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"MetadataBoundary"]
2
+ 2:I[97367,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"ViewportBoundary"]
3
+ 3:I[97367,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
- 5:I[27201,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"IconMark"]
6
- 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Ennote"}],["$","meta","1",{"name":"description","content":"Auditable local agent runtime built around Agent Flow"}],["$","link","2",{"rel":"icon","href":"/icon.png?icon.0l6z533ta5iiy.png","sizes":"64x64","type":"image/png"}],["$","$L5","3",{}]]}]}]}],null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"I9_aKPkRc3su-s0AsXKQM"}
5
+ 5:I[27201,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"IconMark"]
6
+ 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Ennote"}],["$","meta","1",{"name":"description","content":"Auditable local agent runtime built around Agent Flow"}],["$","link","2",{"rel":"icon","href":"/icon.png?icon.0l6z533ta5iiy.png","sizes":"64x64","type":"image/png"}],["$","$L5","3",{}]]}]}]}],null]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"1IULeStFBlnqxNnZLaKnI"}
@@ -1,9 +1,9 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[26356,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"WorkerGenerationGuard"]
3
- 3:I[27437,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"LocaleProvider"]
4
- 4:I[85026,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"WorkspaceProvider"]
5
- 5:I[39756,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"default"]
6
- 6:I[37457,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0l9r.o-l3s.5h.js"],"default"]
2
+ 2:I[26356,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"WorkerGenerationGuard"]
3
+ 3:I[27437,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"LocaleProvider"]
4
+ 4:I[85026,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"WorkspaceProvider"]
5
+ 5:I[39756,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"default"]
6
+ 6:I[37457,["/_next/static/chunks/0_yt3a8a9j1yd.js","/_next/static/chunks/0e~k9df0bajhc.js","/_next/static/chunks/0gee9kb6nwlbz.js"],"default"]
7
7
  :HL["/_next/static/chunks/0r3uxu723bo0o.css","style"]
8
8
  :HL["/_next/static/chunks/0k-~g5-_lbznv.css","style"]
9
- 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0r3uxu723bo0o.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0k-~g5-_lbznv.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0_yt3a8a9j1yd.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0e~k9df0bajhc.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/0l9r.o-l3s.5h.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"id":"theme-init","dangerouslySetInnerHTML":{"__html":"(function(){try{var t=localStorage.getItem(\"ennote-theme\");var d=t===\"dark\"||(t!==\"light\"&&matchMedia(\"(prefers-color-scheme:dark)\").matches);document.documentElement.classList.toggle(\"dark\",d);document.documentElement.dataset.theme=d?\"dark\":\"light\"}catch(e){}})();"}}],["$","script",null,{"id":"locale-init","dangerouslySetInnerHTML":{"__html":"(function(){try{var l=localStorage.getItem(\"ennote-locale\");document.documentElement.lang=(l===\"zh-CN\")?\"zh-CN\":\"en\"}catch(e){}})();"}}]]}],["$","body",null,{"style":{"height":"100dvh","display":"flex","flexDirection":"column"},"children":["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","template":["$","$L6",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]}]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"I9_aKPkRc3su-s0AsXKQM"}
9
+ 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0r3uxu723bo0o.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0k-~g5-_lbznv.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0_yt3a8a9j1yd.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0e~k9df0bajhc.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/0gee9kb6nwlbz.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"id":"theme-init","dangerouslySetInnerHTML":{"__html":"(function(){try{var t=localStorage.getItem(\"ennote-theme\");var d=t===\"dark\"||(t!==\"light\"&&matchMedia(\"(prefers-color-scheme:dark)\").matches);document.documentElement.classList.toggle(\"dark\",d);document.documentElement.dataset.theme=d?\"dark\":\"light\"}catch(e){}})();"}}],["$","script",null,{"id":"locale-init","dangerouslySetInnerHTML":{"__html":"(function(){try{var l=localStorage.getItem(\"ennote-locale\");document.documentElement.lang=(l===\"zh-CN\")?\"zh-CN\":\"en\"}catch(e){}})();"}}]]}],["$","body",null,{"style":{"height":"100dvh","display":"flex","flexDirection":"column"},"children":["$","$L2",null,{"children":["$","$L3",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","template":["$","$L6",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]}]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"1IULeStFBlnqxNnZLaKnI"}
@@ -1,4 +1,4 @@
1
1
  :HL["/_next/static/chunks/0r3uxu723bo0o.css","style"]
2
2
  :HL["/_next/static/chunks/0k-~g5-_lbznv.css","style"]
3
- :HL["/_next/static/chunks/0bxrnkjb.apni.css","style"]
4
- 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"I9_aKPkRc3su-s0AsXKQM"}
3
+ :HL["/_next/static/chunks/042svogz3qv71.css","style"]
4
+ 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"1IULeStFBlnqxNnZLaKnI"}
@@ -10,3 +10,4 @@
10
10
  .TabBar-module__VnsErG__bar{background:var(--bg-panel);flex-shrink:0;align-items:flex-end;height:36px;display:flex;overflow-x:auto}.TabBar-module__VnsErG__tab{border-right:1px solid var(--border);background:var(--bg-panel);min-width:80px;max-width:180px;height:36px;color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:6px;padding-left:12px;padding-right:6px;transition:background .1s,color .1s;display:flex}.TabBar-module__VnsErG__tab[data-active=true]{background:var(--bg);color:var(--text)}.TabBar-module__VnsErG__tab[data-dragging=true]{opacity:.45;cursor:grabbing}.TabBar-module__VnsErG__tab[data-drop-target=true]{box-shadow:inset 2px 0 var(--accent)}.TabBar-module__VnsErG__icon{opacity:.7;flex-shrink:0;align-items:center;display:flex}.TabBar-module__VnsErG__tab[data-active=true] .TabBar-module__VnsErG__icon{opacity:1}.TabBar-module__VnsErG__label{text-overflow:ellipsis;flex:1;font-weight:400;overflow:hidden}.TabBar-module__VnsErG__tab[data-active=true] .TabBar-module__VnsErG__label{font-weight:500}.TabBar-module__VnsErG__close{border-radius:var(--radius-xs);width:16px;height:16px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:flex;position:relative}.TabBar-module__VnsErG__close:before{content:"";position:absolute;inset:-8px}.TabBar-module__VnsErG__close:hover{background:var(--bg-hover);color:var(--text)}
11
11
  .McpPanels-module__e-NKfa__form{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:12px;display:flex}.McpPanels-module__e-NKfa__formGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.McpPanels-module__e-NKfa__field{color:var(--text-muted);font-size:var(--text-xs);flex-direction:column;gap:3px;font-weight:600;display:flex}.McpPanels-module__e-NKfa__input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--text);font-size:var(--text-sm);padding:6px 8px}.McpPanels-module__e-NKfa__transportRow{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.McpPanels-module__e-NKfa__transportButton{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;padding:4px 10px}.McpPanels-module__e-NKfa__transportButton[data-active=true]{background:var(--bg-selected);color:var(--text)}.McpPanels-module__e-NKfa__createButton{border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);font-size:var(--text-sm);cursor:pointer;border:none;align-self:flex-start;padding:6px 12px}.McpPanels-module__e-NKfa__createButton:disabled{opacity:.5;cursor:default}.McpPanels-module__e-NKfa__card{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:10px;display:flex}.McpPanels-module__e-NKfa__cardHead{justify-content:space-between;align-items:center;gap:8px;display:flex}.McpPanels-module__e-NKfa__cardIdentity{min-width:0}.McpPanels-module__e-NKfa__cardTitle{color:var(--text);font-size:var(--text-sm);font-weight:700}.McpPanels-module__e-NKfa__cardMeta{color:var(--text-dim);margin-left:6px;font-weight:400}.McpPanels-module__e-NKfa__commandSummary{max-width:360px;color:var(--text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.McpPanels-module__e-NKfa__actions{align-items:center;gap:6px;display:flex}.McpPanels-module__e-NKfa__ghostButton{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;padding:4px 8px}.McpPanels-module__e-NKfa__ghostButton:disabled{opacity:.5;cursor:default}.McpPanels-module__e-NKfa__ghostButton.McpPanels-module__e-NKfa__danger{color:var(--danger)}.McpPanels-module__e-NKfa__ghostButton.McpPanels-module__e-NKfa__accent{color:var(--accent);border-color:var(--accent)}.McpPanels-module__e-NKfa__archiveButton{padding:4px}.McpPanels-module__e-NKfa__requiredButton{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;padding:1px 6px}.McpPanels-module__e-NKfa__requiredButton[data-required=true]{color:var(--text)}.McpPanels-module__e-NKfa__enableButton{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:var(--text-xs);cursor:pointer;padding:4px 10px}.McpPanels-module__e-NKfa__enableButton[data-enabled=true]{background:var(--accent);color:var(--accent-contrast)}.McpPanels-module__e-NKfa__toolsHeader{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.McpPanels-module__e-NKfa__toolsHint,.McpPanels-module__e-NKfa__catalogEmpty{color:var(--text-dim);font-size:var(--text-xs)}.McpPanels-module__e-NKfa__toolSearch{margin-bottom:6px}.McpPanels-module__e-NKfa__catalogScroll{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:220px;overflow-y:auto}.McpPanels-module__e-NKfa__catalogTable{border-collapse:collapse;width:100%;font-size:var(--text-xs)}.McpPanels-module__e-NKfa__toolRow{border-bottom:1px solid var(--border)}.McpPanels-module__e-NKfa__toolCheckCell{width:28px;padding:5px 8px}.McpPanels-module__e-NKfa__toolCheckbox{accent-color:var(--accent)}.McpPanels-module__e-NKfa__toolNameCell{color:var(--text);padding:5px 8px;font-weight:600}.McpPanels-module__e-NKfa__toolDescriptionCell{max-width:260px;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;padding:5px 8px;overflow:hidden}.McpPanels-module__e-NKfa__credentials{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.McpPanels-module__e-NKfa__credentialNote{color:var(--text-dim);font-size:var(--text-xs)}.McpPanels-module__e-NKfa__credentialRow{font-size:var(--text-xs);align-items:center;gap:6px;display:flex}.McpPanels-module__e-NKfa__credentialEnv{min-width:120px;color:var(--text)}.McpPanels-module__e-NKfa__credentialRef{min-width:0;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.McpPanels-module__e-NKfa__credentialInputRow{align-items:center;gap:6px;display:flex}.McpPanels-module__e-NKfa__credentialEnvInput{flex:0 0 140px;width:140px}.McpPanels-module__e-NKfa__credentialRefInput{flex:1;min-width:0}.McpPanels-module__e-NKfa__sectionHeader{color:var(--text);font-size:var(--text-sm);margin-bottom:6px;font-weight:700}.McpPanels-module__e-NKfa__list{flex-direction:column;gap:6px;display:flex}.McpPanels-module__e-NKfa__candidateGroup{flex-direction:column;gap:4px;display:flex}.McpPanels-module__e-NKfa__candidateRow{border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.McpPanels-module__e-NKfa__candidateIdentity{min-width:0}.McpPanels-module__e-NKfa__candidateName{color:var(--text);font-size:var(--text-sm);font-weight:600}.McpPanels-module__e-NKfa__candidateMeta{color:var(--text-dim);font-size:var(--text-xs);margin-left:6px}.McpPanels-module__e-NKfa__candidateSource{max-width:300px;color:var(--text-dim);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;overflow:hidden}.McpPanels-module__e-NKfa__candidateActions{align-items:center;gap:6px;display:flex}.McpPanels-module__e-NKfa__boundBadge{border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text-dim);font-size:var(--text-xs);padding:2px 8px}.McpPanels-module__e-NKfa__diffCard{border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:6px;padding:8px}.McpPanels-module__e-NKfa__diffTitle{color:var(--text);font-size:var(--text-xs);margin-bottom:4px;font-weight:700}.McpPanels-module__e-NKfa__diffDigest{color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-xs);margin-left:6px;font-weight:400}.McpPanels-module__e-NKfa__diffBody{max-height:200px;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap;overflow-y:auto}.McpPanels-module__e-NKfa__diffLine[data-kind=removed]{color:var(--danger)}.McpPanels-module__e-NKfa__diffLine[data-kind=added]{color:var(--success)}.McpPanels-module__e-NKfa__diffUnchanged{color:var(--text-dim);font-size:var(--text-xs)}@media (max-width:640px){.McpPanels-module__e-NKfa__formGrid{grid-template-columns:minmax(0,1fr)}.McpPanels-module__e-NKfa__cardHead{flex-direction:column;align-items:flex-start}.McpPanels-module__e-NKfa__actions{flex-wrap:wrap}.McpPanels-module__e-NKfa__candidateRow{flex-direction:column;align-items:flex-start}.McpPanels-module__e-NKfa__candidateActions{flex-wrap:wrap}}.McpPanels-module__e-NKfa__settingsRoot{flex-direction:column;gap:14px;display:flex}.McpPanels-module__e-NKfa__settingsHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.McpPanels-module__e-NKfa__settingsTitle{color:var(--text);font-size:var(--text-md);font-weight:700}.McpPanels-module__e-NKfa__settingsDescription{color:var(--text-dim);font-size:var(--text-xs);margin-top:2px}.McpPanels-module__e-NKfa__addButton{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:var(--text-sm);cursor:pointer;padding:5px 10px}.McpPanels-module__e-NKfa__bindings{flex-direction:column;gap:8px;display:flex}.McpPanels-module__e-NKfa__emptyText{color:var(--text-dim);font-size:var(--text-sm)}.McpPanels-module__e-NKfa__loadingText{color:var(--text-dim);font-size:var(--text-xs)}
12
12
  .SkillPanels-module__k8YHlG__sectionHeader{color:var(--text);font-size:var(--text-sm);margin:12px 0 6px;font-weight:700}.SkillPanels-module__k8YHlG__sectionCount{color:var(--text-dim);margin-left:4px;font-weight:400}.SkillPanels-module__k8YHlG__note{color:var(--text-dim);font-size:var(--text-xs);margin-bottom:6px}.SkillPanels-module__k8YHlG__stack{flex-direction:column;gap:6px;display:flex}.SkillPanels-module__k8YHlG__empty{color:var(--text-dim);font-size:var(--text-xs)}.SkillPanels-module__k8YHlG__rootRow{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px 8px;display:flex}.SkillPanels-module__k8YHlG__rootIdentity{flex:1;min-width:0}.SkillPanels-module__k8YHlG__rootTitleRow{align-items:center;gap:6px;display:flex}.SkillPanels-module__k8YHlG__rootName{color:var(--text);font-size:var(--text-sm);font-weight:600}.SkillPanels-module__k8YHlG__badge{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-xs);flex-shrink:0;padding:1px 6px}.SkillPanels-module__k8YHlG__rootPriority{color:var(--text-dim);font-size:var(--text-xs);flex-shrink:0}.SkillPanels-module__k8YHlG__rootPath{max-width:380px;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.SkillPanels-module__k8YHlG__toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:var(--text-xs);cursor:pointer;flex-shrink:0;padding:2px 8px}.SkillPanels-module__k8YHlG__toggle[data-enabled=true]{background:var(--accent);color:var(--accent-contrast)}.SkillPanels-module__k8YHlG__toggle[data-disabled=true]{background:var(--bg-selected);color:var(--text-dim)}.SkillPanels-module__k8YHlG__ghostButton{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.SkillPanels-module__k8YHlG__ghostButton:disabled{opacity:.5;cursor:default}.SkillPanels-module__k8YHlG__ghostButton.SkillPanels-module__k8YHlG__danger{color:var(--danger)}.SkillPanels-module__k8YHlG__ghostButton.SkillPanels-module__k8YHlG__warning{color:var(--warning);border-color:var(--warning)}.SkillPanels-module__k8YHlG__primaryButton{border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);font-size:var(--text-xs);cursor:pointer;border:none;padding:4px 12px}.SkillPanels-module__k8YHlG__primaryButton:disabled{opacity:.5;cursor:default}.SkillPanels-module__k8YHlG__installButton{border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);font-size:var(--text-xs);cursor:pointer;border:none;flex-shrink:0;padding:3px 10px}.SkillPanels-module__k8YHlG__installButton[data-busy=true]{background:var(--bg-selected);color:var(--text)}.SkillPanels-module__k8YHlG__installButton:disabled{opacity:.6;cursor:default}.SkillPanels-module__k8YHlG__rootForm{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:10px;display:flex}.SkillPanels-module__k8YHlG__inputRow{flex-wrap:wrap;gap:6px;display:flex}.SkillPanels-module__k8YHlG__actionRow{gap:6px;display:flex}.SkillPanels-module__k8YHlG__input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);min-width:180px;color:var(--text);font-size:var(--text-sm);flex:1;padding:6px 8px}.SkillPanels-module__k8YHlG__inputPreset{flex:0 0 130px;min-width:130px}.SkillPanels-module__k8YHlG__inputName{flex:0 0 140px;min-width:140px}.SkillPanels-module__k8YHlG__inputScope{flex:0 0 110px;min-width:110px}.SkillPanels-module__k8YHlG__market{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:10px;display:flex}.SkillPanels-module__k8YHlG__marketTitle{color:var(--text);font-size:var(--text-sm);font-weight:700}.SkillPanels-module__k8YHlG__searchRow{flex-wrap:wrap;gap:6px;display:flex}.SkillPanels-module__k8YHlG__resultRow{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px 8px;display:flex}.SkillPanels-module__k8YHlG__resultPackage{min-width:0;color:var(--text);font-family:var(--font-mono);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.SkillPanels-module__k8YHlG__resultInstalls{color:var(--text-dim);font-size:var(--text-xs);flex-shrink:0}.SkillPanels-module__k8YHlG__link{color:var(--text-muted);align-items:center;gap:3px;display:inline-flex}.SkillPanels-module__k8YHlG__linkIcon{flex-shrink:0}.SkillPanels-module__k8YHlG__installedCard{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:6px;padding:8px;display:flex}.SkillPanels-module__k8YHlG__installedHead{align-items:center;gap:8px;display:flex}.SkillPanels-module__k8YHlG__installedIdentity{flex:1;min-width:0}.SkillPanels-module__k8YHlG__installedTitleRow{align-items:center;gap:6px;min-width:0;display:flex}.SkillPanels-module__k8YHlG__installedName{color:var(--text);font-size:var(--text-sm)}.SkillPanels-module__k8YHlG__installedDescription{max-width:420px;color:var(--text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.SkillPanels-module__k8YHlG__installedMeta{color:var(--text-dim);font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.SkillPanels-module__k8YHlG__mono{font-family:var(--font-mono)}.SkillPanels-module__k8YHlG__installedActions{flex-shrink:0;align-items:center;gap:6px;display:flex}.SkillPanels-module__k8YHlG__updateBadge{border:1px solid var(--warning);border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);font-size:var(--text-xs);flex-shrink:0;padding:1px 6px}.SkillPanels-module__k8YHlG__statusText{color:var(--text-dim);font-size:var(--text-xs)}.SkillPanels-module__k8YHlG__statusError{max-width:180px;color:var(--danger);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.SkillPanels-module__k8YHlG__catalogRow{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:4px 8px;display:flex}.SkillPanels-module__k8YHlG__catalogName{min-width:0;color:var(--text);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.SkillPanels-module__k8YHlG__diagnostics{margin-top:12px}.SkillPanels-module__k8YHlG__diagTitle{color:var(--text-muted);font-size:var(--text-xs);margin-bottom:4px;font-weight:700}.SkillPanels-module__k8YHlG__diagList{flex-direction:column;gap:2px;display:flex}.SkillPanels-module__k8YHlG__diagRow{color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-xs)}.SkillPanels-module__k8YHlG__diagRow[data-level=skip]{color:var(--warning)}
13
+ .OfflineBanner-module__byd1va__banner{font-size:var(--text-sm);color:var(--warning);background:var(--warning-soft);border-bottom:1px solid var(--border);flex-shrink:0;padding:6px 12px}