iCode-TUI 0.29.1__py3-none-any.whl

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 (1138) hide show
  1. chrys/__init__.py +16 -0
  2. chrys/app/__init__.py +3 -0
  3. chrys/app/acp/__init__.py +3 -0
  4. chrys/app/acp/bridge.py +664 -0
  5. chrys/app/acp/content.py +132 -0
  6. chrys/app/acp/doc/frontend-api.md +425 -0
  7. chrys/app/acp/history.py +585 -0
  8. chrys/app/acp/server.py +1796 -0
  9. chrys/app/acp/session_manager.py +1815 -0
  10. chrys/app/acp/tool_status.py +45 -0
  11. chrys/app/cli/__init__.py +3 -0
  12. chrys/app/cli/acp.py +178 -0
  13. chrys/app/cli/app.py +165 -0
  14. chrys/app/cli/approvals.py +101 -0
  15. chrys/app/cli/headless.py +223 -0
  16. chrys/app/cli/launch_cwd.py +42 -0
  17. chrys/app/cli/profiles.py +298 -0
  18. chrys/app/cli/progress.py +857 -0
  19. chrys/app/cli/run.py +425 -0
  20. chrys/app/cli/serve.py +1593 -0
  21. chrys/app/cli/tool_summary.py +225 -0
  22. chrys/app/cli/trajectory.py +201 -0
  23. chrys/app/cli/workflow.py +601 -0
  24. chrys/app/features/__init__.py +3 -0
  25. chrys/app/features/buddy/__init__.py +3 -0
  26. chrys/app/features/buddy/actions.py +68 -0
  27. chrys/app/features/buddy/animation.py +76 -0
  28. chrys/app/features/buddy/commands.py +196 -0
  29. chrys/app/features/buddy/docs/design.md +187 -0
  30. chrys/app/features/buddy/hatchery.py +80 -0
  31. chrys/app/features/buddy/lifecycle.py +41 -0
  32. chrys/app/features/buddy/model.py +265 -0
  33. chrys/app/features/buddy/pixel_renderer.py +113 -0
  34. chrys/app/features/buddy/pixel_sprites.py +279 -0
  35. chrys/app/features/buddy/portrait.py +76 -0
  36. chrys/app/features/buddy/progression.py +58 -0
  37. chrys/app/features/buddy/replies.py +191 -0
  38. chrys/app/features/buddy/sprites/alien.toml +70 -0
  39. chrys/app/features/buddy/sprites/axolotl.toml +71 -0
  40. chrys/app/features/buddy/sprites/bat.toml +69 -0
  41. chrys/app/features/buddy/sprites/bee.toml +69 -0
  42. chrys/app/features/buddy/sprites/cactus.toml +73 -0
  43. chrys/app/features/buddy/sprites/capybara.toml +70 -0
  44. chrys/app/features/buddy/sprites/cat.toml +69 -0
  45. chrys/app/features/buddy/sprites/crab.toml +70 -0
  46. chrys/app/features/buddy/sprites/dragon.toml +71 -0
  47. chrys/app/features/buddy/sprites/duck.toml +69 -0
  48. chrys/app/features/buddy/sprites/fox.toml +69 -0
  49. chrys/app/features/buddy/sprites/frog.toml +70 -0
  50. chrys/app/features/buddy/sprites/ghost.toml +70 -0
  51. chrys/app/features/buddy/sprites/goose.toml +69 -0
  52. chrys/app/features/buddy/sprites/jelly.toml +70 -0
  53. chrys/app/features/buddy/sprites/llama.toml +70 -0
  54. chrys/app/features/buddy/sprites/mushroom.toml +69 -0
  55. chrys/app/features/buddy/sprites/octopus.toml +70 -0
  56. chrys/app/features/buddy/sprites/owl.toml +70 -0
  57. chrys/app/features/buddy/sprites/panda.toml +71 -0
  58. chrys/app/features/buddy/sprites/penguin.toml +69 -0
  59. chrys/app/features/buddy/sprites/rabbit.toml +70 -0
  60. chrys/app/features/buddy/sprites/robot.toml +72 -0
  61. chrys/app/features/buddy/sprites/shark.toml +70 -0
  62. chrys/app/features/buddy/sprites/snail.toml +69 -0
  63. chrys/app/features/buddy/sprites/snake.toml +69 -0
  64. chrys/app/features/buddy/sprites/tabby.toml +69 -0
  65. chrys/app/features/buddy/sprites/turtle.toml +69 -0
  66. chrys/app/features/buddy/store.py +143 -0
  67. chrys/app/features/session_title/__init__.py +7 -0
  68. chrys/app/features/session_title/updater.py +582 -0
  69. chrys/app/installer.py +651 -0
  70. chrys/app/parsing.py +17 -0
  71. chrys/app/tui/__init__.py +3 -0
  72. chrys/app/tui/app.py +1287 -0
  73. chrys/app/tui/behaviors/__init__.py +3 -0
  74. chrys/app/tui/behaviors/click_outside_dismiss.py +90 -0
  75. chrys/app/tui/behaviors/insert_clipboard.py +73 -0
  76. chrys/app/tui/behaviors/right_click_copy.py +146 -0
  77. chrys/app/tui/binding_display.py +139 -0
  78. chrys/app/tui/buddy_messages.py +17 -0
  79. chrys/app/tui/buddy_reply.py +86 -0
  80. chrys/app/tui/chrys.tcss +549 -0
  81. chrys/app/tui/clipboard.py +109 -0
  82. chrys/app/tui/copy_messages.py +10 -0
  83. chrys/app/tui/i18n.py +230 -0
  84. chrys/app/tui/language.py +58 -0
  85. chrys/app/tui/notifications/__init__.py +12 -0
  86. chrys/app/tui/notifications/drivers.py +180 -0
  87. chrys/app/tui/notifications/service.py +126 -0
  88. chrys/app/tui/notifications/settings.py +141 -0
  89. chrys/app/tui/screens/__init__.py +3 -0
  90. chrys/app/tui/screens/agents/__init__.py +8 -0
  91. chrys/app/tui/screens/agents/agent_draft_store.py +937 -0
  92. chrys/app/tui/screens/agents/config.py +2142 -0
  93. chrys/app/tui/screens/agents/config.tcss +169 -0
  94. chrys/app/tui/screens/agents/panels/__init__.py +3 -0
  95. chrys/app/tui/screens/agents/panels/acp.py +1176 -0
  96. chrys/app/tui/screens/agents/panels/basic.py +497 -0
  97. chrys/app/tui/screens/agents/panels/compaction.py +231 -0
  98. chrys/app/tui/screens/agents/panels/config_card.py +218 -0
  99. chrys/app/tui/screens/agents/panels/instructions.py +91 -0
  100. chrys/app/tui/screens/agents/panels/markdown_report.py +76 -0
  101. chrys/app/tui/screens/agents/panels/mcp.py +2262 -0
  102. chrys/app/tui/screens/agents/panels/memory.py +684 -0
  103. chrys/app/tui/screens/agents/panels/path_entry.py +227 -0
  104. chrys/app/tui/screens/agents/panels/skills.py +806 -0
  105. chrys/app/tui/screens/agents/panels/subagents.py +652 -0
  106. chrys/app/tui/screens/agents/panels/tools.py +205 -0
  107. chrys/app/tui/screens/agents/picker.py +103 -0
  108. chrys/app/tui/screens/agents/skill_paths.py +38 -0
  109. chrys/app/tui/screens/agents/validation_messages.py +452 -0
  110. chrys/app/tui/screens/dialogs/__init__.py +35 -0
  111. chrys/app/tui/screens/dialogs/agent_load.py +834 -0
  112. chrys/app/tui/screens/dialogs/agent_load.tcss +78 -0
  113. chrys/app/tui/screens/dialogs/app_mode.py +55 -0
  114. chrys/app/tui/screens/dialogs/approval/__init__.py +15 -0
  115. chrys/app/tui/screens/dialogs/approval/approval.tcss +311 -0
  116. chrys/app/tui/screens/dialogs/approval/bodies/__init__.py +3 -0
  117. chrys/app/tui/screens/dialogs/approval/bodies/file_edit.py +210 -0
  118. chrys/app/tui/screens/dialogs/approval/bodies/sub_agent.py +82 -0
  119. chrys/app/tui/screens/dialogs/approval/body.py +110 -0
  120. chrys/app/tui/screens/dialogs/approval/dialog.py +565 -0
  121. chrys/app/tui/screens/dialogs/approval/mode.py +105 -0
  122. chrys/app/tui/screens/dialogs/ask_user.py +148 -0
  123. chrys/app/tui/screens/dialogs/ask_user.tcss +62 -0
  124. chrys/app/tui/screens/dialogs/base.py +84 -0
  125. chrys/app/tui/screens/dialogs/confirm.py +184 -0
  126. chrys/app/tui/screens/dialogs/confirm.tcss +46 -0
  127. chrys/app/tui/screens/dialogs/connection_test.py +183 -0
  128. chrys/app/tui/screens/dialogs/connection_test.tcss +92 -0
  129. chrys/app/tui/screens/dialogs/diagram.py +102 -0
  130. chrys/app/tui/screens/dialogs/diagram.tcss +24 -0
  131. chrys/app/tui/screens/dialogs/editor.py +378 -0
  132. chrys/app/tui/screens/dialogs/editor.tcss +132 -0
  133. chrys/app/tui/screens/dialogs/file_picker.py +582 -0
  134. chrys/app/tui/screens/dialogs/file_picker.tcss +78 -0
  135. chrys/app/tui/screens/dialogs/fork_session.py +219 -0
  136. chrys/app/tui/screens/dialogs/fork_session.tcss +75 -0
  137. chrys/app/tui/screens/dialogs/image_compression.py +102 -0
  138. chrys/app/tui/screens/dialogs/image_compression.tcss +28 -0
  139. chrys/app/tui/screens/dialogs/man_page.py +172 -0
  140. chrys/app/tui/screens/dialogs/man_page.tcss +39 -0
  141. chrys/app/tui/screens/dialogs/new_folder.py +277 -0
  142. chrys/app/tui/screens/dialogs/new_folder.tcss +51 -0
  143. chrys/app/tui/screens/dialogs/notice.tcss +14 -0
  144. chrys/app/tui/screens/dialogs/prompt_cache.py +144 -0
  145. chrys/app/tui/screens/dialogs/prompt_cache.tcss +38 -0
  146. chrys/app/tui/screens/dialogs/runtime_details.py +371 -0
  147. chrys/app/tui/screens/dialogs/runtime_details.tcss +49 -0
  148. chrys/app/tui/screens/dialogs/session_title.py +110 -0
  149. chrys/app/tui/screens/dialogs/session_title.tcss +43 -0
  150. chrys/app/tui/screens/dialogs/tool_view.py +207 -0
  151. chrys/app/tui/screens/dialogs/tool_view.tcss +43 -0
  152. chrys/app/tui/screens/dialogs/vision_unsupported.py +122 -0
  153. chrys/app/tui/screens/dialogs/vision_unsupported.tcss +35 -0
  154. chrys/app/tui/screens/dialogs/workflow_confirm.py +91 -0
  155. chrys/app/tui/screens/dialogs/workflow_confirm.tcss +17 -0
  156. chrys/app/tui/screens/dialogs/workflow_input.py +258 -0
  157. chrys/app/tui/screens/dialogs/workflow_input.tcss +73 -0
  158. chrys/app/tui/screens/dialogs/workflow_node.py +462 -0
  159. chrys/app/tui/screens/dialogs/workflow_node.tcss +41 -0
  160. chrys/app/tui/screens/dialogs/workflow_picker.py +46 -0
  161. chrys/app/tui/screens/dialogs/workflow_result.py +136 -0
  162. chrys/app/tui/screens/dialogs/workflow_result.tcss +14 -0
  163. chrys/app/tui/screens/diff/__init__.py +22 -0
  164. chrys/app/tui/screens/diff/rollback_modal.py +1381 -0
  165. chrys/app/tui/screens/diff/rollback_modal.tcss +248 -0
  166. chrys/app/tui/screens/diff/screen.py +1532 -0
  167. chrys/app/tui/screens/diff/screen.tcss +104 -0
  168. chrys/app/tui/screens/guides/__init__.py +7 -0
  169. chrys/app/tui/screens/guides/_docs/en/guides/configuration/agents.md +178 -0
  170. chrys/app/tui/screens/guides/_docs/en/guides/configuration/approval.md +117 -0
  171. chrys/app/tui/screens/guides/_docs/en/guides/configuration/chat-options.md +276 -0
  172. chrys/app/tui/screens/guides/_docs/en/guides/configuration/compaction.md +42 -0
  173. chrys/app/tui/screens/guides/_docs/en/guides/configuration/memory.md +48 -0
  174. chrys/app/tui/screens/guides/_docs/en/guides/configuration/models.md +158 -0
  175. chrys/app/tui/screens/guides/_docs/en/guides/configuration/settings.md +210 -0
  176. chrys/app/tui/screens/guides/_docs/en/guides/configuration/themes.md +61 -0
  177. chrys/app/tui/screens/guides/_docs/en/guides/configuration/tools.md +60 -0
  178. chrys/app/tui/screens/guides/_docs/en/guides/configuration/web-tools.md +286 -0
  179. chrys/app/tui/screens/guides/_docs/en/guides/daily-use/sessions.md +77 -0
  180. chrys/app/tui/screens/guides/_docs/en/guides/daily-use/workspaces.md +51 -0
  181. chrys/app/tui/screens/guides/_docs/en/guides/extensions/external-acp-agents.md +126 -0
  182. chrys/app/tui/screens/guides/_docs/en/guides/extensions/hooks.md +167 -0
  183. chrys/app/tui/screens/guides/_docs/en/guides/extensions/mcp.md +95 -0
  184. chrys/app/tui/screens/guides/_docs/en/guides/extensions/skills.md +175 -0
  185. chrys/app/tui/screens/guides/_docs/en/guides/running/icode-acp.md +61 -0
  186. chrys/app/tui/screens/guides/_docs/en/guides/running/icode-run.md +190 -0
  187. chrys/app/tui/screens/guides/_docs/en/guides/running/icode-serve.md +239 -0
  188. chrys/app/tui/screens/guides/_docs/en/guides/running/workflows.md +664 -0
  189. chrys/app/tui/screens/guides/_docs/en/reference/agent-profile.md +548 -0
  190. chrys/app/tui/screens/guides/_docs/en/reference/hooks.md +602 -0
  191. chrys/app/tui/screens/guides/_docs/en/reference/opentelemetry.md +177 -0
  192. chrys/app/tui/screens/guides/_docs/en/reference/settings.md +245 -0
  193. chrys/app/tui/screens/guides/_docs/en/reference/themes.md +149 -0
  194. chrys/app/tui/screens/guides/_docs/en/reference/tool-kinds-and-names.md +58 -0
  195. chrys/app/tui/screens/guides/_docs/en/reference/tui-slash-commands.md +76 -0
  196. chrys/app/tui/screens/guides/_docs/en/reference/workflows.md +1006 -0
  197. chrys/app/tui/screens/guides/_docs/en/start/getting-started.md +170 -0
  198. chrys/app/tui/screens/guides/_docs/en/start/what-is-icode.md +34 -0
  199. chrys/app/tui/screens/guides/_docs/index.yaml +100 -0
  200. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/configuration/agents.md +178 -0
  201. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/configuration/approval.md +117 -0
  202. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/configuration/chat-options.md +276 -0
  203. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/configuration/compaction.md +42 -0
  204. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/configuration/memory.md +48 -0
  205. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/configuration/models.md +158 -0
  206. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/configuration/settings.md +210 -0
  207. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/configuration/themes.md +61 -0
  208. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/configuration/tools.md +60 -0
  209. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/configuration/web-tools.md +286 -0
  210. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/daily-use/sessions.md +77 -0
  211. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/daily-use/workspaces.md +51 -0
  212. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/extensions/external-acp-agents.md +126 -0
  213. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/extensions/hooks.md +167 -0
  214. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/extensions/mcp.md +95 -0
  215. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/extensions/skills.md +175 -0
  216. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/running/icode-acp.md +61 -0
  217. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/running/icode-run.md +190 -0
  218. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/running/icode-serve.md +239 -0
  219. chrys/app/tui/screens/guides/_docs/zh-Hans/guides/running/workflows.md +664 -0
  220. chrys/app/tui/screens/guides/_docs/zh-Hans/reference/agent-profile.md +548 -0
  221. chrys/app/tui/screens/guides/_docs/zh-Hans/reference/hooks.md +602 -0
  222. chrys/app/tui/screens/guides/_docs/zh-Hans/reference/opentelemetry.md +177 -0
  223. chrys/app/tui/screens/guides/_docs/zh-Hans/reference/settings.md +245 -0
  224. chrys/app/tui/screens/guides/_docs/zh-Hans/reference/themes.md +149 -0
  225. chrys/app/tui/screens/guides/_docs/zh-Hans/reference/tool-kinds-and-names.md +58 -0
  226. chrys/app/tui/screens/guides/_docs/zh-Hans/reference/tui-slash-commands.md +76 -0
  227. chrys/app/tui/screens/guides/_docs/zh-Hans/reference/workflows.md +1005 -0
  228. chrys/app/tui/screens/guides/_docs/zh-Hans/start/getting-started.md +170 -0
  229. chrys/app/tui/screens/guides/_docs/zh-Hans/start/what-is-icode.md +34 -0
  230. chrys/app/tui/screens/guides/index.py +215 -0
  231. chrys/app/tui/screens/guides/reader.py +173 -0
  232. chrys/app/tui/screens/guides/screen.py +442 -0
  233. chrys/app/tui/screens/guides/screen.tcss +52 -0
  234. chrys/app/tui/screens/logs/__init__.py +7 -0
  235. chrys/app/tui/screens/logs/screen.py +504 -0
  236. chrys/app/tui/screens/logs/screen.tcss +45 -0
  237. chrys/app/tui/screens/main/__init__.py +7 -0
  238. chrys/app/tui/screens/main/action_availability.py +30 -0
  239. chrys/app/tui/screens/main/buddy_command.py +143 -0
  240. chrys/app/tui/screens/main/commands.py +1073 -0
  241. chrys/app/tui/screens/main/config_actions.py +464 -0
  242. chrys/app/tui/screens/main/copy_actions.py +117 -0
  243. chrys/app/tui/screens/main/dialog_controllers.py +826 -0
  244. chrys/app/tui/screens/main/dialog_gateway.py +166 -0
  245. chrys/app/tui/screens/main/diff_controller.py +478 -0
  246. chrys/app/tui/screens/main/engine_read_model.py +184 -0
  247. chrys/app/tui/screens/main/event_handlers.py +2014 -0
  248. chrys/app/tui/screens/main/input_flow.py +241 -0
  249. chrys/app/tui/screens/main/live_diff.py +244 -0
  250. chrys/app/tui/screens/main/main_screen_presenter.py +295 -0
  251. chrys/app/tui/screens/main/model_indicator.py +217 -0
  252. chrys/app/tui/screens/main/navigation.py +343 -0
  253. chrys/app/tui/screens/main/ports.py +571 -0
  254. chrys/app/tui/screens/main/recent_dirs.py +123 -0
  255. chrys/app/tui/screens/main/rollback_controller.py +586 -0
  256. chrys/app/tui/screens/main/runtime_info.py +71 -0
  257. chrys/app/tui/screens/main/screen.py +2265 -0
  258. chrys/app/tui/screens/main/screen.tcss +21 -0
  259. chrys/app/tui/screens/main/session_handlers.py +1127 -0
  260. chrys/app/tui/screens/main/session_title.py +239 -0
  261. chrys/app/tui/screens/main/settings_coordinator.py +365 -0
  262. chrys/app/tui/screens/main/settings_persistence.py +184 -0
  263. chrys/app/tui/screens/main/shell_mode.py +112 -0
  264. chrys/app/tui/screens/main/state.py +289 -0
  265. chrys/app/tui/screens/main/submit_state.py +11 -0
  266. chrys/app/tui/screens/main/subscriptions.py +177 -0
  267. chrys/app/tui/screens/main/suggestions.py +982 -0
  268. chrys/app/tui/screens/main/tool_action_bridge.py +75 -0
  269. chrys/app/tui/screens/main/view_adapter.py +1567 -0
  270. chrys/app/tui/screens/main/workflow_browser.py +747 -0
  271. chrys/app/tui/screens/main/workflow_content.py +248 -0
  272. chrys/app/tui/screens/main/workflow_controller.py +240 -0
  273. chrys/app/tui/screens/main/workflow_feedback.py +137 -0
  274. chrys/app/tui/screens/main/workflow_flow.py +49 -0
  275. chrys/app/tui/screens/main/workflow_run_control.py +456 -0
  276. chrys/app/tui/screens/main/workflow_session_view.py +316 -0
  277. chrys/app/tui/screens/main/workspace_actions.py +272 -0
  278. chrys/app/tui/screens/main/workspace_branch.py +194 -0
  279. chrys/app/tui/screens/menus/__init__.py +8 -0
  280. chrys/app/tui/screens/menus/languages.py +114 -0
  281. chrys/app/tui/screens/models/__init__.py +7 -0
  282. chrys/app/tui/screens/models/picker.py +147 -0
  283. chrys/app/tui/screens/models/screen.py +2043 -0
  284. chrys/app/tui/screens/models/screen.tcss +255 -0
  285. chrys/app/tui/screens/sessions/__init__.py +8 -0
  286. chrys/app/tui/screens/sessions/presenter.py +586 -0
  287. chrys/app/tui/screens/sessions/screen.py +779 -0
  288. chrys/app/tui/screens/sessions/screen.tcss +127 -0
  289. chrys/app/tui/screens/settings/__init__.py +29 -0
  290. chrys/app/tui/screens/settings/danger.py +26 -0
  291. chrys/app/tui/screens/settings/dialog.py +281 -0
  292. chrys/app/tui/screens/settings/layout.py +519 -0
  293. chrys/app/tui/screens/settings/migrate_dialog.py +253 -0
  294. chrys/app/tui/screens/settings/panes/__init__.py +3 -0
  295. chrys/app/tui/screens/settings/panes/notifications.py +248 -0
  296. chrys/app/tui/screens/settings/panes/sessions.py +148 -0
  297. chrys/app/tui/screens/settings/ports.py +55 -0
  298. chrys/app/tui/screens/settings/provenance.py +102 -0
  299. chrys/app/tui/screens/settings/rows.py +546 -0
  300. chrys/app/tui/screens/settings/settings.tcss +406 -0
  301. chrys/app/tui/screens/themes/__init__.py +8 -0
  302. chrys/app/tui/screens/themes/dialogs.py +330 -0
  303. chrys/app/tui/screens/themes/editor.py +632 -0
  304. chrys/app/tui/screens/themes/editor.tcss +268 -0
  305. chrys/app/tui/screens/themes/messages.py +95 -0
  306. chrys/app/tui/screens/themes/palette.py +694 -0
  307. chrys/app/tui/screens/themes/panel.py +113 -0
  308. chrys/app/tui/screens/themes/picker.py +203 -0
  309. chrys/app/tui/screens/themes/save.py +191 -0
  310. chrys/app/tui/support/__init__.py +3 -0
  311. chrys/app/tui/support/file_manager.py +64 -0
  312. chrys/app/tui/support/gc_freeze.py +1114 -0
  313. chrys/app/tui/support/path_shortcuts.py +50 -0
  314. chrys/app/tui/support/prompt_history.py +298 -0
  315. chrys/app/tui/support/workspace_mru.py +476 -0
  316. chrys/app/tui/terminal/__init__.py +6 -0
  317. chrys/app/tui/terminal/_pty_backend.py +114 -0
  318. chrys/app/tui/terminal/emulator/__init__.py +24 -0
  319. chrys/app/tui/terminal/emulator/buffer.py +456 -0
  320. chrys/app/tui/terminal/emulator/charsets.py +113 -0
  321. chrys/app/tui/terminal/emulator/core.py +963 -0
  322. chrys/app/tui/terminal/emulator/input.py +342 -0
  323. chrys/app/tui/terminal/emulator/parser.py +227 -0
  324. chrys/app/tui/terminal/emulator/pen.py +158 -0
  325. chrys/app/tui/terminal/launcher.py +455 -0
  326. chrys/app/tui/terminal/leaked_reports.py +44 -0
  327. chrys/app/tui/terminal/panel.py +323 -0
  328. chrys/app/tui/terminal/pty_process.py +405 -0
  329. chrys/app/tui/terminal/rendering.py +151 -0
  330. chrys/app/tui/terminal/shell.py +273 -0
  331. chrys/app/tui/terminal/shell_integration.py +199 -0
  332. chrys/app/tui/terminal/title.py +224 -0
  333. chrys/app/tui/terminal/widget.py +654 -0
  334. chrys/app/tui/theme.py +422 -0
  335. chrys/app/tui/theme_loader.py +201 -0
  336. chrys/app/tui/theme_stylesheet.py +49 -0
  337. chrys/app/tui/themes/__init__.py +3 -0
  338. chrys/app/tui/themes/document.py +120 -0
  339. chrys/app/tui/themes/preview.py +170 -0
  340. chrys/app/tui/themes/store.py +176 -0
  341. chrys/app/tui/toasts.py +69 -0
  342. chrys/app/tui/util/__init__.py +3 -0
  343. chrys/app/tui/util/context_pressure.py +146 -0
  344. chrys/app/tui/util/debug_log.py +292 -0
  345. chrys/app/tui/util/diff_entries.py +64 -0
  346. chrys/app/tui/util/formatting.py +53 -0
  347. chrys/app/tui/util/git_branch.py +326 -0
  348. chrys/app/tui/util/invocation_progress.py +57 -0
  349. chrys/app/tui/util/logo.py +32 -0
  350. chrys/app/tui/util/message_gate.py +35 -0
  351. chrys/app/tui/util/mutation_sources.py +14 -0
  352. chrys/app/tui/util/picker_text.py +27 -0
  353. chrys/app/tui/util/removal.py +47 -0
  354. chrys/app/tui/util/rich_style.py +36 -0
  355. chrys/app/tui/util/source_text.py +12 -0
  356. chrys/app/tui/util/static_update.py +88 -0
  357. chrys/app/tui/util/todo_format.py +51 -0
  358. chrys/app/tui/util/visibility.py +214 -0
  359. chrys/app/tui/widgets/__init__.py +60 -0
  360. chrys/app/tui/widgets/ask_user_controls.py +652 -0
  361. chrys/app/tui/widgets/ask_user_markdown.py +17 -0
  362. chrys/app/tui/widgets/ask_user_prompt.py +606 -0
  363. chrys/app/tui/widgets/buttons.py +52 -0
  364. chrys/app/tui/widgets/chat/__init__.py +3 -0
  365. chrys/app/tui/widgets/chat/agent_transcript_surface.py +818 -0
  366. chrys/app/tui/widgets/chat/chrome.py +296 -0
  367. chrys/app/tui/widgets/chat/compaction_card.py +353 -0
  368. chrys/app/tui/widgets/chat/context_fold.py +77 -0
  369. chrys/app/tui/widgets/chat/file_snapshot.py +91 -0
  370. chrys/app/tui/widgets/chat/image_preview.py +214 -0
  371. chrys/app/tui/widgets/chat/live_renderer.py +383 -0
  372. chrys/app/tui/widgets/chat/messages.py +1039 -0
  373. chrys/app/tui/widgets/chat/panel.py +1769 -0
  374. chrys/app/tui/widgets/chat/ports.py +245 -0
  375. chrys/app/tui/widgets/chat/renderers/__init__.py +7 -0
  376. chrys/app/tui/widgets/chat/renderers/ask_user.py +747 -0
  377. chrys/app/tui/widgets/chat/renderers/execute.py +431 -0
  378. chrys/app/tui/widgets/chat/renderers/file_edit.py +925 -0
  379. chrys/app/tui/widgets/chat/renderers/hosted_code.py +83 -0
  380. chrys/app/tui/widgets/chat/renderers/hosted_generic.py +330 -0
  381. chrys/app/tui/widgets/chat/renderers/hosted_image.py +107 -0
  382. chrys/app/tui/widgets/chat/renderers/hosted_mcp.py +43 -0
  383. chrys/app/tui/widgets/chat/renderers/hosted_search.py +167 -0
  384. chrys/app/tui/widgets/chat/renderers/hosted_shell.py +132 -0
  385. chrys/app/tui/widgets/chat/renderers/read_file.py +399 -0
  386. chrys/app/tui/widgets/chat/renderers/search.py +348 -0
  387. chrys/app/tui/widgets/chat/renderers/skill.py +564 -0
  388. chrys/app/tui/widgets/chat/renderers/sleep.py +287 -0
  389. chrys/app/tui/widgets/chat/renderers/sub_agent.py +1385 -0
  390. chrys/app/tui/widgets/chat/renderers/todo.py +114 -0
  391. chrys/app/tui/widgets/chat/renderers/web.py +69 -0
  392. chrys/app/tui/widgets/chat/replay.py +1605 -0
  393. chrys/app/tui/widgets/chat/replay_mount.py +322 -0
  394. chrys/app/tui/widgets/chat/scroll_controller.py +579 -0
  395. chrys/app/tui/widgets/chat/selection_controller.py +435 -0
  396. chrys/app/tui/widgets/chat/session_json.py +508 -0
  397. chrys/app/tui/widgets/chat/toc_model.py +156 -0
  398. chrys/app/tui/widgets/chat/tool_call.py +2478 -0
  399. chrys/app/tui/widgets/chat/tool_registry.py +753 -0
  400. chrys/app/tui/widgets/chat/tool_renderers.py +247 -0
  401. chrys/app/tui/widgets/chat/tool_view_builders.py +260 -0
  402. chrys/app/tui/widgets/chat/transcript_reader.py +57 -0
  403. chrys/app/tui/widgets/checkbox.py +24 -0
  404. chrys/app/tui/widgets/chrome/__init__.py +3 -0
  405. chrys/app/tui/widgets/chrome/app_header.py +283 -0
  406. chrys/app/tui/widgets/chrome/commands.py +95 -0
  407. chrys/app/tui/widgets/chrome/file_index.py +68 -0
  408. chrys/app/tui/widgets/chrome/file_scanner.py +670 -0
  409. chrys/app/tui/widgets/chrome/footer.py +284 -0
  410. chrys/app/tui/widgets/chrome/image_paste.py +351 -0
  411. chrys/app/tui/widgets/chrome/input_bar.py +1299 -0
  412. chrys/app/tui/widgets/chrome/status_bar.py +911 -0
  413. chrys/app/tui/widgets/chrome/suggestion_list.py +652 -0
  414. chrys/app/tui/widgets/click_affordance.py +24 -0
  415. chrys/app/tui/widgets/color_picker/__init__.py +254 -0
  416. chrys/app/tui/widgets/color_picker/controls.py +171 -0
  417. chrys/app/tui/widgets/color_picker/model.py +89 -0
  418. chrys/app/tui/widgets/dialog_buttons.py +58 -0
  419. chrys/app/tui/widgets/dialog_scroll.py +24 -0
  420. chrys/app/tui/widgets/diff_view/__init__.py +20 -0
  421. chrys/app/tui/widgets/diff_view/cells.py +59 -0
  422. chrys/app/tui/widgets/diff_view/code.py +280 -0
  423. chrys/app/tui/widgets/diff_view/compute.py +286 -0
  424. chrys/app/tui/widgets/diff_view/gutter.py +161 -0
  425. chrys/app/tui/widgets/diff_view/inline.py +77 -0
  426. chrys/app/tui/widgets/diff_view/palette.py +87 -0
  427. chrys/app/tui/widgets/diff_view/protocols.py +24 -0
  428. chrys/app/tui/widgets/diff_view/rows.py +138 -0
  429. chrys/app/tui/widgets/diff_view/unified.py +267 -0
  430. chrys/app/tui/widgets/diff_view/widget.py +209 -0
  431. chrys/app/tui/widgets/editor/__init__.py +79 -0
  432. chrys/app/tui/widgets/editor/coordinates.py +30 -0
  433. chrys/app/tui/widgets/editor/highlighter.py +139 -0
  434. chrys/app/tui/widgets/editor/keymaps.py +357 -0
  435. chrys/app/tui/widgets/editor/types.py +216 -0
  436. chrys/app/tui/widgets/editor/vim.py +1195 -0
  437. chrys/app/tui/widgets/editor/widget.py +401 -0
  438. chrys/app/tui/widgets/file_preview.py +58 -0
  439. chrys/app/tui/widgets/hatch.py +138 -0
  440. chrys/app/tui/widgets/input.py +66 -0
  441. chrys/app/tui/widgets/loading.py +125 -0
  442. chrys/app/tui/widgets/markdown/__init__.py +25 -0
  443. chrys/app/tui/widgets/markdown/_utils.py +21 -0
  444. chrys/app/tui/widgets/markdown/anchors.py +71 -0
  445. chrys/app/tui/widgets/markdown/blocks.py +115 -0
  446. chrys/app/tui/widgets/markdown/copyable.py +163 -0
  447. chrys/app/tui/widgets/markdown/diagram/__init__.py +35 -0
  448. chrys/app/tui/widgets/markdown/diagram/canvas.py +409 -0
  449. chrys/app/tui/widgets/markdown/diagram/charts.py +52 -0
  450. chrys/app/tui/widgets/markdown/diagram/diagnostics.py +101 -0
  451. chrys/app/tui/widgets/markdown/diagram/geometry.py +46 -0
  452. chrys/app/tui/widgets/markdown/diagram/layout.py +494 -0
  453. chrys/app/tui/widgets/markdown/diagram/messages.py +18 -0
  454. chrys/app/tui/widgets/markdown/diagram/model.py +275 -0
  455. chrys/app/tui/widgets/markdown/diagram/parser.py +173 -0
  456. chrys/app/tui/widgets/markdown/diagram/parsers/__init__.py +3 -0
  457. chrys/app/tui/widgets/markdown/diagram/parsers/charts.py +349 -0
  458. chrys/app/tui/widgets/markdown/diagram/parsers/common.py +403 -0
  459. chrys/app/tui/widgets/markdown/diagram/parsers/graphs.py +1072 -0
  460. chrys/app/tui/widgets/markdown/diagram/parsers/planning.py +317 -0
  461. chrys/app/tui/widgets/markdown/diagram/parsers/schedule.py +298 -0
  462. chrys/app/tui/widgets/markdown/diagram/parsers/schemas.py +241 -0
  463. chrys/app/tui/widgets/markdown/diagram/parsers/structure.py +221 -0
  464. chrys/app/tui/widgets/markdown/diagram/presentation.py +32 -0
  465. chrys/app/tui/widgets/markdown/diagram/renderers/__init__.py +3 -0
  466. chrys/app/tui/widgets/markdown/diagram/renderers/charts.py +275 -0
  467. chrys/app/tui/widgets/markdown/diagram/renderers/common.py +73 -0
  468. chrys/app/tui/widgets/markdown/diagram/renderers/planning.py +157 -0
  469. chrys/app/tui/widgets/markdown/diagram/renderers/schedule.py +202 -0
  470. chrys/app/tui/widgets/markdown/diagram/renderers/structure.py +77 -0
  471. chrys/app/tui/widgets/markdown/diagram/renderers/xy.py +385 -0
  472. chrys/app/tui/widgets/markdown/diagram/router.py +651 -0
  473. chrys/app/tui/widgets/markdown/diagram/specs/__init__.py +3 -0
  474. chrys/app/tui/widgets/markdown/diagram/specs/charts.py +94 -0
  475. chrys/app/tui/widgets/markdown/diagram/specs/planning.py +68 -0
  476. chrys/app/tui/widgets/markdown/diagram/specs/schedule.py +65 -0
  477. chrys/app/tui/widgets/markdown/diagram/specs/structure.py +23 -0
  478. chrys/app/tui/widgets/markdown/diagram/viewer.py +92 -0
  479. chrys/app/tui/widgets/markdown/links.py +47 -0
  480. chrys/app/tui/widgets/markdown/math/__init__.py +36 -0
  481. chrys/app/tui/widgets/markdown/math/layout.py +739 -0
  482. chrys/app/tui/widgets/markdown/math/markdown.py +291 -0
  483. chrys/app/tui/widgets/markdown/math/parser.py +325 -0
  484. chrys/app/tui/widgets/markdown/math/symbols.py +325 -0
  485. chrys/app/tui/widgets/markdown/navigator.py +80 -0
  486. chrys/app/tui/widgets/markdown/parser.py +1057 -0
  487. chrys/app/tui/widgets/markdown/stream.py +73 -0
  488. chrys/app/tui/widgets/markdown/toc.py +98 -0
  489. chrys/app/tui/widgets/markdown/viewer.py +146 -0
  490. chrys/app/tui/widgets/markdown/widget.py +2046 -0
  491. chrys/app/tui/widgets/marquee.py +101 -0
  492. chrys/app/tui/widgets/option_menu.py +82 -0
  493. chrys/app/tui/widgets/page_navigator.py +118 -0
  494. chrys/app/tui/widgets/select.py +196 -0
  495. chrys/app/tui/widgets/selection.py +59 -0
  496. chrys/app/tui/widgets/sidebar/__init__.py +3 -0
  497. chrys/app/tui/widgets/sidebar/buddy.py +367 -0
  498. chrys/app/tui/widgets/sidebar/context.py +482 -0
  499. chrys/app/tui/widgets/sidebar/debug.py +195 -0
  500. chrys/app/tui/widgets/sidebar/empty_state.py +11 -0
  501. chrys/app/tui/widgets/sidebar/panel.py +198 -0
  502. chrys/app/tui/widgets/sidebar/tasks.py +198 -0
  503. chrys/app/tui/widgets/sidebar/toc.py +166 -0
  504. chrys/app/tui/widgets/sidebar/toc_types.py +30 -0
  505. chrys/app/tui/widgets/syntax_theme.py +85 -0
  506. chrys/app/tui/widgets/text_area.py +258 -0
  507. chrys/app/tui/widgets/trajectory/__init__.py +8 -0
  508. chrys/app/tui/widgets/trajectory/chartkit.py +264 -0
  509. chrys/app/tui/widgets/trajectory/insights.py +1266 -0
  510. chrys/app/tui/widgets/trajectory/overview.py +1101 -0
  511. chrys/app/tui/widgets/trajectory/panel.py +983 -0
  512. chrys/app/tui/widgets/trajectory/presentation.py +311 -0
  513. chrys/app/tui/widgets/trajectory/session_info.py +124 -0
  514. chrys/app/tui/widgets/trajectory/text_view.py +124 -0
  515. chrys/app/tui/widgets/trajectory/timeline.py +380 -0
  516. chrys/app/tui/widgets/welcome.py +126 -0
  517. chrys/app/tui/widgets/workflow/__init__.py +5 -0
  518. chrys/app/tui/widgets/workflow/edges.py +89 -0
  519. chrys/app/tui/widgets/workflow/graph.py +869 -0
  520. chrys/app/tui/widgets/workflow/info.py +310 -0
  521. chrys/app/tui/widgets/workflow/node_view.py +27 -0
  522. chrys/app/tui/widgets/workflow/output.py +225 -0
  523. chrys/app/tui/widgets/workflow/panel.py +658 -0
  524. chrys/app/tui/widgets/workflow/projector.py +324 -0
  525. chrys/app/tui/widgets/workflow/records.py +69 -0
  526. chrys/app/tui/widgets/workflow/scrollbar.py +82 -0
  527. chrys/app/tui/widgets/workflow/selection.py +151 -0
  528. chrys/app/tui/widgets/workflow/source.py +65 -0
  529. chrys/app/tui/widgets/workflow/text.py +257 -0
  530. chrys/app/tui/widgets/workflow/values.py +317 -0
  531. chrys/foundation/__init__.py +0 -0
  532. chrys/foundation/branding.py +15 -0
  533. chrys/foundation/config/__init__.py +7 -0
  534. chrys/foundation/config/coercion.py +374 -0
  535. chrys/foundation/config/context.py +34 -0
  536. chrys/foundation/config/env_file.py +141 -0
  537. chrys/foundation/config/env_layers.py +370 -0
  538. chrys/foundation/config/migrations.py +521 -0
  539. chrys/foundation/config/notification_events.py +22 -0
  540. chrys/foundation/config/process_settings.py +332 -0
  541. chrys/foundation/config/runtime_pointer.py +133 -0
  542. chrys/foundation/config/settings.py +1952 -0
  543. chrys/foundation/config/settings_store.py +996 -0
  544. chrys/foundation/config/spec.py +396 -0
  545. chrys/foundation/config/user_settings.py +140 -0
  546. chrys/foundation/config/warnings.py +262 -0
  547. chrys/foundation/config/web_values.py +135 -0
  548. chrys/foundation/config/yaml_store.py +487 -0
  549. chrys/foundation/errors/__init__.py +68 -0
  550. chrys/foundation/errors/_legacy.py +117 -0
  551. chrys/foundation/errors/_text.py +13 -0
  552. chrys/foundation/errors/_walk.py +85 -0
  553. chrys/foundation/errors/classify.py +278 -0
  554. chrys/foundation/errors/display.py +274 -0
  555. chrys/foundation/errors/formatting.py +283 -0
  556. chrys/foundation/errors/kinds.py +67 -0
  557. chrys/foundation/errors/network.py +497 -0
  558. chrys/foundation/errors/provider.py +445 -0
  559. chrys/foundation/errors/route.py +85 -0
  560. chrys/foundation/events/__init__.py +8 -0
  561. chrys/foundation/events/bus.py +143 -0
  562. chrys/foundation/events/types.py +1629 -0
  563. chrys/foundation/events/workflow.py +38 -0
  564. chrys/foundation/hosted_tools.py +142 -0
  565. chrys/foundation/i18n/__init__.py +32 -0
  566. chrys/foundation/i18n/_catalogs/zh-Hans/LC_MESSAGES/chrys.mo +0 -0
  567. chrys/foundation/i18n/catalogs.py +42 -0
  568. chrys/foundation/i18n/formatting.py +202 -0
  569. chrys/foundation/i18n/locale.py +92 -0
  570. chrys/foundation/i18n/localizer.py +187 -0
  571. chrys/foundation/i18n/messages.py +268 -0
  572. chrys/foundation/io/__init__.py +3 -0
  573. chrys/foundation/io/result_content.py +237 -0
  574. chrys/foundation/models/__init__.py +3 -0
  575. chrys/foundation/models/approval_reuse.py +23 -0
  576. chrys/foundation/models/ask_user.py +468 -0
  577. chrys/foundation/models/execution.py +18 -0
  578. chrys/foundation/models/history_markers.py +115 -0
  579. chrys/foundation/models/invocations.py +63 -0
  580. chrys/foundation/models/mutation_scope.py +28 -0
  581. chrys/foundation/models/session_env.py +87 -0
  582. chrys/foundation/models/session_surface.py +29 -0
  583. chrys/foundation/models/todos.py +74 -0
  584. chrys/foundation/models/turns.py +125 -0
  585. chrys/foundation/models/workflow_session.py +89 -0
  586. chrys/foundation/models/workspace.py +59 -0
  587. chrys/foundation/net/__init__.py +3 -0
  588. chrys/foundation/net/address_class.py +57 -0
  589. chrys/foundation/net/route_probe.py +94 -0
  590. chrys/foundation/net/url.py +107 -0
  591. chrys/foundation/observability/__init__.py +3 -0
  592. chrys/foundation/observability/exporters.py +174 -0
  593. chrys/foundation/observability/gate.py +31 -0
  594. chrys/foundation/observability/setup.py +497 -0
  595. chrys/foundation/observability/sink.py +228 -0
  596. chrys/foundation/patches/__init__.py +19 -0
  597. chrys/foundation/patches/mdurl_cache.py +59 -0
  598. chrys/foundation/patches/patcher.py +287 -0
  599. chrys/foundation/patches/staged_members.py +205 -0
  600. chrys/foundation/patches/textual_block_border.py +105 -0
  601. chrys/foundation/patches/textual_button_ansi.py +65 -0
  602. chrys/foundation/patches/textual_button_ansi_old.txt +68 -0
  603. chrys/foundation/patches/textual_callback_cache.py +248 -0
  604. chrys/foundation/patches/textual_callback_dispatch.py +109 -0
  605. chrys/foundation/patches/textual_compositor_cjk.py +566 -0
  606. chrys/foundation/patches/textual_dispatch_cache.py +150 -0
  607. chrys/foundation/patches/textual_ime_cursor_anchor.py +92 -0
  608. chrys/foundation/patches/textual_kitty_keyboard.py +268 -0
  609. chrys/foundation/patches/textual_lru_acyclic.py +241 -0
  610. chrys/foundation/patches/textual_message_pump.py +136 -0
  611. chrys/foundation/patches/textual_node_diet.py +875 -0
  612. chrys/foundation/patches/textual_one_shot_timer.py +48 -0
  613. chrys/foundation/patches/textual_option_list.py +90 -0
  614. chrys/foundation/patches/textual_precompose.py +89 -0
  615. chrys/foundation/patches/textual_pruned_tabs.py +69 -0
  616. chrys/foundation/patches/textual_reflow_reuse.py +1753 -0
  617. chrys/foundation/patches/textual_removed_node_caches.py +86 -0
  618. chrys/foundation/patches/textual_removed_screen_callbacks.py +55 -0
  619. chrys/foundation/patches/textual_selection_extract.py +48 -0
  620. chrys/foundation/patches/textual_strip_cycles.py +119 -0
  621. chrys/foundation/patches/textual_tab_selection.py +1611 -0
  622. chrys/foundation/patches/textual_timer_skip.py +70 -0
  623. chrys/foundation/patches/textual_utf8_decoder.py +106 -0
  624. chrys/foundation/patches/textual_win_sleep.py +167 -0
  625. chrys/foundation/patches/watchdog_fsevents.py +70 -0
  626. chrys/foundation/patches/watchdog_windows.py +52 -0
  627. chrys/foundation/platform/__init__.py +556 -0
  628. chrys/foundation/platform/c_api.py +32 -0
  629. chrys/foundation/platform/child_reap.py +107 -0
  630. chrys/foundation/platform/command_line.py +95 -0
  631. chrys/foundation/platform/files.py +1470 -0
  632. chrys/foundation/platform/output_capture.py +113 -0
  633. chrys/foundation/platform/paths.py +193 -0
  634. chrys/foundation/platform/process.py +1468 -0
  635. chrys/foundation/platform/pty_output.py +19 -0
  636. chrys/foundation/platform/runtime_paths.py +281 -0
  637. chrys/foundation/platform/win_console.py +129 -0
  638. chrys/foundation/reasoning_origin.py +67 -0
  639. chrys/foundation/recovery.py +16 -0
  640. chrys/foundation/retry.py +278 -0
  641. chrys/foundation/text/__init__.py +3 -0
  642. chrys/foundation/text/encoding.py +603 -0
  643. chrys/foundation/text/images.py +304 -0
  644. chrys/foundation/text/lines.py +24 -0
  645. chrys/foundation/text/mentions.py +90 -0
  646. chrys/foundation/text/model_json.py +25 -0
  647. chrys/foundation/text/reading_order.py +20 -0
  648. chrys/foundation/text/tokenizer.py +25 -0
  649. chrys/foundation/text/tool_output.py +287 -0
  650. chrys/foundation/text/yaml_io.py +62 -0
  651. chrys/foundation/tool_call_context.py +202 -0
  652. chrys/foundation/tool_execution_stamp.py +184 -0
  653. chrys/foundation/tool_invocation_order.py +48 -0
  654. chrys/foundation/tool_kinds.py +102 -0
  655. chrys/foundation/tool_result_metadata.py +287 -0
  656. chrys/foundation/trajectory/__init__.py +10 -0
  657. chrys/foundation/trajectory/context.py +481 -0
  658. chrys/foundation/trajectory/envelope.py +571 -0
  659. chrys/foundation/trajectory/event_types.py +294 -0
  660. chrys/foundation/trajectory/finalizers.py +46 -0
  661. chrys/foundation/trajectory/fingerprint.py +62 -0
  662. chrys/foundation/trajectory/ids.py +155 -0
  663. chrys/foundation/trajectory/keys.py +99 -0
  664. chrys/foundation/trajectory/lease.py +173 -0
  665. chrys/foundation/trajectory/metadata.py +72 -0
  666. chrys/foundation/trajectory/reader.py +271 -0
  667. chrys/foundation/trajectory/recovery.py +225 -0
  668. chrys/foundation/trajectory/revisions.py +152 -0
  669. chrys/foundation/trajectory/segments.py +225 -0
  670. chrys/foundation/trajectory/tools.py +117 -0
  671. chrys/foundation/trajectory/usage.py +151 -0
  672. chrys/foundation/trajectory/writer.py +972 -0
  673. chrys/foundation/trajectory_timing.py +97 -0
  674. chrys/foundation/util/__init__.py +3 -0
  675. chrys/foundation/util/async_tasks.py +29 -0
  676. chrys/foundation/util/chrys_headers.py +23 -0
  677. chrys/foundation/util/env_templates.py +104 -0
  678. chrys/foundation/util/filenames.py +96 -0
  679. chrys/foundation/util/header_charset.py +138 -0
  680. chrys/foundation/util/httpx_helpers.py +12 -0
  681. chrys/foundation/util/lock.py +236 -0
  682. chrys/foundation/util/once_close.py +46 -0
  683. chrys/foundation/util/session_ids.py +29 -0
  684. chrys/foundation/util/shell_tokens.py +88 -0
  685. chrys/foundation/util/sub_agent_context.py +38 -0
  686. chrys/foundation/util/time.py +35 -0
  687. chrys/foundation/util/unicode_scalars.py +36 -0
  688. chrys/foundation/vendor/__init__.py +43 -0
  689. chrys/foundation/vendor/ripgrep/rg-aarch64-apple-darwin +0 -0
  690. chrys/foundation/vendor/ripgrep/rg-aarch64-pc-windows-msvc.exe +0 -0
  691. chrys/foundation/vendor/ripgrep/rg-aarch64-unknown-linux-gnu +0 -0
  692. chrys/foundation/vendor/ripgrep/rg-x86_64-apple-darwin +0 -0
  693. chrys/foundation/vendor/ripgrep/rg-x86_64-pc-windows-msvc.exe +0 -0
  694. chrys/foundation/vendor/ripgrep/rg-x86_64-unknown-linux-musl +0 -0
  695. chrys/kernel/__init__.py +256 -0
  696. chrys/kernel/_content.py +1866 -0
  697. chrys/kernel/_loop_recorder.py +631 -0
  698. chrys/kernel/_null_overlay.py +1026 -0
  699. chrys/kernel/_result_ceiling.py +216 -0
  700. chrys/kernel/_serialization.py +431 -0
  701. chrys/kernel/_tool_arg_errors.py +1629 -0
  702. chrys/kernel/_tool_execution.py +1172 -0
  703. chrys/kernel/_tool_expansion.py +26 -0
  704. chrys/kernel/_types.py +2598 -0
  705. chrys/kernel/agent.py +994 -0
  706. chrys/kernel/client.py +1084 -0
  707. chrys/kernel/compaction.py +1315 -0
  708. chrys/kernel/exceptions.py +211 -0
  709. chrys/kernel/exchanges.py +683 -0
  710. chrys/kernel/identity.py +95 -0
  711. chrys/kernel/images.py +36 -0
  712. chrys/kernel/instrumentation.py +1618 -0
  713. chrys/kernel/loop.py +2308 -0
  714. chrys/kernel/middleware.py +616 -0
  715. chrys/kernel/sessions.py +604 -0
  716. chrys/kernel/tools.py +1061 -0
  717. chrys/kernel/types.py +126 -0
  718. chrys/orchestration/__init__.py +3 -0
  719. chrys/orchestration/engine/__init__.py +3 -0
  720. chrys/orchestration/engine/assembly.py +236 -0
  721. chrys/orchestration/engine/build/__init__.py +3 -0
  722. chrys/orchestration/engine/build/builder.py +1061 -0
  723. chrys/orchestration/engine/build/construction.py +408 -0
  724. chrys/orchestration/engine/build/loaded.py +139 -0
  725. chrys/orchestration/engine/engine.py +789 -0
  726. chrys/orchestration/engine/execution.py +771 -0
  727. chrys/orchestration/engine/loader.py +865 -0
  728. chrys/orchestration/engine/rollback.py +918 -0
  729. chrys/orchestration/engine/run/__init__.py +3 -0
  730. chrys/orchestration/engine/run/active_injection.py +419 -0
  731. chrys/orchestration/engine/run/attachments.py +519 -0
  732. chrys/orchestration/engine/run/bindings.py +1095 -0
  733. chrys/orchestration/engine/run/coordinator.py +1062 -0
  734. chrys/orchestration/engine/run/finalizer.py +417 -0
  735. chrys/orchestration/engine/run/input_refs.py +60 -0
  736. chrys/orchestration/engine/run/prompt_content.py +457 -0
  737. chrys/orchestration/engine/run/resume.py +299 -0
  738. chrys/orchestration/engine/run/retry.py +948 -0
  739. chrys/orchestration/engine/run/runner.py +625 -0
  740. chrys/orchestration/engine/run/runtime_skills.py +146 -0
  741. chrys/orchestration/engine/run/sub_agent_coordination.py +126 -0
  742. chrys/orchestration/engine/run/turn_hooks.py +258 -0
  743. chrys/orchestration/engine/run/turn_state.py +149 -0
  744. chrys/orchestration/engine/run/working_dir.py +50 -0
  745. chrys/orchestration/engine/session_lifecycle.py +2013 -0
  746. chrys/orchestration/engine/state/__init__.py +3 -0
  747. chrys/orchestration/engine/state/active_session.py +183 -0
  748. chrys/orchestration/engine/state/controls.py +639 -0
  749. chrys/orchestration/engine/state/current_agent.py +26 -0
  750. chrys/orchestration/engine/state/lifecycle_permits.py +395 -0
  751. chrys/orchestration/engine/state/machine.py +193 -0
  752. chrys/orchestration/engine/state/session_writer.py +434 -0
  753. chrys/orchestration/engine/trajectory.py +714 -0
  754. chrys/orchestration/engine/usage.py +118 -0
  755. chrys/orchestration/invoker/__init__.py +3 -0
  756. chrys/orchestration/invoker/acp.py +727 -0
  757. chrys/orchestration/invoker/acp_protocol.py +1115 -0
  758. chrys/orchestration/invoker/acp_spec.py +79 -0
  759. chrys/orchestration/invoker/attempts.py +994 -0
  760. chrys/orchestration/invoker/child_compaction.py +131 -0
  761. chrys/orchestration/invoker/child_history.py +99 -0
  762. chrys/orchestration/invoker/contracts.py +253 -0
  763. chrys/orchestration/invoker/evidence.py +94 -0
  764. chrys/orchestration/invoker/kernel.py +343 -0
  765. chrys/orchestration/invoker/origin.py +79 -0
  766. chrys/orchestration/invoker/resources.py +343 -0
  767. chrys/orchestration/invoker/runtime.py +299 -0
  768. chrys/orchestration/invoker/usage.py +80 -0
  769. chrys/orchestration/session_hooks.py +117 -0
  770. chrys/orchestration/session_host.py +1023 -0
  771. chrys/orchestration/session_resources.py +95 -0
  772. chrys/orchestration/session_usage.py +219 -0
  773. chrys/orchestration/startup.py +255 -0
  774. chrys/orchestration/sub_agents/__init__.py +3 -0
  775. chrys/orchestration/sub_agents/acp_policy.py +269 -0
  776. chrys/orchestration/sub_agents/kernel_policy.py +848 -0
  777. chrys/orchestration/sub_agents/registration.py +44 -0
  778. chrys/orchestration/sub_agents/shell.py +337 -0
  779. chrys/orchestration/sub_agents/tools.py +2228 -0
  780. chrys/orchestration/workflows/__init__.py +3 -0
  781. chrys/orchestration/workflows/agent_archive.py +156 -0
  782. chrys/orchestration/workflows/agent_node.py +894 -0
  783. chrys/orchestration/workflows/agent_node_build.py +687 -0
  784. chrys/orchestration/workflows/catalog.py +332 -0
  785. chrys/orchestration/workflows/coordinator.py +771 -0
  786. chrys/orchestration/workflows/hooks.py +176 -0
  787. chrys/orchestration/workflows/preview.py +322 -0
  788. chrys/orchestration/workflows/rollback.py +151 -0
  789. chrys/orchestration/workflows/runner.py +986 -0
  790. chrys/orchestration/workflows/session.py +390 -0
  791. chrys/orchestration/workflows/settings.py +97 -0
  792. chrys/orchestration/workflows/validation.py +674 -0
  793. chrys/orchestration/workflows/worker_client.py +1002 -0
  794. chrys/service/__init__.py +3 -0
  795. chrys/service/acp_client/__init__.py +65 -0
  796. chrys/service/acp_client/_transport.py +922 -0
  797. chrys/service/acp_client/client.py +1311 -0
  798. chrys/service/acp_client/errors.py +224 -0
  799. chrys/service/acp_client/protocol.py +220 -0
  800. chrys/service/acp_client/spawn.py +239 -0
  801. chrys/service/acp_client/spec.py +100 -0
  802. chrys/service/agent_middleware/__init__.py +60 -0
  803. chrys/service/agent_middleware/_metadata_keys.py +52 -0
  804. chrys/service/agent_middleware/control/__init__.py +3 -0
  805. chrys/service/agent_middleware/control/approval.py +769 -0
  806. chrys/service/agent_middleware/control/approval_hooks.py +62 -0
  807. chrys/service/agent_middleware/control/ask_user.py +207 -0
  808. chrys/service/agent_middleware/control/interrupt.py +50 -0
  809. chrys/service/agent_middleware/control/sleep.py +118 -0
  810. chrys/service/agent_middleware/control/todo.py +117 -0
  811. chrys/service/agent_middleware/events/__init__.py +3 -0
  812. chrys/service/agent_middleware/events/hook_dispatch.py +250 -0
  813. chrys/service/agent_middleware/events/hosted_tools.py +1762 -0
  814. chrys/service/agent_middleware/events/intermediate_text.py +128 -0
  815. chrys/service/agent_middleware/events/rejection_metadata.py +50 -0
  816. chrys/service/agent_middleware/events/result_persistence.py +98 -0
  817. chrys/service/agent_middleware/events/sub_agent_events.py +951 -0
  818. chrys/service/agent_middleware/events/tool_error_text.py +22 -0
  819. chrys/service/agent_middleware/events/tool_events.py +779 -0
  820. chrys/service/agent_middleware/injection.py +510 -0
  821. chrys/service/agent_middleware/reminders/__init__.py +91 -0
  822. chrys/service/agent_middleware/reminders/archive_pointer.py +154 -0
  823. chrys/service/agent_middleware/reminders/base.py +25 -0
  824. chrys/service/agent_middleware/reminders/context_usage.py +74 -0
  825. chrys/service/agent_middleware/reminders/file_change.py +63 -0
  826. chrys/service/agent_middleware/reminders/mcp.py +39 -0
  827. chrys/service/agent_middleware/reminders/profile_switch.py +106 -0
  828. chrys/service/agent_middleware/reminders/runtime_env.py +190 -0
  829. chrys/service/agent_middleware/reminders/skills.py +44 -0
  830. chrys/service/agent_middleware/reminders/sub_agents.py +35 -0
  831. chrys/service/agent_middleware/reminders/todo.py +35 -0
  832. chrys/service/agent_middleware/reminders/turn_line.py +48 -0
  833. chrys/service/agent_middleware/response_validation.py +1380 -0
  834. chrys/service/agent_middleware/system_reminder.py +1107 -0
  835. chrys/service/agent_middleware/validators.py +396 -0
  836. chrys/service/analytics/__init__.py +124 -0
  837. chrys/service/analytics/_actions.py +896 -0
  838. chrys/service/analytics/_context_evidence.py +357 -0
  839. chrys/service/analytics/_critical_path.py +179 -0
  840. chrys/service/analytics/_facts.py +919 -0
  841. chrys/service/analytics/_insights.py +769 -0
  842. chrys/service/analytics/_metric_ops.py +83 -0
  843. chrys/service/analytics/_session_projection.py +460 -0
  844. chrys/service/analytics/_timeline.py +434 -0
  845. chrys/service/analytics/_turn_graph.py +1237 -0
  846. chrys/service/analytics/_turns.py +1377 -0
  847. chrys/service/analytics/_workflows.py +171 -0
  848. chrys/service/analytics/aggregation.py +1474 -0
  849. chrys/service/analytics/classification.py +128 -0
  850. chrys/service/analytics/export.py +803 -0
  851. chrys/service/analytics/findings.py +282 -0
  852. chrys/service/analytics/math.py +79 -0
  853. chrys/service/analytics/model.py +886 -0
  854. chrys/service/analytics/reader.py +321 -0
  855. chrys/service/approval/__init__.py +3 -0
  856. chrys/service/approval/arbitration.py +102 -0
  857. chrys/service/approval/command_identity.py +109 -0
  858. chrys/service/approval/correlation.py +57 -0
  859. chrys/service/approval/grant_store.py +108 -0
  860. chrys/service/approval/judge.py +589 -0
  861. chrys/service/approval/level.py +15 -0
  862. chrys/service/approval/policy.py +209 -0
  863. chrys/service/approval/reuse.py +223 -0
  864. chrys/service/approval/reuse_binding.py +133 -0
  865. chrys/service/approval/safety_classifier.py +536 -0
  866. chrys/service/approval/turn_context.py +49 -0
  867. chrys/service/context/__init__.py +3 -0
  868. chrys/service/context/compaction/__init__.py +38 -0
  869. chrys/service/context/compaction/breaker.py +156 -0
  870. chrys/service/context/compaction/budgets.py +93 -0
  871. chrys/service/context/compaction/calibration.py +77 -0
  872. chrys/service/context/compaction/compression.py +690 -0
  873. chrys/service/context/compaction/current_turn_drop.py +458 -0
  874. chrys/service/context/compaction/events.py +201 -0
  875. chrys/service/context/compaction/exclusions.py +261 -0
  876. chrys/service/context/compaction/groups.py +361 -0
  877. chrys/service/context/compaction/last_words.py +1996 -0
  878. chrys/service/context/compaction/last_words_state.py +752 -0
  879. chrys/service/context/compaction/scoped.py +472 -0
  880. chrys/service/context/compaction/spill.py +1947 -0
  881. chrys/service/context/compaction/strategy.py +1116 -0
  882. chrys/service/context/compaction/summaries.py +319 -0
  883. chrys/service/context/compaction/turns.py +375 -0
  884. chrys/service/context/manager.py +174 -0
  885. chrys/service/context/memory_loader.py +792 -0
  886. chrys/service/context/middleware/__init__.py +3 -0
  887. chrys/service/context/middleware/usage.py +332 -0
  888. chrys/service/context/providers/__init__.py +3 -0
  889. chrys/service/context/providers/context_management.py +432 -0
  890. chrys/service/context/providers/history.py +647 -0
  891. chrys/service/context/providers/memory.py +50 -0
  892. chrys/service/context/tool_content.py +22 -0
  893. chrys/service/hooks/__init__.py +37 -0
  894. chrys/service/hooks/detached_worker.py +118 -0
  895. chrys/service/hooks/docs/README.md +14 -0
  896. chrys/service/hooks/docs/authoring.md +684 -0
  897. chrys/service/hooks/docs/configuration.md +499 -0
  898. chrys/service/hooks/docs/design.md +359 -0
  899. chrys/service/hooks/docs/project-hooks.md +348 -0
  900. chrys/service/hooks/events.py +157 -0
  901. chrys/service/hooks/loader.py +665 -0
  902. chrys/service/hooks/manager.py +807 -0
  903. chrys/service/hooks/matcher.py +111 -0
  904. chrys/service/hooks/outbox.py +294 -0
  905. chrys/service/hooks/runner.py +572 -0
  906. chrys/service/hooks/schema.py +407 -0
  907. chrys/service/llm/__init__.py +7 -0
  908. chrys/service/llm/_structured_outputs.py +192 -0
  909. chrys/service/llm/anthropic_messages/__init__.py +9 -0
  910. chrys/service/llm/anthropic_messages/client.py +254 -0
  911. chrys/service/llm/anthropic_messages/decode.py +331 -0
  912. chrys/service/llm/anthropic_messages/history.py +279 -0
  913. chrys/service/llm/anthropic_messages/request.py +323 -0
  914. chrys/service/llm/anthropic_messages/server_tools.py +319 -0
  915. chrys/service/llm/anthropic_messages/stream.py +297 -0
  916. chrys/service/llm/anthropic_messages/thinking_binding.py +156 -0
  917. chrys/service/llm/chat_completions/__init__.py +9 -0
  918. chrys/service/llm/chat_completions/client.py +369 -0
  919. chrys/service/llm/chat_completions/decode.py +338 -0
  920. chrys/service/llm/chat_completions/history.py +657 -0
  921. chrys/service/llm/chat_completions/reasoning.py +244 -0
  922. chrys/service/llm/chat_completions/request.py +192 -0
  923. chrys/service/llm/chat_completions/stream.py +546 -0
  924. chrys/service/llm/chat_completions/validation.py +308 -0
  925. chrys/service/llm/clients.py +613 -0
  926. chrys/service/llm/images.py +65 -0
  927. chrys/service/llm/mock.py +413 -0
  928. chrys/service/llm/observer.py +446 -0
  929. chrys/service/llm/one_shot.py +106 -0
  930. chrys/service/llm/openai_exceptions.py +93 -0
  931. chrys/service/llm/openai_responses/__init__.py +10 -0
  932. chrys/service/llm/openai_responses/client.py +323 -0
  933. chrys/service/llm/openai_responses/decode.py +432 -0
  934. chrys/service/llm/openai_responses/history.py +519 -0
  935. chrys/service/llm/openai_responses/hosted.py +625 -0
  936. chrys/service/llm/openai_responses/replay.py +629 -0
  937. chrys/service/llm/openai_responses/request.py +342 -0
  938. chrys/service/llm/openai_responses/stream.py +847 -0
  939. chrys/service/llm/openai_timestamps.py +57 -0
  940. chrys/service/llm/providers.py +107 -0
  941. chrys/service/llm/proxy_route.py +54 -0
  942. chrys/service/llm/raw_http_log.py +309 -0
  943. chrys/service/llm/route_facts.py +63 -0
  944. chrys/service/llm/route_sessions.py +49 -0
  945. chrys/service/llm/sdk_anthropic.py +18 -0
  946. chrys/service/llm/sdk_headers.py +47 -0
  947. chrys/service/llm/sdk_openai.py +18 -0
  948. chrys/service/llm/sdk_retry.py +59 -0
  949. chrys/service/llm/wire_client.py +246 -0
  950. chrys/service/mcp/__init__.py +3 -0
  951. chrys/service/mcp/_connection.py +235 -0
  952. chrys/service/mcp/_http_transport.py +350 -0
  953. chrys/service/mcp/_progressive.py +459 -0
  954. chrys/service/mcp/_stdio_transport.py +614 -0
  955. chrys/service/mcp/_tool_mixins.py +96 -0
  956. chrys/service/mcp/adapter.py +1031 -0
  957. chrys/service/mcp/cache.py +476 -0
  958. chrys/service/mcp/content.py +32 -0
  959. chrys/service/mcp/errors.py +169 -0
  960. chrys/service/mcp/owned.py +1330 -0
  961. chrys/service/mcp/result_limits.py +168 -0
  962. chrys/service/mcp/thinking_warning.py +95 -0
  963. chrys/service/mcp/validation.py +74 -0
  964. chrys/service/mutations/__init__.py +84 -0
  965. chrys/service/mutations/coordination.py +894 -0
  966. chrys/service/mutations/detector.py +458 -0
  967. chrys/service/mutations/git_calibrator.py +397 -0
  968. chrys/service/mutations/git_state.py +647 -0
  969. chrys/service/mutations/pipeline.py +779 -0
  970. chrys/service/mutations/scanner.py +466 -0
  971. chrys/service/mutations/snapshot_files.py +233 -0
  972. chrys/service/mutations/store.py +625 -0
  973. chrys/service/mutations/tool_names.py +15 -0
  974. chrys/service/mutations/trace.py +246 -0
  975. chrys/service/mutations/tracker.py +1289 -0
  976. chrys/service/mutations/types.py +559 -0
  977. chrys/service/mutations/workspace_changes.py +1583 -0
  978. chrys/service/profiles/__init__.py +2 -0
  979. chrys/service/profiles/agents/__init__.py +3 -0
  980. chrys/service/profiles/agents/builtins/Code.yaml +199 -0
  981. chrys/service/profiles/agents/builtins/Explore.yaml +62 -0
  982. chrys/service/profiles/agents/builtins/General.yaml +114 -0
  983. chrys/service/profiles/agents/builtins/QA.yaml +128 -0
  984. chrys/service/profiles/agents/loader.py +808 -0
  985. chrys/service/profiles/agents/registry.py +727 -0
  986. chrys/service/profiles/agents/schema.py +371 -0
  987. chrys/service/profiles/agents/serializer.py +196 -0
  988. chrys/service/profiles/coercion.py +22 -0
  989. chrys/service/profiles/models/__init__.py +3 -0
  990. chrys/service/profiles/models/env_bridge.py +157 -0
  991. chrys/service/profiles/models/loader.py +282 -0
  992. chrys/service/profiles/models/options.py +438 -0
  993. chrys/service/profiles/models/registry.py +104 -0
  994. chrys/service/profiles/models/resolver.py +286 -0
  995. chrys/service/profiles/models/schema.py +91 -0
  996. chrys/service/profiles/models/serializer.py +76 -0
  997. chrys/service/session/__init__.py +3 -0
  998. chrys/service/session/checkpoint.py +156 -0
  999. chrys/service/session/history.py +1616 -0
  1000. chrys/service/session/message_metadata.py +151 -0
  1001. chrys/service/session/persistence.py +435 -0
  1002. chrys/service/session/runtime_metadata.py +210 -0
  1003. chrys/service/session/sub_agent_logs.py +1069 -0
  1004. chrys/service/session/sub_agent_transcript.py +654 -0
  1005. chrys/service/skills/__init__.py +3 -0
  1006. chrys/service/skills/adapter.py +408 -0
  1007. chrys/service/skills/constants.py +8 -0
  1008. chrys/service/skills/loader.py +575 -0
  1009. chrys/service/skills/model.py +130 -0
  1010. chrys/service/skills/provider.py +841 -0
  1011. chrys/service/skills/runner.py +390 -0
  1012. chrys/service/state/__init__.py +3 -0
  1013. chrys/service/state/_fork.py +710 -0
  1014. chrys/service/state/_session_files.py +175 -0
  1015. chrys/service/state/_session_meta.py +552 -0
  1016. chrys/service/state/locks.py +154 -0
  1017. chrys/service/state/serializers.py +156 -0
  1018. chrys/service/state/session_catalog.py +361 -0
  1019. chrys/service/state/session_listing.py +84 -0
  1020. chrys/service/state/session_migration.py +446 -0
  1021. chrys/service/state/session_mru.py +315 -0
  1022. chrys/service/state/store.py +2132 -0
  1023. chrys/service/state/workflow.py +158 -0
  1024. chrys/service/text_blocks.py +47 -0
  1025. chrys/service/todos/__init__.py +3 -0
  1026. chrys/service/todos/reminder.py +31 -0
  1027. chrys/service/todos/tracker.py +58 -0
  1028. chrys/service/tools/__init__.py +3 -0
  1029. chrys/service/tools/approval_targets.py +92 -0
  1030. chrys/service/tools/builtins/__init__.py +3 -0
  1031. chrys/service/tools/builtins/ask_user.py +326 -0
  1032. chrys/service/tools/builtins/doc_converter/__init__.py +494 -0
  1033. chrys/service/tools/builtins/doc_converter/artifacts.py +392 -0
  1034. chrys/service/tools/builtins/doc_converter/parsers/__init__.py +3 -0
  1035. chrys/service/tools/builtins/doc_converter/parsers/_table.py +34 -0
  1036. chrys/service/tools/builtins/doc_converter/parsers/base.py +101 -0
  1037. chrys/service/tools/builtins/doc_converter/parsers/docx.py +88 -0
  1038. chrys/service/tools/builtins/doc_converter/parsers/pdf.py +144 -0
  1039. chrys/service/tools/builtins/doc_converter/parsers/pptx.py +103 -0
  1040. chrys/service/tools/builtins/doc_converter/parsers/xls.py +32 -0
  1041. chrys/service/tools/builtins/doc_converter/parsers/xlsx.py +51 -0
  1042. chrys/service/tools/builtins/doc_converter/registry.py +55 -0
  1043. chrys/service/tools/builtins/filesystem.py +1071 -0
  1044. chrys/service/tools/builtins/search.py +1265 -0
  1045. chrys/service/tools/builtins/shell.py +967 -0
  1046. chrys/service/tools/builtins/shell_command_filtering/__init__.py +5 -0
  1047. chrys/service/tools/builtins/shell_command_filtering/policy.py +60 -0
  1048. chrys/service/tools/builtins/shell_command_filtering/presets.py +152 -0
  1049. chrys/service/tools/builtins/shell_command_filtering/readonly/__init__.py +358 -0
  1050. chrys/service/tools/builtins/shell_command_filtering/readonly/commands.py +416 -0
  1051. chrys/service/tools/builtins/shell_command_filtering/readonly/git.py +408 -0
  1052. chrys/service/tools/builtins/shell_command_filtering/readonly/syntax.py +87 -0
  1053. chrys/service/tools/builtins/shell_command_filtering/tokenizer.py +214 -0
  1054. chrys/service/tools/builtins/shell_filter.py +24 -0
  1055. chrys/service/tools/builtins/sleep.py +91 -0
  1056. chrys/service/tools/builtins/todo.py +64 -0
  1057. chrys/service/tools/builtins/web/__init__.py +6 -0
  1058. chrys/service/tools/builtins/web/build.py +268 -0
  1059. chrys/service/tools/builtins/web/config.py +338 -0
  1060. chrys/service/tools/builtins/web/credentials.py +37 -0
  1061. chrys/service/tools/builtins/web/fetch/__init__.py +3 -0
  1062. chrys/service/tools/builtins/web/fetch/cache.py +68 -0
  1063. chrys/service/tools/builtins/web/fetch/convert.py +56 -0
  1064. chrys/service/tools/builtins/web/fetch/tool.py +223 -0
  1065. chrys/service/tools/builtins/web/hosted.py +61 -0
  1066. chrys/service/tools/builtins/web/http.py +330 -0
  1067. chrys/service/tools/builtins/web/progress.py +18 -0
  1068. chrys/service/tools/builtins/web/search/__init__.py +3 -0
  1069. chrys/service/tools/builtins/web/search/exa_mcp.py +146 -0
  1070. chrys/service/tools/builtins/web/search/html.py +152 -0
  1071. chrys/service/tools/builtins/web/search/json_api.py +227 -0
  1072. chrys/service/tools/builtins/web/search/providers.py +77 -0
  1073. chrys/service/tools/builtins/web/search/tool.py +218 -0
  1074. chrys/service/tools/builtins/web/search/types.py +28 -0
  1075. chrys/service/tools/builtins/web/tls_identity.py +66 -0
  1076. chrys/service/tools/kinds.py +115 -0
  1077. chrys/service/tools/names.py +47 -0
  1078. chrys/service/tools/registry.py +242 -0
  1079. chrys/service/tools/result_metadata.py +103 -0
  1080. chrys/service/tools/session_artifacts.py +196 -0
  1081. chrys/service/tools/spill.py +218 -0
  1082. chrys/service/tools/workspace_paths.py +81 -0
  1083. chrys/service/trajectory/__init__.py +11 -0
  1084. chrys/service/trajectory/approvals.py +201 -0
  1085. chrys/service/trajectory/compaction.py +420 -0
  1086. chrys/service/trajectory/fork.py +75 -0
  1087. chrys/service/trajectory/hooks.py +217 -0
  1088. chrys/service/trajectory/items.py +41 -0
  1089. chrys/service/trajectory/preparation.py +374 -0
  1090. chrys/service/trajectory/retries.py +95 -0
  1091. chrys/service/trajectory/revisions.py +129 -0
  1092. chrys/service/trajectory/segmented.py +163 -0
  1093. chrys/service/trajectory/session.py +762 -0
  1094. chrys/service/trajectory/state.py +83 -0
  1095. chrys/service/trajectory/sub_agents.py +169 -0
  1096. chrys/service/trajectory/tombstone.py +262 -0
  1097. chrys/service/trajectory/tools.py +323 -0
  1098. chrys/service/trajectory/validation.py +130 -0
  1099. chrys/service/trajectory/waits.py +161 -0
  1100. chrys/service/trajectory/workflow.py +148 -0
  1101. chrys/service/vision.py +128 -0
  1102. chrys/service/workflows/__init__.py +3 -0
  1103. chrys/service/workflows/admission.py +151 -0
  1104. chrys/service/workflows/artifacts.py +109 -0
  1105. chrys/service/workflows/asks.py +130 -0
  1106. chrys/service/workflows/builtins/__init__.py +12 -0
  1107. chrys/service/workflows/builtins/demo-workflow.manifest.json +635 -0
  1108. chrys/service/workflows/builtins/demo-workflow.py +756 -0
  1109. chrys/service/workflows/discovery.py +554 -0
  1110. chrys/service/workflows/environment.py +284 -0
  1111. chrys/service/workflows/graph.py +430 -0
  1112. chrys/service/workflows/history.py +82 -0
  1113. chrys/service/workflows/interpreter.py +107 -0
  1114. chrys/service/workflows/journal.py +334 -0
  1115. chrys/service/workflows/layout.py +56 -0
  1116. chrys/service/workflows/ledger.py +149 -0
  1117. chrys/service/workflows/model_selection.py +18 -0
  1118. chrys/service/workflows/orphans.py +209 -0
  1119. chrys/service/workflows/outcomes.py +46 -0
  1120. chrys/service/workflows/protocol.py +210 -0
  1121. chrys/service/workflows/records.py +142 -0
  1122. chrys/service/workflows/scheduler.py +770 -0
  1123. chrys/service/workflows/sdk/__init__.py +51 -0
  1124. chrys/service/workflows/sdk/_ask.py +167 -0
  1125. chrys/service/workflows/sdk/_builder.py +781 -0
  1126. chrys/service/workflows/sdk/_values.py +92 -0
  1127. chrys/service/workflows/sdk_artifact.py +74 -0
  1128. chrys/service/workflows/store.py +494 -0
  1129. chrys/service/workflows/transcript.py +102 -0
  1130. chrys/service/workflows/values.py +73 -0
  1131. chrys/service/workflows/worker_host.py +1820 -0
  1132. chrys/workflows.py +38 -0
  1133. icode_tui-0.29.1.dist-info/METADATA +104 -0
  1134. icode_tui-0.29.1.dist-info/RECORD +1138 -0
  1135. icode_tui-0.29.1.dist-info/WHEEL +4 -0
  1136. icode_tui-0.29.1.dist-info/entry_points.txt +2 -0
  1137. icode_tui-0.29.1.dist-info/licenses/LICENSE +202 -0
  1138. icode_tui-0.29.1.dist-info/licenses/NOTICE +1955 -0
