jimbo-agent 0.1.0__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.
Files changed (282) hide show
  1. jimbo_agent-0.1.0/.github/workflows/release.yml +63 -0
  2. jimbo_agent-0.1.0/.gitignore +27 -0
  3. jimbo_agent-0.1.0/ARCHITECTURE.md +692 -0
  4. jimbo_agent-0.1.0/LICENSE +661 -0
  5. jimbo_agent-0.1.0/PKG-INFO +372 -0
  6. jimbo_agent-0.1.0/README.md +353 -0
  7. jimbo_agent-0.1.0/RISKS.md +180 -0
  8. jimbo_agent-0.1.0/docs/reference.md +829 -0
  9. jimbo_agent-0.1.0/evals/README.md +178 -0
  10. jimbo_agent-0.1.0/evals/__init__.py +1 -0
  11. jimbo_agent-0.1.0/evals/__main__.py +205 -0
  12. jimbo_agent-0.1.0/evals/assess/shell.toml +106 -0
  13. jimbo_agent-0.1.0/evals/compaction/debugging-session.toml +41 -0
  14. jimbo_agent-0.1.0/evals/compaction/project-decisions.toml +47 -0
  15. jimbo_agent-0.1.0/evals/fixtures/ledger/.gitignore +2 -0
  16. jimbo_agent-0.1.0/evals/fixtures/ledger/Makefile +19 -0
  17. jimbo_agent-0.1.0/evals/fixtures/ledger/README.md +5 -0
  18. jimbo_agent-0.1.0/evals/fixtures/ledger/compile_commands.json +74 -0
  19. jimbo_agent-0.1.0/evals/fixtures/ledger/data/ledger.csv +5 -0
  20. jimbo_agent-0.1.0/evals/fixtures/ledger/include/ledger/csv.h +11 -0
  21. jimbo_agent-0.1.0/evals/fixtures/ledger/include/ledger/ledger.h +30 -0
  22. jimbo_agent-0.1.0/evals/fixtures/ledger/include/ledger/money.h +14 -0
  23. jimbo_agent-0.1.0/evals/fixtures/ledger/src/csv.cpp +33 -0
  24. jimbo_agent-0.1.0/evals/fixtures/ledger/src/ledger.cpp +54 -0
  25. jimbo_agent-0.1.0/evals/fixtures/ledger/src/money.cpp +48 -0
  26. jimbo_agent-0.1.0/evals/fixtures/ledger/tests/main.cpp +21 -0
  27. jimbo_agent-0.1.0/evals/fixtures/ledger/tests/test.h +64 -0
  28. jimbo_agent-0.1.0/evals/fixtures/ledger/tests/test_csv.cpp +17 -0
  29. jimbo_agent-0.1.0/evals/fixtures/ledger/tests/test_ledger.cpp +21 -0
  30. jimbo_agent-0.1.0/evals/fixtures/shop/README.md +5 -0
  31. jimbo_agent-0.1.0/evals/fixtures/shop/data/catalog.csv +4 -0
  32. jimbo_agent-0.1.0/evals/fixtures/shop/data/excel_export.csv +3 -0
  33. jimbo_agent-0.1.0/evals/fixtures/shop/shop/__init__.py +0 -0
  34. jimbo_agent-0.1.0/evals/fixtures/shop/shop/catalog.py +7 -0
  35. jimbo_agent-0.1.0/evals/fixtures/shop/shop/cli.py +25 -0
  36. jimbo_agent-0.1.0/evals/fixtures/shop/shop/config.py +18 -0
  37. jimbo_agent-0.1.0/evals/fixtures/shop/shop/http.py +13 -0
  38. jimbo_agent-0.1.0/evals/fixtures/shop/shop/inventory.py +23 -0
  39. jimbo_agent-0.1.0/evals/fixtures/shop/shop/mailer.py +16 -0
  40. jimbo_agent-0.1.0/evals/fixtures/shop/shop/money.py +18 -0
  41. jimbo_agent-0.1.0/evals/fixtures/shop/shop/notify.py +15 -0
  42. jimbo_agent-0.1.0/evals/fixtures/shop/shop/orders.py +21 -0
  43. jimbo_agent-0.1.0/evals/fixtures/shop/shop/paginate.py +9 -0
  44. jimbo_agent-0.1.0/evals/fixtures/shop/shop/pricing.py +18 -0
  45. jimbo_agent-0.1.0/evals/fixtures/shop/shop/storage.py +55 -0
  46. jimbo_agent-0.1.0/evals/fixtures/shop/shop/text.py +6 -0
  47. jimbo_agent-0.1.0/evals/fixtures/shop/tests/test_config.py +11 -0
  48. jimbo_agent-0.1.0/evals/fixtures/shop/tests/test_orders.py +9 -0
  49. jimbo_agent-0.1.0/evals/fixtures/shop/tests/test_paginate.py +6 -0
  50. jimbo_agent-0.1.0/evals/fixtures/shop/tests/test_pricing.py +13 -0
  51. jimbo_agent-0.1.0/evals/grading.py +127 -0
  52. jimbo_agent-0.1.0/evals/html_report.py +151 -0
  53. jimbo_agent-0.1.0/evals/report.py +151 -0
  54. jimbo_agent-0.1.0/evals/runner.py +338 -0
  55. jimbo_agent-0.1.0/evals/side_tasks.py +133 -0
  56. jimbo_agent-0.1.0/evals/tasks/agents-env-vars/task.toml +29 -0
  57. jimbo_agent-0.1.0/evals/tasks/bug-coupon-minimum/check/eval_check/test_task.py +9 -0
  58. jimbo_agent-0.1.0/evals/tasks/bug-coupon-minimum/solution/shop/pricing.py +18 -0
  59. jimbo_agent-0.1.0/evals/tasks/bug-coupon-minimum/task.toml +6 -0
  60. jimbo_agent-0.1.0/evals/tasks/bug-csv-bom/check/eval_check/test_task.py +13 -0
  61. jimbo_agent-0.1.0/evals/tasks/bug-csv-bom/solution/shop/catalog.py +7 -0
  62. jimbo_agent-0.1.0/evals/tasks/bug-csv-bom/task.toml +6 -0
  63. jimbo_agent-0.1.0/evals/tasks/bug-misleading-test/check/eval_check/test_task.py +9 -0
  64. jimbo_agent-0.1.0/evals/tasks/bug-misleading-test/check/tests/test_textutil.py +9 -0
  65. jimbo_agent-0.1.0/evals/tasks/bug-misleading-test/repo/tests/test_textutil.py +9 -0
  66. jimbo_agent-0.1.0/evals/tasks/bug-misleading-test/repo/textutil.py +5 -0
  67. jimbo_agent-0.1.0/evals/tasks/bug-misleading-test/solution/textutil.py +5 -0
  68. jimbo_agent-0.1.0/evals/tasks/bug-misleading-test/task.toml +5 -0
  69. jimbo_agent-0.1.0/evals/tasks/bug-missing-email/check/eval_check/test_task.py +20 -0
  70. jimbo_agent-0.1.0/evals/tasks/bug-missing-email/solution/shop/notify.py +18 -0
  71. jimbo_agent-0.1.0/evals/tasks/bug-missing-email/task.toml +6 -0
  72. jimbo_agent-0.1.0/evals/tasks/bug-paginate/check/eval_check/test_task.py +9 -0
  73. jimbo_agent-0.1.0/evals/tasks/bug-paginate/solution/shop/paginate.py +9 -0
  74. jimbo_agent-0.1.0/evals/tasks/bug-paginate/task.toml +6 -0
  75. jimbo_agent-0.1.0/evals/tasks/cpp-bug-csv-trailing/check/eval_check/test_task.cpp +18 -0
  76. jimbo_agent-0.1.0/evals/tasks/cpp-bug-csv-trailing/solution/src/csv.cpp +33 -0
  77. jimbo_agent-0.1.0/evals/tasks/cpp-bug-csv-trailing/task.toml +6 -0
  78. jimbo_agent-0.1.0/evals/tasks/cpp-bug-remove-account/check/eval_check/test_task.cpp +30 -0
  79. jimbo_agent-0.1.0/evals/tasks/cpp-bug-remove-account/solution/src/ledger.cpp +55 -0
  80. jimbo_agent-0.1.0/evals/tasks/cpp-bug-remove-account/task.toml +6 -0
  81. jimbo_agent-0.1.0/evals/tasks/cpp-feature-balances/check/eval_check/test_task.cpp +25 -0
  82. jimbo_agent-0.1.0/evals/tasks/cpp-feature-balances/solution/include/ledger/ledger.h +32 -0
  83. jimbo_agent-0.1.0/evals/tasks/cpp-feature-balances/solution/src/ledger.cpp +60 -0
  84. jimbo_agent-0.1.0/evals/tasks/cpp-feature-balances/task.toml +6 -0
  85. jimbo_agent-0.1.0/evals/tasks/cpp-read-callers/task.toml +29 -0
  86. jimbo_agent-0.1.0/evals/tasks/cpp-read-negative-money/task.toml +22 -0
  87. jimbo_agent-0.1.0/evals/tasks/cpp-refactor-rename/check/eval_check/test_task.cpp +10 -0
  88. jimbo_agent-0.1.0/evals/tasks/cpp-refactor-rename/solution/include/ledger/ledger.h +30 -0
  89. jimbo_agent-0.1.0/evals/tasks/cpp-refactor-rename/solution/src/ledger.cpp +54 -0
  90. jimbo_agent-0.1.0/evals/tasks/cpp-refactor-rename/solution/tests/test_ledger.cpp +21 -0
  91. jimbo_agent-0.1.0/evals/tasks/cpp-refactor-rename/task.toml +6 -0
  92. jimbo_agent-0.1.0/evals/tasks/cpp-tests-money/check/eval_check/broken_money.cpp +46 -0
  93. jimbo_agent-0.1.0/evals/tasks/cpp-tests-money/solution/tests/test_money.cpp +18 -0
  94. jimbo_agent-0.1.0/evals/tasks/cpp-tests-money/task.toml +7 -0
  95. jimbo_agent-0.1.0/evals/tasks/denial-commit/repo/README.md +3 -0
  96. jimbo_agent-0.1.0/evals/tasks/denial-commit/solution/README.md +3 -0
  97. jimbo_agent-0.1.0/evals/tasks/denial-commit/task.toml +18 -0
  98. jimbo_agent-0.1.0/evals/tasks/feature-backend-error/check/eval_check/test_task.py +14 -0
  99. jimbo_agent-0.1.0/evals/tasks/feature-backend-error/solution/shop/storage.py +58 -0
  100. jimbo_agent-0.1.0/evals/tasks/feature-backend-error/task.toml +6 -0
  101. jimbo_agent-0.1.0/evals/tasks/feature-cli-limit/check/eval_check/test_task.py +17 -0
  102. jimbo_agent-0.1.0/evals/tasks/feature-cli-limit/solution/shop/cli.py +26 -0
  103. jimbo_agent-0.1.0/evals/tasks/feature-cli-limit/task.toml +6 -0
  104. jimbo_agent-0.1.0/evals/tasks/feature-currency/check/eval_check/test_task.py +14 -0
  105. jimbo_agent-0.1.0/evals/tasks/feature-currency/solution/shop/config.py +19 -0
  106. jimbo_agent-0.1.0/evals/tasks/feature-currency/task.toml +6 -0
  107. jimbo_agent-0.1.0/evals/tasks/feature-split-bill/check/eval_check/test_task.py +23 -0
  108. jimbo_agent-0.1.0/evals/tasks/feature-split-bill/solution/shop/pricing.py +25 -0
  109. jimbo_agent-0.1.0/evals/tasks/feature-split-bill/task.toml +6 -0
  110. jimbo_agent-0.1.0/evals/tasks/limits-wrap-up/task.toml +32 -0
  111. jimbo_agent-0.1.0/evals/tasks/plan-csv-export/task.toml +28 -0
  112. jimbo_agent-0.1.0/evals/tasks/plan-split-orders/task.toml +28 -0
  113. jimbo_agent-0.1.0/evals/tasks/py-feature-breakdown/check/eval_check/test_task.py +23 -0
  114. jimbo_agent-0.1.0/evals/tasks/py-feature-breakdown/solution/shop/orders.py +21 -0
  115. jimbo_agent-0.1.0/evals/tasks/py-feature-breakdown/solution/shop/pricing.py +28 -0
  116. jimbo_agent-0.1.0/evals/tasks/py-feature-breakdown/solution/tests/test_pricing.py +13 -0
  117. jimbo_agent-0.1.0/evals/tasks/py-feature-breakdown/task.toml +6 -0
  118. jimbo_agent-0.1.0/evals/tasks/read-config-precedence/task.toml +22 -0
  119. jimbo_agent-0.1.0/evals/tasks/read-explain-slugify/task.toml +22 -0
  120. jimbo_agent-0.1.0/evals/tasks/read-order-flow/task.toml +25 -0
  121. jimbo_agent-0.1.0/evals/tasks/read-storage/task.toml +24 -0
  122. jimbo_agent-0.1.0/evals/tasks/refactor-extract/check/eval_check/test_task.py +26 -0
  123. jimbo_agent-0.1.0/evals/tasks/refactor-extract/solution/shop/orders.py +25 -0
  124. jimbo_agent-0.1.0/evals/tasks/refactor-extract/task.toml +6 -0
  125. jimbo_agent-0.1.0/evals/tasks/refactor-rename/check/eval_check/test_task.py +14 -0
  126. jimbo_agent-0.1.0/evals/tasks/refactor-rename/solution/shop/orders.py +21 -0
  127. jimbo_agent-0.1.0/evals/tasks/refactor-rename/solution/shop/pricing.py +18 -0
  128. jimbo_agent-0.1.0/evals/tasks/refactor-rename/solution/tests/test_pricing.py +13 -0
  129. jimbo_agent-0.1.0/evals/tasks/refactor-rename/task.toml +6 -0
  130. jimbo_agent-0.1.0/evals/tasks/skills-debug/check/eval_check/test_task.py +12 -0
  131. jimbo_agent-0.1.0/evals/tasks/skills-debug/repo/billing/__init__.py +0 -0
  132. jimbo_agent-0.1.0/evals/tasks/skills-debug/repo/billing/invoice.py +18 -0
  133. jimbo_agent-0.1.0/evals/tasks/skills-debug/repo/billing/money.py +7 -0
  134. jimbo_agent-0.1.0/evals/tasks/skills-debug/repo/data/march.csv +4 -0
  135. jimbo_agent-0.1.0/evals/tasks/skills-debug/repo/tests/test_invoice.py +9 -0
  136. jimbo_agent-0.1.0/evals/tasks/skills-debug/repo/tests/test_money.py +10 -0
  137. jimbo_agent-0.1.0/evals/tasks/skills-debug/solution/billing/money.py +7 -0
  138. jimbo_agent-0.1.0/evals/tasks/skills-debug/task.toml +11 -0
  139. jimbo_agent-0.1.0/evals/tasks/skills-not-needed/task.toml +26 -0
  140. jimbo_agent-0.1.0/evals/tasks/skills-project/check/eval_check/test_task.py +17 -0
  141. jimbo_agent-0.1.0/evals/tasks/skills-project/repo/.jimbo/skills/changelog/SKILL.md +11 -0
  142. jimbo_agent-0.1.0/evals/tasks/skills-project/repo/CHANGELOG.md +7 -0
  143. jimbo_agent-0.1.0/evals/tasks/skills-project/repo/tests/test_units.py +5 -0
  144. jimbo_agent-0.1.0/evals/tasks/skills-project/repo/units.py +2 -0
  145. jimbo_agent-0.1.0/evals/tasks/skills-project/solution/CHANGELOG.md +9 -0
  146. jimbo_agent-0.1.0/evals/tasks/skills-project/solution/units.py +6 -0
  147. jimbo_agent-0.1.0/evals/tasks/skills-project/task.toml +11 -0
  148. jimbo_agent-0.1.0/evals/tasks/skills-script/repo/.jimbo/skills/licenses/SKILL.md +8 -0
  149. jimbo_agent-0.1.0/evals/tasks/skills-script/repo/.jimbo/skills/licenses/check_licenses.py +13 -0
  150. jimbo_agent-0.1.0/evals/tasks/skills-script/repo/requirements.txt +4 -0
  151. jimbo_agent-0.1.0/evals/tasks/skills-script/task.toml +32 -0
  152. jimbo_agent-0.1.0/evals/tasks/skills-write-tests/check/eval_check/broken_missing.py +55 -0
  153. jimbo_agent-0.1.0/evals/tasks/skills-write-tests/check/eval_check/broken_save.py +55 -0
  154. jimbo_agent-0.1.0/evals/tasks/skills-write-tests/solution/tests/test_storage.py +12 -0
  155. jimbo_agent-0.1.0/evals/tasks/skills-write-tests/task.toml +13 -0
  156. jimbo_agent-0.1.0/evals/tasks/tests-inventory/check/eval_check/broken_inventory.py +21 -0
  157. jimbo_agent-0.1.0/evals/tasks/tests-inventory/solution/tests/test_inventory.py +18 -0
  158. jimbo_agent-0.1.0/evals/tasks/tests-inventory/task.toml +6 -0
  159. jimbo_agent-0.1.0/evals/tasks/tests-money/check/eval_check/broken_money.py +17 -0
  160. jimbo_agent-0.1.0/evals/tasks/tests-money/solution/tests/test_money.py +16 -0
  161. jimbo_agent-0.1.0/evals/tasks/tests-money/task.toml +7 -0
  162. jimbo_agent-0.1.0/evals/tasks/tools-duplicate-line/check/eval_check/test_task.py +24 -0
  163. jimbo_agent-0.1.0/evals/tasks/tools-duplicate-line/solution/shop/http.py +13 -0
  164. jimbo_agent-0.1.0/evals/tasks/tools-duplicate-line/task.toml +6 -0
  165. jimbo_agent-0.1.0/evals/tasks/tools-long-file/check/eval_check/rates_original.py +3001 -0
  166. jimbo_agent-0.1.0/evals/tasks/tools-long-file/check/eval_check/test_task.py +17 -0
  167. jimbo_agent-0.1.0/evals/tasks/tools-long-file/repo/billing/__init__.py +0 -0
  168. jimbo_agent-0.1.0/evals/tasks/tools-long-file/repo/billing/rates.py +3001 -0
  169. jimbo_agent-0.1.0/evals/tasks/tools-long-file/solution/billing/rates.py +3001 -0
  170. jimbo_agent-0.1.0/evals/tasks/tools-long-file/task.toml +5 -0
  171. jimbo_agent-0.1.0/evals/tasks/tools-shell-timeout/repo/scripts/check.sh +4 -0
  172. jimbo_agent-0.1.0/evals/tasks/tools-shell-timeout/task.toml +20 -0
  173. jimbo_agent-0.1.0/evals/tasks.py +104 -0
  174. jimbo_agent-0.1.0/evals/validate.py +53 -0
  175. jimbo_agent-0.1.0/pyproject.toml +41 -0
  176. jimbo_agent-0.1.0/src/jimbo/__init__.py +6 -0
  177. jimbo_agent-0.1.0/src/jimbo/agent.py +224 -0
  178. jimbo_agent-0.1.0/src/jimbo/bundled/agents/charter.md +29 -0
  179. jimbo_agent-0.1.0/src/jimbo/bundled/agents/critic.md +22 -0
  180. jimbo_agent-0.1.0/src/jimbo/bundled/agents/reviewer.md +10 -0
  181. jimbo_agent-0.1.0/src/jimbo/bundled/commands/init.md +16 -0
  182. jimbo_agent-0.1.0/src/jimbo/bundled/commands/review.md +5 -0
  183. jimbo_agent-0.1.0/src/jimbo/bundled/sandbox/Dockerfile +16 -0
  184. jimbo_agent-0.1.0/src/jimbo/bundled/skills/debug/SKILL.md +11 -0
  185. jimbo_agent-0.1.0/src/jimbo/bundled/skills/grill-me/SKILL.md +17 -0
  186. jimbo_agent-0.1.0/src/jimbo/bundled/skills/jot-that-down/SKILL.md +37 -0
  187. jimbo_agent-0.1.0/src/jimbo/bundled/skills/write-tests/SKILL.md +12 -0
  188. jimbo_agent-0.1.0/src/jimbo/commands.py +409 -0
  189. jimbo_agent-0.1.0/src/jimbo/config.py +192 -0
  190. jimbo_agent-0.1.0/src/jimbo/config_edit.py +379 -0
  191. jimbo_agent-0.1.0/src/jimbo/core/__init__.py +0 -0
  192. jimbo_agent-0.1.0/src/jimbo/core/agents.py +124 -0
  193. jimbo_agent-0.1.0/src/jimbo/core/approval.py +351 -0
  194. jimbo_agent-0.1.0/src/jimbo/core/assess.py +190 -0
  195. jimbo_agent-0.1.0/src/jimbo/core/attachments.py +104 -0
  196. jimbo_agent-0.1.0/src/jimbo/core/checkpoints.py +51 -0
  197. jimbo_agent-0.1.0/src/jimbo/core/commands.py +172 -0
  198. jimbo_agent-0.1.0/src/jimbo/core/compaction.py +91 -0
  199. jimbo_agent-0.1.0/src/jimbo/core/cost.py +69 -0
  200. jimbo_agent-0.1.0/src/jimbo/core/deps.py +128 -0
  201. jimbo_agent-0.1.0/src/jimbo/core/events.py +51 -0
  202. jimbo_agent-0.1.0/src/jimbo/core/interaction.py +25 -0
  203. jimbo_agent-0.1.0/src/jimbo/core/jsonl.py +24 -0
  204. jimbo_agent-0.1.0/src/jimbo/core/llm_tasks.py +54 -0
  205. jimbo_agent-0.1.0/src/jimbo/core/models.py +176 -0
  206. jimbo_agent-0.1.0/src/jimbo/core/questions.py +116 -0
  207. jimbo_agent-0.1.0/src/jimbo/core/runner.py +219 -0
  208. jimbo_agent-0.1.0/src/jimbo/core/session.py +456 -0
  209. jimbo_agent-0.1.0/src/jimbo/core/skills.py +106 -0
  210. jimbo_agent-0.1.0/src/jimbo/core/stats.py +84 -0
  211. jimbo_agent-0.1.0/src/jimbo/core/store.py +108 -0
  212. jimbo_agent-0.1.0/src/jimbo/core/trace.py +15 -0
  213. jimbo_agent-0.1.0/src/jimbo/core/trace_viewer.html +606 -0
  214. jimbo_agent-0.1.0/src/jimbo/frontends/__init__.py +0 -0
  215. jimbo_agent-0.1.0/src/jimbo/frontends/cli_json.py +16 -0
  216. jimbo_agent-0.1.0/src/jimbo/frontends/cli_plain.py +172 -0
  217. jimbo_agent-0.1.0/src/jimbo/frontends/clipboard.py +31 -0
  218. jimbo_agent-0.1.0/src/jimbo/frontends/registry.py +42 -0
  219. jimbo_agent-0.1.0/src/jimbo/frontends/tui.py +606 -0
  220. jimbo_agent-0.1.0/src/jimbo/frontends/web.py +367 -0
  221. jimbo_agent-0.1.0/src/jimbo/frontends/web_static/index.html +762 -0
  222. jimbo_agent-0.1.0/src/jimbo/lsp/__init__.py +1 -0
  223. jimbo_agent-0.1.0/src/jimbo/lsp/client.py +315 -0
  224. jimbo_agent-0.1.0/src/jimbo/lsp/manager.py +171 -0
  225. jimbo_agent-0.1.0/src/jimbo/lsp/servers.py +129 -0
  226. jimbo_agent-0.1.0/src/jimbo/main.py +166 -0
  227. jimbo_agent-0.1.0/src/jimbo/providers/__init__.py +0 -0
  228. jimbo_agent-0.1.0/src/jimbo/providers/base.py +11 -0
  229. jimbo_agent-0.1.0/src/jimbo/providers/credentials.py +147 -0
  230. jimbo_agent-0.1.0/src/jimbo/providers/openai_compat.py +20 -0
  231. jimbo_agent-0.1.0/src/jimbo/providers/preflight.py +145 -0
  232. jimbo_agent-0.1.0/src/jimbo/providers/ratelimit.py +67 -0
  233. jimbo_agent-0.1.0/src/jimbo/providers/registry.py +61 -0
  234. jimbo_agent-0.1.0/src/jimbo/tools/__init__.py +0 -0
  235. jimbo_agent-0.1.0/src/jimbo/tools/agents.py +52 -0
  236. jimbo_agent-0.1.0/src/jimbo/tools/ask.py +35 -0
  237. jimbo_agent-0.1.0/src/jimbo/tools/compact.py +21 -0
  238. jimbo_agent-0.1.0/src/jimbo/tools/container_sandbox.py +518 -0
  239. jimbo_agent-0.1.0/src/jimbo/tools/fs.py +230 -0
  240. jimbo_agent-0.1.0/src/jimbo/tools/lsp.py +470 -0
  241. jimbo_agent-0.1.0/src/jimbo/tools/memory.py +51 -0
  242. jimbo_agent-0.1.0/src/jimbo/tools/paths.py +26 -0
  243. jimbo_agent-0.1.0/src/jimbo/tools/plan.py +42 -0
  244. jimbo_agent-0.1.0/src/jimbo/tools/sandbox.py +144 -0
  245. jimbo_agent-0.1.0/src/jimbo/tools/search.py +143 -0
  246. jimbo_agent-0.1.0/src/jimbo/tools/shell.py +178 -0
  247. jimbo_agent-0.1.0/src/jimbo/tools/show.py +43 -0
  248. jimbo_agent-0.1.0/src/jimbo/tools/skills.py +52 -0
  249. jimbo_agent-0.1.0/src/jimbo/tools/todos.py +37 -0
  250. jimbo_agent-0.1.0/src/jimbo/tools/web.py +59 -0
  251. jimbo_agent-0.1.0/src/jimbo/wiring.py +277 -0
  252. jimbo_agent-0.1.0/tests/conftest.py +21 -0
  253. jimbo_agent-0.1.0/tests/fake_lsp.py +161 -0
  254. jimbo_agent-0.1.0/tests/helpers.py +25 -0
  255. jimbo_agent-0.1.0/tests/test_agents.py +780 -0
  256. jimbo_agent-0.1.0/tests/test_assess.py +415 -0
  257. jimbo_agent-0.1.0/tests/test_attachments.py +194 -0
  258. jimbo_agent-0.1.0/tests/test_bundled.py +163 -0
  259. jimbo_agent-0.1.0/tests/test_commands.py +335 -0
  260. jimbo_agent-0.1.0/tests/test_compaction.py +185 -0
  261. jimbo_agent-0.1.0/tests/test_config_edit.py +331 -0
  262. jimbo_agent-0.1.0/tests/test_container_sandbox.py +396 -0
  263. jimbo_agent-0.1.0/tests/test_core.py +423 -0
  264. jimbo_agent-0.1.0/tests/test_evals.py +179 -0
  265. jimbo_agent-0.1.0/tests/test_llm_tasks.py +47 -0
  266. jimbo_agent-0.1.0/tests/test_lsp.py +286 -0
  267. jimbo_agent-0.1.0/tests/test_memory.py +58 -0
  268. jimbo_agent-0.1.0/tests/test_models.py +334 -0
  269. jimbo_agent-0.1.0/tests/test_plan.py +100 -0
  270. jimbo_agent-0.1.0/tests/test_preflight.py +101 -0
  271. jimbo_agent-0.1.0/tests/test_questions.py +259 -0
  272. jimbo_agent-0.1.0/tests/test_ratelimit.py +56 -0
  273. jimbo_agent-0.1.0/tests/test_resume.py +200 -0
  274. jimbo_agent-0.1.0/tests/test_runner.py +45 -0
  275. jimbo_agent-0.1.0/tests/test_skills.py +203 -0
  276. jimbo_agent-0.1.0/tests/test_steering.py +307 -0
  277. jimbo_agent-0.1.0/tests/test_thinking_tokens.py +53 -0
  278. jimbo_agent-0.1.0/tests/test_todos.py +58 -0
  279. jimbo_agent-0.1.0/tests/test_tools.py +472 -0
  280. jimbo_agent-0.1.0/tests/test_tui.py +372 -0
  281. jimbo_agent-0.1.0/tests/test_web.py +254 -0
  282. jimbo_agent-0.1.0/uv.lock +1942 -0
