e3cli 1.0.6__tar.gz → 1.0.7__tar.gz
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.
- {e3cli-1.0.6 → e3cli-1.0.7}/CLAUDE.md +6 -7
- {e3cli-1.0.6 → e3cli-1.0.7}/PKG-INFO +1 -1
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/__init__.py +1 -1
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/agent_prompt.md +15 -10
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/skills/e3cli/SKILL.md +14 -13
- {e3cli-1.0.6 → e3cli-1.0.7}/pyproject.toml +1 -1
- {e3cli-1.0.6 → e3cli-1.0.7}/.github/workflows/ci.yml +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/.github/workflows/release.yml +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/.gitignore +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/COMMIT_EDITMSG +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/Formula/e3cli.rb +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/HEAD +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/LICENSE +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/Makefile +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/README.md +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/README_zh-TW.md +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/config +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/description +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/__main__.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/ai/__init__.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/api/__init__.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/api/assignments.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/api/client.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/api/courses.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/api/files.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/api/forums.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/api/members.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/api/messages.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/api/site.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/auth.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/cli.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/__init__.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/_common.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/announcements.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/assignments.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/courses.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/download.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/interactive.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/login.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/logout.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/members.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/message.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/profile.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/schedule.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/setup.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/skill.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/submit.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/commands/sync.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/config.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/course_name.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/credential.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/formatting.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/http.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/i18n.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/scheduler/__init__.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/scheduler/cron.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/semester.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/storage/__init__.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/storage/db.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/storage/models.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/storage/tracking.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/e3cli/tui_menu.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/gk/config +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/hooks/applypatch-msg.sample +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/hooks/commit-msg.sample +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/hooks/fsmonitor-watchman.sample +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/hooks/post-update.sample +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/hooks/pre-applypatch.sample +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/hooks/pre-commit.sample +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/hooks/pre-merge-commit.sample +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/hooks/pre-push.sample +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/hooks/pre-rebase.sample +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/hooks/pre-receive.sample +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/hooks/prepare-commit-msg.sample +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/hooks/push-to-checkout.sample +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/hooks/sendemail-validate.sample +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/hooks/update.sample +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/index +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/info/exclude +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/logs/HEAD +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/logs/refs/heads/main +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/logs/refs/remotes/origin/main +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/00/12f54a62a13459820d72b63eee8781d5cc0fae +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/00/373e054c653e54b45cacae42d71dff863626bf +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/04/9ee8e5968a9a80f0f1ac53d12141c61e7298ba +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/04/e0353337b6bb0c0ba43625456e9aaf13090a90 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/05/0fec5da6aa35de1058b11671dfd6255b4d6b50 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/06/5c820fc3efcd99754c56197a9c4e7142da710d +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/07/01890044580c4644114b781d474012b2fade80 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/07/fb70ff1c509aad1f137a9255b9cb98733472a3 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/0e/89da06e2d2273057dfa03705c42bbc57af1a6a +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/13/ad53a74b643378a7aebfe32d672b256ab73bef +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/13/fb66226ef7de52c039b1030460c5bb9ad1d576 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/14/f44dcbbf53914d2d2b5b5a43453932fb0c6dd6 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/15/6da5879f795abd72f645bbcadf18a4928a7502 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/19/f9906c2882926f53e77b4be8be579906954a69 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/1a/3f91d11c7c9c764fcd1ed01a4a0c3f13b68fee +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/1c/1765c4b372bd085c6224472de72f66e8d9fbe9 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/22/e1020c805f3235c5c85d711a45d70d42883de0 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/24/7f60ac43c8a065926f3228575a34d0ecd6f93d +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/25/4d6ec800e32759015479a68a3afd096ee12680 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/27/1aee134d84254ba525ce728b3ecbbcbd73fe97 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/27/41f5e19bf92e37c983e7d4d307ec09726b95ed +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/28/265727a791db9daef09c85ab159ef799908dc4 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/2d/4c64fc2752b1356569f24e6f3d53cfd8ff3236 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/31/61734dcf7d8b86372753c2552746641969ca7a +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/33/3da47d4f7d08fc2836374614b902a27f1a7638 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/35/25cb5144ca2d643d918824df0f08042f8f1f19 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/35/faf439f5e7e6730398397e0988c874ec74c15e +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/37/2acc5a62b5a8a7cd97d3eb07614d2a71d65c34 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/37/f0c29518b9df6cde4d0cd7857d95b425fcaec9 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/38/8bc96a53da22ddf8d3684c10480a9ed89274a6 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/38/d062de47938882cc8c951cfcd18266bfa834d0 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/39/bbbcd0ade10f3066a853cca53ad5159ac78e30 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/3c/dd09e594d5716969279d6e3fcf99fca00f8504 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/3e/71c91d71be5667a313ecfae444718750b2bf55 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/3e/7febbe12d705885c2503c3e0d785e488f60966 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/3f/0235e32813f74985f0363e64a110093d979e2f +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/40/9ded4237099e6e52de508dd46ebe74cf769e79 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/41/88bc8a7a0569fd47efb215aad2e3f4a7b7e188 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/42/53425dbc4368909b4b782fd53360537d3d9033 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/42/925cbdfef5b97f5ae199323a5545810207af09 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/42/b238ab6f9c3c74cd23a14c094ad8eb1c66d52b +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/43/49874ad2cdacc9d50d6ba06df25765d077248a +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/43/cead7a00c7ef98e1d5c9c86e50a3ccde712277 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/43/e88c1a0a115fc72390e7bcef8ce0a8328a4e05 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/45/9c23839b54e81c741fd2b5241c2b164079fcc1 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/47/d9fe1a890a3d711662f4f414aee1ea6ae92261 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/49/da3d511c413f21dca0f072ad52b0aca2d3c167 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/4f/1897fc4248a024fc88e51f53f9028f531318cc +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/50/f89469bbe802dad848dcfeb2a8e447d4cd5787 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/51/7ac4b389a310399e096baab0af89f1e5de7b3b +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/52/61e3b09b4722a7003c53a643085ca69e0c7bbd +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/53/7671d097d835bda94f0460295ce1cf49eda99a +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/54/8d12b92b82f95dc93b4f069086d8214651593d +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/55/2cd273856516fd1a5e026ef23c9ffeb5a33876 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/56/52f31ea165a3ace62d1394af754a8aac78aa9f +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/57/9c69b0b67ebff094514cec01f692e21ca5e965 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/57/ddc6c8820bd8ec98845e7f5a29bf3302f0f481 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/58/2fba780a9cb7a9f312bd21cf97f16bc5b347c3 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/5c/6b70ca4f2f822429a97a84428580966d84ab3a +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/5e/c686a09ef712b11372e38d25c958b027b3f21f +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/5f/96e4a89ab06b40be8c45cd0d975bdc2f957064 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/60/c9053920fd6a8cd64eb28d8df99bcc2d176d59 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/62/1ab88d46df0f1b1015e250f4c8174729629400 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/62/5d72f7372bae8ab3ccc056e829c277c0705d1b +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/64/1ee83ac5a80cc7ae2e5f036db6329eacd03deb +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/65/011e04aeddd4c893a7a64b7ef745e9ad1af3c3 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/66/b5f21689d122c08ee3b98d35f3de096addcfcc +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/69/89864c6313789a85608f01eda8976e1215bd31 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/69/db255149b01f9ab01b48138fbb0f2d9b8b1acd +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/6a/597477c08142472e4a0559811e459ae7b127fc +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/6a/5e5e8ca97f2dec142b2ba15ed97a8493c16a54 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/6b/d7a53ed2c5cd4c0e97267b70fff1dd461b60b7 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/6d/05c5aaad4ff44578bbc46b5f7fc96f0d114e04 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/6d/5c36f68694ad597a4deeba39e56e561ba72f2f +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/6e/3f7883a133ec8310cf8ad07cba6aead4583ff9 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/6f/15710e7621abc864dabb788c5dfcab181e4551 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/71/6894eaf5165344374d82dda25e82eff5fce119 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/71/ca2fc16d0959c7465d57077a260156674274ba +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/74/0db02cd55f69b9f21f49a359fc14c15ad7f8ce +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/76/37fd54a47bfbdf2eed4827b78dff6019b87e57 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/79/15535a493620715580f5d0ce8c2481172d44bd +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/7b/ad63d2dd7dab6c33f73a31bd359129523ac5ce +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/7c/95c6bec18763286e0100ebc4fbef71df48b0ae +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/7f/a3240ccd3661f7786bd269a0b0875cd9037b4b +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/82/8511321c72b509d8b39d3a392014e2748036ad +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/84/3e8bf8d7bf26780eb4c44f0e1733dae7df37da +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/84/45dbe199e0d8e83aa85b04f68c4b4e97764c46 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/85/58de1a164b671ae0c5e9867140f4d105b26c71 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/85/bfef5de75cdd3313dea22060cd9f22bf6f611c +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/87/075d1b2ca01520a54b6e2053d2b07e30ff550e +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/8a/2f2b74b3a7f9b0f2969ff455d1b5a149189522 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/8b/da82680cf77bd85ef26d162f09df5b555c4817 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/8b/f368e49da5649603590fd2ad157fb423f91240 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/8c/988f80dcde632bee9389cb52d7c2639e358676 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/8d/9cc78f614e082762dfd1af4d90b83e97509ba4 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/91/b7e6699fcf2d3d87bc9209c30743851b95937e +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/97/6c6c60bcbbfe1b2ea7dc08631420753e2a2c55 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/98/414112321df2d4fef51640978555b7b0a10740 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/98/5dbb79e4f3157ba4a5b967ca1f045087fe718c +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/9b/8451b0fde38dfc5250c52aab3ef3fd30ef616d +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/9d/04ed7e9c2fdc16eadb72867c45c682d0661d8e +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/9d/1dcfdaf1a6857c5f83dc27019c7600e1ffaff8 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/9e/9190183a3e710fd6a3caabafda0395aacc4907 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/a4/9ab06df8e92e9921f006c4687a8119a41f140c +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/a4/9e182d79178f30917cb9d5d007bf4ad4354efc +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/a5/374e27f1f437b7b8d795bdbba9990e1b33ac4a +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/a9/621b26eb6fcf44e82b8f40fe15a08db273ea94 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/a9/958ca6bbbce4793eb63dfc75053f6f2c468f7d +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/ab/8112dc0e039a6764e18515bc8b9d25bf8cba72 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/ad/86572a7a3d9c41b39f68c1509f45eeb3c47145 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/ae/7c0c0693884ee9968bd46c7e3c1c4801c93f07 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/af/66d7ee37e22b5b4ffcb43392bcd6fe58b7189b +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/b0/1eb7d29ce867088dcfec990e3a118ee7d3a3b2 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/b0/6bfa35440cb0bf33a698db8b116077b885dade +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/b2/30e20e02ded29d01eb93f89b62ab47fb378e1f +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/b2/e68381120a59886f7999876775e9b3dfeaa550 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/b3/a239ea6bac51a6315988af95d83e86323aa461 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/b4/1e24e40f90ad6c12b6f840ecdb133b2749ca7e +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/b9/4bb6724a0646fb1636a66de603cec15e7dfa3e +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/bb/8fccf2b545f4ba46149fb07bd1f700ae7bcc87 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/be/9fc276a620ea29d87e2001489e436f6e714a34 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/bf/a019fa30db2df7e7732d119032e84391c3b6ce +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/c0/2beae1cbe94f20d2a4ef88b46bd8ade684f911 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/c6/1651ba7a27cd0ff5c726c4ce79751facc64f39 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/c7/f3f6ba90a1ec28fdef6ec7b10d82f4ad144969 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/cb/b097bc0ed0f65614e13f563a22624f0ce078e6 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/cd/3c462e6a24c9757a0fffd7c42abce926e1adf5 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/ce/f38215c9c7dc239421d85ca93221ad7beb63cb +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/cf/286c5bf7cffc4bf93b51554d4299845172df84 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/d0/aa218f92135250fa46b8490c68f4e77846b1b1 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/d1/70d82f10fffbce5936fc1d0f5e1f051c354413 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/d1/eccedbd9604b59bcc247b6f8a177df5486ce57 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/d4/1a891e54bfd7ddd745555624ce9142a47e5fdd +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/d8/2d02db21187a83d77a71c8665e1b4699e481fb +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/d8/76cc79a2f25f4e8616805811110f700e277af2 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/db/3bb89cba087a88feb4075b467732846a1d0118 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/db/dc7e591f97aab4da5d2acb29194355c277acf6 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/df/8c39b5b6cfcf19f8f27d5913830cb0a8fcd4c8 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/df/a8267b7bcb40cc3c4524934d386516e27dd5db +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/e0/87a95e8c14f5d090c04d19d3a9f91a208b7841 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/e0/e63743c9660300f76483d3ad27ecd85241cdc5 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/e2/2ab51073af126f1b602884b02dad11f9027942 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/e4/1b4051ac3bac5364f7a5ce048ecc41147857d6 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/e4/1dbd057baa81d4e660a52d2486ee700f8c7b60 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/e4/fba2702e9b6e30902b10ef946b8e05ee14b3d6 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/e5/23965887274b5a3060bca39ec005e6fe99883b +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/e6/3334965c2117237f22708d1c4681be5d77574b +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/e8/a732d4490c14cf239dd7081c8c1d15b44c495b +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/eb/22d1e687a8a2dd36474c7add9535ebe9682d3b +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/eb/7320ad4e2f7d18b503c64b2a983c2a41fc8eb1 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/ec/2badeec80e4ddc66a5168d8c3aec878a30f813 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/ec/d43841d2e6e7268caf4a1bb03c3f549ca75f49 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/f0/c3d899d1d7578174419e3d21fbb43d469ea0df +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/f2/d740d8021553398f98f1302398006e988697ef +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/f3/505619e9502b8a75ce04cf75ccb61e54f16cf5 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/f3/681d2437d363e9865aec3eb4e3e8f5aff46ca6 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/f3/b1f01d9f8fab935f87bee101fa0f1f944c30d8 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/f3/e2082feab4cb9a889f623d8fe7b58628f82da9 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/f4/21fa018addaacd7f59e11603b182b38207abca +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/f5/9e7ad7dad379a9752969e3443d3ed60a82cdf1 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/f6/d28255ddf6cd98d69342c282663771093ad834 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/f7/c7da26bbfca63ed8af08f9b7b1ace4930dad44 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/f9/aece29cc134fc99f629129d46c712f015b00c0 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/fb/4fbcdf3b0da9864651c5d50322b27c21f26fed +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/fb/ba70de6b161e2918d9d9e62d734abd85d01ae1 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/fb/bc2db563e1d0b7a0745a04fd0a0c5b5ef7e6aa +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/fc/03924609632d9a9f820119bdf5a9ddf5a4c90a +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/fd/3fb430f4e9190752eb58cef5019660e9aa92ef +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/fd/d0e4feee582591e85b9d488dd4fa1794364abb +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/objects/fe/092d97fe5a0e2a3d7b807e1a9f44735281a286 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/refs/heads/main +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/refs/remotes/origin/main +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/refs/tags/v0.1.0 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/refs/tags/v0.2.0 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/refs/tags/v0.3.0 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/refs/tags/v0.3.1 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/refs/tags/v0.3.2 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/refs/tags/v0.4.0 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/refs/tags/v0.4.1 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/refs/tags/v0.4.3 +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/tests/__init__.py +0 -0
- {e3cli-1.0.6 → e3cli-1.0.7}/tests/test_basic.py +0 -0
|
@@ -66,13 +66,12 @@ e3cli skill uninstall # remove
|
|
|
66
66
|
|
|
67
67
|
## Workflow: When a New Assignment is Detected
|
|
68
68
|
|
|
69
|
-
1. `e3cli
|
|
70
|
-
2. `e3cli assignments
|
|
71
|
-
3. `e3cli
|
|
72
|
-
4.
|
|
73
|
-
5.
|
|
74
|
-
6.
|
|
75
|
-
7. **Always confirm with the user before submitting**
|
|
69
|
+
1. `e3cli assignments` — see what's new/urgent (sorted by deadline). **No sync needed** — this hits the live API.
|
|
70
|
+
2. `e3cli assignments --detail <ID>` — read the full description and check attachments. Also live.
|
|
71
|
+
3. **Only if** the user mentions / asks about a specific course's materials: `e3cli download --course "<name>"` or `e3cli sync --course "<name>"`. Avoid blanket `e3cli sync` / `e3cli download` — they pull every file including large media (mp4 lectures, recordings).
|
|
72
|
+
4. Work on the assignment
|
|
73
|
+
5. `e3cli submit <ID> <file>` — submit when ready
|
|
74
|
+
6. **Always confirm with the user before submitting**
|
|
76
75
|
|
|
77
76
|
## Reading Assignment Details
|
|
78
77
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: e3cli
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.7
|
|
4
4
|
Summary: NYCU E3 Moodle automation CLI — sync courses, download materials, submit assignments.
|
|
5
5
|
Project-URL: Homepage, https://github.com/junlinwk/e3cli
|
|
6
6
|
Project-URL: Repository, https://github.com/junlinwk/e3cli
|
|
@@ -18,33 +18,38 @@ e3cli is a CLI tool for interacting with NYCU's E3 Moodle platform. The agent ca
|
|
|
18
18
|
|
|
19
19
|
## Workflow
|
|
20
20
|
|
|
21
|
-
### Step 1: Check for new assignments
|
|
21
|
+
### Step 1: Check for new assignments (live, no sync)
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
# Sync current semester (downloads new materials + checks assignments)
|
|
25
|
-
e3cli sync
|
|
23
|
+
`assignments` hits the live Moodle API — do NOT prefix it with `e3cli sync`.
|
|
26
24
|
|
|
25
|
+
```bash
|
|
27
26
|
# List assignments with deadlines
|
|
28
27
|
e3cli assignments
|
|
29
28
|
|
|
30
29
|
# Show only assignments due within 7 days
|
|
31
30
|
e3cli assignments --due-soon 7
|
|
31
|
+
|
|
32
|
+
# Full description + attachment URLs for one assignment (also live)
|
|
33
|
+
e3cli assignments --detail <ID>
|
|
32
34
|
```
|
|
33
35
|
|
|
34
|
-
### Step 2:
|
|
36
|
+
### Step 2: Pull supporting materials — only what the user asked about
|
|
35
37
|
|
|
36
|
-
|
|
38
|
+
Course materials may include large media (mp4 lectures, recordings). Scope downloads to the specific course the user mentioned. A blanket `e3cli sync` / `e3cli download` will pull everything for every course and waste bandwidth/time.
|
|
37
39
|
|
|
38
40
|
```bash
|
|
39
|
-
#
|
|
41
|
+
# Materials for one course (download only)
|
|
40
42
|
e3cli download --course "OS"
|
|
41
43
|
|
|
42
|
-
#
|
|
43
|
-
|
|
44
|
+
# Materials + assignment status refresh for one course
|
|
45
|
+
e3cli sync --course "OS"
|
|
46
|
+
|
|
47
|
+
# Find downloaded files for that course
|
|
48
|
+
find ~/e3-downloads/<course>/ -type f
|
|
44
49
|
```
|
|
45
50
|
|
|
46
51
|
The agent should:
|
|
47
|
-
- Read the assignment PDF/description
|
|
52
|
+
- Read the assignment PDF/description (use `--detail` and the attachment URLs)
|
|
48
53
|
- Check `~/e3-downloads/<course>/` for relevant lecture materials
|
|
49
54
|
- Understand the requirements before starting work
|
|
50
55
|
|
|
@@ -24,33 +24,34 @@ e3cli courses # if this errors with "auth"/"token" → user must run: e3cli
|
|
|
24
24
|
|
|
25
25
|
## Core workflow
|
|
26
26
|
|
|
27
|
-
### 1.
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
e3cli sync
|
|
31
|
-
```
|
|
32
|
-
The output prints the materials download directory — remember it for step 4.
|
|
33
|
-
|
|
34
|
-
### 2. Find the right assignment
|
|
27
|
+
### 1. Find the right assignment (no sync needed)
|
|
28
|
+
List and detail commands hit the live Moodle API directly — they do **not** require a prior `e3cli sync`.
|
|
35
29
|
```bash
|
|
36
30
|
e3cli assignments # current semester, sorted by deadline
|
|
37
31
|
e3cli assignments --due-soon 7 # due within 7 days only
|
|
38
32
|
```
|
|
39
33
|
Each row shows an assignment ID. You need that ID for everything that follows.
|
|
40
34
|
|
|
41
|
-
###
|
|
35
|
+
### 2. Read the full description (no sync needed)
|
|
42
36
|
```bash
|
|
43
37
|
e3cli assignments --detail <ID>
|
|
44
38
|
```
|
|
45
39
|
Prints the full description (HTML→text), attachment URLs, submission status, and due date. **Always read this before working** — the one-line summary in `e3cli assignments` is not enough to write a correct submission.
|
|
46
40
|
|
|
47
|
-
###
|
|
41
|
+
### 3. Pull supporting materials — **targeted only**
|
|
42
|
+
Materials may include large media files (mp4 lectures, recordings, slide PDFs). **Never run a blanket sync** unless the user explicitly asks for "sync everything" / "下載全部". Always scope to what the user mentioned.
|
|
48
43
|
```bash
|
|
49
|
-
|
|
50
|
-
e3cli download --course "OS" #
|
|
44
|
+
# ✓ User mentioned course "OS" or a specific assignment in that course
|
|
45
|
+
e3cli download --course "OS" # download-only, single course (fuzzy match)
|
|
46
|
+
e3cli sync --course "OS" # download + refresh assignment status, single course
|
|
47
|
+
|
|
48
|
+
# ✗ Avoid these unless user explicitly says "all" / "everything" / "全部"
|
|
49
|
+
e3cli sync # blanket: every current-semester course
|
|
50
|
+
e3cli download # blanket download
|
|
51
51
|
```
|
|
52
|
+
The output prints the download directory — read the relevant files from there.
|
|
52
53
|
|
|
53
|
-
###
|
|
54
|
+
### 4. Submit (only after explicit user confirmation)
|
|
54
55
|
```bash
|
|
55
56
|
e3cli submit <ID> <file>
|
|
56
57
|
e3cli submit <ID> <file1> <file2> # multiple files
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{e3cli-1.0.6 → e3cli-1.0.7}/HEAD
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|