octo-agent 0.11.2

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 (319) hide show
  1. checksums.yaml +7 -0
  2. data/.clacky/skills/commit/SKILL.md +423 -0
  3. data/.clacky/skills/gem-release/SKILL.md +199 -0
  4. data/.clacky/skills/gem-release/scripts/release.sh +304 -0
  5. data/.clacky/skills/oss-upload/SKILL.md +47 -0
  6. data/.octorules +106 -0
  7. data/.rspec +3 -0
  8. data/.rubocop.yml +8 -0
  9. data/CHANGELOG.md +76 -0
  10. data/CODE_OF_CONDUCT.md +132 -0
  11. data/CONTRIBUTING.md +92 -0
  12. data/Dockerfile +28 -0
  13. data/LICENSE.txt +22 -0
  14. data/POSITIONING.md +46 -0
  15. data/README.md +134 -0
  16. data/README_CN.md +134 -0
  17. data/Rakefile +34 -0
  18. data/benchmark/fixtures/sample_project/Gemfile +3 -0
  19. data/benchmark/fixtures/sample_project/lib/api_handler.rb +32 -0
  20. data/benchmark/fixtures/sample_project/lib/order_calculator.rb +23 -0
  21. data/benchmark/fixtures/sample_project/lib/user_renderer.rb +20 -0
  22. data/benchmark/fixtures/sample_project/spec/order_calculator_spec.rb +20 -0
  23. data/benchmark/results/EVALUATION_REPORT.md +165 -0
  24. data/benchmark/results/baseline_20260511_174424.json +128 -0
  25. data/benchmark/results/report_20260511_175256.json +271 -0
  26. data/benchmark/results/report_20260511_175444.json +271 -0
  27. data/benchmark/results/treatment_20260511_175103.json +130 -0
  28. data/benchmark/runner.rb +441 -0
  29. data/bin/octo +7 -0
  30. data/docs/agent-first-ui-design.md +77 -0
  31. data/docs/billing-system.md +318 -0
  32. data/docs/channel-architecture.md +235 -0
  33. data/docs/engineering-article.md +343 -0
  34. data/docs/session-skill-invocation.md +69 -0
  35. data/docs/time_machine_design.md +247 -0
  36. data/docs/ui2-architecture.md +124 -0
  37. data/homebrew/README.md +96 -0
  38. data/homebrew/openocto.rb +24 -0
  39. data/lib/octo/agent/hook_manager.rb +61 -0
  40. data/lib/octo/agent/llm_caller.rb +800 -0
  41. data/lib/octo/agent/memory_updater.rb +246 -0
  42. data/lib/octo/agent/message_compressor.rb +225 -0
  43. data/lib/octo/agent/message_compressor_helper.rb +869 -0
  44. data/lib/octo/agent/next_message_suggester.rb +215 -0
  45. data/lib/octo/agent/session_serializer.rb +685 -0
  46. data/lib/octo/agent/skill_auto_creator.rb +114 -0
  47. data/lib/octo/agent/skill_evolution.rb +61 -0
  48. data/lib/octo/agent/skill_manager.rb +466 -0
  49. data/lib/octo/agent/skill_reflector.rb +89 -0
  50. data/lib/octo/agent/system_prompt_builder.rb +101 -0
  51. data/lib/octo/agent/time_machine.rb +214 -0
  52. data/lib/octo/agent/tool_executor.rb +454 -0
  53. data/lib/octo/agent/tool_registry.rb +150 -0
  54. data/lib/octo/agent.rb +2180 -0
  55. data/lib/octo/agent_config.rb +989 -0
  56. data/lib/octo/agent_profile.rb +112 -0
  57. data/lib/octo/anthropic_stream_aggregator.rb +137 -0
  58. data/lib/octo/background_task_registry.rb +324 -0
  59. data/lib/octo/banner.rb +34 -0
  60. data/lib/octo/bedrock_stream_aggregator.rb +137 -0
  61. data/lib/octo/block_font.rb +331 -0
  62. data/lib/octo/cli.rb +968 -0
  63. data/lib/octo/client.rb +623 -0
  64. data/lib/octo/default_agents/SOUL.md +3 -0
  65. data/lib/octo/default_agents/USER.md +1 -0
  66. data/lib/octo/default_agents/base_prompt.md +66 -0
  67. data/lib/octo/default_agents/coding/profile.yml +2 -0
  68. data/lib/octo/default_agents/coding/system_prompt.md +67 -0
  69. data/lib/octo/default_agents/general/profile.yml +2 -0
  70. data/lib/octo/default_agents/general/system_prompt.md +16 -0
  71. data/lib/octo/default_parsers/doc_parser.rb +69 -0
  72. data/lib/octo/default_parsers/docx_parser.rb +188 -0
  73. data/lib/octo/default_parsers/pdf_parser.rb +120 -0
  74. data/lib/octo/default_parsers/pdf_parser_ocr.py +103 -0
  75. data/lib/octo/default_parsers/pdf_parser_plumber.py +62 -0
  76. data/lib/octo/default_parsers/pptx_parser.rb +140 -0
  77. data/lib/octo/default_parsers/xlsx_parser.rb +121 -0
  78. data/lib/octo/default_skills/browser-setup/SKILL.md +426 -0
  79. data/lib/octo/default_skills/channel-manager/SKILL.md +623 -0
  80. data/lib/octo/default_skills/channel-manager/dingtalk_setup.rb +191 -0
  81. data/lib/octo/default_skills/channel-manager/discord_setup.rb +199 -0
  82. data/lib/octo/default_skills/channel-manager/feishu_setup.rb +574 -0
  83. data/lib/octo/default_skills/channel-manager/import_lark_skills.rb +97 -0
  84. data/lib/octo/default_skills/channel-manager/install_feishu_skills.rb +105 -0
  85. data/lib/octo/default_skills/channel-manager/weixin_setup.rb +274 -0
  86. data/lib/octo/default_skills/code-explorer/SKILL.md +36 -0
  87. data/lib/octo/default_skills/cron-task-creator/SKILL.md +257 -0
  88. data/lib/octo/default_skills/cron-task-creator/evals/evals.json +38 -0
  89. data/lib/octo/default_skills/onboard/SKILL.md +578 -0
  90. data/lib/octo/default_skills/onboard/scripts/import_external_skills.rb +413 -0
  91. data/lib/octo/default_skills/onboard/scripts/install_builtin_skills.rb +97 -0
  92. data/lib/octo/default_skills/persist-memory/SKILL.md +59 -0
  93. data/lib/octo/default_skills/personal-website/SKILL.md +113 -0
  94. data/lib/octo/default_skills/personal-website/publish.rb +235 -0
  95. data/lib/octo/default_skills/product-help/SKILL.md +123 -0
  96. data/lib/octo/default_skills/product-help/docs/agent-config.md +74 -0
  97. data/lib/octo/default_skills/product-help/docs/best-practices.md +49 -0
  98. data/lib/octo/default_skills/product-help/docs/browser-tool.md +53 -0
  99. data/lib/octo/default_skills/product-help/docs/built-in-skills.md +43 -0
  100. data/lib/octo/default_skills/product-help/docs/cli-reference.md +82 -0
  101. data/lib/octo/default_skills/product-help/docs/create-your-first-skill.md +47 -0
  102. data/lib/octo/default_skills/product-help/docs/faq.md +98 -0
  103. data/lib/octo/default_skills/product-help/docs/how-to-use-a-skill.md +58 -0
  104. data/lib/octo/default_skills/product-help/docs/installation.md +59 -0
  105. data/lib/octo/default_skills/product-help/docs/memory-system.md +61 -0
  106. data/lib/octo/default_skills/product-help/docs/octorules.md +62 -0
  107. data/lib/octo/default_skills/product-help/docs/session-management.md +63 -0
  108. data/lib/octo/default_skills/product-help/docs/skill-basics.md +55 -0
  109. data/lib/octo/default_skills/product-help/docs/skill-frontmatter.md +61 -0
  110. data/lib/octo/default_skills/product-help/docs/web-server.md +49 -0
  111. data/lib/octo/default_skills/product-help/docs/what-is-octo.md +37 -0
  112. data/lib/octo/default_skills/product-help/docs/windows-installation.md +36 -0
  113. data/lib/octo/default_skills/product-help/docs/writing-tips.md +53 -0
  114. data/lib/octo/default_skills/recall-memory/SKILL.md +65 -0
  115. data/lib/octo/default_skills/skill-add/SKILL.md +59 -0
  116. data/lib/octo/default_skills/skill-add/scripts/install_from_zip.rb +295 -0
  117. data/lib/octo/default_skills/skill-creator/SKILL.md +602 -0
  118. data/lib/octo/default_skills/skill-creator/agents/analyzer.md +274 -0
  119. data/lib/octo/default_skills/skill-creator/agents/comparator.md +202 -0
  120. data/lib/octo/default_skills/skill-creator/agents/grader.md +223 -0
  121. data/lib/octo/default_skills/skill-creator/eval-viewer/generate_review.py +471 -0
  122. data/lib/octo/default_skills/skill-creator/eval-viewer/viewer.html +1325 -0
  123. data/lib/octo/default_skills/skill-creator/references/schemas.md +430 -0
  124. data/lib/octo/default_skills/skill-creator/scripts/__init__.py +0 -0
  125. data/lib/octo/default_skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  126. data/lib/octo/default_skills/skill-creator/scripts/generate_report.py +326 -0
  127. data/lib/octo/default_skills/skill-creator/scripts/improve_description.py +310 -0
  128. data/lib/octo/default_skills/skill-creator/scripts/quick_validate.py +103 -0
  129. data/lib/octo/default_skills/skill-creator/scripts/run_eval.py +317 -0
  130. data/lib/octo/default_skills/skill-creator/scripts/run_loop.py +331 -0
  131. data/lib/octo/default_skills/skill-creator/scripts/utils.py +47 -0
  132. data/lib/octo/default_skills/skill-creator/scripts/validate_skill_frontmatter.rb +143 -0
  133. data/lib/octo/idle_compression_timer.rb +115 -0
  134. data/lib/octo/json_ui_controller.rb +204 -0
  135. data/lib/octo/message_format/anthropic.rb +409 -0
  136. data/lib/octo/message_format/bedrock.rb +361 -0
  137. data/lib/octo/message_format/open_ai.rb +222 -0
  138. data/lib/octo/message_history.rb +373 -0
  139. data/lib/octo/openai_stream_aggregator.rb +130 -0
  140. data/lib/octo/plain_ui_controller.rb +166 -0
  141. data/lib/octo/providers.rb +534 -0
  142. data/lib/octo/server/browser_manager.rb +397 -0
  143. data/lib/octo/server/channel/adapters/base.rb +82 -0
  144. data/lib/octo/server/channel/adapters/dingtalk/adapter.rb +314 -0
  145. data/lib/octo/server/channel/adapters/dingtalk/api_client.rb +391 -0
  146. data/lib/octo/server/channel/adapters/dingtalk/stream_client.rb +203 -0
  147. data/lib/octo/server/channel/adapters/discord/adapter.rb +229 -0
  148. data/lib/octo/server/channel/adapters/discord/api_client.rb +107 -0
  149. data/lib/octo/server/channel/adapters/discord/gateway_client.rb +270 -0
  150. data/lib/octo/server/channel/adapters/feishu/adapter.rb +320 -0
  151. data/lib/octo/server/channel/adapters/feishu/bot.rb +478 -0
  152. data/lib/octo/server/channel/adapters/feishu/file_processor.rb +36 -0
  153. data/lib/octo/server/channel/adapters/feishu/message_parser.rb +129 -0
  154. data/lib/octo/server/channel/adapters/feishu/ws_client.rb +423 -0
  155. data/lib/octo/server/channel/adapters/telegram/adapter.rb +375 -0
  156. data/lib/octo/server/channel/adapters/telegram/api_client.rb +205 -0
  157. data/lib/octo/server/channel/adapters/wecom/adapter.rb +148 -0
  158. data/lib/octo/server/channel/adapters/wecom/media_downloader.rb +115 -0
  159. data/lib/octo/server/channel/adapters/wecom/ws_client.rb +395 -0
  160. data/lib/octo/server/channel/adapters/weixin/adapter.rb +692 -0
  161. data/lib/octo/server/channel/adapters/weixin/api_client.rb +402 -0
  162. data/lib/octo/server/channel/channel_config.rb +178 -0
  163. data/lib/octo/server/channel/channel_manager.rb +468 -0
  164. data/lib/octo/server/channel/channel_ui_controller.rb +224 -0
  165. data/lib/octo/server/channel.rb +33 -0
  166. data/lib/octo/server/discover.rb +77 -0
  167. data/lib/octo/server/epipe_safe_io.rb +105 -0
  168. data/lib/octo/server/http_server.rb +3554 -0
  169. data/lib/octo/server/scheduler.rb +317 -0
  170. data/lib/octo/server/server_master.rb +325 -0
  171. data/lib/octo/server/session_registry.rb +431 -0
  172. data/lib/octo/server/web_ui_controller.rb +487 -0
  173. data/lib/octo/session_manager.rb +385 -0
  174. data/lib/octo/skill.rb +466 -0
  175. data/lib/octo/skill_loader.rb +328 -0
  176. data/lib/octo/tools/base.rb +118 -0
  177. data/lib/octo/tools/browser.rb +625 -0
  178. data/lib/octo/tools/edit.rb +165 -0
  179. data/lib/octo/tools/file_reader.rb +549 -0
  180. data/lib/octo/tools/glob.rb +162 -0
  181. data/lib/octo/tools/grep.rb +356 -0
  182. data/lib/octo/tools/invoke_skill.rb +96 -0
  183. data/lib/octo/tools/list_tasks.rb +54 -0
  184. data/lib/octo/tools/redo_task.rb +41 -0
  185. data/lib/octo/tools/request_user_feedback.rb +84 -0
  186. data/lib/octo/tools/security.rb +333 -0
  187. data/lib/octo/tools/terminal/output_cleaner.rb +63 -0
  188. data/lib/octo/tools/terminal/persistent_session.rb +268 -0
  189. data/lib/octo/tools/terminal/safe_rm.sh +106 -0
  190. data/lib/octo/tools/terminal/session_manager.rb +213 -0
  191. data/lib/octo/tools/terminal.rb +1828 -0
  192. data/lib/octo/tools/todo_manager.rb +374 -0
  193. data/lib/octo/tools/trash_manager.rb +388 -0
  194. data/lib/octo/tools/undo_task.rb +35 -0
  195. data/lib/octo/tools/web_fetch.rb +242 -0
  196. data/lib/octo/tools/web_search.rb +260 -0
  197. data/lib/octo/tools/write.rb +77 -0
  198. data/lib/octo/ui2/block_font.rb +10 -0
  199. data/lib/octo/ui2/components/base_component.rb +163 -0
  200. data/lib/octo/ui2/components/command_suggestions.rb +290 -0
  201. data/lib/octo/ui2/components/common_component.rb +96 -0
  202. data/lib/octo/ui2/components/inline_input.rb +226 -0
  203. data/lib/octo/ui2/components/input_area.rb +1338 -0
  204. data/lib/octo/ui2/components/message_component.rb +99 -0
  205. data/lib/octo/ui2/components/modal_component.rb +419 -0
  206. data/lib/octo/ui2/components/todo_area.rb +149 -0
  207. data/lib/octo/ui2/components/tool_component.rb +107 -0
  208. data/lib/octo/ui2/components/welcome_banner.rb +139 -0
  209. data/lib/octo/ui2/layout_manager.rb +807 -0
  210. data/lib/octo/ui2/line_editor.rb +363 -0
  211. data/lib/octo/ui2/markdown_renderer.rb +100 -0
  212. data/lib/octo/ui2/output_buffer.rb +370 -0
  213. data/lib/octo/ui2/progress_handle.rb +362 -0
  214. data/lib/octo/ui2/progress_indicator.rb +55 -0
  215. data/lib/octo/ui2/screen_buffer.rb +273 -0
  216. data/lib/octo/ui2/terminal_detector.rb +119 -0
  217. data/lib/octo/ui2/theme_manager.rb +85 -0
  218. data/lib/octo/ui2/themes/base_theme.rb +105 -0
  219. data/lib/octo/ui2/themes/hacker_theme.rb +62 -0
  220. data/lib/octo/ui2/themes/minimal_theme.rb +56 -0
  221. data/lib/octo/ui2/thinking_verbs.rb +26 -0
  222. data/lib/octo/ui2/ui_controller.rb +1625 -0
  223. data/lib/octo/ui2/view_renderer.rb +177 -0
  224. data/lib/octo/ui2.rb +40 -0
  225. data/lib/octo/ui_interface.rb +154 -0
  226. data/lib/octo/utils/arguments_parser.rb +191 -0
  227. data/lib/octo/utils/browser_detector.rb +195 -0
  228. data/lib/octo/utils/encoding.rb +92 -0
  229. data/lib/octo/utils/environment_detector.rb +140 -0
  230. data/lib/octo/utils/file_ignore_helper.rb +170 -0
  231. data/lib/octo/utils/file_processor.rb +601 -0
  232. data/lib/octo/utils/gitignore_parser.rb +154 -0
  233. data/lib/octo/utils/limit_stack.rb +152 -0
  234. data/lib/octo/utils/logger.rb +124 -0
  235. data/lib/octo/utils/login_shell.rb +72 -0
  236. data/lib/octo/utils/model_pricing.rb +646 -0
  237. data/lib/octo/utils/parser_manager.rb +165 -0
  238. data/lib/octo/utils/path_helper.rb +15 -0
  239. data/lib/octo/utils/scripts_manager.rb +59 -0
  240. data/lib/octo/utils/string_matcher.rb +158 -0
  241. data/lib/octo/utils/trash_directory.rb +112 -0
  242. data/lib/octo/utils/workspace_rules.rb +46 -0
  243. data/lib/octo/version.rb +5 -0
  244. data/lib/octo/web/app.css +7141 -0
  245. data/lib/octo/web/app.js +543 -0
  246. data/lib/octo/web/apple-touch-icon.png +0 -0
  247. data/lib/octo/web/auth.js +150 -0
  248. data/lib/octo/web/channels.js +276 -0
  249. data/lib/octo/web/datepicker.js +205 -0
  250. data/lib/octo/web/favicon.png +0 -0
  251. data/lib/octo/web/i18n.js +1073 -0
  252. data/lib/octo/web/icon-512.png +0 -0
  253. data/lib/octo/web/icon-dark.svg +25 -0
  254. data/lib/octo/web/icon.svg +29 -0
  255. data/lib/octo/web/index.html +871 -0
  256. data/lib/octo/web/marked.min.js +69 -0
  257. data/lib/octo/web/onboard.js +491 -0
  258. data/lib/octo/web/profile.js +442 -0
  259. data/lib/octo/web/sessions.js +4421 -0
  260. data/lib/octo/web/settings.js +913 -0
  261. data/lib/octo/web/sidebar.js +32 -0
  262. data/lib/octo/web/skills.js +885 -0
  263. data/lib/octo/web/tasks.js +297 -0
  264. data/lib/octo/web/theme.js +105 -0
  265. data/lib/octo/web/trash.js +343 -0
  266. data/lib/octo/web/vendor/hljs/highlight.min.js +1244 -0
  267. data/lib/octo/web/vendor/hljs/hljs-theme.css +95 -0
  268. data/lib/octo/web/vendor/katex/auto-render.min.js +1 -0
  269. data/lib/octo/web/vendor/katex/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  270. data/lib/octo/web/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  271. data/lib/octo/web/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  272. data/lib/octo/web/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  273. data/lib/octo/web/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  274. data/lib/octo/web/vendor/katex/fonts/KaTeX_Main-Bold.woff2 +0 -0
  275. data/lib/octo/web/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  276. data/lib/octo/web/vendor/katex/fonts/KaTeX_Main-Italic.woff2 +0 -0
  277. data/lib/octo/web/vendor/katex/fonts/KaTeX_Main-Regular.woff2 +0 -0
  278. data/lib/octo/web/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  279. data/lib/octo/web/vendor/katex/fonts/KaTeX_Math-Italic.woff2 +0 -0
  280. data/lib/octo/web/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  281. data/lib/octo/web/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  282. data/lib/octo/web/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  283. data/lib/octo/web/vendor/katex/fonts/KaTeX_Script-Regular.woff2 +0 -0
  284. data/lib/octo/web/vendor/katex/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  285. data/lib/octo/web/vendor/katex/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  286. data/lib/octo/web/vendor/katex/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  287. data/lib/octo/web/vendor/katex/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  288. data/lib/octo/web/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  289. data/lib/octo/web/vendor/katex/katex.min.css +1 -0
  290. data/lib/octo/web/vendor/katex/katex.min.js +1 -0
  291. data/lib/octo/web/version.js +449 -0
  292. data/lib/octo/web/weixin-qr.html +209 -0
  293. data/lib/octo/web/ws-dispatcher.js +357 -0
  294. data/lib/octo/web/ws.js +128 -0
  295. data/lib/octo.rb +145 -0
  296. data/scripts/build/build.sh +329 -0
  297. data/scripts/build/lib/apt.sh +56 -0
  298. data/scripts/build/lib/brew.sh +89 -0
  299. data/scripts/build/lib/colors.sh +17 -0
  300. data/scripts/build/lib/gem.sh +95 -0
  301. data/scripts/build/lib/mise.sh +125 -0
  302. data/scripts/build/lib/network.sh +157 -0
  303. data/scripts/build/lib/os.sh +57 -0
  304. data/scripts/build/lib/shell.sh +37 -0
  305. data/scripts/build/src/install.sh.cc +174 -0
  306. data/scripts/build/src/install_browser.sh.cc +101 -0
  307. data/scripts/build/src/install_full.sh.cc +290 -0
  308. data/scripts/build/src/install_rails_deps.sh.cc +145 -0
  309. data/scripts/build/src/install_system_deps.sh.cc +123 -0
  310. data/scripts/build/src/uninstall.sh.cc +101 -0
  311. data/scripts/install.ps1 +532 -0
  312. data/scripts/install.sh +567 -0
  313. data/scripts/install_browser.sh +479 -0
  314. data/scripts/install_full.sh +838 -0
  315. data/scripts/install_rails_deps.sh +746 -0
  316. data/scripts/install_system_deps.sh +518 -0
  317. data/scripts/uninstall.sh +287 -0
  318. data/sig/octo.rbs +4 -0
  319. metadata +614 -0
