@auto-ai/agent 2.1.168 → 2.1.172
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/dist/{404 → safe-a/404}/index.html +1 -1
- package/dist/{404.html → safe-a/404.html} +1 -1
- package/dist/safe-a/_next/static/chunks/08ce2af10358a8ab.js +1 -0
- package/dist/safe-a/_next/static/chunks/10f9223e5a712af5.css +1 -0
- package/dist/safe-a/_next/static/chunks/26aeb1c7cdca0bc7.js +1 -0
- package/dist/safe-a/_next/static/chunks/3051ec76bf1f7867.js +1 -0
- package/dist/safe-a/_next/static/chunks/4a33b6b9bc52fb1a.js +1 -0
- package/dist/safe-a/_next/static/chunks/53a59aecd3e0dfb5.js +1 -0
- package/dist/safe-a/_next/static/chunks/5ef8399eb6496949.js +1 -0
- package/dist/{_next/static/chunks/d55f4f3df263ad3d.js → safe-a/_next/static/chunks/8cccc3fe71fa849b.js} +1 -1
- package/dist/{_next/static/chunks/886a31720c72a306.css → safe-a/_next/static/chunks/98fff38c6425a797.css} +1 -1
- package/dist/{_next/static/chunks/b66a17ae6f8aeff3.js → safe-a/_next/static/chunks/bbf364bb7f0ab6f7.js} +1 -1
- package/dist/safe-a/_next/static/chunks/d704441569a382a1.js +1 -0
- package/dist/safe-a/_next/static/chunks/eac98d693efb6a1f.js +1 -0
- package/dist/safe-a/_next/static/chunks/f874690806ec289e.js +1 -0
- package/dist/{index.html → safe-a/index.html} +2 -2
- package/dist/{index.txt → safe-a/index.txt} +9 -9
- package/dist/{manage → safe-a/manage}/about/index.html +2 -2
- package/dist/{manage → safe-a/manage}/about/index.txt +11 -11
- package/dist/{manage → safe-a/manage}/env/index.html +2 -2
- package/dist/{manage → safe-a/manage}/env/index.txt +13 -13
- package/dist/{manage → safe-a/manage}/general/index.html +2 -2
- package/dist/{manage → safe-a/manage}/general/index.txt +11 -11
- package/dist/{manage → safe-a/manage}/index.html +2 -2
- package/dist/{manage → safe-a/manage}/index.txt +8 -8
- package/dist/safe-a/manage/mcp/index.html +2 -0
- package/dist/{manage → safe-a/manage}/mcp/index.txt +11 -11
- package/dist/{manage → safe-a/manage}/permissions/index.html +2 -2
- package/dist/{manage → safe-a/manage}/permissions/index.txt +11 -11
- package/dist/safe-a/manage/skills/index.html +2 -0
- package/dist/{manage → safe-a/manage}/skills/index.txt +11 -11
- package/dist/{manage → safe-a/manage}/task/index.html +2 -2
- package/dist/{manage → safe-a/manage}/task/index.txt +11 -11
- package/dist/{manage → safe-a/manage}/teams/index.html +2 -2
- package/dist/{manage → safe-a/manage}/teams/index.txt +11 -11
- package/dist/safe-a/manage/tools/index.html +2 -0
- package/dist/{manage → safe-a/manage}/tools/index.txt +11 -11
- package/dist/{agent-office.html → ws-test/agent-office.html} +226 -155
- package/dist/ws-test/ws-test.css +3329 -0
- package/dist/ws-test/ws-test.html +783 -0
- package/dist/{ws-test.html → ws-test/ws-test.js} +1952 -3514
- package/lib/launcher-env.js +12 -3
- package/package.json +6 -6
- package/skills-runtime/deploy-test-env/SKILL.md +1 -1
- package/skills-runtime/dev-task-flow/SKILL.md +4 -4
- package/skills-runtime/self-test-flow/SKILL.md +2 -2
- package/skills-runtime/workflow-hub/SKILL.md +1 -1
- package/tools-runtime/code-tool/index.cjs +8 -3
- package/tools-runtime/code-tool/src/workspace.ts +13 -7
- package/tools-runtime/git-tool/index.cjs +34 -8
- package/tools-runtime/git-tool/src/index.ts +1 -1
- package/tools-runtime/git-tool/src/workspace.test.ts +9 -9
- package/tools-runtime/git-tool/src/workspace.ts +53 -13
- package/dist/_next/static/chunks/0a4ab823884025be.css +0 -1
- package/dist/_next/static/chunks/257d36fba79aa4ab.js +0 -1
- package/dist/_next/static/chunks/2b18c967f27dd561.js +0 -1
- package/dist/_next/static/chunks/652e486c20710ca8.js +0 -1
- package/dist/_next/static/chunks/789aab39327312c3.js +0 -1
- package/dist/_next/static/chunks/7def01c245e03b59.js +0 -1
- package/dist/_next/static/chunks/a256978ef9393e3e.js +0 -1
- package/dist/_next/static/chunks/c242e5c1d3639838.js +0 -1
- package/dist/_next/static/chunks/d77e4439761aa20d.js +0 -1
- package/dist/manage/mcp/index.html +0 -2
- package/dist/manage/skills/index.html +0 -2
- package/dist/manage/tools/index.html +0 -2
- /package/dist/{_next/static/6_8Ppg2OmCO0VcGqmqnxR → safe-a/_next/static/-ohtVxolUnzQcSsncJVgK}/_buildManifest.js +0 -0
- /package/dist/{_next/static/6_8Ppg2OmCO0VcGqmqnxR → safe-a/_next/static/-ohtVxolUnzQcSsncJVgK}/_clientMiddlewareManifest.json +0 -0
- /package/dist/{_next/static/6_8Ppg2OmCO0VcGqmqnxR → safe-a/_next/static/-ohtVxolUnzQcSsncJVgK}/_ssgManifest.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/01766c1e2fdff227.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/04c9439163b67552.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/05e1926dc5c477b7.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/06b923aa1177f43f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/092c97532613af2a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/0b639ff4f1971d14.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/0b69dba7f1e63f30.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/0ce6504fc10ce408.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/0e1e7d5f7a375308.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/0e8139882ad093d2.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/0ea5a62c3f30dc56.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/0f1810e4c6b0dd0c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/0fa097a572705cfa.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/0fb0d030e8dee231.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/0fd3876e0d9e8acc.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/106955e3cc6a6843.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/1078bc1642db53ad.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/108a0b77418f1d31.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/13b54d70a1ee1de7.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/13f94fc3dda88c90.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/155374df9f6b4b9a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/16ea1d3cf6db8a53.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/170f7361bd4d33e2.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/17722e3ac4e00587.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/179a5dac78ab2cb9.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/1818d7a661948f6b.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/18977fe8f51209aa.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/19584f955475ce91.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/1974f51c298bce94.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/19c1491e85e22b3b.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/19ca17e5015c42a3.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/1a4b553856a8ffdf.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/1acf2d9664500f51.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/1b55c29b8cad4a50.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/1bb28f71c19fa824.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/1bfa645704d9149a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/1c9321874fea5f0d.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/1d3e7886be9f671c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/1e17456ccebc9cd2.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/1e43922998a0ed2f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/1f3da8a76b11d2aa.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/1fec17d16aff9eed.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/2046937bffedf074.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/219a3413675ba6f1.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/2326118ef1328bc5.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/236775e4ec4f8a94.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/242529c986baeb00.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/270d7571d2eea071.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/27c407347ce26b78.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/27ff2e69b2fd19e5.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/29676075a0390867.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/2c6d585a97629311.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/2df3e464b6247e75.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/2e574acbf68e77ff.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/2ec6d7ddb4c04987.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/2f7d30e66e995b02.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/2fab2306850ac97b.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/2fcc6298b6dd7a82.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/303d9c2a2c956f25.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/32a7ca0a75a897da.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/32b4d63e10d31351.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/32b9bdd82a961878.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3509a66e019ceae3.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3520f1af0a1b7f66.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/354aaa2e36b75b81.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3590c4a4f40cdb5d.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/35f1637c2feb232d.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/37bbbf907196a5bf.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/37cfaa4963ac51f3.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3934bd57f459566e.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3a947667fddbdd53.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3aac5736e5781b46.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3ae23df392f9bed8.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3ae4e2529aa621fb.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3b2bb9f17546ee3e.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3bcd531d40d6c019.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3c695d1c2efbc749.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3d8e9a96a69193d4.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3dcb1dcf23e7ab9c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3e2ea3a7fe64826d.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3e9c98df7d56e9b2.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3ec05a61e93547d3.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3f6fe8a1903009ea.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3fb4674edcb2d726.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/3fd03b9ed21b30fc.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/40268f8e3ff0314e.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/40cc0252b2f1d855.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/413a7be096275d7f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/459d401d9f9e5b9f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/45ab9a1f693d609c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/481a2858f7df907d.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/49df9708d6328c4a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/4a340ea4ac145216.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/4be779bcbd94352d.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/4c33a1cc6db74105.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/4d129d4e15c8c424.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/4df298f5b420f474.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/4dfbfdff43b8479b.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/5069ee4aa806b0ea.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/519049cd74a40910.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/522518d740397639.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/52e2164e45febae6.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/534b5acf573aa491.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/538cc02e54714b23.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/53be52c43a14557c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/54c43751bf4c4da2.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/55087cc98e6237f1.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/55f8de91b4803778.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/560ca23f77c0e819.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/57bb853857f3de83.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/588e6975a7bd6671.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/5a0b630678282d4f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/5a3e355216280144.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/5a4c198fd41e8ec4.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/5b916c9dc09e323c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/5bad5163b6e015f5.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/5ccd5a6ac9c2f980.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/5d5333084191fb10.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/5d79b7f202080232.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/5ea79c109cbe8a86.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/5ee72092303043ef.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/5fc8a5235ddfa787.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/61b3d4c00499dd14.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/61ce261738313b8a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/62d925bcc8518b6f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/63ec034afca4b5d6.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/644aa76620718c98.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/648b653b36802fdc.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/6522643341a0921c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/65fb49c8a7f59842.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/65fe0975412ff703.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/66b30159915524db.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/66ed07a735eac6e3.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/6785757cc05fec19.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/67c9db5577080125.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/68bd2bd64624e20d.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/692e7ee14236fefb.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/69cfdbc51cf2d3c3.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/6ae709c575c74979.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/6b652524b5ffdd9e.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/6b7c3c962a14dc29.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/6bc7c57f119ad4f6.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/6c3b2d0be1c633b6.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/6cc2f7f962cdd082.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/6d4209e94b1aafe6.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/6ddf95b168bfbc36.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/6e61f670898cb297.css +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/6f3afa83656eab67.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/6f4460bd0b8a57af.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/6fe835d41fdbd638.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/70459a2a4c45653e.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/7137c7537c459c31.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/715c085d7c10eeda.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/71d3a80bc9d53b07.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/71e3a90489469c28.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/72a56bd75075fd83.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/72ef1696f44fcf61.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/736441266ceb14e2.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/73cbf0064096e28c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/751de74a23cc9036.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/756b6c2e620386ff.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/75a396e1752cd59d.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/764c541428e1c6eb.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/79128afded6e01d9.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/7988d5ea63356e10.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/7aa69fd5d97b7146.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/7b9c09d0ce43f1c2.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/7bdf0e5b41aeb209.css +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/7d3bf918bccde738.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/7dbb8abebf50d816.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/7ef348801eff6590.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/7f6e82ac63db5eff.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/7fd45fb9cf0995f3.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/8085c74f26fa2c4e.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/84185f4bb07ccbd7.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/85fc05549f7f100c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/87e12ecbe9521f9b.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/88a999988f915988.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/88bc97899d2ce4e5.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/8bdc142fad5847ed.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/8deb0392842e5a01.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/8f038ff914c4b0df.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/8f5be275907dd98c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/9037530b0f1d5783.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/9078ad91aa20dca0.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/92c3617a4e22a464.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/932d3fcc2596e8d5.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/937e26e6e01d9ec9.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/93bfaf233e66b48c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/94029062f236cadc.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/94e88cfda11697d2.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/95c4d26e469d1d8f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/96026b5eb5d2566b.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/962a27e9c634b823.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/966fb5830ce1029c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/9724567275720686.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/98e243fb5992a71c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/9a7b2a483b109c0a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/9b3df6b20a9625d5.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/9c6c00fa68012026.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/9cb28a1dacb7ea6d.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/9ccf7a8bca1730bf.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/9e96c84b86d1bbf3.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/9f0ee4783140adf1.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/9fefea69ec034a63.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/a1b9abf15c0f7655.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/a37aa474433d29e3.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/a4776dc3e00e5ab0.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/a5df6158856685f1.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/a6737fc58619eae5.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/a6a98f9278704b6a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/a6dad97d9634a72d.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/a7277c96f3669bea.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/a9fed5c43d754a96.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/aa0a4c596151b22b.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/aa867a1fa8b105e1.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/ad4ba491cf12423f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/ad50a7d15cd9d9d8.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/af7b0bd1b40ad066.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/b24e3802454a5567.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/b29a85c3dae2bb9c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/b30f1da4e57f459a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/b360c9fc22dbf831.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/b3e79c76be269ccc.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/b429be4e16fa1e00.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/b61ec36c9bbca3e0.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/b65565677c3e8c0a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/b66afb4b0be97af8.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/b69f987a60b05db3.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/b78822282754a47c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/b7f72bcb870dda3b.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/b92c67520afabac2.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/bbcf9daa108b22fb.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/bc7bda699a7ccda1.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/bd1f33816fa01c16.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/bd2dcf98c9b362f6.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/bd984c5404403e7d.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/bdd88bcfd223f52a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/bf2262100cea8c64.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/bf2c1c402dbcccdf.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/bfc6ee42cec583d5.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/c15069059c9d1f53.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/c1615032cbbf5b56.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/c2546d2b493dd907.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/c3669d468d3f2b3a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/c3b49937059d3d70.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/c5b5aba98d38ef23.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/c5be27a596acfa18.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/c6cc32860b96278f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/c725524ea13a50ab.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/c8942bee3aebddae.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/c8e45be36912e439.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/c933951b3113492f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/c9813626ba898586.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/ca2725c2b45709c1.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/caf4049dc563940e.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/cafadd69e03e6c4b.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/cba2741f84ef36ed.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/cccecf726769787f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/cd0e7e3cc303b4e4.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/cd4556cbed1f8957.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/cd5eec7d305aa041.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d09636e7bcf60ad1.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d2d432a9facf4278.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d2e37b6d5ff62bcb.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d33a24782888b869.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d33e49aabd798892.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d3990c1e87ef3e23.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d433c87b0bc69cda.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d47cd27ac08f5429.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d599ef4d0f84a93d.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d5e3d29f769997cc.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d69b21102305d19e.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d715e874b8ee8540.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d729414ff836cd53.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d82740475fc07e98.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d842d30dcb0f50a9.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d8af8dadd0889c71.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/d9b92ed2d544fca5.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/da346aeed70dd39a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/dbbd673619a7f82f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/dc0bc471de951daf.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/dc2186b66132ca97.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/de0ee516f6a1aa07.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e04bace22e04d63c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e0c76ff7114dc8dc.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e11d4fd8de65621d.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e1999bcadd3448e5.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e3fe320ec1b8f889.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e42498eec0c8d570.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e4973ad5c183f17a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e5275dcacbabc3e3.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e60ef129113f6e24.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e61019aedfdf554e.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e6324292aef80338.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e7003dbd5d8cb2d1.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e7bcbeb465fa49cf.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e7f1a043618e43cf.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/e8105dbb23b8e514.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/ea12d36cdfbaafa9.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/ea2a84258a02d5c5.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/ea36a5ae7c6ce34f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/eb2d81df9fe374a8.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/eb9ae8e95cac1197.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/ebb0ee69f6a7883e.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/ebcbb5070eb8e29f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/ebcd85ff4a1db0dc.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/ec7537a65499e7a4.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/ee79511740d19885.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/eed0c3ef6a5c3706.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/ef51763a796dde8b.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/f0cb9b2226c53ef9.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/f0d9f0621f8ec46d.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/f12f45a558c3fed2.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/f1e5e295d4db5c0f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/f1f911d553a62027.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/f235a8df2f905e6a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/f36595b9995a49a9.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/f42a71992d139302.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/f42d74f288f2229c.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/f461a75ec3b0e4e9.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/f50fd84e477dbaeb.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/f659a364f48244ea.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/f813c3d77459119f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/f9cb4b70f67c86d8.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/fa39b9f8bced4bcd.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/fa5b61b8e7219fe6.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/facb82117d49a6e1.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/fb05f79f5e4b514e.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/fb0f4d868b87961b.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/fb2f1266493dd820.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/fc2efa33a196ee45.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/fd3d43eb8557ee49.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/fdfce6fa0b958336.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/ff12eca45020947a.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/ff6860dcd793aa23.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/turbopack-3d84668fefd38b4b.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/turbopack-63952675b1d69124.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/chunks/turbopack-8b41433c9a94981f.js +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/13bf9871fe164e7f-s.f2220059.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/3fe682a82f50d426-s.23358719.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/5c285b27cdda1fe8-s.p.a62025f2.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/70bc3e132a0a741e-s.p.15008bfb.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/71b036adf157cdcf-s.bd5f4d11.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/89b21bb081cb7469-s.51c18f09.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_AMS-Regular.892f691b.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_AMS-Regular.c30af439.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_AMS-Regular.e6a3cada.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Caligraphic-Bold.2f97783e.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Caligraphic-Bold.a36b8125.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Caligraphic-Bold.db991531.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Caligraphic-Regular.2b13f013.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Caligraphic-Regular.7c50032c.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Caligraphic-Regular.c20eee08.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Fraktur-Bold.5fa2f5e4.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Fraktur-Bold.d514bd28.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Fraktur-Bold.e311399d.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Fraktur-Regular.18139813.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Fraktur-Regular.2a73476d.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Fraktur-Regular.5d62e468.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Main-Bold.6d137c77.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Main-Bold.c24b5ba7.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Main-Bold.f4e2828d.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Main-BoldItalic.079b33ae.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Main-BoldItalic.c003d3ec.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Main-BoldItalic.f1884480.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Main-Italic.26a3619b.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Main-Italic.61da3e93.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Main-Italic.a3746929.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Main-Regular.12644167.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Main-Regular.876b86ad.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Main-Regular.d511f158.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Math-BoldItalic.5c6a6a93.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Math-BoldItalic.ad4dffd5.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Math-BoldItalic.e73b3bf0.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Math-Italic.03974bc4.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Math-Italic.1cd2c488.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Math-Italic.d8564edb.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_SansSerif-Bold.a03f9428.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_SansSerif-Bold.d4608ed5.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_SansSerif-Bold.ff51ef5c.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_SansSerif-Italic.8ed740d6.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_SansSerif-Italic.9245afda.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_SansSerif-Italic.c0b22b1e.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_SansSerif-Regular.128c9bc2.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_SansSerif-Regular.156dbd4e.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_SansSerif-Regular.ee7b0a16.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Script-Regular.00d9a561.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Script-Regular.186c7155.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Script-Regular.afc2fd5a.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Size1-Regular.4450ef36.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Size1-Regular.9aaff96b.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Size1-Regular.e5bf4c74.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Size2-Regular.6a97527b.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Size2-Regular.8fbd32af.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Size2-Regular.f11810ed.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Size3-Regular.45ae8eba.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Size3-Regular.54b7ce9d.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Size3-Regular.9812ade2.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Size4-Regular.44a4d487.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Size4-Regular.927fc5b9.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Size4-Regular.b211e3d3.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Typewriter-Regular.68b6c3a9.woff +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Typewriter-Regular.a1a7ff52.ttf +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/KaTeX_Typewriter-Regular.ff99d643.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/b886574ba42c3409-s.1f4af8e6.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/c3cb240f9c892514-s.d8e4bce2.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/c41ca59f1c34ba31-s.p.e20f337c.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/cc545e633e20c56d-s.f6f1950f.woff2 +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/data-loading.be8d921a.png +0 -0
- /package/dist/{_next → safe-a/_next}/static/media/no-data.48c973b9.png +0 -0
- /package/dist/{favicon.ico → safe-a/favicon.ico} +0 -0
- /package/dist/{slash-command-ui-patch.css → safe-a/slash-command-ui-patch.css} +0 -0
- /package/dist/{slash-command-ui-patch.js → safe-a/slash-command-ui-patch.js} +0 -0
package/lib/launcher-env.js
CHANGED
|
@@ -64,16 +64,25 @@ export function buildLauncherEnv(baseEnv = process.env) {
|
|
|
64
64
|
const cwd = process.cwd()
|
|
65
65
|
const pkgRoot = resolveMainPackageRoot()
|
|
66
66
|
const pkgDist = pkgRoot ? join(pkgRoot, 'dist') : null
|
|
67
|
+
const pkgSafeADist = pkgDist ? join(pkgDist, 'safe-a') : null
|
|
68
|
+
const pkgWsTestDist = pkgDist ? join(pkgDist, 'ws-test') : null
|
|
67
69
|
|
|
68
70
|
if (!env.WS_PROJECT_ROOT?.trim()) {
|
|
69
71
|
env.WS_PROJECT_ROOT = cwd
|
|
70
72
|
}
|
|
71
73
|
if (
|
|
72
74
|
!env.WS_DIST_DIR?.trim() &&
|
|
73
|
-
|
|
74
|
-
existsSync(join(
|
|
75
|
+
pkgSafeADist &&
|
|
76
|
+
existsSync(join(pkgSafeADist, 'index.html'))
|
|
75
77
|
) {
|
|
76
|
-
env.WS_DIST_DIR =
|
|
78
|
+
env.WS_DIST_DIR = pkgSafeADist
|
|
79
|
+
}
|
|
80
|
+
if (
|
|
81
|
+
!env.WS_WS_TEST_DIR?.trim() &&
|
|
82
|
+
pkgWsTestDist &&
|
|
83
|
+
existsSync(join(pkgWsTestDist, 'ws-test.html'))
|
|
84
|
+
) {
|
|
85
|
+
env.WS_WS_TEST_DIR = pkgWsTestDist
|
|
77
86
|
}
|
|
78
87
|
|
|
79
88
|
loadDotenvFile(env, join(cwd, '.env'))
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@auto-ai/agent",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.172",
|
|
4
4
|
"description": "Auto AI Agent 网关 CLI(WebSocket,独立二进制,无需 Bun)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"maintainers": [
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
"zod": "^4.3.6"
|
|
33
33
|
},
|
|
34
34
|
"optionalDependencies": {
|
|
35
|
-
"@auto-ai/agent-linux-x64": "2.1.
|
|
36
|
-
"@auto-ai/agent-linux-arm64": "2.1.
|
|
37
|
-
"@auto-ai/agent-darwin-x64": "2.1.
|
|
38
|
-
"@auto-ai/agent-darwin-arm64": "2.1.
|
|
39
|
-
"@auto-ai/agent-win-x64": "2.1.
|
|
35
|
+
"@auto-ai/agent-linux-x64": "2.1.172",
|
|
36
|
+
"@auto-ai/agent-linux-arm64": "2.1.172",
|
|
37
|
+
"@auto-ai/agent-darwin-x64": "2.1.172",
|
|
38
|
+
"@auto-ai/agent-darwin-arm64": "2.1.172",
|
|
39
|
+
"@auto-ai/agent-win-x64": "2.1.172"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"prepare": "node ../../scripts/sync-launcher-env.js",
|
|
@@ -43,5 +43,5 @@ description: 当用户要求提交代码、更新/部署测试环境时触发。
|
|
|
43
43
|
## 执行回执(每次进入本技能都要输出)
|
|
44
44
|
- `已命中技能`:deploy-test-env
|
|
45
45
|
- `命中关键词`:列出触发词
|
|
46
|
-
-
|
|
46
|
+
- `已加载文档`:`packages/agent/skills-runtime/deploy-test-env/SKILL.md`、`packages/agent/skills-runtime/deploy-test-env/reference.md`
|
|
47
47
|
- `阶段状态`:阶段 1~8 的已完成、进行中、待执行
|
|
@@ -9,7 +9,7 @@ description: 当用户要求开发功能、实现接口、完善模块时使用
|
|
|
9
9
|
- 用户要求开发/实现/完善功能或接口时应用本技能(含自 GeeLib 转入的开发段)。
|
|
10
10
|
- **命中词(任一)**:开发功能 / 实现接口 / 修 bug / 完善模块 / 新增接口 / 重构模块。
|
|
11
11
|
- **排除词(任一)**:提交代码(且无开发诉求)/ 仅自测(且无开发诉求)。
|
|
12
|
-
- **冲突降级**:若同条消息含 GeeLib 任务闭环语义,入口由 `workflow-hub` 先分配到 `
|
|
12
|
+
- **冲突降级**:若同条消息含 GeeLib 任务闭环语义,入口由 `workflow-hub` 先分配到 `workflow-hub`(GeeLib 闭环段),本技能作为开发子段执行。
|
|
13
13
|
- 激活后可在内部回执使用标记:`[SKILL:dev-task-flow]`,**不要求对用户输出首行强制标记**。
|
|
14
14
|
|
|
15
15
|
## 门禁
|
|
@@ -30,13 +30,13 @@ description: 当用户要求开发功能、实现接口、完善模块时使用
|
|
|
30
30
|
| 4 | 开发报告 | 含方案摘要、接口清单、自测结论、风险与待办 |
|
|
31
31
|
|
|
32
32
|
## 调度位置
|
|
33
|
-
- 与 **
|
|
33
|
+
- 与 **workflow-hub**、**self-test-flow**、**deploy-test-env** 的全局顺序:`packages/agent/skills-runtime/workflow-hub/SKILL.md`。
|
|
34
34
|
|
|
35
35
|
## 执行回执(每次进入本技能都要输出)
|
|
36
36
|
- `已命中技能`:dev-task-flow
|
|
37
37
|
- `命中关键词`:列出触发词
|
|
38
|
-
-
|
|
39
|
-
- `联动技能`:若阶段 3 启动,补充
|
|
38
|
+
- `已加载文档`:`packages/agent/skills-runtime/dev-task-flow/SKILL.md`、`packages/agent/skills-runtime/dev-task-flow/reference.md`
|
|
39
|
+
- `联动技能`:若阶段 3 启动,补充 `packages/agent/skills-runtime/self-test-flow/SKILL.md` 与 `reference.md`
|
|
40
40
|
- `阶段状态`:阶段 1/2/3/4 的已完成、进行中、待执行
|
|
41
41
|
|
|
42
42
|
## 延伸阅读
|
|
@@ -9,7 +9,7 @@ description: 当用户输入「自测」「自测流程」或要求按联调方
|
|
|
9
9
|
- 用户消息含「自测」「自测流程」,或明确要求按联调/接口方式验证模块时应用本技能。
|
|
10
10
|
- **命中词(任一)**:自测 / 自测流程 / 联调验证 / 接口联调 / 验证模块。
|
|
11
11
|
- **排除词(任一)**:提交代码(且无联调诉求)。
|
|
12
|
-
- **冲突降级**:若同条消息含开发诉求,入口由 `workflow-hub` 先分配到 `dev-task-flow`,本技能作为其阶段 3 子流程执行;若含 GeeLib 闭环语义,先进入 `
|
|
12
|
+
- **冲突降级**:若同条消息含开发诉求,入口由 `workflow-hub` 先分配到 `dev-task-flow`,本技能作为其阶段 3 子流程执行;若含 GeeLib 闭环语义,先进入 `workflow-hub`。
|
|
13
13
|
- 激活后首行输出:`[SKILL:self-test-flow]`。
|
|
14
14
|
|
|
15
15
|
## 门禁
|
|
@@ -36,5 +36,5 @@ description: 当用户输入「自测」「自测流程」或要求按联调方
|
|
|
36
36
|
## 执行回执(每次进入本技能都要输出)
|
|
37
37
|
- `已命中技能`:self-test-flow
|
|
38
38
|
- `命中关键词`:列出触发词
|
|
39
|
-
-
|
|
39
|
+
- `已加载文档`:`packages/agent/skills-runtime/self-test-flow/SKILL.md`、`packages/agent/skills-runtime/self-test-flow/reference.md`
|
|
40
40
|
- `阶段状态`:阶段 1/2/3/4/5 的已完成、进行中、待执行
|
|
@@ -69,7 +69,7 @@ description: >-
|
|
|
69
69
|
4) `当前技能链`:按执行顺序展示
|
|
70
70
|
5) `当前阶段`:已完成 / 进行中 / 待执行
|
|
71
71
|
- 用表格或编号列出「当前对话应激活的技能链」与「已完成/待完成阶段」。
|
|
72
|
-
-
|
|
72
|
+
- 指向路径使用仓库内相对根路径:`packages/agent/skills-runtime/<skill-name>/SKILL.md` 与 `reference.md`。
|
|
73
73
|
|
|
74
74
|
## 延伸阅读
|
|
75
75
|
- 完整决策树、与其他文档关系:**同目录 `reference.md`**。
|
|
@@ -14977,17 +14977,22 @@ function isEnabledInAgentConfig(agent) {
|
|
|
14977
14977
|
|
|
14978
14978
|
// src/workspace.ts
|
|
14979
14979
|
var import_node_path6 = require("node:path");
|
|
14980
|
+
var AGENT_WORKSPACE_SUBDIR = "workspace";
|
|
14980
14981
|
var CODE_REPO_SUBDIR = "repo";
|
|
14982
|
+
function resolveAgentWorkspaceDir(operWorkspaceDir) {
|
|
14983
|
+
return import_node_path6.join(operWorkspaceDir, AGENT_WORKSPACE_SUBDIR);
|
|
14984
|
+
}
|
|
14981
14985
|
function resolveCodeWorkDir(operWorkspaceDir) {
|
|
14986
|
+
const workspaceDir = resolveAgentWorkspaceDir(operWorkspaceDir);
|
|
14982
14987
|
const fromCode = process.env.CODE_WORK_DIR?.trim() ?? "";
|
|
14983
14988
|
if (fromCode) {
|
|
14984
|
-
return import_node_path6.isAbsolute(fromCode) ? fromCode : import_node_path6.join(
|
|
14989
|
+
return import_node_path6.isAbsolute(fromCode) ? fromCode : import_node_path6.join(workspaceDir, fromCode);
|
|
14985
14990
|
}
|
|
14986
14991
|
const fromGit = process.env.WS_GIT_WORK_DIR?.trim() ?? "";
|
|
14987
14992
|
if (!fromGit) {
|
|
14988
|
-
return import_node_path6.join(
|
|
14993
|
+
return import_node_path6.join(workspaceDir, CODE_REPO_SUBDIR);
|
|
14989
14994
|
}
|
|
14990
|
-
return import_node_path6.isAbsolute(fromGit) ? fromGit : import_node_path6.join(
|
|
14995
|
+
return import_node_path6.isAbsolute(fromGit) ? fromGit : import_node_path6.join(workspaceDir, fromGit);
|
|
14991
14996
|
}
|
|
14992
14997
|
|
|
14993
14998
|
// src/wsInit.ts
|
|
@@ -1,24 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Code 工作目录解析:与 GitTool 共用 WS_GIT_WORK_DIR /
|
|
2
|
+
* Code 工作目录解析:与 GitTool 共用 WS_GIT_WORK_DIR / workspace/repo 约定,两包互不 import。
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import { isAbsolute, join } from 'node:path'
|
|
6
6
|
|
|
7
|
+
/** agent 根下的工具工作区容器目录 */
|
|
8
|
+
const AGENT_WORKSPACE_SUBDIR = 'workspace'
|
|
7
9
|
const CODE_REPO_SUBDIR = 'repo'
|
|
8
10
|
|
|
11
|
+
function resolveAgentWorkspaceDir(operWorkspaceDir: string): string {
|
|
12
|
+
return join(operWorkspaceDir, AGENT_WORKSPACE_SUBDIR)
|
|
13
|
+
}
|
|
14
|
+
|
|
9
15
|
/**
|
|
10
|
-
* 解析代码工作目录:优先 CODE_WORK_DIR,其次 WS_GIT_WORK_DIR,默认
|
|
16
|
+
* 解析代码工作目录:优先 CODE_WORK_DIR,其次 WS_GIT_WORK_DIR,默认 workspace/repo。
|
|
17
|
+
* 相对路径以 workspace/ 为基准;绝对路径原样使用。
|
|
11
18
|
*/
|
|
12
19
|
export function resolveCodeWorkDir(operWorkspaceDir: string): string {
|
|
20
|
+
const workspaceDir = resolveAgentWorkspaceDir(operWorkspaceDir)
|
|
13
21
|
const fromCode = process.env.CODE_WORK_DIR?.trim() ?? ''
|
|
14
22
|
if (fromCode) {
|
|
15
|
-
return isAbsolute(fromCode)
|
|
16
|
-
? fromCode
|
|
17
|
-
: join(operWorkspaceDir, fromCode)
|
|
23
|
+
return isAbsolute(fromCode) ? fromCode : join(workspaceDir, fromCode)
|
|
18
24
|
}
|
|
19
25
|
const fromGit = process.env.WS_GIT_WORK_DIR?.trim() ?? ''
|
|
20
26
|
if (!fromGit) {
|
|
21
|
-
return join(
|
|
27
|
+
return join(workspaceDir, CODE_REPO_SUBDIR)
|
|
22
28
|
}
|
|
23
|
-
return isAbsolute(fromGit) ? fromGit : join(
|
|
29
|
+
return isAbsolute(fromGit) ? fromGit : join(workspaceDir, fromGit)
|
|
24
30
|
}
|
|
@@ -14378,6 +14378,7 @@ function isEnabledInAgentConfig(agent) {
|
|
|
14378
14378
|
var import_node_child_process = require("node:child_process");
|
|
14379
14379
|
var import_promises = require("node:fs/promises");
|
|
14380
14380
|
var import_node_path = require("node:path");
|
|
14381
|
+
var AGENT_WORKSPACE_SUBDIR = "workspace";
|
|
14381
14382
|
var GIT_REPO_SUBDIR = "repo";
|
|
14382
14383
|
var DEFAULT_GIT_TIMEOUT_MS = 120 * 1000;
|
|
14383
14384
|
var DEFAULT_GIT_PROBE_TIMEOUT_MS = 15 * 1000;
|
|
@@ -14431,6 +14432,10 @@ function readGitCredentials() {
|
|
|
14431
14432
|
}
|
|
14432
14433
|
return { username, password };
|
|
14433
14434
|
}
|
|
14435
|
+
function readGitUserEmail() {
|
|
14436
|
+
const email3 = process.env.WS_GIT_USER_EMAIL?.trim() ?? "";
|
|
14437
|
+
return email3 || null;
|
|
14438
|
+
}
|
|
14434
14439
|
function withHttpsCredentials(url2, creds) {
|
|
14435
14440
|
if (!creds) {
|
|
14436
14441
|
return url2;
|
|
@@ -14449,20 +14454,40 @@ function withHttpsCredentials(url2, creds) {
|
|
|
14449
14454
|
}
|
|
14450
14455
|
function buildGitCredentialEnv(creds) {
|
|
14451
14456
|
const env = { ...GIT_NO_PROMPT_ENV };
|
|
14452
|
-
|
|
14453
|
-
|
|
14457
|
+
const configEntries = [];
|
|
14458
|
+
if (creds) {
|
|
14459
|
+
configEntries.push({
|
|
14460
|
+
key: "credential.helper",
|
|
14461
|
+
value: `!f() { echo username=${creds.username}; echo password=${creds.password}; }; f`
|
|
14462
|
+
});
|
|
14463
|
+
}
|
|
14464
|
+
const email3 = readGitUserEmail();
|
|
14465
|
+
if (email3) {
|
|
14466
|
+
configEntries.push({ key: "user.email", value: email3 });
|
|
14467
|
+
const name = process.env.WS_GIT_USERNAME?.trim() ?? "";
|
|
14468
|
+
if (name) {
|
|
14469
|
+
configEntries.push({ key: "user.name", value: name });
|
|
14470
|
+
}
|
|
14471
|
+
}
|
|
14472
|
+
if (configEntries.length > 0) {
|
|
14473
|
+
env.GIT_CONFIG_COUNT = String(configEntries.length);
|
|
14474
|
+
configEntries.forEach((entry, index) => {
|
|
14475
|
+
env[`GIT_CONFIG_KEY_${index}`] = entry.key;
|
|
14476
|
+
env[`GIT_CONFIG_VALUE_${index}`] = entry.value;
|
|
14477
|
+
});
|
|
14454
14478
|
}
|
|
14455
|
-
env.GIT_CONFIG_COUNT = "1";
|
|
14456
|
-
env.GIT_CONFIG_KEY_0 = "credential.helper";
|
|
14457
|
-
env.GIT_CONFIG_VALUE_0 = `!f() { echo username=${creds.username}; echo password=${creds.password}; }; f`;
|
|
14458
14479
|
return env;
|
|
14459
14480
|
}
|
|
14481
|
+
function resolveAgentWorkspaceDir(operWorkspaceDir) {
|
|
14482
|
+
return import_node_path.join(operWorkspaceDir, AGENT_WORKSPACE_SUBDIR);
|
|
14483
|
+
}
|
|
14460
14484
|
function resolveGitWorkDir(operWorkspaceDir) {
|
|
14461
14485
|
const workDir = process.env.WS_GIT_WORK_DIR?.trim() ?? "";
|
|
14486
|
+
const workspaceDir = resolveAgentWorkspaceDir(operWorkspaceDir);
|
|
14462
14487
|
if (!workDir) {
|
|
14463
|
-
return import_node_path.join(
|
|
14488
|
+
return import_node_path.join(workspaceDir, GIT_REPO_SUBDIR);
|
|
14464
14489
|
}
|
|
14465
|
-
return import_node_path.isAbsolute(workDir) ? workDir : import_node_path.join(
|
|
14490
|
+
return import_node_path.isAbsolute(workDir) ? workDir : import_node_path.join(workspaceDir, workDir);
|
|
14466
14491
|
}
|
|
14467
14492
|
async function pathExists(path) {
|
|
14468
14493
|
try {
|
|
@@ -14583,6 +14608,7 @@ async function prepareForAgent(params) {
|
|
|
14583
14608
|
await probeGitRemote({ url: cloneUrl, gitEnv });
|
|
14584
14609
|
const repoExists = await pathExists(gitWorkDir);
|
|
14585
14610
|
if (!repoExists) {
|
|
14611
|
+
await import_promises.mkdir(import_node_path.dirname(gitWorkDir), { recursive: true });
|
|
14586
14612
|
await wsGitClone({
|
|
14587
14613
|
url: cloneUrl,
|
|
14588
14614
|
targetPath: gitWorkDir,
|
|
@@ -14928,7 +14954,7 @@ ${gitStatus}
|
|
|
14928
14954
|
|
|
14929
14955
|
Usage method:
|
|
14930
14956
|
- input must include "commands: string[]" only (no cwd field)
|
|
14931
|
-
- ALL commands run exclusively in the configured git work directory (WS_GIT_WORK_DIR, default repo
|
|
14957
|
+
- ALL commands run exclusively in the configured git work directory (WS_GIT_WORK_DIR, default workspace/repo under agent root)
|
|
14932
14958
|
- commands may be full "git log ..." or bare subcommands like "log ..." / "status" (git prefix is added automatically)
|
|
14933
14959
|
- commands are executed sequentially in the work directory
|
|
14934
14960
|
|
|
@@ -362,7 +362,7 @@ ${gitStatus}
|
|
|
362
362
|
|
|
363
363
|
Usage method:
|
|
364
364
|
- input must include "commands: string[]" only (no cwd field)
|
|
365
|
-
- ALL commands run exclusively in the configured git work directory (WS_GIT_WORK_DIR, default repo
|
|
365
|
+
- ALL commands run exclusively in the configured git work directory (WS_GIT_WORK_DIR, default workspace/repo under agent root)
|
|
366
366
|
- commands may be full "git log ..." or bare subcommands like "log ..." / "status" (git prefix is added automatically)
|
|
367
367
|
- commands are executed sequentially in the work directory
|
|
368
368
|
|
|
@@ -52,11 +52,11 @@ describe('git-tool workspace helpers', () => {
|
|
|
52
52
|
resetConfigure()
|
|
53
53
|
})
|
|
54
54
|
|
|
55
|
-
it('resolveGitWorkDir 未设置时默认
|
|
55
|
+
it('resolveGitWorkDir 未设置时默认 workspace/repo', () => {
|
|
56
56
|
savedEnv = saveGitEnv()
|
|
57
57
|
clearGitEnv()
|
|
58
|
-
expect(resolveGitWorkDir('/tmp/agent/
|
|
59
|
-
'/tmp/agent/workspace/repo',
|
|
58
|
+
expect(resolveGitWorkDir('/tmp/agent-runtime/dev')).toBe(
|
|
59
|
+
'/tmp/agent-runtime/dev/workspace/repo',
|
|
60
60
|
)
|
|
61
61
|
})
|
|
62
62
|
|
|
@@ -64,11 +64,11 @@ describe('git-tool workspace helpers', () => {
|
|
|
64
64
|
savedEnv = saveGitEnv()
|
|
65
65
|
clearGitEnv()
|
|
66
66
|
process.env.WS_GIT_WORK_DIR = 'checkout'
|
|
67
|
-
expect(resolveGitWorkDir('/tmp/agent/
|
|
68
|
-
'/tmp/agent/workspace/checkout',
|
|
67
|
+
expect(resolveGitWorkDir('/tmp/agent-runtime/dev')).toBe(
|
|
68
|
+
'/tmp/agent-runtime/dev/workspace/checkout',
|
|
69
69
|
)
|
|
70
70
|
process.env.WS_GIT_WORK_DIR = '/data/repo'
|
|
71
|
-
expect(resolveGitWorkDir('/tmp/agent/
|
|
71
|
+
expect(resolveGitWorkDir('/tmp/agent-runtime/dev')).toBe('/data/repo')
|
|
72
72
|
})
|
|
73
73
|
|
|
74
74
|
it('readGitCredentials 均未设置返回 null', () => {
|
|
@@ -124,7 +124,7 @@ describe('prepareForAgent', () => {
|
|
|
124
124
|
resetConfigure()
|
|
125
125
|
})
|
|
126
126
|
|
|
127
|
-
it('无 URL 且默认 repo
|
|
127
|
+
it('无 URL 且默认 workspace/repo 非 git 目录时返回 skipped', async () => {
|
|
128
128
|
savedEnv = saveGitEnv()
|
|
129
129
|
clearGitEnv()
|
|
130
130
|
const operWorkspaceDir = await mkdtemp(join(tmpdir(), 'ws-git-missing-'))
|
|
@@ -135,9 +135,9 @@ describe('prepareForAgent', () => {
|
|
|
135
135
|
savedEnv = saveGitEnv()
|
|
136
136
|
clearGitEnv()
|
|
137
137
|
const operWorkspaceDir = await mkdtemp(join(tmpdir(), 'ws-git-notrepo-'))
|
|
138
|
-
const notRepo = join(operWorkspaceDir, 'not-git')
|
|
138
|
+
const notRepo = join(operWorkspaceDir, 'workspace', 'not-git')
|
|
139
139
|
await mkdir(notRepo, { recursive: true })
|
|
140
|
-
process.env.WS_GIT_WORK_DIR =
|
|
140
|
+
process.env.WS_GIT_WORK_DIR = 'not-git'
|
|
141
141
|
await expect(prepareForAgent({ operWorkspaceDir })).resolves.toBe('skipped')
|
|
142
142
|
})
|
|
143
143
|
})
|
|
@@ -4,10 +4,12 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { spawn } from 'node:child_process'
|
|
7
|
-
import { access } from 'node:fs/promises'
|
|
8
|
-
import { isAbsolute, join } from 'node:path'
|
|
7
|
+
import { access, mkdir } from 'node:fs/promises'
|
|
8
|
+
import { dirname, isAbsolute, join } from 'node:path'
|
|
9
9
|
import { configure, getCachedConfigure, resetConfigure } from './hooks.js'
|
|
10
10
|
|
|
11
|
+
/** agent 根下的工具工作区容器目录 */
|
|
12
|
+
const AGENT_WORKSPACE_SUBDIR = 'workspace'
|
|
11
13
|
const GIT_REPO_SUBDIR = 'repo'
|
|
12
14
|
const DEFAULT_GIT_TIMEOUT_MS = 120 * 1000
|
|
13
15
|
/** session init 远程探测超时,短于 clone/pull,避免地址不通时长时间阻塞 */
|
|
@@ -85,6 +87,15 @@ export function readGitCredentials(): GitCredentials | null {
|
|
|
85
87
|
return { username, password }
|
|
86
88
|
}
|
|
87
89
|
|
|
90
|
+
/**
|
|
91
|
+
* 读取 WS_GIT_USER_EMAIL,用于 git commit 作者邮箱。
|
|
92
|
+
* 业务语义:未设置时返回 null,不注入 user.email;多用户环境避免依赖全局 git config。
|
|
93
|
+
*/
|
|
94
|
+
export function readGitUserEmail(): string | null {
|
|
95
|
+
const email = process.env.WS_GIT_USER_EMAIL?.trim() ?? ''
|
|
96
|
+
return email || null
|
|
97
|
+
}
|
|
98
|
+
|
|
88
99
|
/** HTTPS URL 注入 user:pass;SSH URL(git@)原样返回 */
|
|
89
100
|
export function withHttpsCredentials(
|
|
90
101
|
url: string,
|
|
@@ -106,31 +117,58 @@ export function withHttpsCredentials(
|
|
|
106
117
|
}
|
|
107
118
|
}
|
|
108
119
|
|
|
109
|
-
/** 构造 git 命令额外 env:防交互 +
|
|
120
|
+
/** 构造 git 命令额外 env:防交互 + 凭据 helper + 可选提交身份(user.name/user.email) */
|
|
110
121
|
export function buildGitCredentialEnv(
|
|
111
122
|
creds: GitCredentials | null,
|
|
112
123
|
): Record<string, string> {
|
|
113
124
|
const env: Record<string, string> = { ...GIT_NO_PROMPT_ENV }
|
|
114
|
-
|
|
115
|
-
|
|
125
|
+
const configEntries: Array<{ key: string; value: string }> = []
|
|
126
|
+
|
|
127
|
+
if (creds) {
|
|
128
|
+
configEntries.push({
|
|
129
|
+
key: 'credential.helper',
|
|
130
|
+
value:
|
|
131
|
+
`!f() { echo username=${creds.username}; echo password=${creds.password}; }; f`,
|
|
132
|
+
})
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
const email = readGitUserEmail()
|
|
136
|
+
if (email) {
|
|
137
|
+
configEntries.push({ key: 'user.email', value: email })
|
|
138
|
+
// 提交作者名与 HTTPS 域账号同源,避免多用户环境写全局 git config
|
|
139
|
+
const name = process.env.WS_GIT_USERNAME?.trim() ?? ''
|
|
140
|
+
if (name) {
|
|
141
|
+
configEntries.push({ key: 'user.name', value: name })
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (configEntries.length > 0) {
|
|
146
|
+
env.GIT_CONFIG_COUNT = String(configEntries.length)
|
|
147
|
+
configEntries.forEach((entry, index) => {
|
|
148
|
+
env[`GIT_CONFIG_KEY_${index}`] = entry.key
|
|
149
|
+
env[`GIT_CONFIG_VALUE_${index}`] = entry.value
|
|
150
|
+
})
|
|
116
151
|
}
|
|
117
|
-
|
|
118
|
-
env.GIT_CONFIG_KEY_0 = 'credential.helper'
|
|
119
|
-
env.GIT_CONFIG_VALUE_0 =
|
|
120
|
-
`!f() { echo username=${creds.username}; echo password=${creds.password}; }; f`
|
|
152
|
+
|
|
121
153
|
return env
|
|
122
154
|
}
|
|
123
155
|
|
|
156
|
+
/** 解析 agent 根下的 workspace 目录 */
|
|
157
|
+
function resolveAgentWorkspaceDir(operWorkspaceDir: string): string {
|
|
158
|
+
return join(operWorkspaceDir, AGENT_WORKSPACE_SUBDIR)
|
|
159
|
+
}
|
|
160
|
+
|
|
124
161
|
/**
|
|
125
|
-
* 解析 Git 工作目录:WS_GIT_WORK_DIR 优先,否则默认
|
|
126
|
-
*
|
|
162
|
+
* 解析 Git 工作目录:WS_GIT_WORK_DIR 优先,否则默认 workspace/repo。
|
|
163
|
+
* 相对路径以 workspace/ 为基准;绝对路径原样使用。与 CodeTool 共用 env 约定。
|
|
127
164
|
*/
|
|
128
165
|
export function resolveGitWorkDir(operWorkspaceDir: string): string {
|
|
129
166
|
const workDir = process.env.WS_GIT_WORK_DIR?.trim() ?? ''
|
|
167
|
+
const workspaceDir = resolveAgentWorkspaceDir(operWorkspaceDir)
|
|
130
168
|
if (!workDir) {
|
|
131
|
-
return join(
|
|
169
|
+
return join(workspaceDir, GIT_REPO_SUBDIR)
|
|
132
170
|
}
|
|
133
|
-
return isAbsolute(workDir) ? workDir : join(
|
|
171
|
+
return isAbsolute(workDir) ? workDir : join(workspaceDir, workDir)
|
|
134
172
|
}
|
|
135
173
|
|
|
136
174
|
async function pathExists(path: string): Promise<boolean> {
|
|
@@ -337,6 +375,8 @@ export async function prepareForAgent(params: {
|
|
|
337
375
|
await probeGitRemote({ url: cloneUrl, gitEnv })
|
|
338
376
|
const repoExists = await pathExists(gitWorkDir)
|
|
339
377
|
if (!repoExists) {
|
|
378
|
+
// clone 前创建 workspace/ 等父目录,避免 git clone 因路径不存在失败
|
|
379
|
+
await mkdir(dirname(gitWorkDir), { recursive: true })
|
|
340
380
|
await wsGitClone({
|
|
341
381
|
url: cloneUrl,
|
|
342
382
|
targetPath: gitWorkDir,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.theme{--font-heading:var(--font-display);--font-sans:var(--font-body);--font-mono:var(--font-mono)}:root{--background:#fff;--foreground:#0a0a0a;--card:#fff;--card-foreground:#0a0a0a;--popover:#fff;--popover-foreground:#0a0a0a;--primary:#171717;--primary-foreground:#fafafa;--secondary:#f5f5f5;--secondary-foreground:#171717;--muted:#f5f5f5;--muted-foreground:#737373;--accent:#f5f5f5;--accent-foreground:#171717;--destructive:#e40014;--destructive-foreground:#fafafa;--border:#e5e5e5;--input:#e5e5e5;--ring:#a1a1a1;--chart-1:#d4d4d4;--chart-2:#737373;--chart-3:#525252;--chart-4:#404040;--chart-5:#262626;--radius:.625rem;--sidebar:#fafafa;--sidebar-foreground:#0a0a0a;--sidebar-primary:#171717;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#f5f5f5;--sidebar-accent-foreground:#171717;--sidebar-border:#e5e5e5;--sidebar-ring:#a1a1a1}@supports (color:color(display-p3 0 0 0)){:root{--background:color(display-p3 1 1 1);--foreground:color(display-p3 .0393882 .0393882 .0393882);--card:color(display-p3 1 1 1);--card-foreground:color(display-p3 .0393882 .0393882 .0393882);--popover:color(display-p3 1 1 1);--popover-foreground:color(display-p3 .0393882 .0393882 .0393882);--primary:color(display-p3 .0905274 .0905274 .0905274);--primary-foreground:color(display-p3 .980256 .980256 .980256);--secondary:color(display-p3 .960587 .960587 .960587);--secondary-foreground:color(display-p3 .0905274 .0905274 .0905274);--muted:color(display-p3 .960587 .960587 .960587);--muted-foreground:color(display-p3 .451519 .451519 .451519);--accent:color(display-p3 .960587 .960587 .960587);--accent-foreground:color(display-p3 .0905274 .0905274 .0905274);--destructive:color(display-p3 .830323 .140383 .133196);--destructive-foreground:color(display-p3 .980256 .980256 .980256);--border:color(display-p3 .898161 .898161 .898161);--input:color(display-p3 .898161 .898161 .898161);--ring:color(display-p3 .630163 .630163 .630163);--chart-1:color(display-p3 .831444 .831444 .831444);--chart-2:color(display-p3 .451519 .451519 .451519);--chart-3:color(display-p3 .321993 .321993 .321993);--chart-4:color(display-p3 .250471 .250471 .250471);--chart-5:color(display-p3 .149382 .149382 .149382);--sidebar:color(display-p3 .980256 .980256 .980256);--sidebar-foreground:color(display-p3 .0393882 .0393882 .0393882);--sidebar-primary:color(display-p3 .0905274 .0905274 .0905274);--sidebar-primary-foreground:color(display-p3 .980256 .980256 .980256);--sidebar-accent:color(display-p3 .960587 .960587 .960587);--sidebar-accent-foreground:color(display-p3 .0905274 .0905274 .0905274);--sidebar-border:color(display-p3 .898161 .898161 .898161);--sidebar-ring:color(display-p3 .630163 .630163 .630163)}}@supports (color:lab(0% 0 0)){:root{--background:lab(100% 0 0);--foreground:lab(2.75381% 0 0);--card:lab(100% 0 0);--card-foreground:lab(2.75381% 0 0);--popover:lab(100% 0 0);--popover-foreground:lab(2.75381% 0 0);--primary:lab(7.78201% -.0000149012 0);--primary-foreground:lab(98.26% 0 0);--secondary:lab(96.52% -.0000298023 .0000119209);--secondary-foreground:lab(7.78201% -.0000149012 0);--muted:lab(96.52% -.0000298023 .0000119209);--muted-foreground:lab(48.496% 0 0);--accent:lab(96.52% -.0000298023 .0000119209);--accent-foreground:lab(7.78201% -.0000149012 0);--destructive:lab(48.4493% 77.4328 61.5452);--destructive-foreground:lab(98.26% 0 0);--border:lab(90.952% 0 -.0000119209);--input:lab(90.952% 0 -.0000119209);--ring:lab(66.128% -.0000298023 .0000119209);--chart-1:lab(84.92% 0 -.0000119209);--chart-2:lab(48.496% 0 0);--chart-3:lab(34.924% 0 0);--chart-4:lab(27.036% 0 0);--chart-5:lab(15.204% 0 -.00000596046);--sidebar:lab(98.26% 0 0);--sidebar-foreground:lab(2.75381% 0 0);--sidebar-primary:lab(7.78201% -.0000149012 0);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(96.52% -.0000298023 .0000119209);--sidebar-accent-foreground:lab(7.78201% -.0000149012 0);--sidebar-border:lab(90.952% 0 -.0000119209);--sidebar-ring:lab(66.128% -.0000298023 .0000119209)}}.dark{--background:#0a0a0a;--foreground:#fafafa;--card:#171717;--card-foreground:#fafafa;--popover:#171717;--popover-foreground:#fafafa;--primary:#e5e5e5;--primary-foreground:#171717;--secondary:#262626;--secondary-foreground:#fafafa;--muted:#262626;--muted-foreground:#a1a1a1;--accent:#00c37b;--accent-foreground:#fafafa;--destructive:#ff6568;--destructive-foreground:#fafafa;--border:rgba(255,255,255,.1);--input:rgba(255,255,255,.15);--ring:#737373;--chart-1:#d4d4d4;--chart-2:#737373;--chart-3:#525252;--chart-4:#404040;--chart-5:#262626;--sidebar:#171717;--sidebar-foreground:#fafafa;--sidebar-primary:#1447e6;--sidebar-primary-foreground:#fafafa;--sidebar-accent:#262626;--sidebar-accent-foreground:#fafafa;--sidebar-border:rgba(255,255,255,.1);--sidebar-ring:#737373}@supports (color:color(display-p3 0 0 0)){.dark{--background:color(display-p3 .0393882 .0393882 .0393882);--foreground:color(display-p3 .980256 .980256 .980256);--card:color(display-p3 .0905274 .0905274 .0905274);--card-foreground:color(display-p3 .980256 .980256 .980256);--popover:color(display-p3 .0905274 .0905274 .0905274);--popover-foreground:color(display-p3 .980256 .980256 .980256);--primary:color(display-p3 .898161 .898161 .898161);--primary-foreground:color(display-p3 .0905274 .0905274 .0905274);--secondary:color(display-p3 .149382 .149382 .149382);--secondary-foreground:color(display-p3 .980256 .980256 .980256);--muted:color(display-p3 .149382 .149382 .149382);--muted-foreground:color(display-p3 .630163 .630163 .630163);--accent:color(display-p3 .339841 .754462 .503519);--accent-foreground:color(display-p3 .980256 .980256 .980256);--destructive:color(display-p3 .933534 .431676 .423491);--destructive-foreground:color(display-p3 .980256 .980256 .980256);--border:color(display-p3 1 1 1/.1);--input:color(display-p3 1 1 1/.15);--ring:color(display-p3 .451519 .451519 .451519);--chart-1:color(display-p3 .831444 .831444 .831444);--chart-2:color(display-p3 .451519 .451519 .451519);--chart-3:color(display-p3 .321993 .321993 .321993);--chart-4:color(display-p3 .250471 .250471 .250471);--chart-5:color(display-p3 .149382 .149382 .149382);--sidebar:color(display-p3 .0905274 .0905274 .0905274);--sidebar-foreground:color(display-p3 .980256 .980256 .980256);--sidebar-primary:color(display-p3 .1379 .274983 .867624);--sidebar-primary-foreground:color(display-p3 .980256 .980256 .980256);--sidebar-accent:color(display-p3 .149382 .149382 .149382);--sidebar-accent-foreground:color(display-p3 .980256 .980256 .980256);--sidebar-border:color(display-p3 1 1 1/.1);--sidebar-ring:color(display-p3 .451519 .451519 .451519)}}@supports (color:lab(0% 0 0)){.dark{--background:lab(2.75381% 0 0);--foreground:lab(98.26% 0 0);--card:lab(7.78201% -.0000149012 0);--card-foreground:lab(98.26% 0 0);--popover:lab(7.78201% -.0000149012 0);--popover-foreground:lab(98.26% 0 0);--primary:lab(90.952% 0 -.0000119209);--primary-foreground:lab(7.78201% -.0000149012 0);--secondary:lab(15.204% 0 -.00000596046);--secondary-foreground:lab(98.26% 0 0);--muted:lab(15.204% 0 -.00000596046);--muted-foreground:lab(66.128% -.0000298023 .0000119209);--accent:lab(69.7395% -56.1647 24.7025);--accent-foreground:lab(98.26% 0 0);--destructive:lab(63.7053% 60.745 31.3109);--destructive-foreground:lab(98.26% 0 0);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--ring:lab(48.496% 0 0);--chart-1:lab(84.92% 0 -.0000119209);--chart-2:lab(48.496% 0 0);--chart-3:lab(34.924% 0 0);--chart-4:lab(27.036% 0 0);--chart-5:lab(15.204% 0 -.00000596046);--sidebar:lab(7.78201% -.0000149012 0);--sidebar-foreground:lab(98.26% 0 0);--sidebar-primary:lab(36.9089% 35.0961 -85.6872);--sidebar-primary-foreground:lab(98.26% 0 0);--sidebar-accent:lab(15.204% 0 -.00000596046);--sidebar-accent-foreground:lab(98.26% 0 0);--sidebar-border:lab(100% 0 0/.1);--sidebar-ring:lab(48.496% 0 0)}}*{border-color:var(--border)}html{font-family:var(--font-body),ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.5}body{background-color:var(--background);color:var(--foreground);font-size:var(--text-base);line-height:inherit}input,textarea,select,button{font-family:inherit;font-size:inherit}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;bottom:0;left:0;right:0}.inset-x-0{left:0;right:0}.-left-\[22px\]{left:-22px}.-left-\[24px\]{left:-24px}.-left-\[39px\]{left:-39px}.-left-\[40px\]{left:-40px}.-top-0\.5{top:-.125rem}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-2{left:.5rem}.left-2\.5{left:.625rem}.right-2{right:.5rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-6{top:1.5rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[10001\]{z-index:10001}.z-\[10050\]{z-index:10050}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.m-0{margin:0}.m-3{margin:.75rem}.m-\[\.15rem_\.35rem_0\]{margin:.15rem .35rem 0}.m-\[\.35rem_\.35rem_0\]{margin:.35rem .35rem 0}.m-\[\.45rem_0_0\]{margin:.45rem 0 0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.\!mr-1{margin-right:.25rem!important}.\!mt-\[1\.25rem\]{margin-top:1.25rem!important}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-\[-2px\]{margin-bottom:-2px}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-\[12px\]{margin-right:12px}.mr-\[16px\]{margin-right:16px}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-\[0\.75rem\]{margin-top:.75rem}.mt-\[24px\]{margin-top:24px}.mt-auto{margin-top:auto}.box-border{box-sizing:border-box}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.\!size-3\.5{width:.875rem!important;height:.875rem!important}.\!size-4{width:1rem!important;height:1rem!important}.size-1{width:.25rem;height:.25rem}.size-1\.5{width:.375rem;height:.375rem}.size-10{width:2.5rem;height:2.5rem}.size-12{width:3rem;height:3rem}.size-2{width:.5rem;height:.5rem}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-full{width:100%;height:100%}.\!h-7{height:1.75rem!important}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[14px\]{height:14px}.h-\[calc\(100\%-2px\)\]{height:calc(100% - 2px)}.h-\[min\(68vh\,520px\)\]{height:min(68vh,520px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-0{max-height:0}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-96{max-height:24rem}.max-h-\[2000px\]{max-height:2000px}.max-h-\[225px\]{max-height:225px}.max-h-\[240px\]{max-height:240px}.max-h-\[300px\]{max-height:300px}.max-h-\[6000px\]{max-height:6000px}.max-h-\[92vh\]{max-height:92vh}.max-h-\[calc\(100vh-16px\)\]{max-height:calc(100vh - 16px)}.max-h-\[min\(50vh\,22rem\)\]{max-height:min(50vh,22rem)}.max-h-\[min\(50vh\,360px\)\]{max-height:min(50vh,360px)}.max-h-\[min\(68vh\,640px\)\]{max-height:min(68vh,640px)}.max-h-dvh{max-height:100dvh}.\!min-h-0{min-height:0!important}.\!min-h-\[--min-h\]{min-height:var(--min-h)!important}.min-h-0{min-height:0}.min-h-20{min-height:5rem}.min-h-5{min-height:1.25rem}.min-h-7{min-height:1.75rem}.min-h-9{min-height:2.25rem}.min-h-\[110px\]{min-height:110px}.min-h-\[120px\]{min-height:120px}.min-h-\[124px\]{min-height:124px}.min-h-\[180px\]{min-height:180px}.min-h-\[200px\]{min-height:200px}.min-h-\[220px\]{min-height:220px}.min-h-\[240px\]{min-height:240px}.min-h-\[320px\]{min-height:320px}.min-h-\[40vh\]{min-height:40vh}.min-h-\[420px\]{min-height:420px}.min-h-\[80px\]{min-height:80px}.min-h-\[88px\]{min-height:88px}.\!w-7{width:1.75rem!important}.\!w-\[520px\]{width:520px!important}.\!w-fit{width:-moz-fit-content!important;width:fit-content!important}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[102px\]{width:102px}.w-\[104px\]{width:104px}.w-\[112px\]{width:112px}.w-\[116px\]{width:116px}.w-\[128px\]{width:128px}.w-\[140px\]{width:140px}.w-\[14px\]{width:14px}.w-\[160px\]{width:160px}.w-\[168px\]{width:168px}.w-\[172px\]{width:172px}.w-\[180px\]{width:180px}.w-\[220px\]{width:220px}.w-\[260px\]{width:260px}.w-\[72px\]{width:72px}.w-\[96px\]{width:96px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.\!min-w-0{min-width:0!important}.min-w-0{min-width:0}.min-w-24{min-width:6rem}.min-w-32{min-width:8rem}.min-w-9{min-width:2.25rem}.min-w-\[120px\]{min-width:120px}.min-w-\[140px\]{min-width:140px}.min-w-\[148px\]{min-width:148px}.min-w-\[172px\]{min-width:172px}.min-w-\[200px\]{min-width:200px}.min-w-\[6\.5rem\]{min-width:6.5rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[96px\]{min-width:96px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.\!max-w-\[400px\]{max-width:400px!important}.max-w-36{max-width:9rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[240px\]{max-width:240px}.max-w-\[300px\]{max-width:300px}.max-w-\[460px\]{max-width:460px}.max-w-\[480px\]{max-width:480px}.max-w-\[520px\]{max-width:520px}.max-w-\[560px\]{max-width:560px}.max-w-\[720px\]{max-width:720px}.max-w-\[760px\]{max-width:760px}.max-w-\[840px\]{max-width:840px}.max-w-\[920px\]{max-width:920px}.max-w-\[min\(100vw-24px\,260px\)\]{max-width:min(100vw - 24px,260px)}.max-w-\[min\(100vw-32px\,320px\)\]{max-width:min(100vw - 32px,320px)}.max-w-\[min\(360px\,90vw\)\]{max-width:min(360px,90vw)}.max-w-\[min\(540px\,100\%\)\]{max-width:min(540px,100%)}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.\!flex-none{flex:none!important}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.animate-\[backdropIn_0\.2s_ease-out\]{animation:.2s ease-out backdropIn}.animate-\[modalIn_0\.2s_ease-out\]{animation:.2s ease-out modalIn}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.\!cursor-pointer{cursor:pointer!important}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.\!justify-start{justify-content:flex-start!important}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-\[10px\]{gap:10px}.gap-\[var\(--space-4\)\]{gap:var(--space-4)}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-7{-moz-column-gap:1.75rem;column-gap:1.75rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-4{row-gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-\[var\(--ds-border\)\]>:not([hidden])~:not([hidden]){border-color:var(--ds-border)}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.overscroll-y-contain{overscroll-behavior-y:contain}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded{border-radius:.25rem!important}.\!rounded-\[10px\]{border-radius:10px!important}.\!rounded-md{border-radius:calc(var(--radius) - 2px)!important}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[8px\]{border-radius:8px}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md),12px)}.rounded-\[min\(var\(--radius-md\)\,14px\)\]{border-radius:min(var(--radius-md),14px)}.rounded-\[var\(--ds-radius-sm\)\]{border-radius:var(--ds-radius-sm)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.\!border{border-width:1px!important}.\!border-0{border-width:0!important}.border{border-width:1px}.border-0{border-width:0}.border-x-0{border-left-width:0;border-right-width:0}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0}.\!border-solid{border-style:solid!important}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.\!border-none{border-style:none!important}.border-none{border-style:none}.\!border-\[\#1677FF\]{--tw-border-opacity:1!important;border-color:rgba(22,119,255,var(--tw-border-opacity,1))!important}.\!border-\[\#52C51A\]{--tw-border-opacity:1!important;border-color:rgba(82,197,26,var(--tw-border-opacity,1))!important}.\!border-\[\#FAAD14\]{--tw-border-opacity:1!important;border-color:rgba(250,173,20,var(--tw-border-opacity,1))!important}.\!border-\[\#FF4D50\]{--tw-border-opacity:1!important;border-color:rgba(255,77,80,var(--tw-border-opacity,1))!important}.\!border-\[\#e5e5e5\]{--tw-border-opacity:1!important;border-color:rgba(229,229,229,var(--tw-border-opacity,1))!important}.\!border-\[var\(--border-default\)\]{border-color:var(--border-default)!important}.\!border-\[var\(--ds-accent\)\]{border-color:var(--ds-accent)!important}.border-\[\#223044\]{--tw-border-opacity:1;border-color:rgba(34,48,68,var(--tw-border-opacity,1))}.border-\[\#e2e6ee\]{--tw-border-opacity:1;border-color:rgba(226,230,238,var(--tw-border-opacity,1))}.border-\[\#e4dfc8\]{--tw-border-opacity:1;border-color:rgba(228,223,200,var(--tw-border-opacity,1))}.border-\[\#efefef\]{--tw-border-opacity:1;border-color:rgba(239,239,239,var(--tw-border-opacity,1))}.border-\[color\:var\(--ds-accent\)\]{border-color:var(--ds-accent)}.border-\[color\:var\(--ds-border\)\]{border-color:var(--ds-border)}.border-\[color\:var\(--ds-ok\)\]{border-color:var(--ds-ok)}.border-\[var\(--amber\)\]{border-color:var(--amber)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-\[var\(--calendar-day-today-border\)\]{border-color:var(--calendar-day-today-border)}.border-\[var\(--ds-accent\)\]{border-color:var(--ds-accent)}.border-\[var\(--ds-border\)\]{border-color:var(--ds-border)}.border-\[var\(--ds-border\,var\(--input\)\)\]{border-color:var(--ds-border,var(--input))}.border-\[var\(--green-dark\)\]{border-color:var(--green-dark)}.border-amber-500\/40{border-color:rgba(245,158,11,.4)}.border-black\/5{border-color:rgba(0,0,0,.05)}.border-black\/\[0\.06\]{border-color:rgba(0,0,0,.06)}.border-border{border-color:var(--border)}.border-destructive{border-color:var(--destructive)}.border-emerald-500\/40{border-color:rgba(16,185,129,.4)}.border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity,1))}.border-red-500\/40{border-color:rgba(239,68,68,.4)}.border-transparent{border-color:transparent}.border-white\/5{border-color:rgba(255,255,255,.05)}.border-t-\[var\(--ds-border\)\]{border-top-color:var(--ds-border)}.\!bg-\[\#E7F4FF\]{--tw-bg-opacity:1!important;background-color:rgba(231,244,255,var(--tw-bg-opacity,1))!important}.\!bg-\[\#F6FFED\]{--tw-bg-opacity:1!important;background-color:rgba(246,255,237,var(--tw-bg-opacity,1))!important}.\!bg-\[\#FFF3F1\]{--tw-bg-opacity:1!important;background-color:rgba(255,243,241,var(--tw-bg-opacity,1))!important}.\!bg-\[\#FFFBE6\]{--tw-bg-opacity:1!important;background-color:rgba(255,251,230,var(--tw-bg-opacity,1))!important}.\!bg-\[\#fbfbfc\]{--tw-bg-opacity:1!important;background-color:rgba(251,251,252,var(--tw-bg-opacity,1))!important}.\!bg-\[var\(--green-light\)\]{background-color:var(--green-light)!important}.\!bg-transparent{background-color:transparent!important}.bg-\[\#111\]{--tw-bg-opacity:1;background-color:rgba(17,17,17,var(--tw-bg-opacity,1))}.bg-\[\#e9e9e9\]{--tw-bg-opacity:1;background-color:rgba(233,233,233,var(--tw-bg-opacity,1))}.bg-\[\#efefef\]{--tw-bg-opacity:1;background-color:rgba(239,239,239,var(--tw-bg-opacity,1))}.bg-\[\#f6f7fa\]{--tw-bg-opacity:1;background-color:rgba(246,247,250,var(--tw-bg-opacity,1))}.bg-\[\#f9f9f7\]{--tw-bg-opacity:1;background-color:rgba(249,249,247,var(--tw-bg-opacity,1))}.bg-\[\#f9f9f9\]{--tw-bg-opacity:1;background-color:rgba(249,249,249,var(--tw-bg-opacity,1))}.bg-\[\#fafafa\]{--tw-bg-opacity:1;background-color:rgba(250,250,250,var(--tw-bg-opacity,1))}.bg-\[\#fbfbfc\]{--tw-bg-opacity:1;background-color:rgba(251,251,252,var(--tw-bg-opacity,1))}.bg-\[\#fef2f2\]{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity,1))}.bg-\[\#fff\]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.bg-\[color-mix\(in_srgb\,var\(--blue\)_12\%\,var\(--surface-1\)\)\]{background-color:color-mix(in srgb,var(--blue)12%,var(--surface-1))}.bg-\[rgba\(120\,30\,30\,\.07\)\]{background-color:rgba(120,30,30,.07)}.bg-\[rgba\(50\,100\,180\,\.07\)\]{background-color:rgba(50,100,180,.07)}.bg-\[var\(--amber\)\]{background-color:var(--amber)}.bg-\[var\(--border-hover\)\]{background-color:var(--border-hover)}.bg-\[var\(--calendar-day-bg\)\]{background-color:var(--calendar-day-bg)}.bg-\[var\(--calendar-day-disabled-bg\)\]{background-color:var(--calendar-day-disabled-bg)}.bg-\[var\(--calendar-day-selected-bg\)\]{background-color:var(--calendar-day-selected-bg)}.bg-\[var\(--calendar-day-selected-text\)\]{background-color:var(--calendar-day-selected-text)}.bg-\[var\(--calendar-day-today-border\)\]{background-color:var(--calendar-day-today-border)}.bg-\[var\(--ds-accent\)\]{background-color:var(--ds-accent)}.bg-\[var\(--ds-bg\)\]{background-color:var(--ds-bg)}.bg-\[var\(--ds-border\)\]{background-color:var(--ds-border)}.bg-\[var\(--ds-danger\)\]{background-color:var(--ds-danger)}.bg-\[var\(--ds-item-active\)\]{background-color:var(--ds-item-active)}.bg-\[var\(--ds-item-hover\)\]{background-color:var(--ds-item-hover)}.bg-\[var\(--ds-log-bg\)\]{background-color:var(--ds-log-bg)}.bg-\[var\(--ds-main-tint\)\]{background-color:var(--ds-main-tint)}.bg-\[var\(--ds-muted\)\]{background-color:var(--ds-muted)}.bg-\[var\(--ds-ok\)\]{background-color:var(--ds-ok)}.bg-\[var\(--ds-sidebar\)\]{background-color:var(--ds-sidebar)}.bg-\[var\(--green-light\)\]{background-color:var(--green-light)}.bg-\[var\(--surface-1\)\]{background-color:var(--surface-1)}.bg-\[var\(--surface-2\)\]{background-color:var(--surface-2)}.bg-amber-500\/15{background-color:rgba(245,158,11,.15)}.bg-amber-500\/5{background-color:rgba(245,158,11,.05)}.bg-background{background-color:var(--background)}.bg-black\/45{background-color:rgba(0,0,0,.45)}.bg-black\/70{background-color:rgba(0,0,0,.7)}.bg-border{background-color:var(--border)}.bg-emerald-500\/10{background-color:rgba(16,185,129,.1)}.bg-emerald-500\/15{background-color:rgba(16,185,129,.15)}.bg-emerald-500\/5{background-color:rgba(16,185,129,.05)}.bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity,1))}.bg-input{background-color:var(--input)}.bg-popover{background-color:var(--popover)}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity,1))}.bg-red-500\/10{background-color:rgba(239,68,68,.1)}.bg-red-500\/15{background-color:rgba(239,68,68,.15)}.bg-red-500\/5{background-color:rgba(239,68,68,.05)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.bg-white\/\[\.012\]{background-color:rgba(255,255,255,.01)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-0{padding:0!important}.\!p-3{padding:.75rem!important}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-\[\.45rem_\.75rem\]{padding:.45rem .75rem}.p-\[16px\]{padding:16px}.p-\[1rem_\.75rem\]{padding:1rem .75rem}.p-\[24px\]{padding:24px}.p-\[var\(--space-1\)\]{padding:var(--space-1)}.\!px-0{padding-left:0!important;padding-right:0!important}.\!px-1{padding-left:.25rem!important;padding-right:.25rem!important}.\!px-4{padding-left:1rem!important;padding-right:1rem!important}.\!px-5{padding-left:1.25rem!important;padding-right:1.25rem!important}.\!px-\[8px\]{padding-left:8px!important;padding-right:8px!important}.\!py-0{padding-top:0!important;padding-bottom:0!important}.\!py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.\!py-3\.5{padding-top:.875rem!important;padding-bottom:.875rem!important}.\!py-4{padding-top:1rem!important;padding-bottom:1rem!important}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-\[10px\]{padding-left:10px;padding-right:10px}.px-\[16px\]{padding-left:16px;padding-right:16px}.px-\[24px\]{padding-left:24px;padding-right:24px}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[\.85rem\]{padding-top:.85rem;padding-bottom:.85rem}.py-\[6px\]{padding-top:6px;padding-bottom:6px}.\!pl-0{padding-left:0!important}.\!pl-\[16px\]{padding-left:16px!important}.\!pr-0{padding-right:0!important}.\!pr-\[16px\]{padding-right:16px!important}.\!pt-2{padding-top:.5rem!important}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-\[1px\]{padding-bottom:1px}.pb-\[var\(--space-4\)\]{padding-bottom:var(--space-4)}.pl-1{padding-left:.25rem}.pl-1\.5{padding-left:.375rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pl-\[0\]{padding-left:0}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pr-8{padding-right:2rem}.pr-\[0\]{padding-right:0}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-\[16px\]{padding-top:16px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono),ui-monospace,monospace}.font-sans{font-family:var(--font-body),ui-sans-serif,system-ui,sans-serif}.\!text-base{font-size:var(--text-base)!important;line-height:1.5!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.78rem\]{font-size:.78rem}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.text-\[9\.5px\]{font-size:9.5px}.text-base{font-size:var(--text-base);line-height:1.5}.text-lg{font-size:var(--text-lg);line-height:1.4}.text-sm{font-size:var(--text-sm);line-height:1.4}.text-xs{font-size:var(--text-xs);line-height:1.4}.\!font-normal{font-weight:400!important}.font-\[600\]{font-weight:600}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal)var(--tw-slashed-zero)var(--tw-numeric-figure)var(--tw-numeric-spacing)var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-\[1\.5\]{line-height:1.5}.leading-\[1\.6\]{line-height:1.6}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.\!text-\[\#1677FF\]{--tw-text-opacity:1!important;color:rgba(22,119,255,var(--tw-text-opacity,1))!important}.\!text-\[\#1C1E1F\]{--tw-text-opacity:1!important;color:rgba(28,30,31,var(--tw-text-opacity,1))!important}.\!text-\[\#52C51A\]{--tw-text-opacity:1!important;color:rgba(82,197,26,var(--tw-text-opacity,1))!important}.\!text-\[\#6e6e6e\]{--tw-text-opacity:1!important;color:rgba(110,110,110,var(--tw-text-opacity,1))!important}.\!text-\[\#A32D2D\]{--tw-text-opacity:1!important;color:rgba(163,45,45,var(--tw-text-opacity,1))!important}.\!text-\[\#FAAD14\]{--tw-text-opacity:1!important;color:rgba(250,173,20,var(--tw-text-opacity,1))!important}.\!text-\[\#FF4D50\]{--tw-text-opacity:1!important;color:rgba(255,77,80,var(--tw-text-opacity,1))!important}.\!text-\[\#e6e6e6\]{--tw-text-opacity:1!important;color:rgba(230,230,230,var(--tw-text-opacity,1))!important}.\!text-\[var\(--ds-text\)\]{color:var(--ds-text)!important}.\!text-zinc-700{--tw-text-opacity:1!important;color:rgba(63,63,70,var(--tw-text-opacity,1))!important}.text-\[\#252e3e\]{--tw-text-opacity:1;color:rgba(37,46,62,var(--tw-text-opacity,1))}.text-\[\#2e5a38\]{--tw-text-opacity:1;color:rgba(46,90,56,var(--tw-text-opacity,1))}.text-\[\#303a4a\]{--tw-text-opacity:1;color:rgba(48,58,74,var(--tw-text-opacity,1))}.text-\[\#343d52\]{--tw-text-opacity:1;color:rgba(52,61,82,var(--tw-text-opacity,1))}.text-\[\#353f52\]{--tw-text-opacity:1;color:rgba(53,63,82,var(--tw-text-opacity,1))}.text-\[\#3B6D11\]{--tw-text-opacity:1;color:rgba(59,109,17,var(--tw-text-opacity,1))}.text-\[\#4d80c4\]{--tw-text-opacity:1;color:rgba(77,128,196,var(--tw-text-opacity,1))}.text-\[\#535353\]{--tw-text-opacity:1;color:rgba(83,83,83,var(--tw-text-opacity,1))}.text-\[\#5a8ec4\]{--tw-text-opacity:1;color:rgba(90,142,196,var(--tw-text-opacity,1))}.text-\[\#626a77\]{--tw-text-opacity:1;color:rgba(98,106,119,var(--tw-text-opacity,1))}.text-\[\#6e2828\]{--tw-text-opacity:1;color:rgba(110,40,40,var(--tw-text-opacity,1))}.text-\[\#6e6e6e\]{--tw-text-opacity:1;color:rgba(110,110,110,var(--tw-text-opacity,1))}.text-\[\#8A8985\]{--tw-text-opacity:1;color:rgba(138,137,133,var(--tw-text-opacity,1))}.text-\[\#A32D2D\]{--tw-text-opacity:1;color:rgba(163,45,45,var(--tw-text-opacity,1))}.text-\[\#b0bac8\]{--tw-text-opacity:1;color:rgba(176,186,200,var(--tw-text-opacity,1))}.text-\[\#b4c4b9\]{--tw-text-opacity:1;color:rgba(180,196,185,var(--tw-text-opacity,1))}.text-\[var\(--amber\)\]{color:var(--amber)}.text-\[var\(--blue\)\]{color:var(--blue)}.text-\[var\(--calendar-day-disabled-text\)\]{color:var(--calendar-day-disabled-text)}.text-\[var\(--calendar-day-selected-text\)\]{color:var(--calendar-day-selected-text)}.text-\[var\(--calendar-day-text\)\]{color:var(--calendar-day-text)}.text-\[var\(--calendar-day-today-text\)\]{color:var(--calendar-day-today-text)}.text-\[var\(--ds-accent\)\]{color:var(--ds-accent)}.text-\[var\(--ds-danger\)\]{color:var(--ds-danger)}.text-\[var\(--ds-muted\)\]{color:var(--ds-muted)}.text-\[var\(--ds-ok\)\]{color:var(--ds-ok)}.text-\[var\(--ds-text\)\]{color:var(--ds-text)}.text-\[var\(--green-dark\)\]{color:var(--green-dark)}.text-\[var\(--surface-1\)\]{color:var(--surface-1)}.text-\[var\(--text-placeholder\)\]{color:var(--text-placeholder)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--text-tertiary\)\]{color:var(--text-tertiary)}.text-amber-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity,1))}.text-destructive{color:var(--destructive)}.text-emerald-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity,1))}.text-foreground{color:var(--foreground)}.text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity,1))}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-600{--tw-text-opacity:1;color:rgba(234,88,12,var(--tw-text-opacity,1))}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity,1))}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:rgba(161,161,170,var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgba(113,113,122,var(--tw-text-opacity,1))}.text-zinc-700{--tw-text-opacity:1;color:rgba(63,63,70,var(--tw-text-opacity,1))}.text-zinc-900{--tw-text-opacity:1;color:rgba(24,24,27,var(--tw-text-opacity,1))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.\!no-underline{-webkit-text-decoration-line:none!important;text-decoration-line:none!important}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.\!shadow-none{--tw-shadow:0 0 transparent!important;--tw-shadow-colored:0 0 transparent!important;box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)!important}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-\[var\(--shadow-float\)\]{--tw-shadow-color:var(--shadow-float);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[var\(--shadow-lg\)\]{--tw-shadow-color:var(--shadow-lg);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[var\(--shadow-md\)\]{--tw-shadow-color:var(--shadow-md);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[var\(--shadow-sm\)\]{--tw-shadow-color:var(--shadow-sm);--tw-shadow:var(--tw-shadow-colored)}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.filter{filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[border-color\,background-color\]{transition-property:border-color,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[border-color\,box-shadow\,background-color\]{transition-property:border-color,box-shadow,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[color\,box-shadow\,border-color\,background-color\]{transition-property:color,box-shadow,border-color,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[color\,box-shadow\,border-color\]{transition-property:color,box-shadow,border-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[stroke-dashoffset\]{transition-property:stroke-dashoffset;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-none{transition-property:none}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-transform{will-change:transform}[data-slot=dropdown-menu-positioner]{border-radius:var(--radius);box-shadow:var(--shadow-float);overflow:visible}.ds-soft-shadow{box-shadow:var(--shadow-sm)}.ds-soft-shadow:hover,.ds-soft-shadow:focus-within{box-shadow:var(--shadow-composer)}.calendar-root.rdp-root{--rdp-accent-color:var(--calendar-day-selected-bg);--rdp-accent-background-color:var(--calendar-day-hover-bg);--rdp-day-height:36px;--rdp-day-width:36px;--rdp-day_button-border-radius:6px;--rdp-day_button-height:36px;--rdp-day_button-width:36px;--rdp-day_button-border:1px solid transparent;--rdp-selected-border:1px solid transparent;--rdp-today-color:var(--calendar-day-today-text);--rdp-disabled-opacity:1;--rdp-outside-opacity:1;--rdp-nav_button-height:2rem;--rdp-nav_button-width:2rem}.calendar-root .rdp-selected .rdp-day_button{background-color:var(--calendar-day-selected-bg);color:var(--calendar-day-selected-text);border-color:transparent}.calendar-root .rdp-today:not(.rdp-selected) .rdp-day_button{color:var(--calendar-day-today-text);border-color:var(--calendar-day-today-border)}.calendar-root .rdp-disabled .rdp-day_button{background-color:var(--calendar-day-disabled-bg);color:var(--calendar-day-disabled-text);opacity:1}:root{--font-body:"-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica Neue, PingFang SC, Hiragino Sans GB, Microsoft YaHei UI, Microsoft YaHei, Arial, sans-serif";--font-sans:var(--font-body);--font-anthropic-sans:"Anthropic Sans",system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-anthropic-serif:"Anthropic Serif",Georgia,"Arial Hebrew","Noto Sans Hebrew","Times New Roman",Times,"Hiragino Sans","Yu Gothic",Meiryo,"Noto Sans CJK JP","PingFang TC","Microsoft JhengHei","Noto Sans CJK TC","PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR",serif;--font-anthropic-mono:"Anthropic Mono",ui-monospace,monospace;--font-open-dyslexic:"OpenDyslexic","Comic Sans MS",ui-serif,serif;--accent:#1db887}.outline-none{outline-offset:0;outline:none}p,h1,h2,h3,h4,h5,h6{margin:0;padding:0}ul,li{margin:0;padding:0;list-style:none}[data-slot=tabs-list][data-variant=line] [data-slot=tabs-trigger][data-state=active],[data-slot=tabs-list][data-variant=line] [data-slot=tabs-trigger][data-active]:not([data-active=false]),[data-slot=tabs-list][data-variant=line] [data-slot=tabs-trigger][aria-selected=true]{color:var(--ds-main,#1db887);border-bottom:2px solid var(--ds-main,#1db887)}.placeholder\:text-\[var\(--text-placeholder\)\]::placeholder{color:var(--text-placeholder)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.first\:pt-0:first-child{padding-top:0}.hover\:\!border-0:hover{border-width:0!important}.hover\:\!border-\[\#e5e5e5\]:hover{--tw-border-opacity:1!important;border-color:rgba(229,229,229,var(--tw-border-opacity,1))!important}.hover\:\!border-\[var\(--ds-accent\)\]:hover{border-color:var(--ds-accent)!important}.hover\:border-\[color\:var\(--ds-accent\)\]:hover{border-color:var(--ds-accent)}.hover\:border-\[color\:var\(--ds-border-hover\)\]:hover{border-color:var(--ds-border-hover)}.hover\:border-\[var\(--border-hover\)\]:hover{border-color:var(--border-hover)}.hover\:border-\[var\(--calendar-day-today-border\)\]:hover{border-color:var(--calendar-day-today-border)}.hover\:border-\[var\(--ds-accent-hover\)\]:hover{border-color:var(--ds-accent-hover)}.hover\:border-\[var\(--ds-border-hover\)\]:hover{border-color:var(--ds-border-hover)}.hover\:\!bg-\[var\(--ds-item-hover\)\]:hover{background-color:var(--ds-item-hover)!important}.hover\:\!bg-\[var\(--green-light\)\]:hover{background-color:var(--green-light)!important}.hover\:\!bg-transparent:hover{background-color:transparent!important}.hover\:bg-\[\#333\]:hover{--tw-bg-opacity:1;background-color:rgba(51,51,51,var(--tw-bg-opacity,1))}.hover\:bg-\[\#fff1f1\]:hover{--tw-bg-opacity:1;background-color:rgba(255,241,241,var(--tw-bg-opacity,1))}.hover\:bg-\[var\(--calendar-day-disabled-bg\)\]:hover{background-color:var(--calendar-day-disabled-bg)}.hover\:bg-\[var\(--calendar-day-hover-bg\)\]:hover{background-color:var(--calendar-day-hover-bg)}.hover\:bg-\[var\(--calendar-day-selected-bg\)\]:hover{background-color:var(--calendar-day-selected-bg)}.hover\:bg-\[var\(--ds-accent-hover\)\]:hover{background-color:var(--ds-accent-hover)}.hover\:bg-\[var\(--ds-item-active\)\]:hover{background-color:var(--ds-item-active)}.hover\:bg-\[var\(--ds-item-bg-hover\)\]:hover{background-color:var(--ds-item-bg-hover)}.hover\:bg-\[var\(--ds-item-hover\)\]:hover{background-color:var(--ds-item-hover)}.hover\:bg-\[var\(--ds-main-tint\)\]:hover{background-color:var(--ds-main-tint)}.hover\:bg-\[var\(--green-light\)\]:hover{background-color:var(--green-light)}.hover\:bg-\[var\(--surface-1\)\]:hover{background-color:var(--surface-1)}.hover\:bg-\[var\(--surface-2\)\]:hover{background-color:var(--surface-2)}.hover\:bg-\[var\(--surface-3\)\]:hover{background-color:var(--surface-3)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-white\/70:hover{background-color:rgba(255,255,255,.7)}.hover\:\!text-\[\#cfcfcf\]:hover{--tw-text-opacity:1!important;color:rgba(207,207,207,var(--tw-text-opacity,1))!important}.hover\:\!text-\[var\(--green-dark\)\]:hover{color:var(--green-dark)!important}.hover\:text-\[\#343d52\]:hover{--tw-text-opacity:1;color:rgba(52,61,82,var(--tw-text-opacity,1))}.hover\:text-\[color\:var\(--ds-accent\)\]:hover{color:var(--ds-accent)}.hover\:text-\[var\(--calendar-day-disabled-text\)\]:hover{color:var(--calendar-day-disabled-text)}.hover\:text-\[var\(--calendar-day-hover-text\)\]:hover{color:var(--calendar-day-hover-text)}.hover\:text-\[var\(--calendar-day-selected-text\)\]:hover{color:var(--calendar-day-selected-text)}.hover\:text-\[var\(--ds-accent\)\]:hover{color:var(--ds-accent)}.hover\:text-\[var\(--ds-accent-hover\)\]:hover{color:var(--ds-accent-hover)}.hover\:text-\[var\(--ds-text\)\]:hover{color:var(--ds-text)}.hover\:text-\[var\(--green-dark\)\]:hover{color:var(--green-dark)}.hover\:text-\[var\(--surface-1\)\]:hover{color:var(--surface-1)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-red-800:hover{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity,1))}.hover\:text-zinc-600:hover{--tw-text-opacity:1;color:rgba(82,82,91,var(--tw-text-opacity,1))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgba(63,63,70,var(--tw-text-opacity,1))}.hover\:text-zinc-900:hover{--tw-text-opacity:1;color:rgba(24,24,27,var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:\!no-underline:hover{-webkit-text-decoration-line:none!important;text-decoration-line:none!important}.hover\:\!shadow-none:hover{--tw-shadow:0 0 transparent!important;--tw-shadow-colored:0 0 transparent!important;box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)!important}.hover\:shadow-\[0_2px_12px_rgba\(0\,0\,0\,0\.06\)\]:hover{--tw-shadow:0 2px 12px rgba(0,0,0,.06);--tw-shadow-colored:0 2px 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.hover\:shadow-\[var\(--shadow-sm\)\]:hover{--tw-shadow-color:var(--shadow-sm);--tw-shadow:var(--tw-shadow-colored)}.focus\:\!border-0:focus{border-width:0!important}.focus\:bg-\[\#fff1f1\]:focus{--tw-bg-opacity:1;background-color:rgba(255,241,241,var(--tw-bg-opacity,1))}.focus\:bg-\[var\(--ds-item-hover\)\]:focus{background-color:var(--ds-item-hover)}.focus\:bg-\[var\(--surface-2\)\]:focus{background-color:var(--surface-2)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-\[var\(--ds-text\)\]:focus{color:var(--ds-text)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:\!shadow-none:focus{--tw-shadow:0 0 transparent!important;--tw-shadow-colored:0 0 transparent!important;box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)!important}.focus\:\!outline-none:focus{outline-offset:2px!important;outline:2px solid transparent!important}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid transparent}.focus-visible\:\!border-0:focus-visible{border-width:0!important}.focus-visible\:\!border-\[\#e5e5e5\]:focus-visible{--tw-border-opacity:1!important;border-color:rgba(229,229,229,var(--tw-border-opacity,1))!important}.focus-visible\:border-\[var\(--amber\)\]:focus-visible{border-color:var(--amber)}.focus-visible\:border-\[var\(--border-focus\)\]:focus-visible{border-color:var(--border-focus)}.focus-visible\:border-\[var\(--green-dark\)\]:focus-visible{border-color:var(--green-dark)}.focus-visible\:border-destructive:focus-visible{border-color:var(--destructive)}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:\!shadow-none:focus-visible{--tw-shadow:0 0 transparent!important;--tw-shadow-colored:0 0 transparent!important;box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)!important}.focus-visible\:\!outline-none:focus-visible{outline-offset:2px!important;outline:2px solid transparent!important}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid transparent}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 transparent)}.focus-visible\:ring-\[var\(--ds-accent\)\]:focus-visible{--tw-ring-color:var(--ds-accent)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:\[box-shadow\:0_0_0_2px_rgba\(220\,38\,38\,0\.18\)\]:focus-visible{box-shadow:0 0 0 2px rgba(220,38,38,.18)}.focus-visible\:\[box-shadow\:0_0_0_2px_rgba\(255\,181\,71\,0\.25\)\]:focus-visible{box-shadow:0 0 0 2px rgba(255,181,71,.25)}.focus-visible\:\!\[box-shadow\:none\]:focus-visible{box-shadow:none!important}.focus-visible\:\[box-shadow\:var\(--ring-focus-sm\)\]:focus-visible{box-shadow:var(--ring-focus-sm)}.read-only\:focus-visible\:border-border:focus-visible:-moz-read-only{border-color:var(--border)}.read-only\:focus-visible\:border-border:focus-visible:read-only{border-color:var(--border)}.read-only\:focus-visible\:\[box-shadow\:none\]:focus-visible:-moz-read-only{box-shadow:none}.read-only\:focus-visible\:\[box-shadow\:none\]:focus-visible:read-only{box-shadow:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-\[var\(--ds-muted\)\]:disabled{color:var(--ds-muted)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:hover\:border-\[var\(--ds-border\,var\(--input\)\)\]:hover:disabled{border-color:var(--ds-border,var(--input))}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.disabled\:focus-visible\:border-\[var\(--ds-border\,var\(--input\)\)\]:focus-visible:disabled{border-color:var(--ds-border,var(--input))}.disabled\:focus-visible\:border-border:focus-visible:disabled{border-color:var(--border)}.disabled\:focus-visible\:\[box-shadow\:none\]:focus-visible:disabled{box-shadow:none}.group:focus-within .group-focus-within\:pointer-events-auto{pointer-events:auto}.group:focus-within .group-focus-within\:visible{visibility:visible}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:pointer-events-auto{pointer-events:auto}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:opacity-100{opacity:1}.group\/dropdown-menu-item:focus .group-focus\/dropdown-menu-item\:text-accent-foreground{color:var(--accent-foreground)}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.has-\[\:focus-visible\]\:border-\[var\(--border-focus\)\]:has(:focus-visible){border-color:var(--border-focus)}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.has-\[\:focus-visible\]\:\[box-shadow\:var\(--ring-focus-sm\)\]:has(:focus-visible){box-shadow:var(--ring-focus-sm)}.group\/table-row:has(td:hover) .group-has-\[td\:hover\]\/table-row\:\!bg-\[var\(--ds-item-hover\)\]{background-color:var(--ds-item-hover)!important}.aria-expanded\:border-\[var\(--ds-accent-hover\)\][aria-expanded=true]{border-color:var(--ds-accent-hover)}.aria-expanded\:bg-\[var\(--surface-1\)\][aria-expanded=true]{background-color:var(--surface-1)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-\[var\(--ds-accent-hover\)\][aria-expanded=true]{color:var(--ds-accent-hover)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[size\=default\]\:size-4[data-size=default]{width:1rem;height:1rem}.data-\[size\=sm\]\:size-3\.5[data-size=sm]{width:.875rem;height:.875rem}.data-\[size\=default\]\:h-9[data-size=default]{height:2.25rem}.data-\[size\=lg\]\:h-10[data-size=lg]{height:2.5rem}.data-\[size\=lg\]\:h-\[42px\][data-size=lg]{height:42px}.data-\[size\=sm\]\:h-7[data-size=sm]{height:1.75rem}.data-\[checked\]\:translate-x-4[data-checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[unchecked\]\:translate-x-0\.5[data-unchecked]{--tw-translate-x:.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[checked\]\:border-\[var\(--ds-accent\)\][data-checked]{border-color:var(--ds-accent)}.data-\[popup-open\]\:border-\[var\(--border-focus\)\][data-popup-open],.data-\[state\=open\]\:border-\[var\(--border-focus\)\][data-state=open]{border-color:var(--border-focus)}.data-\[checked\]\:bg-\[var\(--ds-accent\)\][data-checked]{background-color:var(--ds-accent)}.data-\[checked\]\:bg-primary[data-checked]{background-color:var(--primary)}.data-\[checked\]\:bg-primary-foreground[data-checked]{background-color:var(--primary-foreground)}.data-\[checked\]\:bg-white[data-checked]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.data-\[state\=checked\]\:bg-\[var\(--ds-item-active\)\][data-state=checked]{background-color:var(--ds-item-active)}.data-\[active\]\:font-medium[data-active]{font-weight:500}.data-\[active\]\:text-\[var\(--ds-accent\)\][data-active]{color:var(--ds-accent)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[popup-open\]\:\[box-shadow\:var\(--ring-focus-sm\)\][data-popup-open],.data-\[state\=open\]\:\[box-shadow\:var\(--ring-focus-sm\)\][data-state=open]{box-shadow:var(--ring-focus-sm)}.data-\[active\]\:after\:absolute[data-active]:after{content:var(--tw-content);position:absolute}.data-\[active\]\:after\:bottom-\[-1px\][data-active]:after{content:var(--tw-content);bottom:-1px}.data-\[active\]\:after\:left-0[data-active]:after{content:var(--tw-content);left:0}.data-\[active\]\:after\:right-0[data-active]:after{content:var(--tw-content);right:0}.data-\[active\]\:after\:h-\[2px\][data-active]:after{content:var(--tw-content);height:2px}.data-\[active\]\:after\:bg-\[var\(--ds-accent\)\][data-active]:after{content:var(--tw-content);background-color:var(--ds-accent)}.data-\[active\]\:after\:content-\[\"\"\][data-active]:after{--tw-content:"";content:var(--tw-content)}.data-\[variant\=destructive\]\:focus\:text-destructive:focus[data-variant=destructive]{color:var(--destructive)}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:mb-0{margin-bottom:0}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:mr-0{margin-right:0}.group\/tabs-list[data-variant=default] .group-data-\[variant\=default\]\/tabs-list\:h-8{height:2rem}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:h-9{height:2.25rem}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:rounded-full{border-radius:9999px}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:px-5{padding-left:1.25rem;padding-right:1.25rem}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:pb-0{padding-bottom:0}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:font-semibold{font-weight:600}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:text-\[\#828282\]{--tw-text-opacity:1;color:rgba(130,130,130,var(--tw-text-opacity,1))}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:bg-\[\#fff\][data-active]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity,1))}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:font-bold[data-active]{font-weight:700}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:text-\[\#333333\][data-active]{--tw-text-opacity:1;color:rgba(51,51,51,var(--tw-text-opacity,1))}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:shadow-\[0_2px_10px_rgba\(15\,23\,42\,0\.08\)\][data-active]{--tw-shadow:0 2px 10px rgba(15,23,42,.08);--tw-shadow-colored:0 2px 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.group\/tabs-list[data-variant=pill] .group-data-\[variant\=pill\]\/tabs-list\:data-\[active\]\:after\:\[content\:none\][data-active]:after{content:none}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:inline{display:inline}.sm\:w-\[220px\]{width:220px}.sm\:shrink-0{flex-shrink:0}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:pl-2\.5{padding-left:.625rem}.sm\:pr-2\.5{padding-right:.625rem}}@media (min-width:768px){.md\:w-\[300px\]{width:300px}.md\:flex-row{flex-direction:row}.md\:border-b-0{border-bottom-width:0}.md\:border-r{border-right-width:1px}}@media (min-width:1024px){.lg\:flex-row{flex-direction:row}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}}@media (prefers-color-scheme:dark){.dark\:border-input{border-color:var(--input)}}.\[\&\>td\]\:transition-colors>td{transition-property:color,background-color,border-color,-webkit-text-decoration-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.data-\[state\=selected\]\:\[\&\>td\]\:\!bg-\[var\(--ds-item-active\)\]>td[data-state=selected]{background-color:var(--ds-item-active)!important}.\[\&_\[data-slot\=tooltip\]\]\:flex [data-slot=tooltip]{display:flex}.\[\&_\[data-slot\=tooltip\]\]\:w-full [data-slot=tooltip]{width:100%}.\[\&_\[data-slot\=tooltip\]\]\:min-w-0 [data-slot=tooltip]{min-width:0}.\[\&_\[data-slot\=tooltip\]\]\:max-w-full [data-slot=tooltip]{max-width:100%}.\[\&_path\]\:\!fill-none path{fill:none!important}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\[\&_svg\:not\(\[fill\=none\]\)_path\]\:fill-current svg:not([fill=none]) path{fill:currentColor}.\[\&_svg\[fill\=none\]_path\]\:fill-none svg[fill=none] path{fill:none}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-5 svg{width:1.25rem;height:1.25rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\]\:stroke-current svg{stroke:currentColor}.\[\&_svg\]\:align-middle svg{vertical-align:middle}.\[\&_svg\]\:\!text-red-600 svg{--tw-text-opacity:1!important;color:rgba(220,38,38,var(--tw-text-opacity,1))!important}.hover\:\[\&_svg\]\:\!text-red-800 svg:hover{--tw-text-opacity:1!important;color:rgba(153,27,27,var(--tw-text-opacity,1))!important}.\[\&_svg_path\]\:\!fill-current svg path{fill:currentColor!important}.\[\&_tr\:last-child\]\:border-b-0 tr:last-child,.\[\&_tr\:last-child_td\]\:border-b-0 tr:last-child td{border-bottom-width:0}.\[\&_tr\]\:table tr{display:table}.\[\&_tr\]\:w-full tr{width:100%}.\[\&_tr\]\:table-fixed tr{table-layout:fixed}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
|