@seqyuan/annovibe 0.8.12
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/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +40 -0
- package/.next/build-manifest.json +20 -0
- package/.next/diagnostics/build-diagnostics.json +6 -0
- package/.next/diagnostics/framework.json +1 -0
- package/.next/export-marker.json +6 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +138 -0
- package/.next/react-loadable-manifest.json +2320 -0
- package/.next/required-server-files.js +343 -0
- package/.next/required-server-files.json +343 -0
- package/.next/routes-manifest.json +292 -0
- package/.next/server/app/_global-error/page.js +32 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +16 -0
- package/.next/server/app/_global-error.rsc +14 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page.js +2 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +16 -0
- package/.next/server/app/_not-found.rsc +18 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +18 -0
- package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
- package/.next/server/app/_not-found.segments/_index.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -0
- package/.next/server/app/api/agent/[id]/events/route.js +3 -0
- package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/[id]/events/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/[id]/route.js +1 -0
- package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/agent/new/route.js +1 -0
- package/.next/server/app/api/agent/new/route.js.nft.json +1 -0
- package/.next/server/app/api/agent/new/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/all-providers/route.js +1 -0
- package/.next/server/app/api/auth/all-providers/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/all-providers/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -0
- package/.next/server/app/api/auth/api-key/[provider]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/api-key/[provider]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/login/[provider]/route.js +3 -0
- package/.next/server/app/api/auth/login/[provider]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/login/[provider]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/login/route.js +1 -0
- package/.next/server/app/api/auth/login/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -0
- package/.next/server/app/api/auth/logout/[provider]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/logout/[provider]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/providers/route.js +1 -0
- package/.next/server/app/api/auth/providers/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/providers/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/status/route.js +1 -0
- package/.next/server/app/api/auth/status/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/default-cwd/route.js +1 -0
- package/.next/server/app/api/default-cwd/route.js.nft.json +1 -0
- package/.next/server/app/api/default-cwd/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/files/[...path]/route.js +6 -0
- package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -0
- package/.next/server/app/api/files/[...path]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/harness/route.js +1 -0
- package/.next/server/app/api/harness/route.js.nft.json +1 -0
- package/.next/server/app/api/harness/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/home/route.js +1 -0
- package/.next/server/app/api/home/route.js.nft.json +1 -0
- package/.next/server/app/api/home/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/route.js +1 -0
- package/.next/server/app/api/models/route.js.nft.json +1 -0
- package/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models-config/discover/route.js +1 -0
- package/.next/server/app/api/models-config/discover/route.js.nft.json +1 -0
- package/.next/server/app/api/models-config/discover/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models-config/route.js +1 -0
- package/.next/server/app/api/models-config/route.js.nft.json +1 -0
- package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models-config/test/route.js +1 -0
- package/.next/server/app/api/models-config/test/route.js.nft.json +1 -0
- package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/plot-kernels/route.js +1 -0
- package/.next/server/app/api/plot-kernels/route.js.nft.json +1 -0
- package/.next/server/app/api/plot-kernels/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/plot-kernels/status/route.js +1 -0
- package/.next/server/app/api/plot-kernels/status/route.js.nft.json +1 -0
- package/.next/server/app/api/plot-kernels/status/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/plot-kernels/stop/route.js +1 -0
- package/.next/server/app/api/plot-kernels/stop/route.js.nft.json +1 -0
- package/.next/server/app/api/plot-kernels/stop/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/reports/[id]/route.js +9 -0
- package/.next/server/app/api/reports/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/reports/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/search/route.js +3 -0
- package/.next/server/app/api/search/route.js.nft.json +1 -0
- package/.next/server/app/api/search/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/context/route.js +3 -0
- package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/context/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/[id]/route.js +1 -0
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/new/route.js +1 -0
- package/.next/server/app/api/sessions/new/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/new/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sessions/route.js +3 -0
- package/.next/server/app/api/sessions/route.js.nft.json +1 -0
- package/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/settings/route.js +1 -0
- package/.next/server/app/api/settings/route.js.nft.json +1 -0
- package/.next/server/app/api/settings/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/install/route.js +1 -0
- package/.next/server/app/api/skills/install/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/route.js +6 -0
- package/.next/server/app/api/skills/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/search/route.js +1 -0
- package/.next/server/app/api/skills/search/route.js.nft.json +1 -0
- package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/soul/route.js +1 -0
- package/.next/server/app/api/soul/route.js.nft.json +1 -0
- package/.next/server/app/api/soul/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/version/route.js +1 -0
- package/.next/server/app/api/version/route.js.nft.json +1 -0
- package/.next/server/app/api/version/route_client-reference-manifest.js +1 -0
- package/.next/server/app/favicon.ico/route.js +1 -0
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
- package/.next/server/app/favicon.ico.body +0 -0
- package/.next/server/app/favicon.ico.meta +1 -0
- package/.next/server/app/index.html +1 -0
- package/.next/server/app/index.meta +14 -0
- package/.next/server/app/index.rsc +17 -0
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -0
- package/.next/server/app/index.segments/_full.segment.rsc +17 -0
- package/.next/server/app/index.segments/_head.segment.rsc +6 -0
- package/.next/server/app/index.segments/_index.segment.rsc +5 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +4 -0
- package/.next/server/app/login/page.js +2 -0
- package/.next/server/app/login/page.js.nft.json +1 -0
- package/.next/server/app/login/page_client-reference-manifest.js +1 -0
- package/.next/server/app/login.html +1 -0
- package/.next/server/app/login.meta +15 -0
- package/.next/server/app/login.rsc +22 -0
- package/.next/server/app/login.segments/_full.segment.rsc +22 -0
- package/.next/server/app/login.segments/_head.segment.rsc +6 -0
- package/.next/server/app/login.segments/_index.segment.rsc +5 -0
- package/.next/server/app/login.segments/_tree.segment.rsc +4 -0
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +9 -0
- package/.next/server/app/login.segments/login.segment.rsc +5 -0
- package/.next/server/app/page.js +271 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +1 -0
- package/.next/server/app-paths-manifest.json +40 -0
- package/.next/server/chunks/1048.js +1 -0
- package/.next/server/chunks/1367.js +77 -0
- package/.next/server/chunks/1381.js +1 -0
- package/.next/server/chunks/165.js +1 -0
- package/.next/server/chunks/1681.js +215 -0
- package/.next/server/chunks/1703.js +79 -0
- package/.next/server/chunks/1712.js +43 -0
- package/.next/server/chunks/1813.js +1 -0
- package/.next/server/chunks/2325.js +80 -0
- package/.next/server/chunks/258.js +1 -0
- package/.next/server/chunks/2671.js +287 -0
- package/.next/server/chunks/2778.js +1 -0
- package/.next/server/chunks/2943.js +1 -0
- package/.next/server/chunks/3031.js +226 -0
- package/.next/server/chunks/3181.js +1 -0
- package/.next/server/chunks/3451.js +1 -0
- package/.next/server/chunks/3493.js +1 -0
- package/.next/server/chunks/3672.js +1 -0
- package/.next/server/chunks/3701.js +104 -0
- package/.next/server/chunks/4013.js +1 -0
- package/.next/server/chunks/4035.js +80 -0
- package/.next/server/chunks/4248.js +153 -0
- package/.next/server/chunks/4367.js +1 -0
- package/.next/server/chunks/4406.js +141 -0
- package/.next/server/chunks/4741.js +18 -0
- package/.next/server/chunks/4858.js +148 -0
- package/.next/server/chunks/4980.js +1 -0
- package/.next/server/chunks/5155.js +5 -0
- package/.next/server/chunks/5193.js +73 -0
- package/.next/server/chunks/5293.js +166 -0
- package/.next/server/chunks/5409.js +1 -0
- package/.next/server/chunks/5797.js +93 -0
- package/.next/server/chunks/5851.js +36 -0
- package/.next/server/chunks/6206.js +1 -0
- package/.next/server/chunks/6296.js +1 -0
- package/.next/server/chunks/63.js +45 -0
- package/.next/server/chunks/6346.js +1 -0
- package/.next/server/chunks/6406.js +23 -0
- package/.next/server/chunks/642.js +1 -0
- package/.next/server/chunks/6729.js +64 -0
- package/.next/server/chunks/6907.js +115 -0
- package/.next/server/chunks/6980.js +1 -0
- package/.next/server/chunks/7073.js +24 -0
- package/.next/server/chunks/7233.js +24 -0
- package/.next/server/chunks/7270.js +45 -0
- package/.next/server/chunks/7307.js +1 -0
- package/.next/server/chunks/7362.js +9 -0
- package/.next/server/chunks/7567.js +29 -0
- package/.next/server/chunks/7601.js +129 -0
- package/.next/server/chunks/7765.js +1 -0
- package/.next/server/chunks/7890.js +1 -0
- package/.next/server/chunks/8065.js +1 -0
- package/.next/server/chunks/8238.js +34 -0
- package/.next/server/chunks/8276.js +1 -0
- package/.next/server/chunks/8336.js +1 -0
- package/.next/server/chunks/8490.js +1 -0
- package/.next/server/chunks/8916.js +1 -0
- package/.next/server/chunks/9280.js +252 -0
- package/.next/server/chunks/9315.js +1 -0
- package/.next/server/chunks/9537.js +90 -0
- package/.next/server/chunks/966.js +1 -0
- package/.next/server/chunks/9818.js +21 -0
- package/.next/server/chunks/static/media/pdf.worker.min.9df6854a.mjs +6 -0
- package/.next/server/functions-config-manifest.json +14 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/middleware.js +18 -0
- package/.next/server/middleware.js.nft.json +1 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +1 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +4 -0
- package/.next/server/prefetch-hints.json +1 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +1 -0
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/chunks/0b9a0da7.9075af772487e743.js +62 -0
- package/.next/static/chunks/1413.922d232de90c0c41.js +115 -0
- package/.next/static/chunks/1643.467a526a1f24f54d.js +24 -0
- package/.next/static/chunks/1852.5543122f11aa7fed.js +1 -0
- package/.next/static/chunks/1960.b1e26436d7a5f586.js +1 -0
- package/.next/static/chunks/2170a4aa.4213bb2183c9cdf9.js +1 -0
- package/.next/static/chunks/2274.6cd173f80a1405a2.js +21 -0
- package/.next/static/chunks/2419.347fdfe3c170854d.js +166 -0
- package/.next/static/chunks/2619.9aac8983f30c7c8a.js +1 -0
- package/.next/static/chunks/2623.d20fabd8e18197c6.js +287 -0
- package/.next/static/chunks/2729.f5365061a849d659.js +34 -0
- package/.next/static/chunks/2821.934bcf60fbdc28c6.js +1 -0
- package/.next/static/chunks/2918becc.abff2ece1de37bc1.js +153 -0
- package/.next/static/chunks/2947.114e51cb06d1c01a.js +23 -0
- package/.next/static/chunks/3079.4c511fa1144e3adf.js +79 -0
- package/.next/static/chunks/3274.208ca44844cd7d95.js +148 -0
- package/.next/static/chunks/3308.465a94263d04bfea.js +73 -0
- package/.next/static/chunks/3325.e4bfe1ca657f3b5b.js +80 -0
- package/.next/static/chunks/3506.2a7eaa08b9f55337.js +90 -0
- package/.next/static/chunks/363642f4-043c1475ab9af70e.js +1 -0
- package/.next/static/chunks/3794-123fdf632563f469.js +32 -0
- package/.next/static/chunks/3837.a755ccfe6f9c1c1c.js +5 -0
- package/.next/static/chunks/394.91597771688df6d0.js +1 -0
- package/.next/static/chunks/3997.1009c06025691712.js +1 -0
- package/.next/static/chunks/4453.91a357dc43c21745.js +1 -0
- package/.next/static/chunks/4491.44fdf20580ac72bd.js +24 -0
- package/.next/static/chunks/4829.cf1d50e43e6d9db5.js +1 -0
- package/.next/static/chunks/498.fe1d9da9ecad6c36.js +1 -0
- package/.next/static/chunks/4bd1b696-e356ca5ba0218e27.js +1 -0
- package/.next/static/chunks/5019.b5a1a2b8daf17525.js +1 -0
- package/.next/static/chunks/5034.8f16c3fa3ce75411.js +1 -0
- package/.next/static/chunks/5074.d16651da01ec4e02.js +1 -0
- package/.next/static/chunks/532.5956ed631aff722b.js +9 -0
- package/.next/static/chunks/5326.69460442bdcd6cd3.js +1 -0
- package/.next/static/chunks/5403.ff110bf5bf600758.js +64 -0
- package/.next/static/chunks/547.902a733488cfe3f7.js +77 -0
- package/.next/static/chunks/5567.540d7fc108ad6ee5.js +215 -0
- package/.next/static/chunks/5590.ef62922166d308b4.js +1 -0
- package/.next/static/chunks/5690.9d6eb1edb1399995.js +1 -0
- package/.next/static/chunks/5749.25faee4a1e55b854.js +226 -0
- package/.next/static/chunks/58bb9007.1ccb6bba34b4c635.js +80 -0
- package/.next/static/chunks/6121.f3f43f1896ea0cd9.js +1 -0
- package/.next/static/chunks/6600.583c88eef37aa524.js +1 -0
- package/.next/static/chunks/6696.a41aec266e657d54.js +141 -0
- package/.next/static/chunks/6922.42148793782d2fe7.js +1 -0
- package/.next/static/chunks/7006.e191611ffc2b9528.js +43 -0
- package/.next/static/chunks/7343.9fbb58204d8ac681.js +1 -0
- package/.next/static/chunks/7355-29eaa714eb390050.js +1 -0
- package/.next/static/chunks/73972abe.25a4cffa03b2bcef.js +119 -0
- package/.next/static/chunks/7547.58bda8a2aabba0d4.js +93 -0
- package/.next/static/chunks/7648.4ae2f183b4db0353.js +1 -0
- package/.next/static/chunks/7874.8db6929b94cdf697.js +1 -0
- package/.next/static/chunks/7959.1f20a35df316216a.js +104 -0
- package/.next/static/chunks/83.85d62d7fc9850b75.js +29 -0
- package/.next/static/chunks/8436.cab94b59cca0a8ff.js +1 -0
- package/.next/static/chunks/8451.542eda09d2171474.js +1 -0
- package/.next/static/chunks/8489.45f22859734f514f.js +36 -0
- package/.next/static/chunks/8568.f85d8b36fc9a9037.js +1 -0
- package/.next/static/chunks/8863.be51033a67436277.js +1 -0
- package/.next/static/chunks/90542734.dc1a2723e4f6affb.js +1 -0
- package/.next/static/chunks/9500.1488aec06ee78127.js +1 -0
- package/.next/static/chunks/9633.155548b5fca6e580.js +1 -0
- package/.next/static/chunks/9779.673004a62d70e36a.js +1 -0
- package/.next/static/chunks/9b0008ae.2918095672924572.js +45 -0
- package/.next/static/chunks/app/_global-error/page-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/_not-found/page-96eb50fac9e7a68c.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/auth/all-providers/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/harness/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/home/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/models/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/models-config/discover/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/plot-kernels/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/plot-kernels/status/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/plot-kernels/stop/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/reports/[id]/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/search/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/sessions/new/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/settings/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/skills/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/soul/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/api/version/route-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/app/layout-827e06e39e1e6b05.js +1 -0
- package/.next/static/chunks/app/login/page-9450bfc0d502f432.js +1 -0
- package/.next/static/chunks/app/page-dc03bbb33a1d438c.js +270 -0
- package/.next/static/chunks/d3ac728e.7964f816a1ca64e5.js +1 -0
- package/.next/static/chunks/framework-711ef29bc66f648c.js +1 -0
- package/.next/static/chunks/main-app-ecfccace02c7aaed.js +1 -0
- package/.next/static/chunks/main-f74964b7ae52493e.js +5 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-cd03d084301c1bc9.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-3edd3886076a73cb.js +1 -0
- package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/.next/static/chunks/webpack-5e677f60fa366b60.js +1 -0
- package/.next/static/css/d830cdea1c9a03c6.css +3 -0
- package/.next/static/ixA4-CDguO8ne_SD2W8sd/_buildManifest.js +1 -0
- package/.next/static/ixA4-CDguO8ne_SD2W8sd/_ssgManifest.js +1 -0
- package/.next/static/media/15605e25b523335c-s.woff2 +0 -0
- package/.next/static/media/1a3dce5cfb5f7760-s.woff2 +0 -0
- package/.next/static/media/1cdd02902f937a18-s.woff2 +0 -0
- package/.next/static/media/4c4b3b30b6bcb2be-s.woff2 +0 -0
- package/.next/static/media/641a7b8a5800ee0e-s.woff2 +0 -0
- package/.next/static/media/7deddc85b7ffd1dc-s.p.woff2 +0 -0
- package/.next/static/media/ec14413c594b3356-s.p.woff2 +0 -0
- package/.next/static/media/pdf.worker.min.5f98222a.mjs +6 -0
- package/.next/trace +74 -0
- package/.next/trace-build +1 -0
- package/.next/types/app/api/agent/[id]/events/route.ts +351 -0
- package/.next/types/app/api/agent/[id]/route.ts +351 -0
- package/.next/types/app/api/agent/new/route.ts +351 -0
- package/.next/types/app/api/auth/all-providers/route.ts +351 -0
- package/.next/types/app/api/auth/api-key/[provider]/route.ts +351 -0
- package/.next/types/app/api/auth/login/[provider]/route.ts +351 -0
- package/.next/types/app/api/auth/login/route.ts +351 -0
- package/.next/types/app/api/auth/logout/[provider]/route.ts +351 -0
- package/.next/types/app/api/auth/providers/route.ts +351 -0
- package/.next/types/app/api/auth/status/route.ts +351 -0
- package/.next/types/app/api/default-cwd/route.ts +351 -0
- package/.next/types/app/api/files/[...path]/route.ts +351 -0
- package/.next/types/app/api/harness/route.ts +351 -0
- package/.next/types/app/api/home/route.ts +351 -0
- package/.next/types/app/api/models/route.ts +351 -0
- package/.next/types/app/api/models-config/discover/route.ts +351 -0
- package/.next/types/app/api/models-config/route.ts +351 -0
- package/.next/types/app/api/models-config/test/route.ts +351 -0
- package/.next/types/app/api/plot-kernels/route.ts +351 -0
- package/.next/types/app/api/plot-kernels/status/route.ts +351 -0
- package/.next/types/app/api/plot-kernels/stop/route.ts +351 -0
- package/.next/types/app/api/reports/[id]/route.ts +351 -0
- package/.next/types/app/api/search/route.ts +351 -0
- package/.next/types/app/api/sessions/[id]/context/route.ts +351 -0
- package/.next/types/app/api/sessions/[id]/route.ts +351 -0
- package/.next/types/app/api/sessions/new/route.ts +351 -0
- package/.next/types/app/api/sessions/route.ts +351 -0
- package/.next/types/app/api/settings/route.ts +351 -0
- package/.next/types/app/api/skills/install/route.ts +351 -0
- package/.next/types/app/api/skills/route.ts +351 -0
- package/.next/types/app/api/skills/search/route.ts +351 -0
- package/.next/types/app/api/soul/route.ts +351 -0
- package/.next/types/app/api/version/route.ts +351 -0
- package/.next/types/app/layout.ts +87 -0
- package/.next/types/app/login/page.ts +87 -0
- package/.next/types/app/page.ts +87 -0
- package/.next/types/package.json +1 -0
- package/.next/types/routes.d.ts +106 -0
- package/.next/types/validator.ts +376 -0
- package/LICENSE +21 -0
- package/README.md +90 -0
- package/bin/pi-web.js +825 -0
- package/lib/default-soul.md +42 -0
- package/lib/visualization-harness.md +113 -0
- package/next.config.ts +15 -0
- package/package.json +77 -0
- package/public/file.svg +1 -0
- package/public/globe.svg +1 -0
- package/public/next.svg +1 -0
- package/public/vercel.svg +1 -0
- package/public/window.svg +1 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";exports.id=7362,exports.ids=[7362],exports.modules={47362:(a,b,c)=>{c.d(b,{diagram:()=>y});var d=c(39636),e=c(93273),f=c(98908),g=c(70400),h=c(65246),i=c(21143),j=c(92325),k=new f.m(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),l=(0,i.K2)(()=>{k.reset(),(0,h.IU)()},"clear"),m=(0,i.K2)(()=>k.records.stack[0],"getRoot"),n=(0,i.K2)(()=>k.records.cnt,"getCount"),o=h.UI.treeView,p=(0,i.K2)(()=>(0,g.$t)(o,(0,h.zj)().treeView),"getConfig"),q={clear:l,addNode:(0,i.K2)((a,b)=>{for(;a<=k.records.stack[k.records.stack.length-1].level;)k.records.stack.pop();let c={id:k.records.cnt++,level:a,name:b,children:[]};k.records.stack[k.records.stack.length-1].children.push(c),k.records.stack.push(c)},"addNode"),getRoot:m,getCount:n,getConfig:p,getAccTitle:h.iN,getAccDescription:h.m7,getDiagramTitle:h.ab,setAccDescription:h.EI,setAccTitle:h.SV,setDiagramTitle:h.ke},r=(0,i.K2)(a=>{(0,e.S)(a,q),a.nodes.map(a=>q.addNode(a.indent?parseInt(a.indent):0,a.name))},"populate"),s={parse:(0,i.K2)(async a=>{let b=await (0,j.qg)("treeView",a);i.Rm.debug(b),r(b)},"parse")},t=(0,i.K2)((a,b,c,d,e)=>{let f=d.append("text").text(c.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:g,width:h}=f.node().getBBox(),i=g+2*e.paddingY,j=h+2*e.paddingX;f.attr("x",a+e.paddingX),f.attr("y",b+i/2),c.BBox={x:a,y:b,width:j,height:i}},"positionLabel"),u=(0,i.K2)((a,b,c,d,e,f)=>a.append("line").attr("x1",b).attr("y1",c).attr("x2",d).attr("y2",e).attr("stroke-width",f).attr("class","treeView-node-line"),"positionLine"),v=(0,i.K2)((a,b,c)=>{let d=0,e=0,f=(0,i.K2)((a,b,c,f)=>{let g=f*(c.rowIndent+c.paddingX);t(g,d,b,a,c);let{height:h,width:i}=b.BBox;u(a,g-c.rowIndent,d+h/2,g,d+h/2,c.lineThickness),e=Math.max(e,g+i),d+=h},"drawNode"),g=(0,i.K2)((b,d=0)=>{f(a,b,c,d),b.children.forEach(a=>{g(a,d+1)});let{x:e,y:h,height:i}=b.BBox;if(b.children.length){let{y:d,height:f}=b.children[b.children.length-1].BBox;u(a,e+c.paddingX,h+i,e+c.paddingX,d+f/2+c.lineThickness/2,c.lineThickness)}},"processNode");return g(b),{totalHeight:d,totalWidth:e}},"drawTree"),w=(0,i.K2)((a,b,c,e)=>{i.Rm.debug("Rendering treeView diagram\n"+a);let f=e.db,g=f.getRoot(),j=f.getConfig(),k=(0,d.D)(b),l=k.append("g");l.attr("class","tree-view");let{totalHeight:m,totalWidth:n}=v(l,g,j);k.attr("viewBox",`-${j.lineThickness/2} 0 ${n} ${m}`),(0,h.a$)(k,m,n,j.useMaxWidth)},"draw"),x={labelFontSize:"16px",labelColor:"black",lineColor:"black"},y={db:q,renderer:{draw:w},parser:s,styles:(0,i.K2)(({treeView:a})=>{let{labelFontSize:b,labelColor:c,lineColor:d}=(0,g.$t)(x,a);return`
|
|
2
|
+
.treeView-node-label {
|
|
3
|
+
font-size: ${b};
|
|
4
|
+
fill: ${c};
|
|
5
|
+
}
|
|
6
|
+
.treeView-node-line {
|
|
7
|
+
stroke: ${d};
|
|
8
|
+
}
|
|
9
|
+
`},"styles")}},93273:(a,b,c)=>{function d(a,b){a.accDescr&&b.setAccDescription?.(a.accDescr),a.accTitle&&b.setAccTitle?.(a.accTitle),a.title&&b.setDiagramTitle?.(a.title)}c.d(b,{S:()=>d}),(0,c(21143).K2)(d,"populateCommonDb")},98908:(a,b,c)=>{c.d(b,{m:()=>e});var d=c(21143),e=class{constructor(a){this.init=a,this.records=this.init()}static{(0,d.K2)(this,"ImperativeState")}reset(){this.records=this.init()}}}};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";exports.id=7567,exports.ids=[7567],exports.modules={67567:(a,b,c)=>{c.d(b,{diagram:()=>A});var d=c(39636),e=c(93273),f=c(70400),g=c(65246),h=c(21143),i=c(92325),j=c(69085),k=g.UI.pie,l={sections:new Map,showData:!1,config:k},m=l.sections,n=l.showData,o=structuredClone(k),p=(0,h.K2)(()=>structuredClone(o),"getConfig"),q=(0,h.K2)(()=>{m=new Map,n=l.showData,(0,g.IU)()},"clear"),r=(0,h.K2)(({label:a,value:b})=>{if(b<0)throw Error(`"${a}" has invalid value: ${b}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);m.has(a)||(m.set(a,b),h.Rm.debug(`added new section: ${a}, with value: ${b}`))},"addSection"),s=(0,h.K2)(()=>m,"getSections"),t=(0,h.K2)(a=>{n=a},"setShowData"),u=(0,h.K2)(()=>n,"getShowData"),v={getConfig:p,clear:q,setDiagramTitle:g.ke,getDiagramTitle:g.ab,setAccTitle:g.SV,getAccTitle:g.iN,setAccDescription:g.EI,getAccDescription:g.m7,addSection:r,getSections:s,setShowData:t,getShowData:u},w=(0,h.K2)((a,b)=>{(0,e.S)(a,b),b.setShowData(a.showData),a.sections.map(b.addSection)},"populateDb"),x={parse:(0,h.K2)(async a=>{let b=await (0,i.qg)("pie",a);h.Rm.debug(b),w(b,v)},"parse")},y=(0,h.K2)(a=>`
|
|
2
|
+
.pieCircle{
|
|
3
|
+
stroke: ${a.pieStrokeColor};
|
|
4
|
+
stroke-width : ${a.pieStrokeWidth};
|
|
5
|
+
opacity : ${a.pieOpacity};
|
|
6
|
+
}
|
|
7
|
+
.pieOuterCircle{
|
|
8
|
+
stroke: ${a.pieOuterStrokeColor};
|
|
9
|
+
stroke-width: ${a.pieOuterStrokeWidth};
|
|
10
|
+
fill: none;
|
|
11
|
+
}
|
|
12
|
+
.pieTitleText {
|
|
13
|
+
text-anchor: middle;
|
|
14
|
+
font-size: ${a.pieTitleTextSize};
|
|
15
|
+
fill: ${a.pieTitleTextColor};
|
|
16
|
+
font-family: ${a.fontFamily};
|
|
17
|
+
}
|
|
18
|
+
.slice {
|
|
19
|
+
font-family: ${a.fontFamily};
|
|
20
|
+
fill: ${a.pieSectionTextColor};
|
|
21
|
+
font-size:${a.pieSectionTextSize};
|
|
22
|
+
// fill: white;
|
|
23
|
+
}
|
|
24
|
+
.legend text {
|
|
25
|
+
fill: ${a.pieLegendTextColor};
|
|
26
|
+
font-family: ${a.fontFamily};
|
|
27
|
+
font-size: ${a.pieLegendTextSize};
|
|
28
|
+
}
|
|
29
|
+
`,"getStyles"),z=(0,h.K2)(a=>{let b=[...a.values()].reduce((a,b)=>a+b,0),c=[...a.entries()].map(([a,b])=>({label:a,value:b})).filter(a=>a.value/b*100>=1);return(0,j.rLf)().value(a=>a.value).sort(null)(c)},"createPieArcs"),A={parser:x,db:v,renderer:{draw:(0,h.K2)((a,b,c,e)=>{h.Rm.debug("rendering pie chart\n"+a);let i=e.db,k=(0,g.D7)(),l=(0,f.$t)(i.getConfig(),k.pie),m=(0,d.D)(b),n=m.append("g");n.attr("transform","translate(225,225)");let{themeVariables:o}=k,[p]=(0,f.I5)(o.pieOuterStrokeWidth);p??=2;let q=l.textPosition,r=(0,j.JLW)().innerRadius(0).outerRadius(185),s=(0,j.JLW)().innerRadius(185*q).outerRadius(185*q);n.append("circle").attr("cx",0).attr("cy",0).attr("r",185+p/2).attr("class","pieOuterCircle");let t=i.getSections(),u=z(t),v=[o.pie1,o.pie2,o.pie3,o.pie4,o.pie5,o.pie6,o.pie7,o.pie8,o.pie9,o.pie10,o.pie11,o.pie12],w=0;t.forEach(a=>{w+=a});let x=u.filter(a=>"0"!==(a.data.value/w*100).toFixed(0)),y=(0,j.UMr)(v).domain([...t.keys()]);n.selectAll("mySlices").data(x).enter().append("path").attr("d",r).attr("fill",a=>y(a.data.label)).attr("class","pieCircle"),n.selectAll("mySlices").data(x).enter().append("text").text(a=>(a.data.value/w*100).toFixed(0)+"%").attr("transform",a=>"translate("+s.centroid(a)+")").style("text-anchor","middle").attr("class","slice");let A=n.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText"),B=[...t.entries()].map(([a,b])=>({label:a,value:b})),C=n.selectAll(".legend").data(B).enter().append("g").attr("class","legend").attr("transform",(a,b)=>"translate(216,"+(22*b-22*B.length/2)+")");C.append("rect").attr("width",18).attr("height",18).style("fill",a=>y(a.label)).style("stroke",a=>y(a.label)),C.append("text").attr("x",22).attr("y",14).text(a=>i.getShowData()?`${a.label} [${a.value}]`:a.label);let D=Math.max(...C.selectAll("text").nodes().map(a=>a?.getBoundingClientRect().width??0)),E=A.node()?.getBoundingClientRect().width??0,F=Math.min(0,225-E/2),G=Math.max(512+D,225+E/2)-F;m.attr("viewBox",`${F} 0 ${G} 450`),(0,g.a$)(m,450,G,l.useMaxWidth)},"draw")},styles:y}},93273:(a,b,c)=>{function d(a,b){a.accDescr&&b.setAccDescription?.(a.accDescr),a.accTitle&&b.setAccTitle?.(a.accTitle),a.title&&b.setDiagramTitle?.(a.title)}c.d(b,{S:()=>d}),(0,c(21143).K2)(d,"populateCommonDb")}};
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
exports.id=7601,exports.ids=[7601],exports.modules={3867:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{H:()=>p});var e=c(28802),f=c(75430),g=c(15193),h=c(79748),i=c(9774),j=a([e,f,i]);[e,f,i]=j.then?(await j)():j;let q=["Use kernel_plot_run for iterative R/Python plotting when data should stay in memory across turns.",'Use kernel_plot_run with runtime: "worker" for one-shot reproducible scripts.',"In kernel_plot_run code, save every output under WARMPLOT_OUTPUT_DIR.","Do not rely on notebook display; explicitly save PNG, SVG, PDF, HTML, CSV, TSV, or JSON files.","After a failed kernel_plot_run, inspect stderr and rerun only the minimal corrected code.","Use kernel_plot_stop when the user is done with a large object or asks to free memory."],r=null,s=null;function k(){let a=(0,i.cV)().plotIdleTimeoutMs;if(r&&s===a)return r;let b=r;return s=a,r=Promise.resolve((0,g.n6)({policy:{idleTimeoutMs:a}})),b?.then(a=>a.dispose()).catch(()=>{}),r}function l(a){return a.sessionManager.getSessionId()}function m(a,b=4e3){let c=a??"";return c.length<=b?c:`${c.slice(0,b)}
|
|
2
|
+
[truncated ${c.length-b} chars]`}function n(a){return 0===a.length?["artifacts: none"]:["artifacts:",...a.map(a=>`- ${a.path}`)]}async function o(a){let b=a.find(a=>"image"===a.kind&&("image/png"===a.mimeType||"image/jpeg"===a.mimeType||"image/webp"===a.mimeType));if(b)try{let a=await (0,h.stat)(b.path);if(!a.isFile()||a.size>2097152)return;let c=await (0,h.readFile)(b.path);return{type:"image",data:c.toString("base64"),mimeType:b.mimeType}}catch{return}}function p(a){a.registerTool((0,f.defineTool)({name:"kernel_plot_run",label:"Kernel Plot Run",description:"Execute short R or Python plotting code in a warm kernel-lite runtime or one-shot worker and archive generated artifacts.",promptSnippet:"Run short R/Python plotting code in a warm kernel and save artifacts to disk.",promptGuidelines:q,executionMode:"sequential",parameters:e.Type.Object({language:e.Type.Union([e.Type.Literal("python"),e.Type.Literal("r")],{description:"Runtime language for the plotting code."}),code:e.Type.String({description:"R or Python code. Save files under WARMPLOT_OUTPUT_DIR or PI_KERNEL_PLOT_OUTPUT_DIR."}),runtime:e.Type.Optional(e.Type.Union([e.Type.Literal("kernel-lite"),e.Type.Literal("worker")],{description:"kernel-lite keeps language state warm; worker runs a one-shot script."})),title:e.Type.Optional(e.Type.String({description:"Short title for the run."})),timeoutMs:e.Type.Optional(e.Type.Number({description:"Execution timeout in milliseconds."}))}),async execute(a,b,c,d,e){let f,g,h,i=await k(),j=await i.run({cwd:e.cwd,ownerId:l(e),language:b.language,runtime:b.runtime,code:b.code,title:b.title,timeoutMs:b.timeoutMs,signal:c}),p=[{type:"text",text:(f=[`kernel_plot_run ${j.status}`,`run_id: ${j.runId}`,`runtime: ${j.runtime}`,`script: ${j.scriptPath}`,`stdout: ${j.stdoutPath}`,`stderr: ${j.stderrPath}`],g=m(j.stdout,1200).trim(),h=m(j.stderr,1200).trim(),g&&f.push("stdout:",g),h&&f.push("stderr:",h),j.error&&f.push(`error: ${j.error}`),f.push(...n(j.artifacts)),f.join("\n"))}],q=await o(j.artifacts);return q&&p.push(q),{content:p,details:{schema:"kernel-plot.result.v1",kind:"run",run:{runId:j.runId,status:j.status,language:j.language,runtime:j.runtime,title:j.title,stdoutPath:j.stdoutPath,stderrPath:j.stderrPath,scriptPath:j.scriptPath,outputDir:j.outputDir,stdoutPreview:m(j.stdout),stderrPreview:m(j.stderr),error:j.error},artifacts:j.artifacts,nextAction:"succeeded"===j.status?"Inspect the artifact paths or continue iterating with kernel_plot_run.":"Inspect stderr and rerun only the minimal corrected code."}}}})),a.registerTool((0,f.defineTool)({name:"kernel_plot_stop",label:"Kernel Plot Stop",description:"Stop the current Pi session's warm plotting kernel for one language or all languages.",promptSnippet:"Stop warm R/Python plotting kernels and release their memory.",promptGuidelines:q,executionMode:"sequential",parameters:e.Type.Object({language:e.Type.Optional(e.Type.Union([e.Type.Literal("python"),e.Type.Literal("r")]))}),async execute(a,b,c,d,e){let f=await k(),g=l(e);return await f.stopSession({ownerId:g,language:b.language}),{content:[{type:"text",text:`kernel_plot_stop stopped ${b.language??"all languages"}`}],details:{schema:"kernel-plot.result.v1",kind:"stop",stopped:{ownerId:g,language:b.language},artifacts:[],nextAction:"Use kernel_plot_run to start a fresh warm kernel when needed."}}}})),a.registerTool((0,f.defineTool)({name:"kernel_plot_artifacts",label:"Kernel Plot Artifacts",description:"List recent archived plotting artifacts for the current Pi session.",promptSnippet:"List recent R/Python plotting artifact paths for this session.",promptGuidelines:q,parameters:e.Type.Object({limit:e.Type.Optional(e.Type.Number({description:"Maximum number of recent artifacts to list."}))}),async execute(a,b,c,d,e){let f=await k(),g=l(e),h=await f.listArtifacts({cwd:e.cwd,ownerId:g,limit:b.limit});return{content:[{type:"text",text:["kernel_plot_artifacts",...n(h)].join("\n")}],details:{schema:"kernel-plot.result.v1",kind:"artifacts",ownerId:g,artifacts:h,nextAction:"Open or inspect the listed artifact paths, or continue plotting with kernel_plot_run."}}}})),a.on("session_shutdown",async(a,b)=>{let c=await k();await c.stopSession({ownerId:l(b)}).catch(a=>{b.ui.notify(`kernel plot cleanup failed: ${a instanceof Error?a.message:String(a)}`,"warning")})})}d()}catch(a){d(a)}})},9774:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{cV:()=>k,p6:()=>l});var e=c(29021),f=c(33873),g=c(75430),h=a([g]);g=(h.then?(await h)():h)[0];let m={generativeUI:!0,plotIdleTimeoutMs:1728e5};function i(){return(0,f.join)((0,g.getAgentDir)(),"annovibe-settings.json")}function j(a){if(!a||"object"!=typeof a)return{...m};let b="number"==typeof a.plotIdleTimeoutMs&&Number.isFinite(a.plotIdleTimeoutMs)&&a.plotIdleTimeoutMs>=0?Math.min(Math.round(a.plotIdleTimeoutMs),2592e6):m.plotIdleTimeoutMs;return{generativeUI:"boolean"==typeof a.generativeUI?a.generativeUI:m.generativeUI,plotIdleTimeoutMs:b}}function k(){let a=i(),b=(0,e.existsSync)(a)?a:(0,f.join)((0,g.getAgentDir)(),"pidex-settings.json");if(!(0,e.existsSync)(b))return{...m};try{return j(JSON.parse((0,e.readFileSync)(b,"utf8")))}catch{return{...m}}}function l(a){let b=j({...k(),...a}),c=i(),d=(0,f.dirname)(c);return(0,e.existsSync)(d)||(0,e.mkdirSync)(d,{recursive:!0}),(0,e.writeFileSync)(c,JSON.stringify(b,null,2),"utf8"),b}d()}catch(a){d(a)}})},9805:(a,b,c)=>{"use strict";c.d(b,{FE:()=>i,J:()=>h,zN:()=>j});let d='<widget-capability>\nYou can create interactive visualizations using the `show-widget` code fence.\n\nUse `show-widget` by default when visual output is the primary answer. This includes charts, diagrams, flowcharts, dashboards, UI prototypes, mockups, SVG illustrations, icons, logos, infographics, timelines, hierarchies, comparison views, and visual explanations.\n\nFormat:\n```show-widget\n{"title":"Human-readable title","widget_code":"<raw HTML/SVG string>"}\n```\n\nDetailed specs:\nWhen a `<widget-guidelines>` block is present, follow it. It contains the module-specific design rules for the current request.\n\nRequired rules:\n1. `widget_code` is a JSON string: escape quotes and newlines. Always close the JSON object and fence.\n2. Do not include DOCTYPE, html, head, body, iframe, object, embed, form, link, base, or meta tags.\n3. Keep outer backgrounds transparent. The host supplies theme variables.\n4. Use a single concise widget per fence. For multiple widgets, interleave prose and use a separate `show-widget` fence for each widget.\n5. Streaming order: SVG puts `<defs>` before visible shapes; HTML uses `<style>`, then visible markup, then `<script>` last.\n6. Prefer responsive SVG for static visuals and small HTML widgets for controls.\n7. SVG widgets use `<svg width="100%" viewBox="0 0 680 H">` and keep all content inside the viewBox.\n8. Interactive controls must visibly update the output. For Chart.js, call `chart.update()` after changes.\n9. Clickable drill-down actions call `window.__widgetSendMessage("short request")`.\n10. Cross-widget filters publish with `window.__widgetPublish("topic", { key: "value" })`; other widgets listen for `widget-filter`.\n11. Allowed CDN hosts: `cdnjs.cloudflare.com`, `cdn.jsdelivr.net`, `unpkg.com`, `esm.sh`.\n12. CDN scripts must use an `onload` initializer plus an `if (window.Lib) init();` fallback.\n13. Use `min-height` instead of fixed outer `height` to prevent clipping.\n14. Title should be human-readable in the user\'s language.\n15. Put explanatory prose outside the code fence.\n16. Do not output raw ```svg, ```html, or plain Mermaid for visual answers unless the user explicitly asks for source code, raw Markdown, raw Mermaid, or a saved file.\n</widget-capability>',e=/\n?\s*<widget-capability>[\s\S]*?<\/widget-capability>\s*/g,f=/\n?\s*<visualization_harness>[\s\S]*?<\/visualization_harness>\s*/g,g=/\n?\s*<widget-guidelines\b[^>]*>[\s\S]*?<\/widget-guidelines>\s*/g;function h(a){let b=a.toLowerCase();return b.includes("show-widget")&&(b.includes("# visualization harness")||b.includes("## when to visualize")||b.includes("widget format"))}function i(a){return a.replace(e,"\n").replace(f,"\n").replace(g,"\n").replace(/\n{3,}/g,"\n\n").trim()}function j(a){return a.includes("<widget-capability>")?a:a.trim()?`${d}
|
|
3
|
+
|
|
4
|
+
${a}`:d}},12039:(a,b,c)=>{"use strict";function d(a){if("assistant"!==a.role)return a;let b=a.content;if(!Array.isArray(b))return a;let c=b.map(a=>("object"!=typeof a||null===a||Array.isArray(a)||"toolCall"!==a.type?null:{type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input})??a);return{...a,content:c}}c.d(b,{B:()=>d})},27348:(a,b,c)=>{"use strict";c.d(b,{WO:()=>B});let d=["interactive","chart","mockup","art","diagram"],e=/\n?\s*<widget-guidelines\b[^>]*>[\s\S]*?<\/widget-guidelines>\s*/g,f="## Core design system\n\n### When to use widgets\n- Use `show-widget` by default when visual output is the primary answer.\n- This includes charts, diagrams, flowcharts, timelines, dashboards, UI prototypes, mockups, SVG illustrations, icons, logos, infographics, hierarchy views, comparisons, and visual explanations.\n- Do not output raw ```svg, ```html, or plain Mermaid for visual answers unless the user explicitly asks for source code, raw Markdown, raw Mermaid, or a saved file.\n- Put explanatory prose outside the code fence. The fence contains exactly one JSON object.\n\n### Format rules\n- `widget_code` is a JSON string: escape quotes and newlines, close the JSON object, then close the fence.\n- Do not include DOCTYPE, html, head, body, iframe, object, embed, form, link, base, or meta tags.\n- Keep outer backgrounds transparent. Use host variables: `--bg`, `--bg-panel`, `--bg-hover`, `--bg-selected`, `--border`, `--text`, `--text-muted`, `--text-dim`, `--accent`, `--accent-hover`.\n- CodePilot-compatible variables are also available: `--color-background-primary`, `--color-background-secondary`, `--color-background-tertiary`, `--color-text-primary`, `--color-text-secondary`, `--color-text-tertiary`, `--color-border-tertiary`, `--color-border-secondary`, `--color-border-primary`, `--font-sans`, `--font-mono`.\n- HTML widgets should stream in this order: `<style>`, visible markup, `<script>`. SVG widgets should put `<defs>` before visible shapes.\n- Use `min-height` instead of fixed outer `height`; avoid bottom clipping at chat widths.\n- Use readable text: no font smaller than 11px, no negative letter spacing, no text overlap.\n\n### Visual style\n- The widget should feel native to chat, not like a foreign embed.\n- Use flat, solid fills with clear borders. Avoid decorative gradients, shadows, blur, glow, neon, and busy backgrounds.\n- Use 2-3 color ramps per widget and gray/slate for structure.\n- Prefer the visualization type that best fits the content. Do not default to one type for every request.\n- Title should be human-readable in the user's language.",g=`## Color and layout
|
|
5
|
+
|
|
6
|
+
- Palette ramps:
|
|
7
|
+
- Indigo: \`#EEF2FF/#C7D2FE/#818CF8/#4F46E5/#3730A3\`
|
|
8
|
+
- Emerald: \`#ECFDF5/#A7F3D0/#34D399/#059669/#065F46\`
|
|
9
|
+
- Amber: \`#FFFBEB/#FDE68A/#FBBF24/#D97706/#92400E\`
|
|
10
|
+
- Slate: \`#F8FAFC/#E2E8F0/#94A3B8/#64748B/#334155\`
|
|
11
|
+
- Rose: \`#FFF1F2/#FECDD3/#FB7185/#E11D48/#9F1239\`
|
|
12
|
+
- Sky: \`#F0F9FF/#BAE6FD/#38BDF8/#0284C7/#075985\`
|
|
13
|
+
- Use 50 for fills, 200 for strokes, 400 for accents, 600 for subtitles, 800 for titles.
|
|
14
|
+
- Text on colored fills should use the darkest tone in the same ramp, never pure black on saturated color.
|
|
15
|
+
- Cards and nodes: radius 6-12px, border 0.5-1px, enough padding for labels.
|
|
16
|
+
- If the widget contains several panels, align them to a clear grid rather than nesting cards inside cards.
|
|
17
|
+
- Round displayed numbers. Keep typography at weights 400/500 unless a short heading needs emphasis.`,h=`## UI components
|
|
18
|
+
|
|
19
|
+
- Use HTML when the user asks for controls, calculators, filters, dashboards, drill-down, comparison modes, or parameter exploration.
|
|
20
|
+
- Form elements can use plain button, input, select, textarea, and range controls; the host iframe styles them.
|
|
21
|
+
- Good patterns: chart plus controls, metric dashboard, calculator, bar comparison, toggle/select switching, sortable or filterable list.
|
|
22
|
+
- Controls must visibly change the output. Wire sliders, buttons, toggles, and selects to update values, labels, charts, or highlighted elements.
|
|
23
|
+
- For clickable follow-up actions, call \`window.__widgetSendMessage("short request")\`.
|
|
24
|
+
- For cross-widget filtering, publish with \`window.__widgetPublish("topic", { key: "value" })\` and listen with \`window.addEventListener("widget-filter", function(e) { ... })\`.
|
|
25
|
+
- Keep state in plain JavaScript. Use unique IDs. Initialize scripts after the visible markup exists.`,i=`## Interactive widgets
|
|
26
|
+
|
|
27
|
+
- Controls must visibly change the output. Wire sliders, buttons, toggles, and selects to update values, labels, and charts.
|
|
28
|
+
- Keep state in plain JavaScript. Use unique IDs. Initialize after the visible markup exists.
|
|
29
|
+
- If a CDN library is used, include a fallback initializer: \`if (window.Chart) init();\` after the script tag.
|
|
30
|
+
- Keep inline scripts short and resilient. Do not depend on network calls; \`connect-src\` is disabled.`,j=`## SVG illustrations and spatial visuals
|
|
31
|
+
|
|
32
|
+
- Use SVG for diagrams that are mostly shapes, anatomy, geometry, spatial reasoning, visual metaphors, icons, and explanatory illustrations.
|
|
33
|
+
- Use SVG for icons and logos unless the user explicitly asks for source code only. Wrap the SVG in \`show-widget\` so it renders in chat.
|
|
34
|
+
- Start with \`<svg width="100%" viewBox="0 0 680 H" role="img" aria-label="...">\`.
|
|
35
|
+
- Keep all content inside x=0..680 and y=0..H. Set H to the lowest element bottom plus at least 32px.
|
|
36
|
+
- Use simple paths, circles, rectangles, labels, and callouts. Avoid high-detail art that will not survive compact rendering.
|
|
37
|
+
- Label important parts directly. Use leader lines when labels might collide with shapes.
|
|
38
|
+
- Prefer inline SVG styles over external CSS for small illustrations.`,k=`## SVG setup
|
|
39
|
+
|
|
40
|
+
- Use \`<svg width="100%" viewBox="0 0 680 H">\` with a 680px fixed width. Adjust H to fit content plus a 32-40px buffer.
|
|
41
|
+
- ViewBox checklist: max lowest y plus height plus buffer equals H; all content stays within x=0..680; avoid negative coordinates; account for text anchors that extend left or right.
|
|
42
|
+
- Arrow marker:
|
|
43
|
+
\`<defs><marker id="a" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></marker></defs>\`
|
|
44
|
+
- Use inline font styles with system-ui fallback. 13-14px labels, 11-12px subtitles, 0.5-1px borders, 1.5px arrows, rx=8-12 for nodes.
|
|
45
|
+
- One SVG per widget unless the user asks for a sprite sheet or icon set.`,l={interactive:[f,h,g,i],chart:[f,h,g,'## Charts and data views\n\n- Choose the chart by data shape: bar for categories, line for trends, scatter for correlation, heatmap for matrices, histogram or box for distributions, Sankey or flow only for flows.\n- Always include labels, units when known, legend or direct labels, and a short note outside the fence when interpretation matters.\n- SVG is best for simple bar, line, scatter, heatmap, timeline, and matrix charts with modest data. Use `<svg width="100%" viewBox="0 0 680 H">`.\n- Chart.js is acceptable for interactive line, bar, scatter, doughnut, and mixed charts.\n- Chart.js wrapper: `<div style="position:relative;width:100%;height:320px;min-height:320px"><canvas id="c"></canvas></div>`; set `responsive:true` and `maintainAspectRatio:false`.\n- Interactive chart controls must update `chart.data` or options and then call `chart.update()`.\n- Use unique canvas IDs if there is more than one chart.\n- For script-generated plots, prefer embedding a base64 PNG in an `<img>` with `max-width:100%`; do not rely on local `file://` paths.',`## Chart.js pattern
|
|
46
|
+
|
|
47
|
+
\`\`\`html
|
|
48
|
+
<div style="position:relative;width:100%;height:300px;min-height:300px"><canvas id="c"></canvas></div>
|
|
49
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.umd.js" onload="init()"></script>
|
|
50
|
+
<script>
|
|
51
|
+
var chart;
|
|
52
|
+
function init(){
|
|
53
|
+
chart = new Chart(document.getElementById("c"), {
|
|
54
|
+
type: "line",
|
|
55
|
+
data: { labels: ["Jan","Feb","Mar"], datasets: [{ data: [30,45,28], borderColor: "#818CF8", backgroundColor: "rgba(129,140,248,0.1)", fill: true, tension: 0.3 }] },
|
|
56
|
+
options: { responsive: true, maintainAspectRatio: false, plugins: { legend: { display: false } } }
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
if (window.Chart) init();
|
|
60
|
+
</script>
|
|
61
|
+
\`\`\`
|
|
62
|
+
|
|
63
|
+
- Canvas cannot use CSS variables directly; use hex values from the palette.
|
|
64
|
+
- Height belongs on the wrapper div. Use \`responsive:true\` and \`maintainAspectRatio:false\`.
|
|
65
|
+
- Usually disable legends and prefer direct labels unless the chart has several datasets.
|
|
66
|
+
- For interactive charts, update \`chart.data\` or \`chart.options\`, then call \`chart.update()\`.
|
|
67
|
+
- Multiple charts need unique canvas IDs.`],mockup:[f,h,g,`## UI mockups and prototypes
|
|
68
|
+
|
|
69
|
+
- Use HTML/CSS for app screens, forms, settings panels, tables, dashboards, and product mockups.
|
|
70
|
+
- Make the first viewport look like the requested product or workflow, not a landing page unless the user asks for one.
|
|
71
|
+
- Use realistic controls: buttons for commands, inputs for text, selects for option sets, checkboxes or toggles for binary settings, tabs for alternate views.
|
|
72
|
+
- Keep operational tools dense and scannable. Prefer restrained panels, clear labels, and predictable navigation.
|
|
73
|
+
- Include meaningful empty, selected, hover, disabled, and error states when they are relevant to the requested prototype.
|
|
74
|
+
- Do not include explanatory help text inside the mockup unless the user asked for onboarding copy.`,i],art:[f,g,k,j],diagram:[f,g,k,j,`## Diagrams
|
|
75
|
+
|
|
76
|
+
- Use SVG for flowcharts, architecture diagrams, timelines, dependency maps, sequence-style explanations, hierarchies, cycles, and process views.
|
|
77
|
+
- Recommended setup: \`<svg width="100%" viewBox="0 0 680 H"><defs><marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></marker></defs>...\`.
|
|
78
|
+
- Flowchart: left-to-right or top-to-bottom, straight arrows, no more than 4 nodes per row, decision nodes visually distinct.
|
|
79
|
+
- Timeline: axis line with event markers, staggered labels, dates aligned and readable.
|
|
80
|
+
- Architecture: horizontal layers from user-facing at top to infrastructure at bottom; group related services in bounded regions.
|
|
81
|
+
- Hierarchy/tree: root at top, children below, aligned levels, sibling groups balanced.
|
|
82
|
+
- Cycle: 3-5 nodes around a loop with curved arrows and a center label.
|
|
83
|
+
- Comparison: two parallel groups with matching rows and direct labels.
|
|
84
|
+
- Node titles should be short. Minimum node width should fit the longest label plus padding.
|
|
85
|
+
- Verify arrows do not cross unrelated boxes and text does not overlap connectors.`,`## Diagram type catalog
|
|
86
|
+
|
|
87
|
+
- Flowchart/process: nodes left-to-right or top-to-bottom. Straight arrows. Decision points visually distinct. No more than 4 nodes per row.
|
|
88
|
+
- Timeline: horizontal or vertical axis with event markers. Stagger labels to avoid overlap.
|
|
89
|
+
- Cycle/feedback loop: 3-5 nodes connected by curved arrows with a center label.
|
|
90
|
+
- Hierarchy/tree: root at top, children below, aligned levels, sibling groups balanced.
|
|
91
|
+
- Layered architecture: full-width horizontal bands from user-facing at top to infrastructure at bottom.
|
|
92
|
+
- Quadrant/matrix: two axes with four lightly colored regions and plotted items.
|
|
93
|
+
- Hub-spoke/radial: central node plus surrounding nodes connected by lines.
|
|
94
|
+
- Side-by-side comparison: two parallel groups with matching rows and optional correspondence lines.
|
|
95
|
+
- Multi-widget narratives: for complex topics, output multiple widgets of different types, with short prose between them.`]},m=/\b(raw markdown|plain markdown|raw mermaid|plain mermaid|mermaid only|no widgets?|without widgets?|no generative ui|save (it )?(to|as) (a )?file)\b/i,n=/不要.*widget|不要.*组件|不用.*组件|不要.*生成式\s*UI|只要.*mermaid|原始\s*mermaid|保存到文件/,o=/\b(chart|plot|graph|visuali[sz]e|data viz|dashboard|trend|time series|timeseries|metric|statistics?|histogram|scatter|heat ?map|box ?plot|volcano|pca|umap|tsne|t-sne|bar chart|line chart|pie chart|donut|treemap|sankey)\b/i,p=/图表|画图|绘图|可视化|仪表盘|看板|趋势图|统计图|热图|散点图|折线图|柱状图|条形图|饼图|箱线图|小提琴图|火山图|雷达图|矩阵图|相关性图|降维图/,q=/\b(diagram|flowchart|flow chart|architecture|sequence|timeline|workflow|pipeline|process map|dependency|system design|hierarchy|tree|cycle|feedback loop|state machine|mind ?map|concept map|comparison|compare|infographic)\b/i,r=/流程图|架构图|结构图|时序图|序列图|时间线|工作流|管线|过程图|依赖图|拓扑图|层级图|树状图|循环图|状态机|脑图|概念图|关系图|桑基图|对比|比较|信息图/,s=/\b(mockup|prototype|wireframe|ui prototype|ui mockup|ux mockup|screen design|page layout|app layout|interface prototype|interface mockup|form mockup|settings panel|admin panel mockup|product page|landing page)\b/i,t=/原型图|原型|线框图|界面原型|页面原型|布局草图|界面设计|页面设计|设置面板|产品页|落地页|管理台原型|控制台原型/,u=/\b(interactive|control|slider|toggle|filter|drill ?down|calculator|simulator|playground|clickable|button|select|dropdown|tabs?|stepper|what-if|scenario|sortable|editable)\b/i,v=/交互式|交互|控件|滑块|切换|筛选|过滤|下钻|计算器|模拟器|可点击|按钮|下拉|选项卡|参数|联动|排序|可编辑/,w=/\b(draw|sketch|illustrat(e|ion)|svg|canvas|icon|logo|visual explanation|spatial|geometry|geometric|anatomy|callout|infographic)\b/i,x=/绘制|画一个|插图|示意图|空间|几何|图形|解剖|标注|图解|图示|图标|标志|logo|信息图/i,y=/\b(show-widget|generative ui|visual output)\b|\b(create|build|make|generate|render|show)\b.{0,40}\bwidget\b|\bwidget\b.{0,40}\b(showing|for|with)\b/i,z=/生成式\s*UI|可视化输出/;function A(a,b){return a.lastIndex=0,a.test(b)}function B(a,b,c){let f,g=a.replace(e,"\n").replace(/\n{3,}/g,"\n\n").trim(),h=(0===(f=function(a){var b;let c=a.trim();if(!c||A(m,c)||A(n,c))return[];let e=new Set,f=A(o,c)||A(p,c),g=A(q,c)||A(r,c),h=A(s,c)||A(t,c),i=A(u,c)||A(v,c),j=A(w,c)||A(x,c),k=A(y,c)||A(z,c);return i&&e.add("interactive"),f&&e.add("chart"),g&&e.add("diagram"),h&&e.add("mockup"),!j||f||g||e.add("art"),h&&i&&e.add("interactive"),f&&/\b(dashboard|filter|drill ?down|interactive|control|slider|toggle|what-if)\b/i.test(c)&&e.add("interactive"),f&&/仪表盘|看板|筛选|过滤|下钻|交互|滑块|参数|联动/.test(c)&&e.add("interactive"),0===e.size&&(k||A(o,b=c)||A(p,b)||A(q,b)||A(r,b)||A(s,b)||A(t,b)||A(u,b)||A(v,b)||A(w,b)||A(x,b)||A(y,b)||A(z,b))&&e.add("diagram"),d.filter(a=>e.has(a))}(b)).length&&c?.force&&(f=c.modules?.length?c.modules:d),0===f.length)?null:{modules:f,content:function(a){let b=new Set,c=[];for(let d of a)for(let a of l[d])b.has(a)||(b.add(a),c.push(a));return c.join("\n\n")}(f)};if(!h)return g;let i=h.modules.join(","),j=`<widget-guidelines modules="${i}">
|
|
96
|
+
${h.content}
|
|
97
|
+
</widget-guidelines>`;return g?`${g}
|
|
98
|
+
|
|
99
|
+
${j}`:j}},40402:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{BR:()=>l,DK:()=>m,O8:()=>k,Uv:()=>n,dQ:()=>h,os:()=>j});var e=c(75430),f=c(12039),g=a([e]);async function h(){let a=await e.SessionManager.listAll(),b=new Map;for(let c of a)b.set(c.path,c.id);let c=i();return a.map(a=>(c.set(a.id,a.path),{path:a.path,id:a.id,cwd:a.cwd,name:a.name,created:a.created instanceof Date?a.created.toISOString():String(a.created),modified:a.modified instanceof Date?a.modified.toISOString():String(a.modified),messageCount:a.messageCount,firstMessage:a.firstMessage||"(no messages)",parentSessionId:a.parentSessionPath?b.get(a.parentSessionPath):void 0}))}function i(){return globalThis.__piSessionPathCache||(globalThis.__piSessionPathCache=new Map),globalThis.__piSessionPathCache}async function j(a){let b=i().get(a);return b||(await h(),i().get(a)??null)}function k(a,b){i().set(a,b)}function l(a){i().delete(a)}function m(a){return e.SessionManager.open(a).getEntries()}function n(a,b){let c,d,g,h=new Map;for(let b of a)h.set(b.id,b);let i=(0,e.buildSessionContext)(a,b,h);if(null===b||(b&&(c=h.get(b)),c||(c=a[a.length-1]),!c))return{messages:[],entryIds:[],thinkingLevel:i.thinkingLevel,model:i.model};let j=[],k=c;for(;k;)j.unshift(k),k=k.parentId?h.get(k.parentId):void 0;for(let a of j)"compaction"===a.type&&(d=a.id,g=a.firstKeptEntryId);let l=[];if(d){l.push(d);let a=j.findIndex(a=>a.id===d),b=g?j.findIndex((b,c)=>c<a&&b.id===g):-1,c=b>=0?b:a;for(let b=c;b<a;b++)"message"===j[b].type&&l.push(j[b].id);for(let b=a+1;b<j.length;b++)"message"===j[b].type&&l.push(j[b].id)}else for(let a of j)"message"===a.type&&l.push(a.id);return{messages:i.messages.map(a=>"compactionSummary"===a.role?{role:"user",content:`*The conversation history before this point was compacted into the following summary:*
|
|
100
|
+
|
|
101
|
+
${a.summary??""}`,timestamp:a.timestamp}:(0,f.B)(a)),entryIds:l,thinkingLevel:i.thinkingLevel,model:i.model}}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},56429:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A4:()=>p,OF:()=>q});var e=c(75430),f=c(40402),g=c(9774),h=c(3867),i=c(9805),j=c(27348),k=c(71887),l=c(29021),m=c(33873),n=a([e,f,g,h]);[e,f,g,h]=n.then?(await n)():n;class r{constructor(a,b={}){this.inner=a,this.options=b,this.listeners=[],this.unsubscribe=null,this.idleTimer=null,this.onDestroyCallback=null,this._alive=!0}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile??""}isAlive(){return this._alive}start(){this.unsubscribe=this.inner.subscribe(a=>{for(let b of(this.resetIdleTimer(),this.listeners))b(a)}),this.resetIdleTimer()}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>this.destroy(),6e5)}onEvent(a){return this.listeners.push(a),()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}onDestroy(a){this.onDestroyCallback=a}async send(a){this.resetIdleTimer();let b=a.type;switch(b){case"prompt":{this.preparePromptContext(a.message);let b=a.images;return this.inner.prompt(a.message,b?.length?{images:b}:void 0).catch(()=>{}),null}case"abort":return await this.inner.abort(),null;case"get_state":{let a=this.inner.model,b=this.inner.getContextUsage(),c=this.inner.agent.state?.systemPrompt??"",d=(0,g.cV)();return{sessionId:this.inner.sessionId,sessionFile:this.inner.sessionFile??"",isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,autoCompactionEnabled:this.inner.autoCompactionEnabled,autoRetryEnabled:this.inner.autoRetryEnabled,model:a?{id:a.id,provider:a.provider}:void 0,messageCount:0,pendingMessageCount:0,contextUsage:b?{percent:b.percent,contextWindow:b.contextWindow,tokens:b.tokens}:null,systemPrompt:d.generativeUI?c:(0,i.FE)(c),thinkingLevel:this.inner.agent.state?.thinkingLevel??"off"}}case"set_model":{let{provider:b,modelId:c}=a,d=this.inner.modelRegistry.find(b,c);if(!d)throw Error(`Model not found: ${b}/${c}`);return await this.inner.setModel(d),{id:d.id,provider:d.provider}}case"fork":{let b,c=a.entryId,d=this.inner.sessionManager,g=this.inner.sessionFile;if(!d.isPersisted())return{cancelled:!0};if(!g)throw Error("Persisted session is missing a session file");let h=d.getEntry(c);if(!h)throw Error("Invalid entry ID for forking");let i=d.getSessionDir();if(h.parentId){let a=e.SessionManager.open(g,i).createBranchedSession(h.parentId);if(!a)throw Error("Failed to create forked session");b=a}else{let a=e.SessionManager.create(d.getCwd(),i);a.newSession({parentSession:g}),b=a.getSessionFile()}let j=e.SessionManager.open(b,i).getSessionId();return(0,f.O8)(j,b),this.destroy(),{cancelled:!1,newSessionId:j}}case"navigate_tree":return{cancelled:(await this.inner.navigateTree(a.targetId,{})).cancelled};case"set_thinking_level":{let b=a.level;return this.inner.setThinkingLevel(b),"xhigh"===b&&this.inner.model?.compat?.thinkingFormat==="deepseek"&&this.inner.agent?.state&&(this.inner.agent.state.thinkingLevel="xhigh"),null}case"compact":{let{findCutPoint:b,DEFAULT_COMPACTION_SETTINGS:d}=await Promise.resolve().then(c.bind(c,75430)),e=this.inner.sessionManager.getBranch(),f={...d,...this.inner.settingsManager.getCompactionSettings()},g=-1;for(let a=e.length-1;a>=0;a--)if("compaction"===e[a].type){g=a;break}let h=g+1,i=b(e,h,e.length,f.keepRecentTokens);if((i.isSplitTurn?i.turnStartIndex:i.firstKeptEntryIndex)<=h)throw Error("Conversation too short to compact");return await this.inner.compact(a.customInstructions)}case"set_auto_compaction":return this.inner.setAutoCompactionEnabled(a.enabled),null;case"steer":{this.preparePromptContext(a.message);let b=a.images;return await this.inner.steer(a.message,b?.length?b:void 0),null}case"follow_up":{this.preparePromptContext(a.message);let b=a.images;return await this.inner.followUp(a.message,b?.length?b:void 0),null}case"get_tools":{let a=this.inner.getAllTools(),b=new Set(this.inner.getActiveToolNames());return a.map(a=>({name:a.name,description:a.description,active:b.has(a.name)}))}case"set_tools":return this.inner.setActiveToolsByName(a.toolNames),null;case"abort_compaction":return this.inner.abortCompaction(),null;case"set_auto_retry":return this.inner.setAutoRetryEnabled(a.enabled),null;default:throw Error(`Unsupported command: ${b}`)}}destroy(){this._alive&&(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.unsubscribe?.(),this.onDestroyCallback?.())}preparePromptContext(a){let b=this.inner.agent.state;if(!b||this.options.systemPromptDisabled)return;if(!(0,g.cV)().generativeUI){b.systemPrompt=(0,k.zY)((0,k.NP)((0,i.FE)(b.systemPrompt??"")));return}let c=(0,k.NP)((0,i.FE)(b.systemPrompt??"")),d=(0,i.zN)(c);b.systemPrompt=(0,j.WO)((0,k.zY)(d),a,{force:function(a){try{return a.getBranch().some(a=>!!a&&"object"==typeof a&&"message"===a.type&&!!a.message&&JSON.stringify(a.message).includes("show-widget"))}catch{return!1}}(this.inner.sessionManager)})}}function o(){if(!globalThis.__piSessions){globalThis.__piSessions=new Map;let a=()=>globalThis.__piSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__piSessions}function p(a){return o().get(a)}async function q(a,b,d,j){let n=o(),p=(globalThis.__piStartLocks||(globalThis.__piStartLocks=new Map),globalThis.__piStartLocks),q=n.get(a);if(q?.isAlive())return{session:q,realSessionId:a};let s=p.get(a);if(s)return s;let t=(async()=>{let a,o=(0,e.getAgentDir)(),p=b?e.SessionManager.open(b,void 0):e.SessionManager.create(d,void 0);void 0!==j&&(a=0===j.length?[]:["read","bash","edit","write","grep","find","ls"]);let q=e.SettingsManager.create(d,o),s=function(a){try{let b=c(83026).resolve(`${a}/package.json`);return(0,m.dirname)(b)}catch{if(!(process.env.ANNOVIBE_PACKAGE_ROOT??process.env.PIDEX_PACKAGE_ROOT))return null;try{let b=(void 0).resolve(`${a}/package.json`);return(0,m.dirname)(b)}catch{return null}}}("@seqyuan/pi-kernel-plot"),t=new e.DefaultResourceLoader({cwd:d,agentDir:o,settingsManager:q,additionalSkillPaths:s?[(0,m.join)(s,"skills")]:[],extensionFactories:[h.H]});await t.reload();let{session:u}=await (0,e.createAgentSession)({cwd:d,agentDir:o,sessionManager:p,settingsManager:q,resourceLoader:t,...void 0!==a?{tools:a}:{}}),v=(0,g.cV)(),w=[],x=(0,m.join)(o,"soul.md");if((0,l.existsSync)(x))try{let a=(0,l.readFileSync)(x,"utf-8").trim();a&&w.push(`<soul>
|
|
102
|
+
${a}
|
|
103
|
+
</soul>`)}catch{}let y=(0,m.join)(o,"harness.md");if((0,l.existsSync)(y))try{let a=(0,l.readFileSync)(y,"utf-8").trim();a&&!(0,i.J)(a)&&w.push(`<harness>
|
|
104
|
+
${a}
|
|
105
|
+
</harness>`)}catch{}let z=(0,m.join)(d,"memory.md");if((0,l.existsSync)(z))try{let a=(0,l.readFileSync)(z,"utf-8").trim();a&&w.push(`<project_memory>
|
|
106
|
+
${a}
|
|
107
|
+
</project_memory>`)}catch{}if(w.length>0){let a=u.agent.state?.systemPrompt??"",b=w.join("\n\n");u.agent.state.systemPrompt=`${b}
|
|
108
|
+
|
|
109
|
+
${a}`}v.generativeUI?u.agent.state.systemPrompt=(0,k.zY)((0,i.zN)((0,i.FE)(u.agent.state?.systemPrompt??""))):u.agent.state.systemPrompt=(0,k.zY)((0,i.FE)(u.agent.state?.systemPrompt??"")),j&&j.length>0&&u.setActiveToolsByName(j),j?.length===0&&(u.agent.state.systemPrompt="");let A=new r(u,{systemPromptDisabled:j?.length===0});A.start();let B=u.sessionId,C=u.sessionFile;return C&&(0,f.O8)(B,C),A.onDestroy(()=>n.delete(B)),n.set(B,A),{session:A,realSessionId:B}})().finally(()=>p.delete(a));return p.set(a,t),t}d()}catch(a){d(a)}})},71887:(a,b,c)=>{"use strict";c.d(b,{NP:()=>f,zY:()=>g});let d=`<analysis-report-guidelines>
|
|
110
|
+
AnnoVibe has a persistent Analysis Report tab. It is for curated analysis deliverables, not a transcript summary.
|
|
111
|
+
|
|
112
|
+
When working on scientific or bioinformatics analysis, keep report-worthy content concise and structured:
|
|
113
|
+
- Include confirmed analysis objectives, sample/group design, final methods and parameters, successful results, output files, biological interpretation, limitations, and reproducibility notes.
|
|
114
|
+
- Do not include ordinary chat, reasoning traces, failed-debug logs, transient guesses, or results superseded by later parameter changes.
|
|
115
|
+
- When an upstream input, threshold, parameter, or method changes, explicitly state which downstream results or interpretations are outdated and need refresh.
|
|
116
|
+
- Prefer evidence-backed statements that cite generated files, tables, figures, scripts, or command outputs.
|
|
117
|
+
|
|
118
|
+
If you mention report updates in chat, describe only the analysis-level change. Do not dump the full report unless the user asks for it.
|
|
119
|
+
|
|
120
|
+
When you have a compact report-worthy update, you may emit one fenced JSON block:
|
|
121
|
+
|
|
122
|
+
\`\`\`analysis-report-update
|
|
123
|
+
{"section":"methods|quality_control|results|interpretation|outputs|reproducibility","action":"append","status":"draft|verified|needs_review|outdated","markdown":"Concise Markdown for the report section.","sources":["results/file.csv"],"invalidates":["results"],"note":"Short change note."}
|
|
124
|
+
\`\`\`
|
|
125
|
+
|
|
126
|
+
Only use this fence for durable analysis summaries, not for chat narration or raw logs.
|
|
127
|
+
</analysis-report-guidelines>`,e=/\n?\s*<analysis-report-guidelines>[\s\S]*?<\/analysis-report-guidelines>\s*/g;function f(a){return a.replace(e,"\n").replace(/\n{3,}/g,"\n\n").trim()}function g(a){return a.includes("<analysis-report-guidelines>")?a:a.trim()?`${a.trimEnd()}
|
|
128
|
+
|
|
129
|
+
${d}`:d}},78335:()=>{},83026:a=>{function b(a){var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b}b.keys=()=>[],b.resolve=b,b.id=83026,a.exports=b},96487:()=>{}};
|