metadata ADDED
@@ -0,0 +1,614 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: octo-agent
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.11.2
5
+ platform: ruby
6
+ authors:
7
+ - roy
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: faraday
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '2.0'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '2.9'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '2.0'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '2.9'
32
+ - !ruby/object:Gem::Dependency
33
+ name: faraday-multipart
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: '1.0'
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - "~>"
44
+ - !ruby/object:Gem::Version
45
+ version: '1.0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: thor
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '1.3'
53
+ type: :runtime
54
+ prerelease: false
55
+ version_requirements: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '1.3'
60
+ - !ruby/object:Gem::Dependency
61
+ name: tty-prompt
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '0.23'
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '0.23'
74
+ - !ruby/object:Gem::Dependency
75
+ name: tty-spinner
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '0.9'
81
+ type: :runtime
82
+ prerelease: false
83
+ version_requirements: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '0.9'
88
+ - !ruby/object:Gem::Dependency
89
+ name: diffy
90
+ requirement: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '3.4'
95
+ type: :runtime
96
+ prerelease: false
97
+ version_requirements: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '3.4'
102
+ - !ruby/object:Gem::Dependency
103
+ name: pastel
104
+ requirement: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: '0.8'
109
+ type: :runtime
110
+ prerelease: false
111
+ version_requirements: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: '0.8'
116
+ - !ruby/object:Gem::Dependency
117
+ name: tty-screen
118
+ requirement: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: '0.8'
123
+ type: :runtime
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '0.8'
130
+ - !ruby/object:Gem::Dependency
131
+ name: tty-markdown
132
+ requirement: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - "~>"
135
+ - !ruby/object:Gem::Version
136
+ version: '0.7'
137
+ type: :runtime
138
+ prerelease: false
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: '0.7'
144
+ - !ruby/object:Gem::Dependency
145
+ name: base64
146
+ requirement: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: 0.1.0
151
+ type: :runtime
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: 0.1.0
158
+ - !ruby/object:Gem::Dependency
159
+ name: logger
160
+ requirement: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: '1.4'
165
+ type: :runtime
166
+ prerelease: false
167
+ version_requirements: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ version: '1.4'
172
+ - !ruby/object:Gem::Dependency
173
+ name: websocket
174
+ requirement: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '1.2'
179
+ type: :runtime
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "~>"
184
+ - !ruby/object:Gem::Version
185
+ version: '1.2'
186
+ - !ruby/object:Gem::Dependency
187
+ name: webrick
188
+ requirement: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - "~>"
191
+ - !ruby/object:Gem::Version
192
+ version: '1.8'
193
+ type: :runtime
194
+ prerelease: false
195
+ version_requirements: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - "~>"
198
+ - !ruby/object:Gem::Version
199
+ version: '1.8'
200
+ - !ruby/object:Gem::Dependency
201
+ name: artii
202
+ requirement: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - "~>"
205
+ - !ruby/object:Gem::Version
206
+ version: '2.1'
207
+ type: :runtime
208
+ prerelease: false
209
+ version_requirements: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - "~>"
212
+ - !ruby/object:Gem::Version
213
+ version: '2.1'
214
+ - !ruby/object:Gem::Dependency
215
+ name: rubyzip
216
+ requirement: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - "~>"
219
+ - !ruby/object:Gem::Version
220
+ version: 2.4.1
221
+ type: :runtime
222
+ prerelease: false
223
+ version_requirements: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - "~>"
226
+ - !ruby/object:Gem::Version
227
+ version: 2.4.1
228
+ - !ruby/object:Gem::Dependency
229
+ name: rouge
230
+ requirement: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - ">="
233
+ - !ruby/object:Gem::Version
234
+ version: '3.14'
235
+ - - "<"
236
+ - !ruby/object:Gem::Version
237
+ version: '5.0'
238
+ type: :runtime
239
+ prerelease: false
240
+ version_requirements: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: '3.14'
245
+ - - "<"
246
+ - !ruby/object:Gem::Version
247
+ version: '5.0'
248
+ - !ruby/object:Gem::Dependency
249
+ name: chunky_png
250
+ requirement: !ruby/object:Gem::Requirement
251
+ requirements:
252
+ - - "~>"
253
+ - !ruby/object:Gem::Version
254
+ version: '1.4'
255
+ type: :runtime
256
+ prerelease: false
257
+ version_requirements: !ruby/object:Gem::Requirement
258
+ requirements:
259
+ - - "~>"
260
+ - !ruby/object:Gem::Version
261
+ version: '1.4'
262
+ description: 'Octo is a Ruby AI agent with three equal first-class interfaces: terminal
263
+ CLI, web UI, and IM bridges (Feishu/WeCom/WeChat/Discord/Telegram). It speaks Anthropic
264
+ Messages, OpenAI (Chat Completions + Responses), and AWS Bedrock natively, and provides
265
+ autonomous tool use plus a Claude-Code-compatible skill format.'
266
+ email:
267
+ - leihaibo1992@gmail.com
268
+ executables:
269
+ - octo
270
+ extensions: []
271
+ extra_rdoc_files: []
272
+ files:
273
+ - ".clacky/skills/commit/SKILL.md"
274
+ - ".clacky/skills/gem-release/SKILL.md"
275
+ - ".clacky/skills/gem-release/scripts/release.sh"
276
+ - ".clacky/skills/oss-upload/SKILL.md"
277
+ - ".octorules"
278
+ - ".rspec"
279
+ - ".rubocop.yml"
280
+ - CHANGELOG.md
281
+ - CODE_OF_CONDUCT.md
282
+ - CONTRIBUTING.md
283
+ - Dockerfile
284
+ - LICENSE.txt
285
+ - POSITIONING.md
286
+ - README.md
287
+ - README_CN.md
288
+ - Rakefile
289
+ - benchmark/fixtures/sample_project/Gemfile
290
+ - benchmark/fixtures/sample_project/lib/api_handler.rb
291
+ - benchmark/fixtures/sample_project/lib/order_calculator.rb
292
+ - benchmark/fixtures/sample_project/lib/user_renderer.rb
293
+ - benchmark/fixtures/sample_project/spec/order_calculator_spec.rb
294
+ - benchmark/results/EVALUATION_REPORT.md
295
+ - benchmark/results/baseline_20260511_174424.json
296
+ - benchmark/results/report_20260511_175256.json
297
+ - benchmark/results/report_20260511_175444.json
298
+ - benchmark/results/treatment_20260511_175103.json
299
+ - benchmark/runner.rb
300
+ - bin/octo
301
+ - docs/agent-first-ui-design.md
302
+ - docs/billing-system.md
303
+ - docs/channel-architecture.md
304
+ - docs/engineering-article.md
305
+ - docs/session-skill-invocation.md
306
+ - docs/time_machine_design.md
307
+ - docs/ui2-architecture.md
308
+ - homebrew/README.md
309
+ - homebrew/openocto.rb
310
+ - lib/octo.rb
311
+ - lib/octo/agent.rb
312
+ - lib/octo/agent/hook_manager.rb
313
+ - lib/octo/agent/llm_caller.rb
314
+ - lib/octo/agent/memory_updater.rb
315
+ - lib/octo/agent/message_compressor.rb
316
+ - lib/octo/agent/message_compressor_helper.rb
317
+ - lib/octo/agent/next_message_suggester.rb
318
+ - lib/octo/agent/session_serializer.rb
319
+ - lib/octo/agent/skill_auto_creator.rb
320
+ - lib/octo/agent/skill_evolution.rb
321
+ - lib/octo/agent/skill_manager.rb
322
+ - lib/octo/agent/skill_reflector.rb
323
+ - lib/octo/agent/system_prompt_builder.rb
324
+ - lib/octo/agent/time_machine.rb
325
+ - lib/octo/agent/tool_executor.rb
326
+ - lib/octo/agent/tool_registry.rb
327
+ - lib/octo/agent_config.rb
328
+ - lib/octo/agent_profile.rb
329
+ - lib/octo/anthropic_stream_aggregator.rb
330
+ - lib/octo/background_task_registry.rb
331
+ - lib/octo/banner.rb
332
+ - lib/octo/bedrock_stream_aggregator.rb
333
+ - lib/octo/block_font.rb
334
+ - lib/octo/cli.rb
335
+ - lib/octo/client.rb
336
+ - lib/octo/default_agents/SOUL.md
337
+ - lib/octo/default_agents/USER.md
338
+ - lib/octo/default_agents/base_prompt.md
339
+ - lib/octo/default_agents/coding/profile.yml
340
+ - lib/octo/default_agents/coding/system_prompt.md
341
+ - lib/octo/default_agents/general/profile.yml
342
+ - lib/octo/default_agents/general/system_prompt.md
343
+ - lib/octo/default_parsers/doc_parser.rb
344
+ - lib/octo/default_parsers/docx_parser.rb
345
+ - lib/octo/default_parsers/pdf_parser.rb
346
+ - lib/octo/default_parsers/pdf_parser_ocr.py
347
+ - lib/octo/default_parsers/pdf_parser_plumber.py
348
+ - lib/octo/default_parsers/pptx_parser.rb
349
+ - lib/octo/default_parsers/xlsx_parser.rb
350
+ - lib/octo/default_skills/browser-setup/SKILL.md
351
+ - lib/octo/default_skills/channel-manager/SKILL.md
352
+ - lib/octo/default_skills/channel-manager/dingtalk_setup.rb
353
+ - lib/octo/default_skills/channel-manager/discord_setup.rb
354
+ - lib/octo/default_skills/channel-manager/feishu_setup.rb
355
+ - lib/octo/default_skills/channel-manager/import_lark_skills.rb
356
+ - lib/octo/default_skills/channel-manager/install_feishu_skills.rb
357
+ - lib/octo/default_skills/channel-manager/weixin_setup.rb
358
+ - lib/octo/default_skills/code-explorer/SKILL.md
359
+ - lib/octo/default_skills/cron-task-creator/SKILL.md
360
+ - lib/octo/default_skills/cron-task-creator/evals/evals.json
361
+ - lib/octo/default_skills/onboard/SKILL.md
362
+ - lib/octo/default_skills/onboard/scripts/import_external_skills.rb
363
+ - lib/octo/default_skills/onboard/scripts/install_builtin_skills.rb
364
+ - lib/octo/default_skills/persist-memory/SKILL.md
365
+ - lib/octo/default_skills/personal-website/SKILL.md
366
+ - lib/octo/default_skills/personal-website/publish.rb
367
+ - lib/octo/default_skills/product-help/SKILL.md
368
+ - lib/octo/default_skills/product-help/docs/agent-config.md
369
+ - lib/octo/default_skills/product-help/docs/best-practices.md
370
+ - lib/octo/default_skills/product-help/docs/browser-tool.md
371
+ - lib/octo/default_skills/product-help/docs/built-in-skills.md
372
+ - lib/octo/default_skills/product-help/docs/cli-reference.md
373
+ - lib/octo/default_skills/product-help/docs/create-your-first-skill.md
374
+ - lib/octo/default_skills/product-help/docs/faq.md
375
+ - lib/octo/default_skills/product-help/docs/how-to-use-a-skill.md
376
+ - lib/octo/default_skills/product-help/docs/installation.md
377
+ - lib/octo/default_skills/product-help/docs/memory-system.md
378
+ - lib/octo/default_skills/product-help/docs/octorules.md
379
+ - lib/octo/default_skills/product-help/docs/session-management.md
380
+ - lib/octo/default_skills/product-help/docs/skill-basics.md
381
+ - lib/octo/default_skills/product-help/docs/skill-frontmatter.md
382
+ - lib/octo/default_skills/product-help/docs/web-server.md
383
+ - lib/octo/default_skills/product-help/docs/what-is-octo.md
384
+ - lib/octo/default_skills/product-help/docs/windows-installation.md
385
+ - lib/octo/default_skills/product-help/docs/writing-tips.md
386
+ - lib/octo/default_skills/recall-memory/SKILL.md
387
+ - lib/octo/default_skills/skill-add/SKILL.md
388
+ - lib/octo/default_skills/skill-add/scripts/install_from_zip.rb
389
+ - lib/octo/default_skills/skill-creator/SKILL.md
390
+ - lib/octo/default_skills/skill-creator/agents/analyzer.md
391
+ - lib/octo/default_skills/skill-creator/agents/comparator.md
392
+ - lib/octo/default_skills/skill-creator/agents/grader.md
393
+ - lib/octo/default_skills/skill-creator/eval-viewer/generate_review.py
394
+ - lib/octo/default_skills/skill-creator/eval-viewer/viewer.html
395
+ - lib/octo/default_skills/skill-creator/references/schemas.md
396
+ - lib/octo/default_skills/skill-creator/scripts/__init__.py
397
+ - lib/octo/default_skills/skill-creator/scripts/aggregate_benchmark.py
398
+ - lib/octo/default_skills/skill-creator/scripts/generate_report.py
399
+ - lib/octo/default_skills/skill-creator/scripts/improve_description.py
400
+ - lib/octo/default_skills/skill-creator/scripts/quick_validate.py
401
+ - lib/octo/default_skills/skill-creator/scripts/run_eval.py
402
+ - lib/octo/default_skills/skill-creator/scripts/run_loop.py
403
+ - lib/octo/default_skills/skill-creator/scripts/utils.py
404
+ - lib/octo/default_skills/skill-creator/scripts/validate_skill_frontmatter.rb
405
+ - lib/octo/idle_compression_timer.rb
406
+ - lib/octo/json_ui_controller.rb
407
+ - lib/octo/message_format/anthropic.rb
408
+ - lib/octo/message_format/bedrock.rb
409
+ - lib/octo/message_format/open_ai.rb
410
+ - lib/octo/message_history.rb
411
+ - lib/octo/openai_stream_aggregator.rb
412
+ - lib/octo/plain_ui_controller.rb
413
+ - lib/octo/providers.rb
414
+ - lib/octo/server/browser_manager.rb
415
+ - lib/octo/server/channel.rb
416
+ - lib/octo/server/channel/adapters/base.rb
417
+ - lib/octo/server/channel/adapters/dingtalk/adapter.rb
418
+ - lib/octo/server/channel/adapters/dingtalk/api_client.rb
419
+ - lib/octo/server/channel/adapters/dingtalk/stream_client.rb
420
+ - lib/octo/server/channel/adapters/discord/adapter.rb
421
+ - lib/octo/server/channel/adapters/discord/api_client.rb
422
+ - lib/octo/server/channel/adapters/discord/gateway_client.rb
423
+ - lib/octo/server/channel/adapters/feishu/adapter.rb
424
+ - lib/octo/server/channel/adapters/feishu/bot.rb
425
+ - lib/octo/server/channel/adapters/feishu/file_processor.rb
426
+ - lib/octo/server/channel/adapters/feishu/message_parser.rb
427
+ - lib/octo/server/channel/adapters/feishu/ws_client.rb
428
+ - lib/octo/server/channel/adapters/telegram/adapter.rb
429
+ - lib/octo/server/channel/adapters/telegram/api_client.rb
430
+ - lib/octo/server/channel/adapters/wecom/adapter.rb
431
+ - lib/octo/server/channel/adapters/wecom/media_downloader.rb
432
+ - lib/octo/server/channel/adapters/wecom/ws_client.rb
433
+ - lib/octo/server/channel/adapters/weixin/adapter.rb
434
+ - lib/octo/server/channel/adapters/weixin/api_client.rb
435
+ - lib/octo/server/channel/channel_config.rb
436
+ - lib/octo/server/channel/channel_manager.rb
437
+ - lib/octo/server/channel/channel_ui_controller.rb
438
+ - lib/octo/server/discover.rb
439
+ - lib/octo/server/epipe_safe_io.rb
440
+ - lib/octo/server/http_server.rb
441
+ - lib/octo/server/scheduler.rb
442
+ - lib/octo/server/server_master.rb
443
+ - lib/octo/server/session_registry.rb
444
+ - lib/octo/server/web_ui_controller.rb
445
+ - lib/octo/session_manager.rb
446
+ - lib/octo/skill.rb
447
+ - lib/octo/skill_loader.rb
448
+ - lib/octo/tools/base.rb
449
+ - lib/octo/tools/browser.rb
450
+ - lib/octo/tools/edit.rb
451
+ - lib/octo/tools/file_reader.rb
452
+ - lib/octo/tools/glob.rb
453
+ - lib/octo/tools/grep.rb
454
+ - lib/octo/tools/invoke_skill.rb
455
+ - lib/octo/tools/list_tasks.rb
456
+ - lib/octo/tools/redo_task.rb
457
+ - lib/octo/tools/request_user_feedback.rb
458
+ - lib/octo/tools/security.rb
459
+ - lib/octo/tools/terminal.rb
460
+ - lib/octo/tools/terminal/output_cleaner.rb
461
+ - lib/octo/tools/terminal/persistent_session.rb
462
+ - lib/octo/tools/terminal/safe_rm.sh
463
+ - lib/octo/tools/terminal/session_manager.rb
464
+ - lib/octo/tools/todo_manager.rb
465
+ - lib/octo/tools/trash_manager.rb
466
+ - lib/octo/tools/undo_task.rb
467
+ - lib/octo/tools/web_fetch.rb
468
+ - lib/octo/tools/web_search.rb
469
+ - lib/octo/tools/write.rb
470
+ - lib/octo/ui2.rb
471
+ - lib/octo/ui2/block_font.rb
472
+ - lib/octo/ui2/components/base_component.rb
473
+ - lib/octo/ui2/components/command_suggestions.rb
474
+ - lib/octo/ui2/components/common_component.rb
475
+ - lib/octo/ui2/components/inline_input.rb
476
+ - lib/octo/ui2/components/input_area.rb
477
+ - lib/octo/ui2/components/message_component.rb
478
+ - lib/octo/ui2/components/modal_component.rb
479
+ - lib/octo/ui2/components/todo_area.rb
480
+ - lib/octo/ui2/components/tool_component.rb
481
+ - lib/octo/ui2/components/welcome_banner.rb
482
+ - lib/octo/ui2/layout_manager.rb
483
+ - lib/octo/ui2/line_editor.rb
484
+ - lib/octo/ui2/markdown_renderer.rb
485
+ - lib/octo/ui2/output_buffer.rb
486
+ - lib/octo/ui2/progress_handle.rb
487
+ - lib/octo/ui2/progress_indicator.rb
488
+ - lib/octo/ui2/screen_buffer.rb
489
+ - lib/octo/ui2/terminal_detector.rb
490
+ - lib/octo/ui2/theme_manager.rb
491
+ - lib/octo/ui2/themes/base_theme.rb
492
+ - lib/octo/ui2/themes/hacker_theme.rb
493
+ - lib/octo/ui2/themes/minimal_theme.rb
494
+ - lib/octo/ui2/thinking_verbs.rb
495
+ - lib/octo/ui2/ui_controller.rb
496
+ - lib/octo/ui2/view_renderer.rb
497
+ - lib/octo/ui_interface.rb
498
+ - lib/octo/utils/arguments_parser.rb
499
+ - lib/octo/utils/browser_detector.rb
500
+ - lib/octo/utils/encoding.rb
501
+ - lib/octo/utils/environment_detector.rb
502
+ - lib/octo/utils/file_ignore_helper.rb
503
+ - lib/octo/utils/file_processor.rb
504
+ - lib/octo/utils/gitignore_parser.rb
505
+ - lib/octo/utils/limit_stack.rb
506
+ - lib/octo/utils/logger.rb
507
+ - lib/octo/utils/login_shell.rb
508
+ - lib/octo/utils/model_pricing.rb
509
+ - lib/octo/utils/parser_manager.rb
510
+ - lib/octo/utils/path_helper.rb
511
+ - lib/octo/utils/scripts_manager.rb
512
+ - lib/octo/utils/string_matcher.rb
513
+ - lib/octo/utils/trash_directory.rb
514
+ - lib/octo/utils/workspace_rules.rb
515
+ - lib/octo/version.rb
516
+ - lib/octo/web/app.css
517
+ - lib/octo/web/app.js
518
+ - lib/octo/web/apple-touch-icon.png
519
+ - lib/octo/web/auth.js
520
+ - lib/octo/web/channels.js
521
+ - lib/octo/web/datepicker.js
522
+ - lib/octo/web/favicon.png
523
+ - lib/octo/web/i18n.js
524
+ - lib/octo/web/icon-512.png
525
+ - lib/octo/web/icon-dark.svg
526
+ - lib/octo/web/icon.svg
527
+ - lib/octo/web/index.html
528
+ - lib/octo/web/marked.min.js
529
+ - lib/octo/web/onboard.js
530
+ - lib/octo/web/profile.js
531
+ - lib/octo/web/sessions.js
532
+ - lib/octo/web/settings.js
533
+ - lib/octo/web/sidebar.js
534
+ - lib/octo/web/skills.js
535
+ - lib/octo/web/tasks.js
536
+ - lib/octo/web/theme.js
537
+ - lib/octo/web/trash.js
538
+ - lib/octo/web/vendor/hljs/highlight.min.js
539
+ - lib/octo/web/vendor/hljs/hljs-theme.css
540
+ - lib/octo/web/vendor/katex/auto-render.min.js
541
+ - lib/octo/web/vendor/katex/fonts/KaTeX_AMS-Regular.woff2
542
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff2
543
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff2
544
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Fraktur-Bold.woff2
545
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Fraktur-Regular.woff2
546
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Main-Bold.woff2
547
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Main-BoldItalic.woff2
548
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Main-Italic.woff2
549
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Main-Regular.woff2
550
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Math-BoldItalic.woff2
551
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Math-Italic.woff2
552
+ - lib/octo/web/vendor/katex/fonts/KaTeX_SansSerif-Bold.woff2
553
+ - lib/octo/web/vendor/katex/fonts/KaTeX_SansSerif-Italic.woff2
554
+ - lib/octo/web/vendor/katex/fonts/KaTeX_SansSerif-Regular.woff2
555
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Script-Regular.woff2
556
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Size1-Regular.woff2
557
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Size2-Regular.woff2
558
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Size3-Regular.woff2
559
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Size4-Regular.woff2
560
+ - lib/octo/web/vendor/katex/fonts/KaTeX_Typewriter-Regular.woff2
561
+ - lib/octo/web/vendor/katex/katex.min.css
562
+ - lib/octo/web/vendor/katex/katex.min.js
563
+ - lib/octo/web/version.js
564
+ - lib/octo/web/weixin-qr.html
565
+ - lib/octo/web/ws-dispatcher.js
566
+ - lib/octo/web/ws.js
567
+ - scripts/build/build.sh
568
+ - scripts/build/lib/apt.sh
569
+ - scripts/build/lib/brew.sh
570
+ - scripts/build/lib/colors.sh
571
+ - scripts/build/lib/gem.sh
572
+ - scripts/build/lib/mise.sh
573
+ - scripts/build/lib/network.sh
574
+ - scripts/build/lib/os.sh
575
+ - scripts/build/lib/shell.sh
576
+ - scripts/build/src/install.sh.cc
577
+ - scripts/build/src/install_browser.sh.cc
578
+ - scripts/build/src/install_full.sh.cc
579
+ - scripts/build/src/install_rails_deps.sh.cc
580
+ - scripts/build/src/install_system_deps.sh.cc
581
+ - scripts/build/src/uninstall.sh.cc
582
+ - scripts/install.ps1
583
+ - scripts/install.sh
584
+ - scripts/install_browser.sh
585
+ - scripts/install_full.sh
586
+ - scripts/install_rails_deps.sh
587
+ - scripts/install_system_deps.sh
588
+ - scripts/uninstall.sh
589
+ - sig/octo.rbs
590
+ homepage: https://github.com/Leihb/octo
591
+ licenses:
592
+ - MIT
593
+ metadata:
594
+ homepage_uri: https://github.com/Leihb/octo
595
+ source_code_uri: https://github.com/Leihb/octo
596
+ changelog_uri: https://github.com/Leihb/octo/blob/main/CHANGELOG.md
597
+ rdoc_options: []
598
+ require_paths:
599
+ - lib
600
+ required_ruby_version: !ruby/object:Gem::Requirement
601
+ requirements:
602
+ - - ">="
603
+ - !ruby/object:Gem::Version
604
+ version: 2.6.0
605
+ required_rubygems_version: !ruby/object:Gem::Requirement
606
+ requirements:
607
+ - - ">="
608
+ - !ruby/object:Gem::Version
609
+ version: '0'
610
+ requirements: []
611
+ rubygems_version: 4.0.10
612
+ specification_version: 4
613
+ summary: A functionality-first AI agent with three equal faces (CLI, Web, IM)
614
+ test_files: []