@@ -0,0 +1,1955 @@
1
+ iCode (Chrys)
2
+ Copyright (c) Huawei Technologies Co., Ltd. 2026. All rights reserved.
3
+
4
+ iCode is licensed under the Apache License, Version 2.0 (see the LICENSE
5
+ file).
6
+
7
+ iCode contains code taken from third-party projects, and its distributions
8
+ bundle third-party software. Each of these remains under its own license.
9
+ This file lists them with the copyright notices and license terms their
10
+ authors require to accompany them:
11
+
12
+ Part 1 Third-party code incorporated into the iCode source
13
+ Part 2 Third-party software bundled in iCode distributions
14
+ Part 3 Acknowledgments and NOTICE files required by bundled software
15
+ Part 4 License texts
16
+
17
+ Where a component is offered under a choice of licenses (written "A OR B"),
18
+ iCode may use it under any one of them. Part 4 reproduces the license texts
19
+ the components require, and says where to find each license text it does not
20
+ reproduce.
21
+
22
+
23
+ ==============================================================================
24
+ Part 1. Third-party code incorporated into the iCode source
25
+ ==============================================================================
26
+
27
+ iCode contains code copied or adapted, with modifications, from the
28
+ following projects.
29
+
30
+ ------------------------------------------------------------------------------
31
+ 1.1 Textual
32
+ ------------------------------------------------------------------------------
33
+ Source: https://github.com/Textualize/textual
34
+ Copyright: Copyright (c) 2021 Will McGugan
35
+ License: MIT (Part 4.1)
36
+
37
+ ------------------------------------------------------------------------------
38
+ 1.2 textual-serve
39
+ ------------------------------------------------------------------------------
40
+ Source: https://github.com/Textualize/textual-serve
41
+ Copyright: Copyright (c) 2024 Textualize
42
+ License: MIT (Part 4.1)
43
+
44
+ ------------------------------------------------------------------------------
45
+ 1.3 markdown-it-py
46
+ ------------------------------------------------------------------------------
47
+ Source: https://github.com/executablebooks/markdown-it-py
48
+ Copyright: Copyright (c) 2020 ExecutableBookProject
49
+ Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin (markdown-it)
50
+ License: MIT (Part 4.1)
51
+
52
+ ------------------------------------------------------------------------------
53
+ 1.4 Model Context Protocol Python SDK
54
+ ------------------------------------------------------------------------------
55
+ Source: https://github.com/modelcontextprotocol/python-sdk
56
+ Copyright: Copyright (c) 2024 Anthropic, PBC
57
+ License: MIT (Part 4.1)
58
+
59
+ ------------------------------------------------------------------------------
60
+ 1.5 Agent Client Protocol Python SDK
61
+ ------------------------------------------------------------------------------
62
+ Source: https://github.com/agentclientprotocol/python-sdk
63
+ Copyright: Copyright (c) the agent-client-protocol authors (Chojan Shang,
64
+ Frost Ming and contributors)
65
+ License: Apache License 2.0 (see the LICENSE file)
66
+
67
+ ------------------------------------------------------------------------------
68
+ 1.6 CPython
69
+ ------------------------------------------------------------------------------
70
+ Source: https://github.com/python/cpython
71
+ Copyright: Copyright (c) 2001 Python Software Foundation; All Rights Reserved
72
+ License: Python Software Foundation License Version 2 (Part 4.5)
73
+
74
+ ------------------------------------------------------------------------------
75
+ 1.7 Microsoft Agent Framework
76
+ ------------------------------------------------------------------------------
77
+ Source: https://github.com/microsoft/agent-framework
78
+ Copyright: Copyright (c) Microsoft Corporation.
79
+ License: MIT (Part 4.1)
80
+
81
+
82
+ ==============================================================================
83
+ Part 2. Third-party software bundled in iCode distributions
84
+ ==============================================================================
85
+
86
+ ------------------------------------------------------------------------------
87
+ 2.1 ripgrep
88
+ ------------------------------------------------------------------------------
89
+ Included in: the iCode wheel and the standalone executables
90
+ (src/chrys/foundation/vendor/ripgrep/)
91
+ Source: https://github.com/BurntSushi/ripgrep
92
+ Copyright: Copyright (c) 2015 Andrew Gallant
93
+ License: Unlicense OR MIT (Part 4.1)
94
+
95
+ The official ripgrep release binaries are redistributed unmodified. They
96
+ statically link:
97
+
98
+ - PCRE2: BSD-3-Clause WITH PCRE2-exception (Part 4.3)
99
+ Copyright (c) 1997-2007 University of Cambridge
100
+ Copyright (c) 2007-2024 Philip Hazel
101
+ Copyright (c) 2010-2024 Zoltan Herczeg (JIT compilation support)
102
+ Copyright (c) 2009-2024 Zoltan Herczeg (stack-less JIT compiler)
103
+ - the Rust standard library and the Rust crates marked [rg] in 2.4
104
+ - on x86_64 Linux: musl libc (2.2) and jemalloc (see tikv-jemalloc-sys
105
+ in 2.4)
106
+
107
+ ------------------------------------------------------------------------------
108
+ 2.2 Standalone executables (icode-<platform>-<version>-offline)
109
+ ------------------------------------------------------------------------------
110
+ Each standalone executable embeds a Python runtime with iCode and all of its
111
+ runtime dependencies pre-installed. Besides ripgrep (2.1) and the Python
112
+ packages (2.3), it contains:
113
+
114
+ PyApp launcher
115
+ Source: https://github.com/ofek/pyapp
116
+ Copyright: Copyright (c) Ofek Lev
117
+ License: Apache-2.0 OR MIT (Part 4.1)
118
+ Modified at build time: the self-update command is disabled, self-command
119
+ parsing is hardened and runtime executable aliases are added
120
+ (.github/workflows/cd.yml). It statically links the Rust standard library
121
+ and the Rust crates marked [pyapp] in 2.4.
122
+
123
+ Rust standard library (linked into PyApp and ripgrep)
124
+ Source: https://github.com/rust-lang/rust
125
+ Copyright: Copyright (c) The Rust Project Contributors
126
+ License: MIT OR Apache-2.0 (Part 4.1)
127
+
128
+ musl libc (statically linked into the Linux PyApp launcher and the x86_64
129
+ Linux ripgrep)
130
+ Source: https://musl.libc.org/
131
+ Copyright: Copyright (c) 2005-2020 Rich Felker, et al.
132
+ License: MIT (Part 4.1)
133
+ Some parts of musl carry further permissive notices, listed in its
134
+ COPYRIGHT file (https://git.musl-libc.org/cgit/musl/tree/COPYRIGHT).
135
+
136
+ CPython runtime (built by python-build-standalone)
137
+ Source: https://github.com/python/cpython,
138
+ https://github.com/astral-sh/python-build-standalone
139
+ Copyright: Copyright (c) 2001 Python Software Foundation; All Rights
140
+ Reserved
141
+ License: Python Software Foundation License Version 2 (Part 4.5); the
142
+ full CPython license ships with the runtime as LICENSE.txt.
143
+ CPython incorporates further third-party code, including mimalloc
144
+ (Copyright (c) 2018-2021 Microsoft Corporation, Daan Leijen; MIT) and
145
+ HACL* (Copyright (c) 2016-2022 INRIA, CMU and Microsoft Corporation;
146
+ Copyright (c) 2022-2023 HACL* Contributors; MIT). The complete list and
147
+ its notices are in "Licenses and Acknowledgements for Incorporated
148
+ Software" at https://docs.python.org/3.14/license.html.
149
+
150
+ The runtime also contains the following libraries.
151
+
152
+ On every platform:
153
+
154
+ OpenSSL Apache-2.0 (see the LICENSE file)
155
+ Copyright (c) 1998-2025 The OpenSSL Project Authors
156
+ Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
157
+ SQLite Public domain
158
+ libffi MIT (Part 4.1)
159
+ Copyright (c) 1996-2024 Anthony Green, Red Hat, Inc
160
+ and others
161
+ Expat MIT (Part 4.1)
162
+ Copyright (c) 1998-2000 Thai Open Source Software
163
+ Center Ltd and Clark Cooper
164
+ Copyright (c) 2001-2022 Expat maintainers
165
+ mpdecimal BSD-2-Clause (Part 4.2)
166
+ Copyright (c) 2008-2024 Stefan Krah
167
+ Zstandard BSD-3-Clause (Part 4.3)
168
+ Copyright (c) Meta Platforms, Inc. and affiliates
169
+ XZ Utils (liblzma) Public domain
170
+ bzip2 bzip2-1.0.6 (Part 4.7)
171
+ Copyright (C) 1996-2019 Julian R Seward
172
+
173
+ On Linux and Windows:
174
+
175
+ zlib Zlib (Part 4.8)
176
+ Copyright (C) 1995-2024 Jean-loup Gailly and Mark
177
+ Adler
178
+ On Windows the runtime also contains zlib-ng, which
179
+ carries the same license and notice.
180
+
181
+ On Linux and macOS:
182
+
183
+ libuuid BSD-3-Clause (Part 4.3)
184
+ Copyright (C) 1996, 1997 Theodore Ts'o
185
+
186
+ On Linux only:
187
+
188
+ libedit BSD-3-Clause (Part 4.3)
189
+ Copyright (c) 1992, 1993 The Regents of the
190
+ University of California
191
+ ncurses X11-style (Part 4.9)
192
+ Copyright 2018-2023,2024 Thomas E. Dickey
193
+ Copyright 1998-2017,2018 Free Software Foundation, Inc.
194
+ Berkeley DB 6.0.19 Sleepycat License (Part 4.11)
195
+ Copyright (c) 1990, 2013 Oracle and/or its affiliates
196
+ Copyright (c) 1990, 1993, 1994, 1995 The Regents of
197
+ the University of California
198
+ Copyright (c) 1995, 1996 The President and Fellows of
199
+ Harvard University
200
+
201
+ Berkeley DB is used by the dbm.ndbm module of the runtime. Its complete
202
+ source code is available at
203
+ https://ftp.osuosl.org/pub/blfs/conglomeration/db/db-6.0.19.tar.gz, and the
204
+ source code of the CPython runtime that uses it at the Source addresses
205
+ above.
206
+
207
+ Microsoft Visual C++ runtime (Windows only)
208
+ The CPython runtime ships vcruntime140.dll and vcruntime140_1.dll, and
209
+ PyApp and ripgrep link the C runtime statically. This is Microsoft
210
+ Distributable Code, copyrighted by Microsoft Corporation and redistributed
211
+ under Microsoft's terms, which the runtime's LICENSE.txt summarizes.
212
+
213
+ ------------------------------------------------------------------------------
214
+ 2.3 Python packages
215
+ ------------------------------------------------------------------------------
216
+ Installing the iCode wheel installs these packages from their own
217
+ distributions; the standalone executables bundle them. Each package ships its
218
+ full license text in its *.dist-info directory.
219
+
220
+ Several packages contain further third-party code, mostly libraries that
221
+ their compiled extensions link statically. Pillow ships the notices of the
222
+ libraries it links in its *.dist-info directory (aom, Brotli, bzip2, dav1d,
223
+ FreeType, HarfBuzz, Little CMS, libavif, libjpeg-turbo, XZ Utils, libpng,
224
+ libtiff, libwebp, libyuv, OpenJPEG, Raqm, libXau, libxcb, libXdmcp, zlib-ng,
225
+ Zstandard), and so does aiohttp (llhttp). In addition:
226
+
227
+ - cryptography statically links OpenSSL (Apache-2.0, see the LICENSE file;
228
+ Copyright (c) 1998-2026 The OpenSSL Project Authors; Copyright (c)
229
+ 1995-1998 Eric A. Young, Tim J. Hudson).
230
+ - grpcio statically links Abseil, address_sorting, BoringSSL, c-ares, RE2,
231
+ upb, utf8_range, xxHash and zlib. Their license texts and notices are in
232
+ gRPC's third_party directory
233
+ (https://github.com/grpc/grpc/tree/v1.82.1/third_party).
234
+ - lxml statically links libxml2 (Copyright (C) 1998-2012 Daniel Veillard;
235
+ Copyright (C) The Libxml2 Contributors; MIT, Part 4.1), libxslt
236
+ (Copyright (C) 2001-2002 Daniel Veillard; Copyright (C) 2001-2002 Thomas
237
+ Broyer, Charlie Bozeman and Daniel Veillard; MIT, Part 4.1) and zlib
238
+ (Copyright (C) 1995-2026 Jean-loup Gailly and Mark Adler; Zlib, Part
239
+ 4.8). On Linux and macOS it also statically links GNU libiconv
240
+ (Copyright (C) Free Software Foundation, Inc.), licensed under the GNU
241
+ Lesser General Public License version 2.1 or later (Part 4.12). The
242
+ source code of GNU libiconv is available at
243
+ https://ftp.gnu.org/pub/gnu/libiconv/ and the lxml sources and build
244
+ scripts that link it at https://github.com/lxml/lxml.
245
+ - Pillow's Tk support (its _imagingtk extension) contains excerpts of the
246
+ Tcl/Tk 8.6 headers (Copyright (c) 1987-1994 The Regents of the
247
+ University of California; Copyright (c) 1993-1996 Lucent Technologies;
248
+ Copyright (c) 1994-1998 Sun Microsystems, Inc.; Copyright (c) 1998-2000
249
+ by Scriptics Corporation; Copyright (c) 2002 by Kevin B. Kenny. All
250
+ rights reserved; Tcl/Tk License, Part 4.13).
251
+ - pywin32 (Windows only) contains Scintilla (Copyright 1998-2003 by Neil
252
+ Hodgson), the MAPI stub library (Copyright (c) 2018 Microsoft; MIT, Part
253
+ 4.1) and the Python source of adodbapi (Copyright (C) 2002 Henrik
254
+ Ekelund, versions 2.1 and later by Vernon Cole), which is licensed under
255
+ the GNU Lesser General Public License version 2.1 or later (Part 4.12).
256
+ Their license texts ship in pywin32's *.dist-info directory.
257
+ - pywinpty (Windows only) bundles winpty.dll and winpty-agent.exe from
258
+ winpty (Copyright (c) 2011-2016 Ryan Prichard; MIT, Part 4.1), and
259
+ conpty.dll and OpenConsole.exe from Windows Terminal (Copyright (c)
260
+ Microsoft Corporation; MIT, Part 4.1).
261
+ - pydantic-core, jiter, rpds-py, cryptography and pywinpty are partly
262
+ written in Rust and statically link Rust crates.
263
+
264
+ agent-client-protocol
265
+ Apache-2.0; Copyright (c) The agent-client-protocol authors (Chojan
266
+ Shang, Frost Ming and contributors)
267
+ aiohappyeyeballs
268
+ PSF-2.0; Copyright (c) 2001-2023 Python Software Foundation; All Rights
269
+ Reserved
270
+ aiohttp
271
+ Apache-2.0 AND MIT; Copyright (c) aio-libs contributors; bundled llhttp:
272
+ Copyright (c) 2018 Fedor Indutny
273
+ aiohttp-jinja2
274
+ Apache-2.0; Copyright (c) 2015-2018 Andrew Svetlov and aio-libs team
275
+ aiosignal
276
+ Apache-2.0; Copyright (c) 2013-2019 Nikolay Kim and Andrew Svetlov
277
+ annotated-types
278
+ MIT; Copyright (c) 2022 the contributors
279
+ anthropic
280
+ MIT; Copyright (c) 2023 Anthropic, PBC.
281
+ anyio
282
+ MIT; Copyright (c) 2018 Alex Grönholm
283
+ attrs
284
+ MIT; Copyright (c) 2015 Hynek Schlawack and the attrs contributors
285
+ beautifulsoup4
286
+ MIT; Copyright (c) Leonard Richardson; incorporated html5lib code:
287
+ Copyright (c) James Graham and other contributors
288
+ certifi
289
+ MPL-2.0; Copyright (c) Kenneth Reitz; CA bundle extracted from Mozilla's
290
+ root certificates
291
+ cffi
292
+ MIT-0; Copyright (c) Armin Rigo, Maciej Fijalkowski and contributors
293
+ charset-normalizer
294
+ MIT; Copyright (c) 2025 TAHRI Ahmed R.
295
+ click
296
+ BSD-3-Clause; Copyright (c) 2014 Pallets
297
+ colorama (Windows only)
298
+ BSD-3-Clause; Copyright (c) 2010 Jonathan Hartley
299
+ cryptography
300
+ Apache-2.0 OR BSD-3-Clause; Copyright (c) Individual contributors
301
+ distro
302
+ Apache-2.0; Copyright (c) Nir Cohen and contributors
303
+ docstring-parser
304
+ MIT; Copyright (c) 2018 Marcin Kurczewski
305
+ et-xmlfile
306
+ MIT; Copyright (c) 2010 openpyxl
307
+ frozenlist
308
+ Apache-2.0; Copyright (c) 2013-2019 Nikolay Kim and Andrew Svetlov
309
+ googleapis-common-protos
310
+ Apache-2.0; Copyright (c) Google LLC
311
+ grpcio
312
+ Apache-2.0; Copyright (c) 2016, Google Inc. (The gRPC Authors)
313
+ h11
314
+ MIT; Copyright (c) 2016 Nathaniel J. Smith and other contributors
315
+ httpcore
316
+ BSD-3-Clause; Copyright (c) 2020, Encode OSS Ltd.
317
+ httpx
318
+ BSD-3-Clause; Copyright (c) 2019, Encode OSS Ltd.
319
+ httpx-sse
320
+ MIT; Copyright (c) 2022 Florimond Manca
321
+ idna
322
+ BSD-3-Clause; Copyright (c) 2013-2026, Kim Davies and contributors.
323
+ jinja2
324
+ BSD-3-Clause; Copyright (c) 2007 Pallets
325
+ jiter
326
+ MIT; Copyright (c) 2022 to present Samuel Colvin
327
+ jsonschema
328
+ MIT; Copyright (c) 2013 Julian Berman
329
+ jsonschema-specifications
330
+ MIT; Copyright (c) 2022 Julian Berman
331
+ linkify-it-py
332
+ MIT; Copyright (c) 2020 tsutsu3; Copyright (c) 2015 Vitaly Puzrin
333
+ lxml
334
+ BSD-3-Clause; Copyright (c) 2004 Infrae. All rights reserved.
335
+ markdown-it-py
336
+ MIT; Copyright (c) 2020 ExecutableBookProject; Copyright (c) 2014 Vitaly
337
+ Puzrin, Alex Kocharin
338
+ markdownify
339
+ MIT; Copyright 2012-2018 Matthew Tretter
340
+ markupsafe
341
+ BSD-3-Clause; Copyright (c) 2010 Pallets
342
+ mcp
343
+ MIT; Copyright (c) 2024 Anthropic, PBC
344
+ mdit-py-plugins
345
+ MIT; Copyright (c) 2020 ExecutableBookProject
346
+ mdurl
347
+ MIT; Copyright (c) 2015 Vitaly Puzrin, Alex Kocharin; Copyright (c) 2021
348
+ Taneli Hukkinen
349
+ multidict
350
+ Apache-2.0; Copyright (c) 2016 Andrew Svetlov and aio-libs contributors
351
+ openai
352
+ Apache-2.0; Copyright (c) 2026 OpenAI
353
+ openpyxl
354
+ MIT; Copyright (c) 2010 openpyxl
355
+ opentelemetry-api
356
+ Apache-2.0; Copyright (c) The OpenTelemetry Authors
357
+ opentelemetry-exporter-otlp-proto-common
358
+ Apache-2.0; Copyright (c) The OpenTelemetry Authors
359
+ opentelemetry-exporter-otlp-proto-grpc
360
+ Apache-2.0; Copyright (c) The OpenTelemetry Authors
361
+ opentelemetry-instrumentation
362
+ Apache-2.0; Copyright (c) The OpenTelemetry Authors
363
+ opentelemetry-instrumentation-logging
364
+ Apache-2.0; Copyright (c) The OpenTelemetry Authors
365
+ opentelemetry-proto
366
+ Apache-2.0; Copyright (c) The OpenTelemetry Authors
367
+ opentelemetry-sdk
368
+ Apache-2.0; Copyright (c) The OpenTelemetry Authors
369
+ opentelemetry-semantic-conventions
370
+ Apache-2.0; Copyright (c) The OpenTelemetry Authors
371
+ packaging
372
+ Apache-2.0 OR BSD-2-Clause; Copyright (c) Donald Stufft and individual
373
+ contributors.
374
+ pathspec
375
+ MPL-2.0; Copyright (c) 2013-2026 Caleb P. Burns
376
+ pillow
377
+ MIT-CMU; Copyright (c) 1997-2011 Secret Labs AB; Copyright (c) 1995-2011
378
+ Fredrik Lundh and contributors; Copyright (c) 2010 Jeffrey 'Alex' Clark
379
+ and contributors
380
+ platformdirs
381
+ MIT; Copyright (c) 2010-202x The platformdirs developers
382
+ propcache
383
+ Apache-2.0; Copyright (c) 2016-2021, Andrew Svetlov and aio-libs team
384
+ protobuf
385
+ BSD-3-Clause; Copyright (c) 2008 Google Inc. All rights reserved.
386
+ psutil
387
+ BSD-3-Clause; Copyright (c) 2009, Jay Loden, Dave Daeschler, Giampaolo
388
+ Rodola
389
+ pycparser
390
+ BSD-3-Clause; Copyright (c) 2008-2022, Eli Bendersky
391
+ pydantic
392
+ MIT; Copyright (c) 2017 to present Pydantic Services Inc. and individual
393
+ contributors.
394
+ pydantic-core
395
+ MIT; Copyright (c) 2022 Samuel Colvin
396
+ pydantic-settings
397
+ MIT; Copyright (c) 2022 Samuel Colvin and other contributors
398
+ pygments
399
+ BSD-2-Clause; Copyright (c) 2006-2022 by the respective authors (see
400
+ AUTHORS file).
401
+ pyjwt
402
+ MIT; Copyright (c) 2015-2022 José Padilla
403
+ pypdf
404
+ BSD-3-Clause; Copyright (c) 2006-2008, Mathieu Fenniak; Copyright (c)
405
+ 2007, Ashish Kulkarni; Copyright (c) 2014, Steve Witham
406
+ python-docx
407
+ MIT; Copyright (c) 2013 Steve Canny
408
+ python-dotenv
409
+ BSD-3-Clause; Copyright (c) 2014, Saurabh Kumar; Copyright (c) 2013, Ted
410
+ Tieken; Copyright (c) 2013, Jacob Kaplan-Moss
411
+ python-multipart
412
+ Apache-2.0; Copyright (c) Andrew Dunham and contributors
413
+ python-pptx
414
+ MIT; Copyright (c) 2013 Steve Canny
415
+ pywin32 (Windows only)
416
+ BSD-3-Clause; Copyright (c) 1994-2008, Mark Hammond; Copyright (c)
417
+ 1996-2008, Greg Stein and Mark Hammond
418
+ pywinpty (Windows only)
419
+ MIT; Copyright (c) 2017 Spyder IDE
420
+ pyyaml
421
+ MIT; Copyright (c) 2017-2021 Ingy döt Net; Copyright (c) 2006-2016
422
+ Kirill Simonov
423
+ referencing
424
+ MIT; Copyright (c) 2022 Julian Berman
425
+ rich
426
+ MIT; Copyright (c) 2020 Will McGugan
427
+ rpds-py
428
+ MIT; Copyright (c) 2023 Julian Berman
429
+ setproctitle
430
+ BSD-3-Clause; Copyright (c) 2009, Daniele Varrazzo
431
+ six
432
+ MIT; Copyright (c) 2010-2024 Benjamin Peterson
433
+ sniffio
434
+ MIT OR Apache-2.0; Copyright (c) Nathaniel J. Smith and contributors
435
+ socksio
436
+ MIT; Copyright (c) 2019 Seth Michael Larson
437
+ soupsieve
438
+ MIT; Copyright (c) 2018 - 2026 Isaac Muse
439
+ sse-starlette
440
+ BSD-3-Clause; Copyright (c) 2020, sysid
441
+ starlette
442
+ BSD-3-Clause; Copyright (c) 2018, Encode OSS Ltd.
443
+ textual
444
+ MIT; Copyright (c) 2021 Will McGugan
445
+ textual-serve
446
+ MIT; Copyright (c) 2024 Textualize
447
+ tqdm
448
+ MPL-2.0 AND MIT; Copyright (c) 2015-2026 Casper da Costa-Luis;
449
+ Copyright (c) 2016 Google Inc.; Copyright (c) 2013 Noam Yorav-Raphael
450
+ typing-extensions
451
+ PSF-2.0; Copyright (c) 2001 Python Software Foundation; All Rights
452
+ Reserved
453
+ typing-inspection
454
+ MIT; Copyright (c) Pydantic Services Inc. 2025 to present
455
+ uc-micro-py
456
+ MIT; Copyright (c) 2020 tsutsu3
457
+ uvicorn
458
+ BSD-3-Clause; Copyright (c) 2017-present, Encode OSS Ltd.
459
+ watchdog
460
+ Apache-2.0; Copyright (c) 2018-2024 Mickaël Schoentgen & contributors;
461
+ Copyright (c) 2014-2018 Thomas Amland & contributors; Copyright (c)
462
+ 2012-2014 Google, Inc.; Copyright (c) 2011-2012 Yesudeep Mangalapilly
463
+ wrapt
464
+ BSD-2-Clause; Copyright (c) 2013-2026, Graham Dumpleton
465
+ xlrd
466
+ BSD-3-Clause AND BSD-4-Clause; Copyright (c) 2005-2009, Stephen John
467
+ Machin, Lingfo Pty Ltd; Copyright (c) 2001 David Giffin
468
+ xlsxwriter
469
+ BSD-2-Clause; Copyright (c) 2013-2025, John McNamara
470
+ yarl
471
+ Apache-2.0; Copyright (c) 2016-2021, Andrew Svetlov and aio-libs team
472
+
473
+ ------------------------------------------------------------------------------
474
+ 2.4 Rust crates
475
+ ------------------------------------------------------------------------------
476
+ Statically linked into the PyApp launcher [pyapp] (PyApp 0.29.0, Cargo.lock)
477
+ and into ripgrep [rg] (ripgrep 15.1.0, Cargo.lock) for the platforms iCode
478
+ ships. ripgrep's own workspace crates (globset, grep, grep-cli, grep-matcher,
479
+ grep-pcre2, grep-printer, grep-regex, grep-searcher, ignore) fall under
480
+ ripgrep's entry in 2.1.
481
+
482
+ aes [pyapp]
483
+ MIT OR Apache-2.0; Copyright (c) 2018 Artyom Pavlov
484
+ aho-corasick [rg]
485
+ Unlicense OR MIT; Copyright (c) 2015 Andrew Gallant
486
+ anstream [pyapp]
487
+ MIT OR Apache-2.0; Copyright (c) Individual contributors
488
+ anstyle [pyapp]
489
+ MIT OR Apache-2.0; Copyright (c) 2022 The rust-cli Developers
490
+ anstyle-parse [pyapp]
491
+ MIT OR Apache-2.0; Copyright (c) 2016 Joe Wilm and individual
492
+ contributors
493
+ anstyle-query [pyapp]
494
+ MIT OR Apache-2.0; Copyright (c) Individual contributors
495
+ anstyle-wincon [pyapp]
496
+ MIT OR Apache-2.0; Copyright (c) 2015 Josh Triplett, 2022 The rust-cli
497
+ Developers
498
+ anyhow [pyapp, rg]
499
+ MIT OR Apache-2.0; Copyright (c) David Tolnay
500
+ base64 [pyapp]
501
+ MIT OR Apache-2.0; Copyright (c) 2015 Alice Maz
502
+ bitflags [pyapp]
503
+ MIT OR Apache-2.0; Copyright (c) 2014 The Rust Project Developers
504
+ block-buffer [pyapp]
505
+ MIT OR Apache-2.0; Copyright (c) 2018-2019 The RustCrypto Project
506
+ Developers
507
+ bstr [rg]
508
+ MIT OR Apache-2.0; Copyright (c) 2018-2019 Andrew Gallant
509
+ bumpalo [pyapp]
510
+ MIT OR Apache-2.0; Copyright (c) 2019 Nick Fitzgerald
511
+ bytes [pyapp]
512
+ MIT; Copyright (c) 2018 Carl Lerche
513
+ bzip2 [pyapp]
514
+ MIT OR Apache-2.0; Copyright (c) 2014-2025 Alex Crichton and
515
+ Contributors
516
+ bzip2-sys [pyapp]
517
+ MIT OR Apache-2.0; Copyright (c) 2014-2025 Alex Crichton and
518
+ Contributors; bundled bzip2: Copyright (C) 1996-2019 Julian R Seward
519
+ cfg-if [pyapp, rg]
520
+ MIT OR Apache-2.0; Copyright (c) 2014 Alex Crichton
521
+ cipher [pyapp]
522
+ MIT OR Apache-2.0; Copyright (c) 2016-2020 RustCrypto Developers
523
+ clap [pyapp]
524
+ MIT OR Apache-2.0; Copyright (c) Individual contributors
525
+ clap_builder [pyapp]
526
+ MIT OR Apache-2.0; Copyright (c) Individual contributors
527
+ clap_lex [pyapp]
528
+ MIT OR Apache-2.0; Copyright (c) 2015-2022 Kevin B. Knapp and Clap
529
+ Contributors
530
+ colorchoice [pyapp]
531
+ MIT OR Apache-2.0; Copyright (c) Individual contributors
532
+ console [pyapp]
533
+ MIT; Copyright (c) 2017 Armin Ronacher
534
+ constant_time_eq [pyapp]
535
+ CC0-1.0 OR MIT-0 OR Apache-2.0; Copyright (c) Cesar Eduardo Barros
536
+ cpufeatures [pyapp]
537
+ MIT OR Apache-2.0; Copyright (c) 2020-2025 The RustCrypto Project
538
+ Developers
539
+ crc32fast [pyapp]
540
+ MIT OR Apache-2.0; Copyright (c) 2018 Sam Rijs, Alex Crichton and
541
+ contributors
542
+ crossbeam-deque [rg]
543
+ MIT OR Apache-2.0; Copyright (c) 2019 The Crossbeam Project Developers
544
+ crossbeam-epoch [rg]
545
+ MIT OR Apache-2.0; Copyright (c) 2019 The Crossbeam Project Developers
546
+ crossbeam-utils [rg]
547
+ MIT OR Apache-2.0; Copyright (c) 2019 The Crossbeam Project Developers
548
+ crypto-common [pyapp]
549
+ MIT OR Apache-2.0; Copyright (c) 2021 RustCrypto Developers
550
+ deflate64 [pyapp]
551
+ MIT; Copyright (c) .NET Foundation and Contributors; Copyright (c)
552
+ anatawa12 2023
553
+ deranged [pyapp]
554
+ MIT OR Apache-2.0; Copyright (c) 2024 Jacob Pratt et al
555
+ digest [pyapp]
556
+ MIT OR Apache-2.0; Copyright (c) 2017 Artyom Pavlov
557
+ directories [pyapp]
558
+ MIT OR Apache-2.0; Copyright (c) 2018 directories-rs contributors
559
+ dirs-sys [pyapp]
560
+ MIT OR Apache-2.0; Copyright (c) 2018-2019 dirs-rs contributors
561
+ encode_unicode [pyapp]
562
+ Apache-2.0 OR MIT; Copyright (c) Torbjørn Birch Moltu
563
+ encoding_rs [rg]
564
+ (Apache-2.0 OR MIT) AND BSD-3-Clause; Copyright (c) Mozilla Foundation
565
+ and contributors; index data Copyright (c) WHATWG (Apple, Google,
566
+ Mozilla, Microsoft)
567
+ encoding_rs_io [rg]
568
+ MIT OR Apache-2.0; Copyright (c) 2015 Andrew Gallant
569
+ equivalent [pyapp]
570
+ Apache-2.0 OR MIT; Copyright (c) 2016-2023 the indexmap/equivalent
571
+ authors
572
+ errno [pyapp]
573
+ MIT OR Apache-2.0; Copyright (c) 2014 Chris Wong
574
+ fastrand [pyapp]
575
+ Apache-2.0 OR MIT; Copyright (c) Stjepan Glavina
576
+ filetime [pyapp]
577
+ MIT OR Apache-2.0; Copyright (c) 2014 Alex Crichton
578
+ flate2 [pyapp]
579
+ MIT OR Apache-2.0; Copyright (c) 2014-2025 Alex Crichton
580
+ fnv [pyapp]
581
+ Apache-2.0 OR MIT; Copyright (c) 2017 Contributors
582
+ form_urlencoded [pyapp]
583
+ MIT OR Apache-2.0; Copyright (c) 2013-2016 The rust-url developers
584
+ fs4 [pyapp]
585
+ MIT OR Apache-2.0; Copyright (c) 2015 The Rust Project Developers
586
+ futures-channel [pyapp]
587
+ MIT OR Apache-2.0; Copyright (c) 2016 Alex Crichton; Copyright (c) 2017
588
+ The Tokio Authors
589
+ futures-core [pyapp]
590
+ MIT OR Apache-2.0; Copyright (c) 2016 Alex Crichton; Copyright (c) 2017
591
+ The Tokio Authors
592
+ futures-io [pyapp]
593
+ MIT OR Apache-2.0; Copyright (c) 2016 Alex Crichton; Copyright (c) 2017
594
+ The Tokio Authors
595
+ futures-sink [pyapp]
596
+ MIT OR Apache-2.0; Copyright (c) 2016 Alex Crichton; Copyright (c) 2017
597
+ The Tokio Authors
598
+ futures-task [pyapp]
599
+ MIT OR Apache-2.0; Copyright (c) 2016 Alex Crichton; Copyright (c) 2017
600
+ The Tokio Authors
601
+ futures-util [pyapp]
602
+ MIT OR Apache-2.0; Copyright (c) 2016 Alex Crichton; Copyright (c) 2017
603
+ The Tokio Authors
604
+ generic-array [pyapp]
605
+ MIT; Copyright (c) 2015 Bartłomiej Kamiński
606
+ getrandom [pyapp]
607
+ MIT OR Apache-2.0; Copyright (c) 2018-2024 The rust-random Project
608
+ Developers; Copyright (c) 2014 The Rust Project Developers
609
+ hashbrown [pyapp]
610
+ MIT OR Apache-2.0; Copyright (c) 2016 Amanieu d'Antras
611
+ hmac [pyapp]
612
+ MIT OR Apache-2.0; Copyright (c) 2017 Artyom Pavlov
613
+ http [pyapp]
614
+ MIT OR Apache-2.0; Copyright (c) 2017 http-rs authors
615
+ http-body [pyapp]
616
+ MIT; Copyright (c) 2019-2024 Sean McArthur & Hyper Contributors
617
+ http-body-util [pyapp]
618
+ MIT; Copyright (c) 2019-2025 Sean McArthur & Hyper Contributors
619
+ httparse [pyapp]
620
+ MIT OR Apache-2.0; Copyright (c) 2015-2025 Sean McArthur
621
+ hyper [pyapp]
622
+ MIT; Copyright (c) 2014-2025 Sean McArthur
623
+ hyper-rustls [pyapp]
624
+ Apache-2.0 OR ISC OR MIT; Copyright (c) 2016, Joseph Birr-Pixton
625
+ hyper-util [pyapp]
626
+ MIT; Copyright (c) 2023-2025 Sean McArthur
627
+ icu_collections [pyapp]
628
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
629
+ icu_locid [pyapp]
630
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
631
+ icu_locid_transform [pyapp]
632
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
633
+ icu_locid_transform_data [pyapp]
634
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
635
+ icu_normalizer [pyapp]
636
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
637
+ icu_normalizer_data [pyapp]
638
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
639
+ icu_properties [pyapp]
640
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
641
+ icu_properties_data [pyapp]
642
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
643
+ icu_provider [pyapp]
644
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
645
+ idna [pyapp]
646
+ MIT OR Apache-2.0; Copyright (c) 2013-2022 The rust-url developers
647
+ idna_adapter [pyapp]
648
+ Apache-2.0 OR MIT; Copyright (c) The rust-url developers
649
+ indexmap [pyapp]
650
+ Apache-2.0 OR MIT; Copyright (c) 2016-2017 the indexmap authors (bluss,
651
+ Josh Stone)
652
+ indicatif [pyapp]
653
+ MIT; Copyright (c) 2017 Armin Ronacher
654
+ inout [pyapp]
655
+ MIT OR Apache-2.0; Copyright (c) 2022 The RustCrypto Project Developers;
656
+ Copyright (c) 2022 Artyom Pavlov
657
+ ipnet [pyapp]
658
+ MIT OR Apache-2.0; Copyright (c) 2017 Juniper Networks, Inc
659
+ iri-string [pyapp]
660
+ MIT OR Apache-2.0; Copyright (c) 2019-2024 YOSHIOKA Takuma
661
+ is_terminal_polyfill [pyapp]
662
+ MIT OR Apache-2.0; Copyright (c) Individual contributors
663
+ itoa [pyapp, rg]
664
+ MIT OR Apache-2.0; Copyright (c) David Tolnay
665
+ lexopt [rg]
666
+ MIT; Copyright (c) 2021 Jan Verbeek
667
+ libbz2-rs-sys [pyapp]
668
+ bzip2-1.0.6; Copyright (c) 1996-2021 Julian R Seward; Copyright (C)
669
+ 2019-2020 Federico Mena Quintero; Copyright (C) 2021 Micah Snyder;
670
+ Copyright (c) 2024-2025 Trifecta Tech Foundation and contributors
671
+ libc [pyapp, rg]
672
+ MIT OR Apache-2.0; Copyright (c) 2014-2020 The Rust Project Developers
673
+ liblzma [pyapp]
674
+ MIT OR Apache-2.0; Copyright (c) 2016-2023 Alex Crichton and
675
+ Portable-Network-Archive Developers
676
+ liblzma-sys [pyapp]
677
+ MIT OR Apache-2.0; Copyright (c) 2016-2023 Alex Crichton and
678
+ Portable-Network-Archive Developers; bundled XZ Utils: The XZ Utils
679
+ authors and contributors
680
+ libz-rs-sys [pyapp]
681
+ Zlib; Copyright (c) the zlib-rs authors (Trifecta Tech Foundation and
682
+ contributors)
683
+ linux-raw-sys [pyapp]
684
+ Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT; Copyright (c) Dan
685
+ Gohman and contributors
686
+ litemap [pyapp]
687
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
688
+ lockfree-object-pool [pyapp]
689
+ BSL-1.0; Copyright (c) Etienne Vaillant
690
+ log [pyapp, rg]
691
+ MIT OR Apache-2.0; Copyright (c) 2014 The Rust Project Developers
692
+ memchr [pyapp, rg]
693
+ Unlicense OR MIT; Copyright (c) 2015 Andrew Gallant
694
+ memmap2 [rg]
695
+ MIT OR Apache-2.0; Copyright (c) 2020 Yevhenii Reizner; Copyright (c)
696
+ 2015 Dan Burkert
697
+ mio [pyapp]
698
+ MIT; Copyright (c) 2014 Carl Lerche and other MIO contributors
699
+ num-conv [pyapp]
700
+ MIT OR Apache-2.0; Copyright (c) 2023 Jacob Pratt
701
+ number_prefix [pyapp]
702
+ MIT; Copyright (c) Benjamin Sago
703
+ once_cell [pyapp]
704
+ MIT OR Apache-2.0; Copyright (c) Aleksey Kladov
705
+ option-ext [pyapp]
706
+ MPL-2.0; Copyright (c) Simon Ochsenreither
707
+ os_pipe [pyapp]
708
+ MIT; Copyright (c) Jack O'Connor
709
+ pbkdf2 [pyapp]
710
+ MIT OR Apache-2.0; Copyright (c) 2017 Artyom Pavlov; Copyright (c)
711
+ 2018-2023 The RustCrypto Project Developers
712
+ pcre2 [rg]
713
+ Unlicense OR MIT; Copyright (c) 2017 Andrew Gallant
714
+ pcre2-sys [rg]
715
+ Unlicense OR MIT; Copyright (c) 2017 Andrew Gallant; bundled PCRE2: see
716
+ ripgrep in Part 2.1
717
+ percent-encoding [pyapp]
718
+ MIT OR Apache-2.0; Copyright (c) 2013-2022 The rust-url developers
719
+ pin-project-lite [pyapp]
720
+ Apache-2.0 OR MIT; Copyright (c) the pin-project-lite authors (Taiki
721
+ Endo)
722
+ pin-utils [pyapp]
723
+ MIT OR Apache-2.0; Copyright (c) 2018 The pin-utils authors
724
+ portable-atomic [pyapp]
725
+ Apache-2.0 OR MIT; Copyright (c) the portable-atomic authors (Taiki
726
+ Endo)
727
+ powerfmt [pyapp]
728
+ MIT OR Apache-2.0; Copyright (c) 2023 Jacob Pratt et al
729
+ regex-automata [rg]
730
+ MIT OR Apache-2.0; Copyright (c) 2014 The Rust Project Developers
731
+ regex-syntax [rg]
732
+ MIT OR Apache-2.0; Copyright (c) 2014 The Rust Project Developers
733
+ reqwest [pyapp]
734
+ MIT OR Apache-2.0; Copyright (c) 2016 Sean McArthur; Copyright (c)
735
+ 2016-2025 Sean McArthur
736
+ ring [pyapp]
737
+ Apache-2.0 AND ISC; Copyright (c) 2015-2025 Brian Smith; Copyright 2015
738
+ The Chromium Authors; Copyright (c) 2009 The Go Authors; portions
739
+ Copyright The BoringSSL Authors and The OpenSSL Project Authors
740
+ rustix [pyapp]
741
+ Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT; Copyright (c) Dan
742
+ Gohman, Jakub Konka and contributors
743
+ rustls [pyapp]
744
+ Apache-2.0 OR ISC OR MIT; Copyright (c) 2016, Joseph Birr-Pixton
745
+ rustls-pki-types [pyapp]
746
+ MIT OR Apache-2.0; Copyright (c) 2023 Dirkjan Ochtman
747
+ rustls-webpki [pyapp]
748
+ ISC; Copyright (c) 2015 Brian Smith
749
+ ryu [pyapp, rg]
750
+ Apache-2.0 OR BSL-1.0; Copyright (c) David Tolnay
751
+ same-file [rg]
752
+ Unlicense OR MIT; Copyright (c) 2017 Andrew Gallant
753
+ serde [pyapp, rg]
754
+ MIT OR Apache-2.0; Copyright (c) Erick Tryzelaar, David Tolnay
755
+ serde_core [rg]
756
+ MIT OR Apache-2.0; Copyright (c) Erick Tryzelaar, David Tolnay
757
+ serde_json [rg]
758
+ MIT OR Apache-2.0; Copyright (c) Erick Tryzelaar, David Tolnay
759
+ serde_urlencoded [pyapp]
760
+ MIT OR Apache-2.0; Copyright (c) 2016 Anthony Ramine
761
+ sha1 [pyapp]
762
+ MIT OR Apache-2.0; Copyright (c) 2006-2009 Graydon Hoare; Copyright (c)
763
+ 2009-2013 Mozilla Foundation; Copyright (c) 2016 Artyom Pavlov
764
+ simd-adler32 [pyapp]
765
+ MIT; Copyright (c) 2021 Marvin Countryman
766
+ slab [pyapp]
767
+ MIT; Copyright (c) 2019 Carl Lerche
768
+ smallvec [pyapp]
769
+ MIT OR Apache-2.0; Copyright (c) 2018 The Servo Project Developers
770
+ socket2 [pyapp]
771
+ MIT OR Apache-2.0; Copyright (c) 2014 Alex Crichton
772
+ stable_deref_trait [pyapp]
773
+ MIT OR Apache-2.0; Copyright (c) 2017 Robert Grosse
774
+ strsim [pyapp]
775
+ MIT; Copyright (c) 2015 Danny Guo; Copyright (c) 2016 Titus Wormer;
776
+ Copyright (c) 2018 Akash Kurdekar
777
+ subtle [pyapp]
778
+ BSD-3-Clause; Copyright (c) 2016-2017 Isis Agora Lovecruft, Henry de
779
+ Valence. All rights reserved; Copyright (c) 2016-2024 Isis Agora
780
+ Lovecruft. All rights reserved
781
+ sync_wrapper [pyapp]
782
+ Apache-2.0; Copyright (c) Actyx AG
783
+ tar [pyapp]
784
+ MIT OR Apache-2.0; Copyright (c) 2014 Alex Crichton
785
+ tempfile [pyapp]
786
+ MIT OR Apache-2.0; Copyright (c) 2015 Steven Allen
787
+ termcolor [rg]
788
+ Unlicense OR MIT; Copyright (c) 2015 Andrew Gallant
789
+ textwrap [rg]
790
+ MIT; Copyright (c) 2016 Martin Geisler
791
+ tikv-jemalloc-sys [rg]
792
+ MIT OR Apache-2.0; Copyright (c) 2014 Alex Crichton; bundled jemalloc:
793
+ Copyright (C) 2002-present Jason Evans, 2007-2012 Mozilla Foundation,
794
+ 2009-present Facebook, Inc.
795
+ tikv-jemallocator [rg]
796
+ MIT OR Apache-2.0; Copyright (c) 2014 Alex Crichton
797
+ time [pyapp]
798
+ MIT OR Apache-2.0; Copyright (c) Jacob Pratt et al
799
+ time-core [pyapp]
800
+ MIT OR Apache-2.0; Copyright (c) Jacob Pratt et al
801
+ tinystr [pyapp]
802
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
803
+ tokio [pyapp]
804
+ MIT; Copyright (c) Tokio Contributors
805
+ tokio-rustls [pyapp]
806
+ MIT OR Apache-2.0; Copyright (c) 2017 quininer kel
807
+ tower [pyapp]
808
+ MIT; Copyright (c) 2019 Tower Contributors
809
+ tower-http [pyapp]
810
+ MIT; Copyright (c) 2019-2021 Tower Contributors
811
+ tower-layer [pyapp]
812
+ MIT; Copyright (c) 2019 Tower Contributors
813
+ tower-service [pyapp]
814
+ MIT; Copyright (c) 2019 Tower Contributors
815
+ tracing [pyapp]
816
+ MIT; Copyright (c) 2019 Tokio Contributors
817
+ tracing-core [pyapp]
818
+ MIT; Copyright (c) 2019 Tokio Contributors
819
+ try-lock [pyapp]
820
+ MIT; Copyright (c) 2018-2023 Sean McArthur; Copyright (c) 2016 Alex
821
+ Crichton
822
+ typenum [pyapp]
823
+ MIT OR Apache-2.0; Copyright (c) 2014 Paho Lurie-Gregg
824
+ unicode-segmentation [pyapp]
825
+ MIT OR Apache-2.0; Copyright (c) 2015 The Rust Project Developers
826
+ unicode-width [pyapp]
827
+ MIT OR Apache-2.0; Copyright (c) 2015 The Rust Project Developers
828
+ untrusted [pyapp]
829
+ ISC; Copyright (c) 2015-2016 Brian Smith
830
+ url [pyapp]
831
+ MIT OR Apache-2.0; Copyright (c) 2013-2022 The rust-url developers
832
+ utf16_iter [pyapp]
833
+ Apache-2.0 OR MIT; Copyright (c) Henri Sivonen
834
+ utf8_iter [pyapp]
835
+ Apache-2.0 OR MIT; Copyright (c) Henri Sivonen
836
+ utf8parse [pyapp]
837
+ Apache-2.0 OR MIT; Copyright (c) 2016 Joe Wilm
838
+ walkdir [rg]
839
+ Unlicense OR MIT; Copyright (c) 2015 Andrew Gallant
840
+ want [pyapp]
841
+ MIT; Copyright (c) 2018-2019 Sean McArthur
842
+ webpki-roots [pyapp]
843
+ MPL-2.0 (0.26.8); CDLA-Permissive-2.0 (1.0.1); Copyright (c) the rustls
844
+ authors; certificate data from the Mozilla CA program
845
+ winapi-util [rg]
846
+ Unlicense OR MIT; Copyright (c) 2017 Andrew Gallant
847
+ windows-link [rg]
848
+ MIT OR Apache-2.0; Copyright (c) Microsoft Corporation
849
+ windows-sys [pyapp, rg]
850
+ MIT OR Apache-2.0; Copyright (c) Microsoft Corporation
851
+ windows-targets [pyapp]
852
+ MIT OR Apache-2.0; Copyright (c) Microsoft Corporation
853
+ windows_x86_64_msvc [pyapp]
854
+ MIT OR Apache-2.0; Copyright (c) Microsoft Corporation
855
+ write16 [pyapp]
856
+ Apache-2.0 OR MIT; Copyright (c) Henri Sivonen
857
+ writeable [pyapp]
858
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
859
+ xattr [pyapp]
860
+ MIT OR Apache-2.0; Copyright (c) 2015 Steven Allen
861
+ yoke [pyapp]
862
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
863
+ zerofrom [pyapp]
864
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
865
+ zeroize [pyapp]
866
+ Apache-2.0 OR MIT; Copyright (c) 2018-2021 The RustCrypto Project
867
+ Developers
868
+ zerovec [pyapp]
869
+ Unicode-3.0; Copyright (c) 2020-2024 Unicode, Inc
870
+ zip [pyapp]
871
+ MIT; Copyright (c) 2014 Mathijs van de Nes
872
+ zlib-rs [pyapp]
873
+ Zlib; Copyright (c) the zlib-rs authors (Trifecta Tech Foundation and
874
+ contributors)
875
+ zopfli [pyapp]
876
+ Apache-2.0; Copyright (c) 2011 Google Inc
877
+ zstd [pyapp]
878
+ MIT; Copyright (c) 2016 Alexandre Bury
879
+ zstd-safe [pyapp]
880
+ MIT OR Apache-2.0; Copyright (c) 2016 Alexandre Bury
881
+ zstd-sys [pyapp]
882
+ MIT OR Apache-2.0; Copyright (c) 2016 Alexandre Bury; bundled Zstandard:
883
+ Copyright (c) Meta Platforms, Inc. and affiliates (formerly Facebook,
884
+ Inc.)
885
+
886
+
887
+ ==============================================================================
888
+ Part 3. Acknowledgments and NOTICE files required by bundled software
889
+ ==============================================================================
890
+
891
+ This product includes software developed by David Giffin
892
+ <david@giffin.org>. (xlrd)
893
+
894
+ This software is based in part on the work of the Independent JPEG Group.
895
+ (libjpeg-turbo, in Pillow)
896
+
897
+ Portions of this software are copyright (c) 2026 The FreeType Project
898
+ (https://freetype.org). All rights reserved. (FreeType, in Pillow)
899
+
900
+ The Graphics Interchange Format(c) is the Copyright property of CompuServe
901
+ Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated.
902
+ (Pillow)
903
+
904
+ NOTICE file of propcache and of yarl (identical):
905
+
906
+ Copyright 2016-2021, Andrew Svetlov and aio-libs team
907
+
908
+ Licensed under the Apache License, Version 2.0 (the "License");
909
+ you may not use this file except in compliance with the License.
910
+ You may obtain a copy of the License at
911
+
912
+ http://www.apache.org/licenses/LICENSE-2.0
913
+
914
+ Unless required by applicable law or agreed to in writing, software
915
+ distributed under the License is distributed on an "AS IS" BASIS,
916
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
917
+ See the License for the specific language governing permissions and
918
+ limitations under the License.
919
+
920
+
921
+ ==============================================================================
922
+ Part 4. License texts
923
+ ==============================================================================
924
+
925
+ Each text below applies to the components that name it, together with the
926
+ copyright notices given for them above.
927
+
928
+ Apache License 2.0: the LICENSE file of iCode.
929
+
930
+ Mozilla Public License 2.0 (MPL-2.0): https://mozilla.org/MPL/2.0/. The MPL
931
+ components are unmodified; their Source Code Form is available from their
932
+ projects: certifi (https://github.com/certifi/python-certifi), pathspec
933
+ (https://github.com/cpburnz/python-pathspec), tqdm
934
+ (https://github.com/tqdm/tqdm), option-ext
935
+ (https://github.com/soc/option-ext) and webpki-roots
936
+ (https://github.com/rustls/webpki-roots).
937
+
938
+ Boost Software License 1.0 (BSL-1.0), Unlicense, CC0-1.0 and MIT-0 impose no
939
+ notice requirement on binary distributions, and public domain components
940
+ carry no license. The texts of the other licenses named in 2.3 but not
941
+ reproduced here (MIT-CMU, BSD-4-Clause, PSF-2.0 variants) ship with the
942
+ packages that use them.
943
+
944
+ ------------------------------------------------------------------------------
945
+ 4.1 MIT License
946
+ ------------------------------------------------------------------------------
947
+ Permission is hereby granted, free of charge, to any person obtaining a copy
948
+ of this software and associated documentation files (the "Software"), to deal
949
+ in the Software without restriction, including without limitation the rights
950
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
951
+ copies of the Software, and to permit persons to whom the Software is
952
+ furnished to do so, subject to the following conditions:
953
+
954
+ The above copyright notice and this permission notice shall be included in all
955
+ copies or substantial portions of the Software.
956
+
957
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
958
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
959
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
960
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
961
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
962
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
963
+ SOFTWARE.
964
+
965
+ ------------------------------------------------------------------------------
966
+ 4.2 BSD 2-Clause License
967
+ ------------------------------------------------------------------------------
968
+ Redistribution and use in source and binary forms, with or without
969
+ modification, are permitted provided that the following conditions are met:
970
+
971
+ 1. Redistributions of source code must retain the above copyright notice,
972
+ this list of conditions and the following disclaimer.
973
+
974
+ 2. Redistributions in binary form must reproduce the above copyright notice,
975
+ this list of conditions and the following disclaimer in the documentation
976
+ and/or other materials provided with the distribution.
977
+
978
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
979
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
980
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
981
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
982
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
983
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
984
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
985
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
986
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
987
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
988
+ POSSIBILITY OF SUCH DAMAGE.
989
+
990
+ ------------------------------------------------------------------------------
991
+ 4.3 BSD 3-Clause License
992
+ ------------------------------------------------------------------------------
993
+ Redistribution and use in source and binary forms, with or without
994
+ modification, are permitted provided that the following conditions are met:
995
+
996
+ 1. Redistributions of source code must retain the above copyright notice,
997
+ this list of conditions and the following disclaimer.
998
+
999
+ 2. Redistributions in binary form must reproduce the above copyright notice,
1000
+ this list of conditions and the following disclaimer in the documentation
1001
+ and/or other materials provided with the distribution.
1002
+
1003
+ 3. Neither the name of the copyright holder nor the names of its
1004
+ contributors may be used to endorse or promote products derived from
1005
+ this software without specific prior written permission.
1006
+
1007
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1008
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1009
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1010
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
1011
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1012
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1013
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1014
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1015
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1016
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1017
+ POSSIBILITY OF SUCH DAMAGE.
1018
+
1019
+ PCRE2 exception (BSD-3-Clause WITH PCRE2-exception): the second condition
1020
+ above does not apply all the way down a chain of software. If binary package
1021
+ A includes PCRE2, it must respect the condition, but if package B is software
1022
+ that includes package A, the condition is not imposed on package B unless it
1023
+ uses PCRE2 independently.
1024
+
1025
+ ------------------------------------------------------------------------------
1026
+ 4.4 ISC License
1027
+ ------------------------------------------------------------------------------
1028
+ Permission to use, copy, modify, and/or distribute this software for any
1029
+ purpose with or without fee is hereby granted, provided that the above
1030
+ copyright notice and this permission notice appear in all copies.
1031
+
1032
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
1033
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1034
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
1035
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1036
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1037
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1038
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1039
+
1040
+ ------------------------------------------------------------------------------
1041
+ 4.5 Python Software Foundation License Version 2
1042
+ ------------------------------------------------------------------------------
1043
+ 1. This LICENSE AGREEMENT is between the Python Software Foundation
1044
+ ("PSF"), and the Individual or Organization ("Licensee") accessing and
1045
+ otherwise using this software ("Python") in source or binary form and
1046
+ its associated documentation.
1047
+
1048
+ 2. Subject to the terms and conditions of this License Agreement, PSF hereby
1049
+ grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
1050
+ analyze, test, perform and/or display publicly, prepare derivative works,
1051
+ distribute, and otherwise use Python alone or in any derivative version,
1052
+ provided, however, that PSF's License Agreement and PSF's notice of copyright,
1053
+ i.e., "Copyright (c) 2001 Python Software Foundation; All Rights Reserved"
1054
+ are retained in Python alone or in any derivative version prepared by Licensee.
1055
+
1056
+ 3. In the event Licensee prepares a derivative work that is based on
1057
+ or incorporates Python or any part thereof, and wants to make
1058
+ the derivative work available to others as provided herein, then
1059
+ Licensee hereby agrees to include in any such work a brief summary of
1060
+ the changes made to Python.
1061
+
1062
+ 4. PSF is making Python available to Licensee on an "AS IS"
1063
+ basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
1064
+ IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
1065
+ DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
1066
+ FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
1067
+ INFRINGE ANY THIRD PARTY RIGHTS.
1068
+
1069
+ 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
1070
+ FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
1071
+ A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
1072
+ OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
1073
+
1074
+ 6. This License Agreement will automatically terminate upon a material
1075
+ breach of its terms and conditions.
1076
+
1077
+ 7. Nothing in this License Agreement shall be deemed to create any
1078
+ relationship of agency, partnership, or joint venture between PSF and
1079
+ Licensee. This License Agreement does not grant permission to use PSF
1080
+ trademarks or trade name in a trademark sense to endorse or promote
1081
+ products or services of Licensee, or any third party.
1082
+
1083
+ 8. By copying, installing or otherwise using Python, Licensee
1084
+ agrees to be bound by the terms and conditions of this License
1085
+ Agreement.
1086
+
1087
+ ------------------------------------------------------------------------------
1088
+ 4.6 Unicode License v3
1089
+ ------------------------------------------------------------------------------
1090
+ NOTICE TO USER: Carefully read the following legal agreement. BY
1091
+ DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
1092
+ SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
1093
+ TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
1094
+ DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
1095
+
1096
+ Permission is hereby granted, free of charge, to any person obtaining a
1097
+ copy of data files and any associated documentation (the "Data Files") or
1098
+ software and any associated documentation (the "Software") to deal in the
1099
+ Data Files or Software without restriction, including without limitation
1100
+ the rights to use, copy, modify, merge, publish, distribute, and/or sell
1101
+ copies of the Data Files or Software, and to permit persons to whom the
1102
+ Data Files or Software are furnished to do so, provided that either (a)
1103
+ this copyright and permission notice appear with all copies of the Data
1104
+ Files or Software, or (b) this copyright and permission notice appear in
1105
+ associated Documentation.
1106
+
1107
+ THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
1108
+ KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1109
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
1110
+ THIRD PARTY RIGHTS.
1111
+
1112
+ IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
1113
+ BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
1114
+ OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
1115
+ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
1116
+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
1117
+ FILES OR SOFTWARE.
1118
+
1119
+ Except as contained in this notice, the name of a copyright holder shall
1120
+ not be used in advertising or otherwise to promote the sale, use or other
1121
+ dealings in these Data Files or Software without prior written
1122
+ authorization of the copyright holder.
1123
+
1124
+ Portions of ICU4X may have been adapted from ICU4C and/or ICU4J.
1125
+ ICU 1.8.1 to ICU 57.1 (c) 1995-2016 International Business Machines
1126
+ Corporation and others.
1127
+
1128
+ ------------------------------------------------------------------------------
1129
+ 4.7 bzip2 License (bzip2-1.0.6)
1130
+ ------------------------------------------------------------------------------
1131
+ Redistribution and use in source and binary forms, with or without
1132
+ modification, are permitted provided that the following conditions
1133
+ are met:
1134
+
1135
+ 1. Redistributions of source code must retain the above copyright
1136
+ notice, this list of conditions and the following disclaimer.
1137
+
1138
+ 2. The origin of this software must not be misrepresented; you must
1139
+ not claim that you wrote the original software. If you use this
1140
+ software in a product, an acknowledgment in the product
1141
+ documentation would be appreciated but is not required.
1142
+
1143
+ 3. Altered source versions must be plainly marked as such, and must
1144
+ not be misrepresented as being the original software.
1145
+
1146
+ 4. The name of the author may not be used to endorse or promote
1147
+ products derived from this software without specific prior written
1148
+ permission.
1149
+
1150
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
1151
+ OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1152
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1153
+ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
1154
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1155
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
1156
+ GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1157
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
1158
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
1159
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
1160
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1161
+
1162
+ ------------------------------------------------------------------------------
1163
+ 4.8 zlib License
1164
+ ------------------------------------------------------------------------------
1165
+ This software is provided 'as-is', without any express or implied
1166
+ warranty. In no event will the authors be held liable for any damages
1167
+ arising from the use of this software.
1168
+
1169
+ Permission is granted to anyone to use this software for any purpose,
1170
+ including commercial applications, and to alter it and redistribute it
1171
+ freely, subject to the following restrictions:
1172
+
1173
+ 1. The origin of this software must not be misrepresented; you must not
1174
+ claim that you wrote the original software. If you use this software
1175
+ in a product, an acknowledgment in the product documentation would be
1176
+ appreciated but is not required.
1177
+
1178
+ 2. Altered source versions must be plainly marked as such, and must not be
1179
+ misrepresented as being the original software.
1180
+
1181
+ 3. This notice may not be removed or altered from any source distribution.
1182
+
1183
+ ------------------------------------------------------------------------------
1184
+ 4.9 ncurses License (X11-style)
1185
+ ------------------------------------------------------------------------------
1186
+ Permission is hereby granted, free of charge, to any person obtaining a
1187
+ copy of this software and associated documentation files (the
1188
+ "Software"), to deal in the Software without restriction, including
1189
+ without limitation the rights to use, copy, modify, merge, publish,
1190
+ distribute, distribute with modifications, sublicense, and/or sell
1191
+ copies of the Software, and to permit persons to whom the Software is
1192
+ furnished to do so, subject to the following conditions:
1193
+
1194
+ The above copyright notice and this permission notice shall be included
1195
+ in all copies or substantial portions of the Software.
1196
+
1197
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1198
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1199
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1200
+ IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1201
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1202
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
1203
+ THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1204
+
1205
+ Except as contained in this notice, the name(s) of the above copyright
1206
+ holders shall not be used in advertising or otherwise to promote the
1207
+ sale, use or other dealings in this Software without prior written
1208
+ authorization.
1209
+
1210
+ ------------------------------------------------------------------------------
1211
+ 4.10 Community Data License Agreement - Permissive - Version 2.0
1212
+ ------------------------------------------------------------------------------
1213
+ This is the Community Data License Agreement - Permissive, Version
1214
+ 2.0 (the "agreement"). Data Provider(s) and Data Recipient(s) agree
1215
+ as follows:
1216
+
1217
+ 1. Provision of the Data
1218
+
1219
+ 1.1. A Data Recipient may use, modify, and share the Data made
1220
+ available by Data Provider(s) under this agreement if that Data
1221
+ Recipient follows the terms of this agreement.
1222
+
1223
+ 1.2. This agreement does not impose any restriction on a Data
1224
+ Recipient's use, modification, or sharing of any portions of the
1225
+ Data that are in the public domain or that may be used, modified,
1226
+ or shared under any other legal exception or limitation.
1227
+
1228
+ 2. Conditions for Sharing Data
1229
+
1230
+ 2.1. A Data Recipient may share Data, with or without modifications, so
1231
+ long as the Data Recipient makes available the text of this agreement
1232
+ with the shared Data.
1233
+
1234
+ 3. No Restrictions on Results
1235
+
1236
+ 3.1. This agreement does not impose any restriction or obligations
1237
+ with respect to the use, modification, or sharing of Results.
1238
+
1239
+ 4. No Warranty; Limitation of Liability
1240
+
1241
+ 4.1. All Data Recipients receive the Data subject to the following
1242
+ terms:
1243
+
1244
+ THE DATA IS PROVIDED ON AN "AS IS" BASIS, WITHOUT REPRESENTATIONS,
1245
+ WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED
1246
+ INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
1247
+ NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
1248
+
1249
+ NO DATA PROVIDER SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
1250
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
1251
+ WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
1252
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
1253
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE DATA OR RESULTS,
1254
+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
1255
+
1256
+ 5. Definitions
1257
+
1258
+ 5.1. "Data" means the material received by a Data Recipient under
1259
+ this agreement.
1260
+
1261
+ 5.2. "Data Provider" means any person who is the source of Data
1262
+ provided under this agreement and in reliance on a Data Recipient's
1263
+ agreement to its terms.
1264
+
1265
+ 5.3. "Data Recipient" means any person who receives Data directly
1266
+ or indirectly from a Data Provider and agrees to the terms of this
1267
+ agreement.
1268
+
1269
+ 5.4. "Results" means any outcome obtained by computational analysis
1270
+ of Data, including for example machine learning models and models'
1271
+ insights.
1272
+
1273
+ ------------------------------------------------------------------------------
1274
+ 4.11 Berkeley DB License (Sleepycat)
1275
+ ------------------------------------------------------------------------------
1276
+ The following is the license that applies to this copy of the Berkeley DB
1277
+ software. For a license to use the Berkeley DB software under conditions
1278
+ other than those described here, or to purchase support for this software,
1279
+ please contact Oracle at berkeleydb-info_us@oracle.com.
1280
+
1281
+ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
1282
+ /*
1283
+ * Copyright (c) 1990, 2013 Oracle and/or its affiliates. All rights reserved.
1284
+ *
1285
+ * Redistribution and use in source and binary forms, with or without
1286
+ * modification, are permitted provided that the following conditions
1287
+ * are met:
1288
+ * 1. Redistributions of source code must retain the above copyright
1289
+ * notice, this list of conditions and the following disclaimer.
1290
+ * 2. Redistributions in binary form must reproduce the above copyright
1291
+ * notice, this list of conditions and the following disclaimer in the
1292
+ * documentation and/or other materials provided with the distribution.
1293
+ * 3. Redistributions in any form must be accompanied by information on
1294
+ * how to obtain complete source code for the DB software and any
1295
+ * accompanying software that uses the DB software. The source code
1296
+ * must either be included in the distribution or be available for no
1297
+ * more than the cost of distribution plus a nominal fee, and must be
1298
+ * freely redistributable under reasonable conditions. For an
1299
+ * executable file, complete source code means the source code for all
1300
+ * modules it contains. It does not include source code for modules or
1301
+ * files that typically accompany the major components of the operating
1302
+ * system on which the executable file runs.
1303
+ *
1304
+ * THIS SOFTWARE IS PROVIDED BY ORACLE ``AS IS'' AND ANY EXPRESS OR
1305
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1306
+ * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
1307
+ * NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL ORACLE BE LIABLE
1308
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1309
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1310
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
1311
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
1312
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
1313
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
1314
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1315
+ */
1316
+ /*
1317
+ * Copyright (c) 1990, 1993, 1994, 1995
1318
+ * The Regents of the University of California. All rights reserved.
1319
+ *
1320
+ * Redistribution and use in source and binary forms, with or without
1321
+ * modification, are permitted provided that the following conditions
1322
+ * are met:
1323
+ * 1. Redistributions of source code must retain the above copyright
1324
+ * notice, this list of conditions and the following disclaimer.
1325
+ * 2. Redistributions in binary form must reproduce the above copyright
1326
+ * notice, this list of conditions and the following disclaimer in the
1327
+ * documentation and/or other materials provided with the distribution.
1328
+ * 3. Neither the name of the University nor the names of its contributors
1329
+ * may be used to endorse or promote products derived from this software
1330
+ * without specific prior written permission.
1331
+ *
1332
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
1333
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1334
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1335
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
1336
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1337
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
1338
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1339
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1340
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1341
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1342
+ * SUCH DAMAGE.
1343
+ */
1344
+ /*
1345
+ * Copyright (c) 1995, 1996
1346
+ * The President and Fellows of Harvard University. All rights reserved.
1347
+ *
1348
+ * Redistribution and use in source and binary forms, with or without
1349
+ * modification, are permitted provided that the following conditions
1350
+ * are met:
1351
+ * 1. Redistributions of source code must retain the above copyright
1352
+ * notice, this list of conditions and the following disclaimer.
1353
+ * 2. Redistributions in binary form must reproduce the above copyright
1354
+ * notice, this list of conditions and the following disclaimer in the
1355
+ * documentation and/or other materials provided with the distribution.
1356
+ * 3. Neither the name of the University nor the names of its contributors
1357
+ * may be used to endorse or promote products derived from this software
1358
+ * without specific prior written permission.
1359
+ *
1360
+ * THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS ``AS IS'' AND
1361
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1362
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1363
+ * ARE DISCLAIMED. IN NO EVENT SHALL HARVARD OR ITS CONTRIBUTORS BE LIABLE
1364
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1365
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
1366
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1367
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1368
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1369
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1370
+ * SUCH DAMAGE.
1371
+ */
1372
+ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
1373
+ /***
1374
+ * ASM: a very small and fast Java bytecode manipulation framework
1375
+ * Copyright (c) 2000-2005 INRIA, France Telecom
1376
+ * All rights reserved.
1377
+ *
1378
+ * Redistribution and use in source and binary forms, with or without
1379
+ * modification, are permitted provided that the following conditions
1380
+ * are met:
1381
+ * 1. Redistributions of source code must retain the above copyright
1382
+ * notice, this list of conditions and the following disclaimer.
1383
+ * 2. Redistributions in binary form must reproduce the above copyright
1384
+ * notice, this list of conditions and the following disclaimer in the
1385
+ * documentation and/or other materials provided with the distribution.
1386
+ * 3. Neither the name of the copyright holders nor the names of its
1387
+ * contributors may be used to endorse or promote products derived from
1388
+ * this software without specific prior written permission.
1389
+ *
1390
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1391
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1392
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1393
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
1394
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1395
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1396
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1397
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1398
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1399
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
1400
+ * THE POSSIBILITY OF SUCH DAMAGE.
1401
+ */
1402
+
1403
+ ------------------------------------------------------------------------------
1404
+ 4.12 GNU Lesser General Public License, Version 2.1
1405
+ ------------------------------------------------------------------------------
1406
+ GNU LESSER GENERAL PUBLIC LICENSE
1407
+ Version 2.1, February 1999
1408
+
1409
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
1410
+ <https://fsf.org/>
1411
+ Everyone is permitted to copy and distribute verbatim copies
1412
+ of this license document, but changing it is not allowed.
1413
+
1414
+ [This is the first released version of the Lesser GPL. It also counts
1415
+ as the successor of the GNU Library Public License, version 2, hence
1416
+ the version number 2.1.]
1417
+
1418
+ Preamble
1419
+
1420
+ The licenses for most software are designed to take away your
1421
+ freedom to share and change it. By contrast, the GNU General Public
1422
+ Licenses are intended to guarantee your freedom to share and change
1423
+ free software--to make sure the software is free for all its users.
1424
+
1425
+ This license, the Lesser General Public License, applies to some
1426
+ specially designated software packages--typically libraries--of the
1427
+ Free Software Foundation and other authors who decide to use it. You
1428
+ can use it too, but we suggest you first think carefully about whether
1429
+ this license or the ordinary General Public License is the better
1430
+ strategy to use in any particular case, based on the explanations below.
1431
+
1432
+ When we speak of free software, we are referring to freedom of use,
1433
+ not price. Our General Public Licenses are designed to make sure that
1434
+ you have the freedom to distribute copies of free software (and charge
1435
+ for this service if you wish); that you receive source code or can get
1436
+ it if you want it; that you can change the software and use pieces of
1437
+ it in new free programs; and that you are informed that you can do
1438
+ these things.
1439
+
1440
+ To protect your rights, we need to make restrictions that forbid
1441
+ distributors to deny you these rights or to ask you to surrender these
1442
+ rights. These restrictions translate to certain responsibilities for
1443
+ you if you distribute copies of the library or if you modify it.
1444
+
1445
+ For example, if you distribute copies of the library, whether gratis
1446
+ or for a fee, you must give the recipients all the rights that we gave
1447
+ you. You must make sure that they, too, receive or can get the source
1448
+ code. If you link other code with the library, you must provide
1449
+ complete object files to the recipients, so that they can relink them
1450
+ with the library after making changes to the library and recompiling
1451
+ it. And you must show them these terms so they know their rights.
1452
+
1453
+ We protect your rights with a two-step method: (1) we copyright the
1454
+ library, and (2) we offer you this license, which gives you legal
1455
+ permission to copy, distribute and/or modify the library.
1456
+
1457
+ To protect each distributor, we want to make it very clear that
1458
+ there is no warranty for the free library. Also, if the library is
1459
+ modified by someone else and passed on, the recipients should know
1460
+ that what they have is not the original version, so that the original
1461
+ author's reputation will not be affected by problems that might be
1462
+ introduced by others.
1463
+
1464
+ Finally, software patents pose a constant threat to the existence of
1465
+ any free program. We wish to make sure that a company cannot
1466
+ effectively restrict the users of a free program by obtaining a
1467
+ restrictive license from a patent holder. Therefore, we insist that
1468
+ any patent license obtained for a version of the library must be
1469
+ consistent with the full freedom of use specified in this license.
1470
+
1471
+ Most GNU software, including some libraries, is covered by the
1472
+ ordinary GNU General Public License. This license, the GNU Lesser
1473
+ General Public License, applies to certain designated libraries, and
1474
+ is quite different from the ordinary General Public License. We use
1475
+ this license for certain libraries in order to permit linking those
1476
+ libraries into non-free programs.
1477
+
1478
+ When a program is linked with a library, whether statically or using
1479
+ a shared library, the combination of the two is legally speaking a
1480
+ combined work, a derivative of the original library. The ordinary
1481
+ General Public License therefore permits such linking only if the
1482
+ entire combination fits its criteria of freedom. The Lesser General
1483
+ Public License permits more lax criteria for linking other code with
1484
+ the library.
1485
+
1486
+ We call this license the "Lesser" General Public License because it
1487
+ does Less to protect the user's freedom than the ordinary General
1488
+ Public License. It also provides other free software developers Less
1489
+ of an advantage over competing non-free programs. These disadvantages
1490
+ are the reason we use the ordinary General Public License for many
1491
+ libraries. However, the Lesser license provides advantages in certain
1492
+ special circumstances.
1493
+
1494
+ For example, on rare occasions, there may be a special need to
1495
+ encourage the widest possible use of a certain library, so that it becomes
1496
+ a de-facto standard. To achieve this, non-free programs must be
1497
+ allowed to use the library. A more frequent case is that a free
1498
+ library does the same job as widely used non-free libraries. In this
1499
+ case, there is little to gain by limiting the free library to free
1500
+ software only, so we use the Lesser General Public License.
1501
+
1502
+ In other cases, permission to use a particular library in non-free
1503
+ programs enables a greater number of people to use a large body of
1504
+ free software. For example, permission to use the GNU C Library in
1505
+ non-free programs enables many more people to use the whole GNU
1506
+ operating system, as well as its variant, the GNU/Linux operating
1507
+ system.
1508
+
1509
+ Although the Lesser General Public License is Less protective of the
1510
+ users' freedom, it does ensure that the user of a program that is
1511
+ linked with the Library has the freedom and the wherewithal to run
1512
+ that program using a modified version of the Library.
1513
+
1514
+ The precise terms and conditions for copying, distribution and
1515
+ modification follow. Pay close attention to the difference between a
1516
+ "work based on the library" and a "work that uses the library". The
1517
+ former contains code derived from the library, whereas the latter must
1518
+ be combined with the library in order to run.
1519
+
1520
+ GNU LESSER GENERAL PUBLIC LICENSE
1521
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
1522
+
1523
+ 0. This License Agreement applies to any software library or other
1524
+ program which contains a notice placed by the copyright holder or
1525
+ other authorized party saying it may be distributed under the terms of
1526
+ this Lesser General Public License (also called "this License").
1527
+ Each licensee is addressed as "you".
1528
+
1529
+ A "library" means a collection of software functions and/or data
1530
+ prepared so as to be conveniently linked with application programs
1531
+ (which use some of those functions and data) to form executables.
1532
+
1533
+ The "Library", below, refers to any such software library or work
1534
+ which has been distributed under these terms. A "work based on the
1535
+ Library" means either the Library or any derivative work under
1536
+ copyright law: that is to say, a work containing the Library or a
1537
+ portion of it, either verbatim or with modifications and/or translated
1538
+ straightforwardly into another language. (Hereinafter, translation is
1539
+ included without limitation in the term "modification".)
1540
+
1541
+ "Source code" for a work means the preferred form of the work for
1542
+ making modifications to it. For a library, complete source code means
1543
+ all the source code for all modules it contains, plus any associated
1544
+ interface definition files, plus the scripts used to control compilation
1545
+ and installation of the library.
1546
+
1547
+ Activities other than copying, distribution and modification are not
1548
+ covered by this License; they are outside its scope. The act of
1549
+ running a program using the Library is not restricted, and output from
1550
+ such a program is covered only if its contents constitute a work based
1551
+ on the Library (independent of the use of the Library in a tool for
1552
+ writing it). Whether that is true depends on what the Library does
1553
+ and what the program that uses the Library does.
1554
+
1555
+ 1. You may copy and distribute verbatim copies of the Library's
1556
+ complete source code as you receive it, in any medium, provided that
1557
+ you conspicuously and appropriately publish on each copy an
1558
+ appropriate copyright notice and disclaimer of warranty; keep intact
1559
+ all the notices that refer to this License and to the absence of any
1560
+ warranty; and distribute a copy of this License along with the
1561
+ Library.
1562
+
1563
+ You may charge a fee for the physical act of transferring a copy,
1564
+ and you may at your option offer warranty protection in exchange for a
1565
+ fee.
1566
+
1567
+ 2. You may modify your copy or copies of the Library or any portion
1568
+ of it, thus forming a work based on the Library, and copy and
1569
+ distribute such modifications or work under the terms of Section 1
1570
+ above, provided that you also meet all of these conditions:
1571
+
1572
+ a) The modified work must itself be a software library.
1573
+
1574
+ b) You must cause the files modified to carry prominent notices
1575
+ stating that you changed the files and the date of any change.
1576
+
1577
+ c) You must cause the whole of the work to be licensed at no
1578
+ charge to all third parties under the terms of this License.
1579
+
1580
+ d) If a facility in the modified Library refers to a function or a
1581
+ table of data to be supplied by an application program that uses
1582
+ the facility, other than as an argument passed when the facility
1583
+ is invoked, then you must make a good faith effort to ensure that,
1584
+ in the event an application does not supply such function or
1585
+ table, the facility still operates, and performs whatever part of
1586
+ its purpose remains meaningful.
1587
+
1588
+ (For example, a function in a library to compute square roots has
1589
+ a purpose that is entirely well-defined independent of the
1590
+ application. Therefore, Subsection 2d requires that any
1591
+ application-supplied function or table used by this function must
1592
+ be optional: if the application does not supply it, the square
1593
+ root function must still compute square roots.)
1594
+
1595
+ These requirements apply to the modified work as a whole. If
1596
+ identifiable sections of that work are not derived from the Library,
1597
+ and can be reasonably considered independent and separate works in
1598
+ themselves, then this License, and its terms, do not apply to those
1599
+ sections when you distribute them as separate works. But when you
1600
+ distribute the same sections as part of a whole which is a work based
1601
+ on the Library, the distribution of the whole must be on the terms of
1602
+ this License, whose permissions for other licensees extend to the
1603
+ entire whole, and thus to each and every part regardless of who wrote
1604
+ it.
1605
+
1606
+ Thus, it is not the intent of this section to claim rights or contest
1607
+ your rights to work written entirely by you; rather, the intent is to
1608
+ exercise the right to control the distribution of derivative or
1609
+ collective works based on the Library.
1610
+
1611
+ In addition, mere aggregation of another work not based on the Library
1612
+ with the Library (or with a work based on the Library) on a volume of
1613
+ a storage or distribution medium does not bring the other work under
1614
+ the scope of this License.
1615
+
1616
+ 3. You may opt to apply the terms of the ordinary GNU General Public
1617
+ License instead of this License to a given copy of the Library. To do
1618
+ this, you must alter all the notices that refer to this License, so
1619
+ that they refer to the ordinary GNU General Public License, version 2,
1620
+ instead of to this License. (If a newer version than version 2 of the
1621
+ ordinary GNU General Public License has appeared, then you can specify
1622
+ that version instead if you wish.) Do not make any other change in
1623
+ these notices.
1624
+
1625
+ Once this change is made in a given copy, it is irreversible for
1626
+ that copy, so the ordinary GNU General Public License applies to all
1627
+ subsequent copies and derivative works made from that copy.
1628
+
1629
+ This option is useful when you wish to copy part of the code of
1630
+ the Library into a program that is not a library.
1631
+
1632
+ 4. You may copy and distribute the Library (or a portion or
1633
+ derivative of it, under Section 2) in object code or executable form
1634
+ under the terms of Sections 1 and 2 above provided that you accompany
1635
+ it with the complete corresponding machine-readable source code, which
1636
+ must be distributed under the terms of Sections 1 and 2 above on a
1637
+ medium customarily used for software interchange.
1638
+
1639
+ If distribution of object code is made by offering access to copy
1640
+ from a designated place, then offering equivalent access to copy the
1641
+ source code from the same place satisfies the requirement to
1642
+ distribute the source code, even though third parties are not
1643
+ compelled to copy the source along with the object code.
1644
+
1645
+ 5. A program that contains no derivative of any portion of the
1646
+ Library, but is designed to work with the Library by being compiled or
1647
+ linked with it, is called a "work that uses the Library". Such a
1648
+ work, in isolation, is not a derivative work of the Library, and
1649
+ therefore falls outside the scope of this License.
1650
+
1651
+ However, linking a "work that uses the Library" with the Library
1652
+ creates an executable that is a derivative of the Library (because it
1653
+ contains portions of the Library), rather than a "work that uses the
1654
+ library". The executable is therefore covered by this License.
1655
+ Section 6 states terms for distribution of such executables.
1656
+
1657
+ When a "work that uses the Library" uses material from a header file
1658
+ that is part of the Library, the object code for the work may be a
1659
+ derivative work of the Library even though the source code is not.
1660
+ Whether this is true is especially significant if the work can be
1661
+ linked without the Library, or if the work is itself a library. The
1662
+ threshold for this to be true is not precisely defined by law.
1663
+
1664
+ If such an object file uses only numerical parameters, data
1665
+ structure layouts and accessors, and small macros and small inline
1666
+ functions (ten lines or less in length), then the use of the object
1667
+ file is unrestricted, regardless of whether it is legally a derivative
1668
+ work. (Executables containing this object code plus portions of the
1669
+ Library will still fall under Section 6.)
1670
+
1671
+ Otherwise, if the work is a derivative of the Library, you may
1672
+ distribute the object code for the work under the terms of Section 6.
1673
+ Any executables containing that work also fall under Section 6,
1674
+ whether or not they are linked directly with the Library itself.
1675
+
1676
+ 6. As an exception to the Sections above, you may also combine or
1677
+ link a "work that uses the Library" with the Library to produce a
1678
+ work containing portions of the Library, and distribute that work
1679
+ under terms of your choice, provided that the terms permit
1680
+ modification of the work for the customer's own use and reverse
1681
+ engineering for debugging such modifications.
1682
+
1683
+ You must give prominent notice with each copy of the work that the
1684
+ Library is used in it and that the Library and its use are covered by
1685
+ this License. You must supply a copy of this License. If the work
1686
+ during execution displays copyright notices, you must include the
1687
+ copyright notice for the Library among them, as well as a reference
1688
+ directing the user to the copy of this License. Also, you must do one
1689
+ of these things:
1690
+
1691
+ a) Accompany the work with the complete corresponding
1692
+ machine-readable source code for the Library including whatever
1693
+ changes were used in the work (which must be distributed under
1694
+ Sections 1 and 2 above); and, if the work is an executable linked
1695
+ with the Library, with the complete machine-readable "work that
1696
+ uses the Library", as object code and/or source code, so that the
1697
+ user can modify the Library and then relink to produce a modified
1698
+ executable containing the modified Library. (It is understood
1699
+ that the user who changes the contents of definitions files in the
1700
+ Library will not necessarily be able to recompile the application
1701
+ to use the modified definitions.)
1702
+
1703
+ b) Use a suitable shared library mechanism for linking with the
1704
+ Library. A suitable mechanism is one that (1) uses at run time a
1705
+ copy of the library already present on the user's computer system,
1706
+ rather than copying library functions into the executable, and (2)
1707
+ will operate properly with a modified version of the library, if
1708
+ the user installs one, as long as the modified version is
1709
+ interface-compatible with the version that the work was made with.
1710
+
1711
+ c) Accompany the work with a written offer, valid for at
1712
+ least three years, to give the same user the materials
1713
+ specified in Subsection 6a, above, for a charge no more
1714
+ than the cost of performing this distribution.
1715
+
1716
+ d) If distribution of the work is made by offering access to copy
1717
+ from a designated place, offer equivalent access to copy the above
1718
+ specified materials from the same place.
1719
+
1720
+ e) Verify that the user has already received a copy of these
1721
+ materials or that you have already sent this user a copy.
1722
+
1723
+ For an executable, the required form of the "work that uses the
1724
+ Library" must include any data and utility programs needed for
1725
+ reproducing the executable from it. However, as a special exception,
1726
+ the materials to be distributed need not include anything that is
1727
+ normally distributed (in either source or binary form) with the major
1728
+ components (compiler, kernel, and so on) of the operating system on
1729
+ which the executable runs, unless that component itself accompanies
1730
+ the executable.
1731
+
1732
+ It may happen that this requirement contradicts the license
1733
+ restrictions of other proprietary libraries that do not normally
1734
+ accompany the operating system. Such a contradiction means you cannot
1735
+ use both them and the Library together in an executable that you
1736
+ distribute.
1737
+
1738
+ 7. You may place library facilities that are a work based on the
1739
+ Library side-by-side in a single library together with other library
1740
+ facilities not covered by this License, and distribute such a combined
1741
+ library, provided that the separate distribution of the work based on
1742
+ the Library and of the other library facilities is otherwise
1743
+ permitted, and provided that you do these two things:
1744
+
1745
+ a) Accompany the combined library with a copy of the same work
1746
+ based on the Library, uncombined with any other library
1747
+ facilities. This must be distributed under the terms of the
1748
+ Sections above.
1749
+
1750
+ b) Give prominent notice with the combined library of the fact
1751
+ that part of it is a work based on the Library, and explaining
1752
+ where to find the accompanying uncombined form of the same work.
1753
+
1754
+ 8. You may not copy, modify, sublicense, link with, or distribute
1755
+ the Library except as expressly provided under this License. Any
1756
+ attempt otherwise to copy, modify, sublicense, link with, or
1757
+ distribute the Library is void, and will automatically terminate your
1758
+ rights under this License. However, parties who have received copies,
1759
+ or rights, from you under this License will not have their licenses
1760
+ terminated so long as such parties remain in full compliance.
1761
+
1762
+ 9. You are not required to accept this License, since you have not
1763
+ signed it. However, nothing else grants you permission to modify or
1764
+ distribute the Library or its derivative works. These actions are
1765
+ prohibited by law if you do not accept this License. Therefore, by
1766
+ modifying or distributing the Library (or any work based on the
1767
+ Library), you indicate your acceptance of this License to do so, and
1768
+ all its terms and conditions for copying, distributing or modifying
1769
+ the Library or works based on it.
1770
+
1771
+ 10. Each time you redistribute the Library (or any work based on the
1772
+ Library), the recipient automatically receives a license from the
1773
+ original licensor to copy, distribute, link with or modify the Library
1774
+ subject to these terms and conditions. You may not impose any further
1775
+ restrictions on the recipients' exercise of the rights granted herein.
1776
+ You are not responsible for enforcing compliance by third parties with
1777
+ this License.
1778
+
1779
+ 11. If, as a consequence of a court judgment or allegation of patent
1780
+ infringement or for any other reason (not limited to patent issues),
1781
+ conditions are imposed on you (whether by court order, agreement or
1782
+ otherwise) that contradict the conditions of this License, they do not
1783
+ excuse you from the conditions of this License. If you cannot
1784
+ distribute so as to satisfy simultaneously your obligations under this
1785
+ License and any other pertinent obligations, then as a consequence you
1786
+ may not distribute the Library at all. For example, if a patent
1787
+ license would not permit royalty-free redistribution of the Library by
1788
+ all those who receive copies directly or indirectly through you, then
1789
+ the only way you could satisfy both it and this License would be to
1790
+ refrain entirely from distribution of the Library.
1791
+
1792
+ If any portion of this section is held invalid or unenforceable under any
1793
+ particular circumstance, the balance of the section is intended to apply,
1794
+ and the section as a whole is intended to apply in other circumstances.
1795
+
1796
+ It is not the purpose of this section to induce you to infringe any
1797
+ patents or other property right claims or to contest validity of any
1798
+ such claims; this section has the sole purpose of protecting the
1799
+ integrity of the free software distribution system which is
1800
+ implemented by public license practices. Many people have made
1801
+ generous contributions to the wide range of software distributed
1802
+ through that system in reliance on consistent application of that
1803
+ system; it is up to the author/donor to decide if he or she is willing
1804
+ to distribute software through any other system and a licensee cannot
1805
+ impose that choice.
1806
+
1807
+ This section is intended to make thoroughly clear what is believed to
1808
+ be a consequence of the rest of this License.
1809
+
1810
+ 12. If the distribution and/or use of the Library is restricted in
1811
+ certain countries either by patents or by copyrighted interfaces, the
1812
+ original copyright holder who places the Library under this License may add
1813
+ an explicit geographical distribution limitation excluding those countries,
1814
+ so that distribution is permitted only in or among countries not thus
1815
+ excluded. In such case, this License incorporates the limitation as if
1816
+ written in the body of this License.
1817
+
1818
+ 13. The Free Software Foundation may publish revised and/or new
1819
+ versions of the Lesser General Public License from time to time.
1820
+ Such new versions will be similar in spirit to the present version,
1821
+ but may differ in detail to address new problems or concerns.
1822
+
1823
+ Each version is given a distinguishing version number. If the Library
1824
+ specifies a version number of this License which applies to it and
1825
+ "any later version", you have the option of following the terms and
1826
+ conditions either of that version or of any later version published by
1827
+ the Free Software Foundation. If the Library does not specify a
1828
+ license version number, you may choose any version ever published by
1829
+ the Free Software Foundation.
1830
+
1831
+ 14. If you wish to incorporate parts of the Library into other free
1832
+ programs whose distribution conditions are incompatible with these,
1833
+ write to the author to ask for permission. For software which is
1834
+ copyrighted by the Free Software Foundation, write to the Free
1835
+ Software Foundation; we sometimes make exceptions for this. Our
1836
+ decision will be guided by the two goals of preserving the free status
1837
+ of all derivatives of our free software and of promoting the sharing
1838
+ and reuse of software generally.
1839
+
1840
+ NO WARRANTY
1841
+
1842
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
1843
+ WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
1844
+ EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
1845
+ OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
1846
+ KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
1847
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1848
+ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
1849
+ LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
1850
+ THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
1851
+
1852
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
1853
+ WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
1854
+ AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
1855
+ FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
1856
+ CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
1857
+ LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
1858
+ RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
1859
+ FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
1860
+ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
1861
+ DAMAGES.
1862
+
1863
+ END OF TERMS AND CONDITIONS
1864
+
1865
+ How to Apply These Terms to Your New Libraries
1866
+
1867
+ If you develop a new library, and you want it to be of the greatest
1868
+ possible use to the public, we recommend making it free software that
1869
+ everyone can redistribute and change. You can do so by permitting
1870
+ redistribution under these terms (or, alternatively, under the terms of the
1871
+ ordinary General Public License).
1872
+
1873
+ To apply these terms, attach the following notices to the library. It is
1874
+ safest to attach them to the start of each source file to most effectively
1875
+ convey the exclusion of warranty; and each file should have at least the
1876
+ "copyright" line and a pointer to where the full notice is found.
1877
+
1878
+ <one line to give the library's name and a brief idea of what it does.>
1879
+ Copyright (C) <year> <name of author>
1880
+
1881
+ This library is free software; you can redistribute it and/or
1882
+ modify it under the terms of the GNU Lesser General Public
1883
+ License as published by the Free Software Foundation; either
1884
+ version 2.1 of the License, or (at your option) any later version.
1885
+
1886
+ This library is distributed in the hope that it will be useful,
1887
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1888
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1889
+ Lesser General Public License for more details.
1890
+
1891
+ You should have received a copy of the GNU Lesser General Public
1892
+ License along with this library; if not, see <https://www.gnu.org/licenses/>.
1893
+
1894
+ Also add information on how to contact you by electronic and paper mail.
1895
+
1896
+ You should also get your employer (if you work as a programmer) or your
1897
+ school, if any, to sign a "copyright disclaimer" for the library, if
1898
+ necessary. Here is a sample; alter the names:
1899
+
1900
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
1901
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
1902
+
1903
+ <signature of Moe Ghoul>, 1 April 1990
1904
+ Moe Ghoul, President of Vice
1905
+
1906
+ That's all there is to it!
1907
+
1908
+ ------------------------------------------------------------------------------
1909
+ 4.13 Tcl/Tk License
1910
+ ------------------------------------------------------------------------------
1911
+ This software is copyrighted by the Regents of the University
1912
+ of California, Sun Microsystems, Inc., Scriptics Corporation,
1913
+ and other parties. The following terms apply to all files
1914
+ associated with the software unless explicitly disclaimed in
1915
+ individual files.
1916
+
1917
+ The authors hereby grant permission to use, copy, modify,
1918
+ distribute, and license this software and its documentation
1919
+ for any purpose, provided that existing copyright notices are
1920
+ retained in all copies and that this notice is included
1921
+ verbatim in any distributions. No written agreement, license,
1922
+ or royalty fee is required for any of the authorized uses.
1923
+ Modifications to this software may be copyrighted by their
1924
+ authors and need not follow the licensing terms described
1925
+ here, provided that the new terms are clearly indicated on
1926
+ the first page of each file where they apply.
1927
+
1928
+ IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO
1929
+ ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR
1930
+ CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS
1931
+ SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN
1932
+ IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
1933
+ DAMAGE.
1934
+
1935
+ THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY
1936
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1937
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
1938
+ PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON
1939
+ AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO
1940
+ OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
1941
+ ENHANCEMENTS, OR MODIFICATIONS.
1942
+
1943
+ GOVERNMENT USE: If you are acquiring this software on behalf
1944
+ of the U.S. government, the Government shall have only
1945
+ "Restricted Rights" in the software and related documentation
1946
+ as defined in the Federal Acquisition Regulations (FARs) in
1947
+ Clause 52.227.19 (c) (2). If you are acquiring the software
1948
+ on behalf of the Department of Defense, the software shall be
1949
+ classified as "Commercial Computer Software" and the
1950
+ Government shall have only "Restricted Rights" as defined in
1951
+ Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the
1952
+ foregoing, the authors grant the U.S. Government and others
1953
+ acting in its behalf permission to use and distribute the
1954
+ software in accordance with the terms specified in this
1955
+ license