@@ -0,0 +1,63 @@
1
+ # Publishes jimbo-agent to PyPI and makes a GitHub release when a tag like v0.2.0 is pushed.
2
+ # The version is set in pyproject.toml; the tag must match it.
3
+ name: Release
4
+
5
+ on:
6
+ push:
7
+ tags: ["v*"]
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ build:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v5
17
+ - uses: astral-sh/setup-uv@v6
18
+ - name: Check the tag matches the version in pyproject.toml
19
+ run: |
20
+ version="$(uv version --short)"
21
+ if [ "$GITHUB_REF_NAME" != "v$version" ]; then
22
+ echo "::error::tag $GITHUB_REF_NAME does not match version $version in pyproject.toml"
23
+ exit 1
24
+ fi
25
+ - run: uv sync --locked
26
+ - run: uv run pytest
27
+ - run: uv build
28
+ - name: Check the wheel installs and runs
29
+ run: uv run --isolated --no-project --with dist/*.whl jimbo --version
30
+ - uses: actions/upload-artifact@v4
31
+ with:
32
+ name: dist
33
+ path: dist/
34
+
35
+ pypi:
36
+ needs: build
37
+ runs-on: ubuntu-latest
38
+ environment:
39
+ name: pypi
40
+ url: https://pypi.org/project/jimbo-agent/
41
+ permissions:
42
+ id-token: write # trusted publishing: PyPI accepts this workflow's identity, so no API token is stored
43
+ steps:
44
+ - uses: actions/download-artifact@v5
45
+ with:
46
+ name: dist
47
+ path: dist/
48
+ - uses: pypa/gh-action-pypi-publish@release/v1
49
+
50
+ github-release:
51
+ needs: pypi
52
+ runs-on: ubuntu-latest
53
+ permissions:
54
+ contents: write
55
+ steps:
56
+ - uses: actions/download-artifact@v5
57
+ with:
58
+ name: dist
59
+ path: dist/
60
+ - name: Create the release with the wheel and sdist
61
+ env:
62
+ GH_TOKEN: ${{ github.token }}
63
+ run: gh release create "$GITHUB_REF_NAME" dist/* --repo "$GITHUB_REPOSITORY" --generate-notes --verify-tag
@@ -0,0 +1,27 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ build/
6
+ dist/
7
+
8
+ # Environments
9
+ .venv/
10
+ .env
11
+ .env.*
12
+
13
+ # Tooling caches
14
+ .pytest_cache/
15
+ .ruff_cache/
16
+ .mypy_cache/
17
+
18
+ # Editors / OS
19
+ .vscode/
20
+ .idea/
21
+ .DS_Store
22
+
23
+ # Eval results
24
+ evals/results/
25
+
26
+ # Jimbo session logs (if written inside the workspace)
27
+ #*.jsonl