shikiru-cli 0.2.0__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 (319) hide show
  1. shikiru/__init__.py +1 -0
  2. shikiru/__main__.py +8 -0
  3. shikiru/agents/__init__.py +3 -0
  4. shikiru/agents/contracts.py +590 -0
  5. shikiru/agents/registry.py +87 -0
  6. shikiru/agents/sdk/__init__.py +17 -0
  7. shikiru/agents/sdk/reset_time.py +137 -0
  8. shikiru/agents/sdk/turn.py +335 -0
  9. shikiru/agents/settings.py +151 -0
  10. shikiru/agents/testing/__init__.py +26 -0
  11. shikiru/agents/testing/contract_suite.py +653 -0
  12. shikiru/agents/testing/resume.py +15 -0
  13. shikiru/bootstrap.py +1277 -0
  14. shikiru/cli/__init__.py +1 -0
  15. shikiru/cli/app.py +770 -0
  16. shikiru/cli/context.py +63 -0
  17. shikiru/cli/render.py +1475 -0
  18. shikiru/cli/report.py +156 -0
  19. shikiru/cli/session_prompt.py +63 -0
  20. shikiru/cli/view.py +131 -0
  21. shikiru/clock.py +41 -0
  22. shikiru/config/__init__.py +8 -0
  23. shikiru/config/defaults.toml +131 -0
  24. shikiru/config/loader.py +178 -0
  25. shikiru/config/settings.py +392 -0
  26. shikiru/dashboard/__init__.py +3 -0
  27. shikiru/dashboard/actions_list.py +799 -0
  28. shikiru/dashboard/activity.py +150 -0
  29. shikiru/dashboard/app.py +1765 -0
  30. shikiru/dashboard/blocker_evidence.py +122 -0
  31. shikiru/dashboard/blocker_rows.py +84 -0
  32. shikiru/dashboard/briefing_view.py +871 -0
  33. shikiru/dashboard/contract.py +1086 -0
  34. shikiru/dashboard/covered.py +32 -0
  35. shikiru/dashboard/detail.py +1209 -0
  36. shikiru/dashboard/detail_fold.py +244 -0
  37. shikiru/dashboard/detail_hint.py +68 -0
  38. shikiru/dashboard/details_list_view.py +150 -0
  39. shikiru/dashboard/diagnostics.py +80 -0
  40. shikiru/dashboard/diagnostics_sections.py +186 -0
  41. shikiru/dashboard/evidence_table.py +123 -0
  42. shikiru/dashboard/extra_details.py +214 -0
  43. shikiru/dashboard/fault_guidance.py +216 -0
  44. shikiru/dashboard/fold_bodies.py +276 -0
  45. shikiru/dashboard/help_keys.py +166 -0
  46. shikiru/dashboard/help_screen.py +204 -0
  47. shikiru/dashboard/interaction.py +17 -0
  48. shikiru/dashboard/ladder_editor.py +544 -0
  49. shikiru/dashboard/live_settings.py +62 -0
  50. shikiru/dashboard/motion.py +368 -0
  51. shikiru/dashboard/orchestration_fields.py +201 -0
  52. shikiru/dashboard/palette.py +1606 -0
  53. shikiru/dashboard/palette_app.py +89 -0
  54. shikiru/dashboard/palette_drafts.py +33 -0
  55. shikiru/dashboard/resolution.py +573 -0
  56. shikiru/dashboard/resolution_view.py +302 -0
  57. shikiru/dashboard/row_list.py +256 -0
  58. shikiru/dashboard/section_rows.py +173 -0
  59. shikiru/dashboard/services.py +665 -0
  60. shikiru/dashboard/session_history.py +402 -0
  61. shikiru/dashboard/shikiru_init_ascii_art.txt +40 -0
  62. shikiru/dashboard/task_picker.py +358 -0
  63. shikiru/dashboard/tick.py +59 -0
  64. shikiru/dashboard/timeline_filter.py +129 -0
  65. shikiru/dashboard/timeline_section.py +385 -0
  66. shikiru/dashboard/usage_body.py +269 -0
  67. shikiru/dashboard/views.py +2314 -0
  68. shikiru/dashboard/wizard.py +1389 -0
  69. shikiru/domain/__init__.py +1 -0
  70. shikiru/domain/acceptance.py +130 -0
  71. shikiru/domain/activity.py +28 -0
  72. shikiru/domain/attempts.py +333 -0
  73. shikiru/domain/briefing.py +257 -0
  74. shikiru/domain/commands.py +219 -0
  75. shikiru/domain/decisions.py +231 -0
  76. shikiru/domain/docker.py +262 -0
  77. shikiru/domain/engine_uptime.py +87 -0
  78. shikiru/domain/escalation.py +194 -0
  79. shikiru/domain/escalation_evidence.py +186 -0
  80. shikiru/domain/escalation_panel.py +144 -0
  81. shikiru/domain/events.py +71 -0
  82. shikiru/domain/evidence_export.py +89 -0
  83. shikiru/domain/faults.py +86 -0
  84. shikiru/domain/feedback.py +180 -0
  85. shikiru/domain/feedback_rounds.py +172 -0
  86. shikiru/domain/fencing.py +31 -0
  87. shikiru/domain/ladder.py +102 -0
  88. shikiru/domain/ladder_text.py +44 -0
  89. shikiru/domain/levels.py +44 -0
  90. shikiru/domain/motion.py +199 -0
  91. shikiru/domain/packet_evidence.py +377 -0
  92. shikiru/domain/pushes.py +47 -0
  93. shikiru/domain/quota_blocks.py +44 -0
  94. shikiru/domain/quota_waits.py +219 -0
  95. shikiru/domain/recovery.py +194 -0
  96. shikiru/domain/reports.py +498 -0
  97. shikiru/domain/results.py +217 -0
  98. shikiru/domain/runs.py +85 -0
  99. shikiru/domain/scheduling.py +231 -0
  100. shikiru/domain/status_tasks.py +40 -0
  101. shikiru/domain/steps.py +325 -0
  102. shikiru/domain/tasks.py +174 -0
  103. shikiru/domain/timeline.py +208 -0
  104. shikiru/domain/timeline_phrases.py +271 -0
  105. shikiru/domain/versions.py +18 -0
  106. shikiru/domain/workflow.py +372 -0
  107. shikiru/engine/__init__.py +0 -0
  108. shikiru/engine/acceptance.py +90 -0
  109. shikiru/engine/agents.py +61 -0
  110. shikiru/engine/cosmetic_decorator.py +99 -0
  111. shikiru/engine/daemon.py +409 -0
  112. shikiru/engine/dependency.py +37 -0
  113. shikiru/engine/escalation_filing.py +110 -0
  114. shikiru/engine/escalations.py +401 -0
  115. shikiru/engine/events.py +285 -0
  116. shikiru/engine/evidence.py +81 -0
  117. shikiru/engine/fault_reporter.py +144 -0
  118. shikiru/engine/feedback.py +577 -0
  119. shikiru/engine/feedback_audit.py +80 -0
  120. shikiru/engine/feedback_intake.py +95 -0
  121. shikiru/engine/feedback_snapshot.py +148 -0
  122. shikiru/engine/flow.py +87 -0
  123. shikiru/engine/handlers/__init__.py +33 -0
  124. shikiru/engine/handlers/base.py +148 -0
  125. shikiru/engine/handlers/engine.py +24 -0
  126. shikiru/engine/handlers/escalations.py +174 -0
  127. shikiru/engine/handlers/operator.py +81 -0
  128. shikiru/engine/handlers/tasks.py +237 -0
  129. shikiru/engine/history.py +128 -0
  130. shikiru/engine/integration.py +1234 -0
  131. shikiru/engine/integration_turns.py +337 -0
  132. shikiru/engine/layout_guard.py +362 -0
  133. shikiru/engine/lifecycle.py +60 -0
  134. shikiru/engine/monitor.py +317 -0
  135. shikiru/engine/notification_delivery.py +124 -0
  136. shikiru/engine/notification_feed.py +57 -0
  137. shikiru/engine/notifier.py +91 -0
  138. shikiru/engine/pull_request_closing.py +117 -0
  139. shikiru/engine/push_service.py +177 -0
  140. shikiru/engine/quota_probe_threads.py +79 -0
  141. shikiru/engine/quota_reconciler.py +210 -0
  142. shikiru/engine/quota_schedule.py +24 -0
  143. shikiru/engine/quota_waits.py +102 -0
  144. shikiru/engine/reconcile.py +91 -0
  145. shikiru/engine/recovery.py +284 -0
  146. shikiru/engine/retention.py +102 -0
  147. shikiru/engine/root_preparation.py +86 -0
  148. shikiru/engine/scheduler.py +320 -0
  149. shikiru/engine/session_guard.py +46 -0
  150. shikiru/engine/sessions.py +95 -0
  151. shikiru/engine/signalled.py +75 -0
  152. shikiru/engine/step_runner.py +140 -0
  153. shikiru/engine/supervisor.py +101 -0
  154. shikiru/engine/takeover.py +223 -0
  155. shikiru/engine/task_facts.py +46 -0
  156. shikiru/engine/tick_guard.py +95 -0
  157. shikiru/engine/titles.py +297 -0
  158. shikiru/engine/transitions.py +79 -0
  159. shikiru/engine/turn_context.py +206 -0
  160. shikiru/engine/turn_execution.py +30 -0
  161. shikiru/engine/turn_loop.py +230 -0
  162. shikiru/engine/turn_processes.py +79 -0
  163. shikiru/engine/turns.py +457 -0
  164. shikiru/errors.py +144 -0
  165. shikiru/helper/__init__.py +3 -0
  166. shikiru/helper/helper.py +182 -0
  167. shikiru/helper/models.py +11 -0
  168. shikiru/mcp/__init__.py +1 -0
  169. shikiru/mcp/server.py +196 -0
  170. shikiru/operator/__init__.py +33 -0
  171. shikiru/operator/attachment.py +24 -0
  172. shikiru/operator/commands.py +319 -0
  173. shikiru/operator/detectors.py +374 -0
  174. shikiru/operator/doctor.py +351 -0
  175. shikiru/operator/events.py +57 -0
  176. shikiru/operator/evidence_export.py +498 -0
  177. shikiru/operator/evidence_writer.py +78 -0
  178. shikiru/operator/lifecycle.py +294 -0
  179. shikiru/operator/plugin_checks.py +194 -0
  180. shikiru/operator/probe.py +287 -0
  181. shikiru/operator/queries.py +1601 -0
  182. shikiru/operator/services.py +36 -0
  183. shikiru/operator/sessions.py +378 -0
  184. shikiru/operator/strip_views.py +162 -0
  185. shikiru/operator/timeline.py +416 -0
  186. shikiru/operator/toml_text.py +62 -0
  187. shikiru/palette.py +18 -0
  188. shikiru/paths.py +91 -0
  189. shikiru/plugins/__init__.py +0 -0
  190. shikiru/plugins/agents/__init__.py +1 -0
  191. shikiru/plugins/agents/claude/__init__.py +5 -0
  192. shikiru/plugins/agents/claude/agent.py +251 -0
  193. shikiru/plugins/agents/claude/context.py +116 -0
  194. shikiru/plugins/agents/claude/headless.py +92 -0
  195. shikiru/plugins/agents/claude/hook.py +57 -0
  196. shikiru/plugins/agents/claude/model_catalog.py +105 -0
  197. shikiru/plugins/agents/claude/options.py +62 -0
  198. shikiru/plugins/agents/claude/turn.py +1018 -0
  199. shikiru/plugins/agents/codex/__init__.py +5 -0
  200. shikiru/plugins/agents/codex/agent.py +486 -0
  201. shikiru/plugins/agents/codex/headless.py +166 -0
  202. shikiru/plugins/agents/codex/home.py +14 -0
  203. shikiru/plugins/agents/codex/model_catalog.py +128 -0
  204. shikiru/plugins/agents/codex/options.py +94 -0
  205. shikiru/plugins/agents/codex/quota.py +195 -0
  206. shikiru/plugins/agents/codex/sandbox.py +31 -0
  207. shikiru/plugins/agents/codex/sandbox_probe.py +97 -0
  208. shikiru/plugins/agents/codex/turn.py +767 -0
  209. shikiru/plugins/agents/codex/usage.py +106 -0
  210. shikiru/plugins/agents/shared_settings.py +62 -0
  211. shikiru/plugins/widgets/__init__.py +3 -0
  212. shikiru/plugins/widgets/dialogue.py +144 -0
  213. shikiru/plugins/widgets/disk.py +123 -0
  214. shikiru/plugins/widgets/docker.py +225 -0
  215. shikiru/plugins/widgets/escalations.py +402 -0
  216. shikiru/plugins/widgets/faults.py +204 -0
  217. shikiru/plugins/widgets/header.py +321 -0
  218. shikiru/plugins/widgets/queue.py +1140 -0
  219. shikiru/plugins/widgets/queue_hint.py +93 -0
  220. shikiru/plugins/widgets/resources.py +105 -0
  221. shikiru/plugins/widgets/strips.py +82 -0
  222. shikiru/plugins/widgets/usage.py +176 -0
  223. shikiru/private.py +94 -0
  224. shikiru/process.py +535 -0
  225. shikiru/prompts/__init__.py +3 -0
  226. shikiru/prompts/renderer.py +85 -0
  227. shikiru/prompts/templates/_base.md.j2 +17 -0
  228. shikiru/prompts/templates/_macros.md.j2 +61 -0
  229. shikiru/prompts/templates/conflicts.md.j2 +22 -0
  230. shikiru/prompts/templates/consult.md.j2 +5 -0
  231. shikiru/prompts/templates/continue.md.j2 +4 -0
  232. shikiru/prompts/templates/feedback_analysis.md.j2 +29 -0
  233. shikiru/prompts/templates/feedback_rework.md.j2 +33 -0
  234. shikiru/prompts/templates/feedback_verify.md.j2 +33 -0
  235. shikiru/prompts/templates/handoff.md.j2 +23 -0
  236. shikiru/prompts/templates/implement.md.j2 +13 -0
  237. shikiru/prompts/templates/plan.md.j2 +30 -0
  238. shikiru/prompts/templates/rework.md.j2 +13 -0
  239. shikiru/prompts/templates/triage.md.j2 +20 -0
  240. shikiru/prompts/templates/verify.md.j2 +29 -0
  241. shikiru/store/__init__.py +1 -0
  242. shikiru/store/commands.py +242 -0
  243. shikiru/store/database.py +297 -0
  244. shikiru/store/escalations.py +240 -0
  245. shikiru/store/events.py +213 -0
  246. shikiru/store/feedback.py +266 -0
  247. shikiru/store/migrations/001_initial.sql +63 -0
  248. shikiru/store/migrations/002_headless_turns.sql +31 -0
  249. shikiru/store/migrations/003_drop_command_handled_at.sql +1 -0
  250. shikiru/store/migrations/004_repo_base_ref.sql +3 -0
  251. shikiru/store/migrations/005_complexity_explicit.sql +3 -0
  252. shikiru/store/migrations/006_events_kind_index.sql +1 -0
  253. shikiru/store/migrations/007_notification_cursor.sql +1 -0
  254. shikiru/store/migrations/008_reported_usage.sql +1 -0
  255. shikiru/store/migrations/009_billing_declarations.sql +2 -0
  256. shikiru/store/migrations/010_canonical_quota_windows.sql +3 -0
  257. shikiru/store/migrations/012_drop_task_quota_evidence.sql +2 -0
  258. shikiru/store/migrations/013_push_targets.sql +7 -0
  259. shikiru/store/migrations/014_agent_block_time.sql +6 -0
  260. shikiru/store/migrations/015_repair_orphan_agent_blocks.sql +3 -0
  261. shikiru/store/migrations/016_feedback_rounds.sql +29 -0
  262. shikiru/store/migrations/017_feedback_round_comments.sql +5 -0
  263. shikiru/store/migrations/__init__.py +1 -0
  264. shikiru/store/notification_cursor.py +29 -0
  265. shikiru/store/pushes.py +117 -0
  266. shikiru/store/quotas.py +153 -0
  267. shikiru/store/reader.py +310 -0
  268. shikiru/store/retention.py +92 -0
  269. shikiru/store/runs.py +227 -0
  270. shikiru/store/tasks.py +949 -0
  271. shikiru/telemetry/__init__.py +1 -0
  272. shikiru/telemetry/disk.py +167 -0
  273. shikiru/telemetry/docker.py +164 -0
  274. shikiru/telemetry/resources.py +296 -0
  275. shikiru/tmux/__init__.py +3 -0
  276. shikiru/tmux/client.py +637 -0
  277. shikiru/tmux/decorator.py +225 -0
  278. shikiru/tmux/layout.py +200 -0
  279. shikiru/tmux/session.py +381 -0
  280. shikiru/ui/__init__.py +9 -0
  281. shikiru/ui/age.py +45 -0
  282. shikiru/ui/bubbles.py +41 -0
  283. shikiru/ui/compact.py +1209 -0
  284. shikiru/ui/console.py +49 -0
  285. shikiru/ui/fold.py +50 -0
  286. shikiru/ui/gated_static.py +117 -0
  287. shikiru/ui/gauge.py +40 -0
  288. shikiru/ui/glyphs.py +109 -0
  289. shikiru/ui/keys.py +57 -0
  290. shikiru/ui/live_interval.py +42 -0
  291. shikiru/ui/popup.py +311 -0
  292. shikiru/ui/quota_status.py +26 -0
  293. shikiru/ui/recent_window.py +78 -0
  294. shikiru/ui/screen.py +57 -0
  295. shikiru/ui/section.py +193 -0
  296. shikiru/ui/session.py +65 -0
  297. shikiru/ui/size.py +17 -0
  298. shikiru/ui/splash.py +42 -0
  299. shikiru/ui/status.py +47 -0
  300. shikiru/ui/status_strip.py +149 -0
  301. shikiru/ui/stream.py +152 -0
  302. shikiru/ui/strip.py +332 -0
  303. shikiru/ui/theme.py +83 -0
  304. shikiru/ui/tokens.py +51 -0
  305. shikiru/view_log.py +126 -0
  306. shikiru/workspace/__init__.py +3 -0
  307. shikiru/workspace/base_refs.py +160 -0
  308. shikiru/workspace/caches.py +136 -0
  309. shikiru/workspace/facts.py +118 -0
  310. shikiru/workspace/git.py +601 -0
  311. shikiru/workspace/github.py +744 -0
  312. shikiru/workspace/messages.py +107 -0
  313. shikiru/workspace/reports.py +145 -0
  314. shikiru/workspace/roots.py +180 -0
  315. shikiru_cli-0.2.0.dist-info/METADATA +428 -0
  316. shikiru_cli-0.2.0.dist-info/RECORD +319 -0
  317. shikiru_cli-0.2.0.dist-info/WHEEL +4 -0
  318. shikiru_cli-0.2.0.dist-info/entry_points.txt +18 -0
  319. shikiru_cli-0.2.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,319 @@
1
+ shikiru/__init__.py,sha256=lB2xG3iTevs0T4HED93UXPCEytJ8CNoD_cONLJbKf7M,69
2
+ shikiru/__main__.py,sha256=M0hTyKl1MKeD1A5mTiQHja51eKoz_GukT0s2ssEp01Y,146
3
+ shikiru/bootstrap.py,sha256=ZwVCuZUMRJZtnxE5lWTTtiyp_NuYyOFk8VUHjNtKd3Y,46125
4
+ shikiru/clock.py,sha256=M04OfILt-8SGJbysfGeiEndjf9PrZS2tYpFZ1SyabJI,1182
5
+ shikiru/errors.py,sha256=JkjxQs_yQyHO0vyBiCAhZ-SvIeQUpE2wd4gEdjUYLKA,4571
6
+ shikiru/palette.py,sha256=UnCvp_5UnehR5KahmKY-il5f7c_MQ6FdZ7SgYuoMtF8,551
7
+ shikiru/paths.py,sha256=1VgGaL0d--fmmGZ7iRMQuJi5YO9tzHr6HUADK1NGVh8,3218
8
+ shikiru/private.py,sha256=ecGw6KMCIvOkfXkWvzBs0Y00lnkza8YZcTqje8nO5oc,3521
9
+ shikiru/process.py,sha256=u89NJ5c9MWTLKi5qNPyBP4WBo2NTmPzyFOi4nUs4Xg8,19418
10
+ shikiru/view_log.py,sha256=yMfZ985LAWDjOHnS6aI-GpZGXF3_Ojd6COkJPf8MCZ0,4549
11
+ shikiru/agents/__init__.py,sha256=vXZSlfcMAa-C2DrRRbYC2xwGYYlVSmbtPbbGBlMTj5E,89
12
+ shikiru/agents/contracts.py,sha256=apazlvd9vv0EQ3VCOYWDCf1x_yMXtvvcUDOX7K5cVhw,18457
13
+ shikiru/agents/registry.py,sha256=Kc27XnDti9y1ijHwXZRzWvoIe_6HFdtzD-_cNWq97kA,3527
14
+ shikiru/agents/settings.py,sha256=o-tVFVAPKK7ySCsqkzbLjNBXeIi3ltLt2mzZHprrmNQ,5275
15
+ shikiru/agents/sdk/__init__.py,sha256=4BM3QWogOcvFjFJtj17uqwnSesuJVT9EKV01fD1Vi7w,325
16
+ shikiru/agents/sdk/reset_time.py,sha256=NhFBzKTLz4vI7zAjqiLVT2QQb3lHSATQ66UEmDVN1J0,5464
17
+ shikiru/agents/sdk/turn.py,sha256=WK2R9Oy20ZxeIg8DRMTQpqVXo6Ubf6504gWVcV1P-0M,12565
18
+ shikiru/agents/testing/__init__.py,sha256=wmPt7mxKIFPWFHXAyX_V--3x3nskPvVomvZynRAYw-k,643
19
+ shikiru/agents/testing/contract_suite.py,sha256=t3Nm-PkbSRQk0eVqZFSHaqkkIdxXzgl-Yz4nNoTgw0I,25860
20
+ shikiru/agents/testing/resume.py,sha256=UjLzxxuzoVPWJdWqoLRiZzrKNlNex_OX28g1zZ9Wiz0,734
21
+ shikiru/cli/__init__.py,sha256=5P9cxqUeQ9TiBE3OzvONmT5XGzO6ORR0nI54RnidWAQ,29
22
+ shikiru/cli/app.py,sha256=VdAlHTSz5-9dKm2PHdXSGswejJmm_HMXa0R0Y0YASmU,24917
23
+ shikiru/cli/context.py,sha256=xcjNPHwhT_CwyjxtkShp1mtQY16G3iAv3y4De2WNTdE,2182
24
+ shikiru/cli/render.py,sha256=-UkiqfuhLAJr7G60e5WF9HOVvptDjbtX6K-6g5HIUlQ,52346
25
+ shikiru/cli/report.py,sha256=ZWLpiB4ALX1Bby-k6wVL4v0vzzw-BA3_Xa8SPLcJV5o,5793
26
+ shikiru/cli/session_prompt.py,sha256=Ua8vXAewXpYBP7ftrmgb8kgpQiLO9jtDjNkPy6uJbuU,2244
27
+ shikiru/cli/view.py,sha256=lhr6nCdzhBb6oeSOBLkRvSe3YrEn55EQ7sTrjV2gyos,4396
28
+ shikiru/config/__init__.py,sha256=ekLJXYabxWsryKkTa58O3flcH_JWo-7EJd6AXfsZ9Dw,231
29
+ shikiru/config/defaults.toml,sha256=J-nO4aGxD-EZDcifhGH_6b36hYmwCqitev2bkit6vK4,2867
30
+ shikiru/config/loader.py,sha256=dK7QMDg6LG-BloeZ7Mz8tcq-gNKApnbSG1tXz39mBSg,6452
31
+ shikiru/config/settings.py,sha256=vD17BTN02FV5gjGMy6f1UPXVIeFVCKt16l9q0L20iBc,12625
32
+ shikiru/dashboard/__init__.py,sha256=JXNOj3hOH-KKUSLY1Ha8CSGVd6plwwZPtz0NHjzCr7I,112
33
+ shikiru/dashboard/actions_list.py,sha256=H5g26ryw0f8KQc8LO4aNBdsZb4Bt1dOLT32oUxv-PQc,30380
34
+ shikiru/dashboard/activity.py,sha256=ZUHdI_mRcfWCVctUbf_Tx_W_Gu4tVjdRJYjHCXdVp7w,5187
35
+ shikiru/dashboard/app.py,sha256=KIQgZrIzGaw57ZklglElF98W1HByhvU00VvOhe0Barw,71710
36
+ shikiru/dashboard/blocker_evidence.py,sha256=DiEtutxaSdVt5n_CSI6-1H-mtm1regtSt8URVVK_jjg,4158
37
+ shikiru/dashboard/blocker_rows.py,sha256=z7oE77gtVRPDr9YHBxyyZD9ITqfJRG_RuJzyvkFFsHc,3279
38
+ shikiru/dashboard/briefing_view.py,sha256=onNake6Jl56ocNG2gR3A39j60MkG02P17W4EUxnolGY,30489
39
+ shikiru/dashboard/contract.py,sha256=l5FkuAtq7awz1Q-fZkNxLvLTbOf_zNF_-IsGDFVxd6E,30305
40
+ shikiru/dashboard/covered.py,sha256=LrTUM75YiAAl9Fo0HnrN-0Nqds0Pd-HzTEChrJKeAmY,1153
41
+ shikiru/dashboard/detail.py,sha256=kJkqqXNeIIAxr1FSQjnCofQiz8huSCMaG-FRDLwJe7U,47979
42
+ shikiru/dashboard/detail_fold.py,sha256=yN9fhy1t-nwRC1iB-Y1adE-ELN06QjRDRCPcrx1gIyg,8575
43
+ shikiru/dashboard/detail_hint.py,sha256=76QvLAU-k-PogbumuwUxXK_l9wBavar-ZshaAySPczY,2211
44
+ shikiru/dashboard/details_list_view.py,sha256=8UMdlZjRhxParza7U1lRfO21Mkb_saMFu4OSHcV5RCs,5181
45
+ shikiru/dashboard/diagnostics.py,sha256=zdax9oja2L6LkIpVdgnAytAP6ERl0lI3fwrsc8cFd6Y,3021
46
+ shikiru/dashboard/diagnostics_sections.py,sha256=iNMGG5iZk0Ylt5HShTGgABRjH90mnJx8qz2PHzrxCjU,6307
47
+ shikiru/dashboard/evidence_table.py,sha256=Tcba522-q5O6AzWMqSXox3fvioESHSzbDU5kBvCNs88,4367
48
+ shikiru/dashboard/extra_details.py,sha256=Jwkk4xWGDoZIsyS73x4yoDRuY9uylqGSXyBty5aeUkI,8079
49
+ shikiru/dashboard/fault_guidance.py,sha256=xM2sgIXAnLU62WYg5ivc8L7IUVwm4Txl_YYz1_QhYo8,8061
50
+ shikiru/dashboard/fold_bodies.py,sha256=RHoJ4BmwpCIWXWNY3DxZH3IvLhuWYv4I7YdWWbnOipo,9317
51
+ shikiru/dashboard/help_keys.py,sha256=Y9Iv0WhQQqXQ0cCuYF5FWiqP5fDLqStweYlTgS9CDYQ,5555
52
+ shikiru/dashboard/help_screen.py,sha256=6_AyusYx92s6Ig6nYNWtMgrt2Sh689hQASR8kLA8MwE,7849
53
+ shikiru/dashboard/interaction.py,sha256=Lt-5RfazWUCZDQlvEnVUsh7fhNzqH8Lst5-ISEsZows,428
54
+ shikiru/dashboard/ladder_editor.py,sha256=bZBntlq9awSrzznCRODC8VGaSJT3Red2JeSCKHelBMA,22971
55
+ shikiru/dashboard/live_settings.py,sha256=WCDr3DVy-MM69NkHInjz-QM1er5LBCFWM8wMW3Qbr0o,2158
56
+ shikiru/dashboard/motion.py,sha256=atA7ogS800kbe8OnLQqkHj_2IQpsGlGdj5P3iBRQbtA,13476
57
+ shikiru/dashboard/orchestration_fields.py,sha256=sjCONPSfgnxNuk8BIdg31fAyYnoA5SSGI9hwPUD2GBE,5945
58
+ shikiru/dashboard/palette.py,sha256=MBkxUNpGqiX34BlQlEg6XlS5Fp5iQSB0srWtyIq_0Eg,64942
59
+ shikiru/dashboard/palette_app.py,sha256=q_Tsz4O1H7Lbc47K5CyaLBNvfGlRCfFN3v-31w_q2Sg,3512
60
+ shikiru/dashboard/palette_drafts.py,sha256=YhWitZUkrs8uYCm6AOiCHOToGo-1dBlfq6N3tabj4xo,1252
61
+ shikiru/dashboard/resolution.py,sha256=ho5P6Rfxfpk7j8xzXy8Q7u2XHiWOkd8BYySNQtpEMOk,21969
62
+ shikiru/dashboard/resolution_view.py,sha256=0VVt9_ZXMt307B64AhYJadmLjGTSIM31E5AbRSXxZ7E,10534
63
+ shikiru/dashboard/row_list.py,sha256=G_nXLLjA55_71rRs-zIQISzC0VatJEgXK35KIJqfD-8,9297
64
+ shikiru/dashboard/section_rows.py,sha256=vPffH-F2YizLFTLPEquhYI4DXCe67GF4ZyWY4-51g18,6013
65
+ shikiru/dashboard/services.py,sha256=3Sda4CTm90T9tZ3Pvb0-GR497IvV1ukV3RTrUveFPr4,25088
66
+ shikiru/dashboard/session_history.py,sha256=rJtuUzY6eCacFpPHrjr77CMx5Cx03JzD9pr6L5GQJ0w,14246
67
+ shikiru/dashboard/shikiru_init_ascii_art.txt,sha256=XEeW-JFWMEQ73GK2Io9u5lgVJbk9qf0hHeHGkPyeSgw,15544
68
+ shikiru/dashboard/task_picker.py,sha256=T9xj9a2uw5UtS3GpfToqXGSomDhF-Hi-hgxnbT-k4hA,14387
69
+ shikiru/dashboard/tick.py,sha256=FmYdsZaJT7Lsc4zpxaQacYHK5kq2nUtDU-upn2afjoE,1979
70
+ shikiru/dashboard/timeline_filter.py,sha256=ZsKoXAjUJFaKYPRjnUrF62QGevtMonjEzEAnXF4nxMI,4355
71
+ shikiru/dashboard/timeline_section.py,sha256=OeC8Hs_f5crUPLiOAIIOc0MNAo-N471FjgFqCReVbzo,13115
72
+ shikiru/dashboard/usage_body.py,sha256=pd_-zxdpVkbmsG57bkHlPEdBSmS8Fgxtzi6iavtaRE4,8903
73
+ shikiru/dashboard/views.py,sha256=7wGorgL_E3H-0ViUnjoNCWBS0t03iQdcsOpnejH5eCI,90814
74
+ shikiru/dashboard/wizard.py,sha256=6DqI31FZ7mwcbgPdq62nzfbCUbPG8kh4f-zl-t8cQs0,58134
75
+ shikiru/domain/__init__.py,sha256=wH0LpTmPkYCJoJO0Pfg2tNrsAypYGoToWfdT7QtsFIw,71
76
+ shikiru/domain/acceptance.py,sha256=EhIc-C08-SBEPrciS5PGKYASihf8YKRSCYgGKeSxtec,4402
77
+ shikiru/domain/activity.py,sha256=KH9Jx474Zt7zTsWIYKkbkgGamSfq8A1hFyXOnlK6S1Q,921
78
+ shikiru/domain/attempts.py,sha256=RW0Mp4tNHIhARX-3na-YyKABwdyoaei5UcqbCCxhEHs,11462
79
+ shikiru/domain/briefing.py,sha256=Sm3ASIZOG8KTAEqJYtgp0u_bTBamuC1UsIutA7xlatc,8680
80
+ shikiru/domain/commands.py,sha256=b3_kEPGCLz0DhiUQoQPtGJ86ZQHyb69BpIELiTBiYTw,5610
81
+ shikiru/domain/decisions.py,sha256=gSggAwcV_Y0Ig2ZqkgPrB2zCAx8mksJnGcDNmG4PQe4,7821
82
+ shikiru/domain/docker.py,sha256=7Amc2G5ZeuVJfKZjDaaeT_eMmkr_mvMsnrQ6_k46ecg,8788
83
+ shikiru/domain/engine_uptime.py,sha256=xXbQQax3ECRsv7kGZVMdRiyzfJFVNdg6MHHX0gBEuPE,2644
84
+ shikiru/domain/escalation.py,sha256=_PoCqKCvzYcGoEbqfHWAYIpK_2AcaariPiA0FZakDz4,7794
85
+ shikiru/domain/escalation_evidence.py,sha256=Kw5omQEaXhGZ8MsI0-ZXgMP1ChRDAts8FUjOpPt9U2w,6563
86
+ shikiru/domain/escalation_panel.py,sha256=sDfawjLEUR_R36cpi155eES0Au7ghu9gpPHNOknufKk,4603
87
+ shikiru/domain/events.py,sha256=OwvOirncYLQhuzY6eOOF3xFVAAMd54gTIklbony3EgU,1753
88
+ shikiru/domain/evidence_export.py,sha256=lqZHIkAl5uuAqVLxwWnGTDX4q04Ggr7LcXYwVSzv-9c,2702
89
+ shikiru/domain/faults.py,sha256=F4sX_JMurmFlufAw39w7razA6FE1v4uhod0FtV4Cdc8,3038
90
+ shikiru/domain/feedback.py,sha256=j2QX5OQRbhe-ZJ1CXBDw_1MNo27UBla4t8-RVKNVOms,6123
91
+ shikiru/domain/feedback_rounds.py,sha256=ll9_kOEUzy76SVZAeqWMtTLQ-Ydn5_kko7PomkMnqG0,5082
92
+ shikiru/domain/fencing.py,sha256=OBLLX_MR6Ghoy7ZasJ4ZR3Co1PLqDzRx0O3gfKT-zHE,1053
93
+ shikiru/domain/ladder.py,sha256=XxQSUc02u3cpatkgJbziOx2m-aY4bAXMgUZPWliXkFk,4127
94
+ shikiru/domain/ladder_text.py,sha256=QJlm4Sw3Om6eim1UII_vscaJpnGFTSZMYt2AzYW8c_U,1490
95
+ shikiru/domain/levels.py,sha256=YcfY915MLcNhNd-vw5HIq7p728XISSNoWIt-vU7P60k,1386
96
+ shikiru/domain/motion.py,sha256=paCLmQGlbuDLMAHXsHD6zjoiEPs8bJtCGTm9to5BvQ0,5970
97
+ shikiru/domain/packet_evidence.py,sha256=_8X8qrgKwOKMreuupHGdDI6QMrqbYqxyv3uhzghY-Sc,12652
98
+ shikiru/domain/pushes.py,sha256=8Fi_IjsPYZVKboQ5dbENr_ikvFFnKKF_dsH4jevrqdQ,1665
99
+ shikiru/domain/quota_blocks.py,sha256=FFr6UNIS-j5_r2JNUJ-ciE6G16vYpuLEKUuAKdL5O7A,1498
100
+ shikiru/domain/quota_waits.py,sha256=WMfIXm9XOAMZ-ybn6qyLY5CAP0gifWqS2JyylWcFqSw,8310
101
+ shikiru/domain/recovery.py,sha256=zakZgmvbEGlCGcBk-WguBGxE7SFH7ENR4ryx6YDEKrs,6153
102
+ shikiru/domain/reports.py,sha256=pgWR6o9vHKnPLOcTgcnua4J0IqCBLwUb3Gbv3IYN5t4,16547
103
+ shikiru/domain/results.py,sha256=jRBPXeqetLeeTAJuAewRVuc-lcQNNSH8rnkyCJwxvpE,7846
104
+ shikiru/domain/runs.py,sha256=N__a9bUb7GKzw9d-_OavC1q2LqrjuFxFifGhme-3NnA,2164
105
+ shikiru/domain/scheduling.py,sha256=Ca_eISrxmjeMRLJL9Z_VwKlnoK5rwYiCEHSU3JtI1Rw,8140
106
+ shikiru/domain/status_tasks.py,sha256=f156bNcb3hQgd2cnxBs_xNispLfT-BUQ1E9KLpOdifs,1496
107
+ shikiru/domain/steps.py,sha256=Jci_pWcbA4mIOYNZGPK4m2wdGpPHMHKllPd5b896Ato,12694
108
+ shikiru/domain/tasks.py,sha256=_uVbrKNKpk3gedesdOUeZD1hB_ZfLc-23tu1pUzlo6A,4480
109
+ shikiru/domain/timeline.py,sha256=9vnn6lzG_tx3GHlQ9QcU5SwPinXUDFnbJsYsvzftQyY,6813
110
+ shikiru/domain/timeline_phrases.py,sha256=c9MeM9JeJjTrmLL6R24kDKQbEfmNbqNh8pajpqn7R40,10010
111
+ shikiru/domain/versions.py,sha256=dTUwW1BHMelyvn3Q6iyAImbRL3DRdK5tkEj4VtTVMik,471
112
+ shikiru/domain/workflow.py,sha256=mX49OWJguMyqI76j-jNpTZWBJKZjmLTFEU4ZBXLYJLo,12463
113
+ shikiru/engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
+ shikiru/engine/acceptance.py,sha256=8YRYFLWLsQEQqUZAE52PAgYpvAESEWg0YZiRSQjW4zM,3406
115
+ shikiru/engine/agents.py,sha256=tMlWBUI5zIGRE66htM31i_QnpMItLITlpKX97FEtpo8,2336
116
+ shikiru/engine/cosmetic_decorator.py,sha256=QFS1x2pX98kujuE5QJT1WRtFFroRaLTHHs19oTMqB9g,3292
117
+ shikiru/engine/daemon.py,sha256=pRjLEtckqna_iAk7e1M91PL-0JJkzDouhpfR3lp_n2I,15714
118
+ shikiru/engine/dependency.py,sha256=mWquz_pe-9stTuuYlcensGrmA5Zf42c3fJh-Ryw2z2U,1473
119
+ shikiru/engine/escalation_filing.py,sha256=g5cOBgomQh5SWJeiBaD987qbRrOiBzExL5EspTNGmOY,4676
120
+ shikiru/engine/escalations.py,sha256=Gpjft0Fx2zDEEQuYRpfKUIzy6kM9AVJwGTHRlpKfhp8,15330
121
+ shikiru/engine/events.py,sha256=XuJLpupdMBB7kyBPv7QlWaFmZ97Am2CxsqezyP7OaaA,8723
122
+ shikiru/engine/evidence.py,sha256=dRiKAWtgtmB89Z4IG4Eoqmfgn80jZDgai2_WXHiAih0,3000
123
+ shikiru/engine/fault_reporter.py,sha256=gYc2pQufiQabHurYcCZPSndkvKjjkbI6PBQnp3cmCvc,5460
124
+ shikiru/engine/feedback.py,sha256=x35kEo4Oia5D7_eNkNxzybzffILDBHm4bDAffD8cnKo,23670
125
+ shikiru/engine/feedback_audit.py,sha256=ypPmkYheEFXy6wTUktQflBcHGIOnTx1aZGN32ipifUw,2944
126
+ shikiru/engine/feedback_intake.py,sha256=rQPoizj-rzBIkHshq5T4cJ6snFL15F5SlbYodr7cm70,3509
127
+ shikiru/engine/feedback_snapshot.py,sha256=2dFDhsVuXVRNhVHZp-_dr2_ULhI0CSmMlSpDGih3sOc,5315
128
+ shikiru/engine/flow.py,sha256=Nio798EgnduaZrZBuit8bDP13-MZNpNKHF0DDRTuxc0,3559
129
+ shikiru/engine/history.py,sha256=pIo3jam-CZ_3Aqf0Eb0fuUUA7kXmwIcnbz-D6ZTgUFo,4894
130
+ shikiru/engine/integration.py,sha256=Hd8wanDTAi-7J-YMnAVK3lczU6Vw3PRiomsn04agfSE,50261
131
+ shikiru/engine/integration_turns.py,sha256=YZrd1-D6emxXKT4cRcYHIEPASJB6B3acb4lfWD7BEms,13271
132
+ shikiru/engine/layout_guard.py,sha256=Zkdi3yuWHoDijVSDhzvn1eK2GnXbND10gLspTV5W01Y,15324
133
+ shikiru/engine/lifecycle.py,sha256=gpPzCG7LSgr7Mugn59QTamRwplcoZVpRj888N5Tk3fQ,2264
134
+ shikiru/engine/monitor.py,sha256=URFhXbVbg5Kd9q94RSbAuY_7_qkdMyst8jm55RAz3bY,11361
135
+ shikiru/engine/notification_delivery.py,sha256=4PalvOn8vfu2fqOYcFN-mXZS4LcDs6vJ3evT_u8tNoE,5141
136
+ shikiru/engine/notification_feed.py,sha256=iEBQdS8R43Tz2m5AXLXmgWkQPSZOFL4xaLuzPgVll2I,2390
137
+ shikiru/engine/notifier.py,sha256=chMb9RZm0IfJsHaaaOubzV9zMHFN0eN8t3W67zNV_KA,3101
138
+ shikiru/engine/pull_request_closing.py,sha256=AN0CVa8o_pM4v1mf0oyRDvMxo2MmvYU5aKdS1KZX04c,4264
139
+ shikiru/engine/push_service.py,sha256=LmPpnYpD8S-xCONd_Fca7aa7EE4Hspn7fJ7T06KV4R8,7041
140
+ shikiru/engine/quota_probe_threads.py,sha256=DhtqeuspsUOGq6o2Wyu3cnXpTir-5Xeooo6F8h56Qxk,2576
141
+ shikiru/engine/quota_reconciler.py,sha256=DQtYzT0qirWuP50NzP0MApsl_YzcpLtpViLJmybyQqA,8785
142
+ shikiru/engine/quota_schedule.py,sha256=AnALz1Wo9tOH8ZuMul_6lP3dqrom-o-etmF3MAhJ4qY,857
143
+ shikiru/engine/quota_waits.py,sha256=MFRjThuMwz4WvUQ_twdS8R9B9462Q9n4P8y3tRUExbA,3763
144
+ shikiru/engine/reconcile.py,sha256=bY17Ea7l2ypJriKQ4zE4pzCqvUfYVGxWPH4c02VfRsE,3734
145
+ shikiru/engine/recovery.py,sha256=-81rKm5ydye45ckD58ijKR8Wh0bv1gpWNxaKfmFODak,10840
146
+ shikiru/engine/retention.py,sha256=zN53DycsXKKbMfTGPGZsA1zXaes4u56HM5ugHYCKQMA,3875
147
+ shikiru/engine/root_preparation.py,sha256=_QH3LN85dzMCAxwknmdS_b8GUwUJuKjKDsvGj8O13ic,3554
148
+ shikiru/engine/scheduler.py,sha256=RFDrT_-tSQR_6HXUXrYt2ugA4feyyCWYZLrj3VcU78Q,13827
149
+ shikiru/engine/session_guard.py,sha256=JnhUNaRtnOcGX51sAJgxYNuwBuv_Pdd5_HdNNUG6uxM,1477
150
+ shikiru/engine/sessions.py,sha256=c66SNPVnIE6NBwZX0OPYOaSYTqJnAJatUujtF8l1Yy4,3331
151
+ shikiru/engine/signalled.py,sha256=hbTE3mvpriTvWwkvkE01_tIZfMaN4Ewt0qg3jVnPuqY,2578
152
+ shikiru/engine/step_runner.py,sha256=FoB1QCi2YuyVsux4-Lx7ERhnL5JwE9Gzdoh3zs4o-xs,5393
153
+ shikiru/engine/supervisor.py,sha256=mF5goV9gMHxVsrPsLrhaGP-I6U4n7W6yz6Kix0y8f3w,3853
154
+ shikiru/engine/takeover.py,sha256=xUOsqiPLucmY0szrOE7Ixx41yuaCl7AIsxnlE-ad118,9847
155
+ shikiru/engine/task_facts.py,sha256=nOb0ucDp7egV8aflvwWWhxYeB-M_nSqPGzy7DOpswR0,1618
156
+ shikiru/engine/tick_guard.py,sha256=YRnd0Ski-QKBG6AIngtWBu1He2YQFSxFe9KSL1FfBKw,3401
157
+ shikiru/engine/titles.py,sha256=_cSM3XtD3_HCGJChVkjxKMg-b0Pw7Fn2m5ev9CPN-vg,10995
158
+ shikiru/engine/transitions.py,sha256=eVRTWPmUg6vBmMBa5TIqgnHDlZ_T30n7C3Ki-E8kfQw,3383
159
+ shikiru/engine/turn_context.py,sha256=4EPZ_rTV4SRUrHa0fqRI4lwntxeqDCIUnsxXs-DOcWA,7675
160
+ shikiru/engine/turn_execution.py,sha256=Ku260YhO5EJQR991ANCZ7nTpWumOLVYo_pydzPifM0s,772
161
+ shikiru/engine/turn_loop.py,sha256=eoT3MU1gKFTyZomVVAkvnvS_LyRGGVPbPN0cXzb97a0,8239
162
+ shikiru/engine/turn_processes.py,sha256=5eWTI-SDPewMMZfRvm_Tzxyh4c-pEeSG3vBCdKKbqa8,3134
163
+ shikiru/engine/turns.py,sha256=CZyjC1nZFSTTcfH9vMFrE1TUwuHFL7do0et3rH19dnU,17610
164
+ shikiru/engine/handlers/__init__.py,sha256=B2EPuqy4-0_dLGBltl1JYuNU8UN0EsD5Uet4W9ZgiDg,867
165
+ shikiru/engine/handlers/base.py,sha256=yXFYhdFlYhHLngyT0b3YtOtO63QV7eaj3xRs0xB7Wgs,5376
166
+ shikiru/engine/handlers/engine.py,sha256=chX0Sl01SPmgyJpNEZd2x5efU1xafFRBfn25imTx3V8,611
167
+ shikiru/engine/handlers/escalations.py,sha256=2-Y7i7mI4j-noEaa8J8sAS3Cf8eNxxWrDLPxcYt79_E,6887
168
+ shikiru/engine/handlers/operator.py,sha256=uBsHCK_89e69PGDbpP716uFJ2M8sneBOP_hxB7_9h7w,2991
169
+ shikiru/engine/handlers/tasks.py,sha256=XHb_1SFWC9psWRm2FV0yfKIpG5_sjeSPGIVSPuB6Uvs,9156
170
+ shikiru/helper/__init__.py,sha256=uE67mhJwqobbG9XLKJqx-yqds9OE9713ZRH5O-FMH38,129
171
+ shikiru/helper/helper.py,sha256=MnhLsuSdvfVz8_lZ5AtvdBRR48TakTirANhzSu47d9k,6480
172
+ shikiru/helper/models.py,sha256=xiU22cagvLXhSXGdLGYHQNwHFovunyUWal-1xPf8-jw,276
173
+ shikiru/mcp/__init__.py,sha256=TMNEklycKzYqSsfAZpiK1WTkB3hNpUxBT8QbsxnKarQ,31
174
+ shikiru/mcp/server.py,sha256=d5jdxwAU-qxW3NWIUjTvZbGBd4G1H-3p4z3d7FQ6-d0,7363
175
+ shikiru/operator/__init__.py,sha256=zmgegKVph3Gu2ekoE3KZ2eHo64VKDKYNYerNWFj2o1I,792
176
+ shikiru/operator/attachment.py,sha256=ZgEDnSK1dDU0RkRKaYBbJkSGnZeDkl6dN1xmK3rOa_4,824
177
+ shikiru/operator/commands.py,sha256=TVwHYQ_impNfT8zCpRXkMUYW0696BONTX3u3TT6qtR0,11711
178
+ shikiru/operator/detectors.py,sha256=5elcoQM85RBlXMlSOjUnwfKjwySN6xAcuSLdPlKTyAg,14002
179
+ shikiru/operator/doctor.py,sha256=iD3f-9nDbkHScTDhtfxkvrv2CuKSL7z-l2v9Ao_16q8,13727
180
+ shikiru/operator/events.py,sha256=yCfXpKZ8683_oaxiM1gzMJi0d9wMl7wt-Uj5MvHdAtk,1925
181
+ shikiru/operator/evidence_export.py,sha256=bxzkFA-VnuwCp1SZ7ON1DaYFBUJTUS0NSxxtjhByoQg,18803
182
+ shikiru/operator/evidence_writer.py,sha256=Np_Eg-dvjK1UH4gd6hcv1DZut6Ft4lub7jN4iuzeFTk,2779
183
+ shikiru/operator/lifecycle.py,sha256=qHYqaAxmAoR0bR46IDzmdsN26UmRd1oSSfRiSK80iV4,10494
184
+ shikiru/operator/plugin_checks.py,sha256=R0L1xK30XMHcksUuRnLA7bytiZefUnCKtbhVSgU8-Uc,7664
185
+ shikiru/operator/probe.py,sha256=osNCCtqVW0iFH2DJdKDQe05UXVYDpN5Tt4Ti6fwU7Ms,10368
186
+ shikiru/operator/queries.py,sha256=trCgZaF47eDdcvv_qvOnci38ObfG6YcYGvntl8hZw84,59743
187
+ shikiru/operator/services.py,sha256=b-Ihh35yWOuKVGW4HumAr1DE9CbObHMMkd_YAolNb6s,1086
188
+ shikiru/operator/sessions.py,sha256=I02o2PDD_RPGfrlJFBWvfTcGMsVMWEh5EwxWeJniaRY,13733
189
+ shikiru/operator/strip_views.py,sha256=U8O5UdYSgoZgpyf13EUrzkjCzdAN3mIzZ2oqO7caP9A,4987
190
+ shikiru/operator/timeline.py,sha256=K_uVcESSEVqB-sN7H1QRWNTQheCn7jmv8QBf3vJHuPM,14114
191
+ shikiru/operator/toml_text.py,sha256=wthgyBVEv607N5P_L0m4rzpRu5BZrAhvE0METOtqICE,1859
192
+ shikiru/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
193
+ shikiru/plugins/agents/__init__.py,sha256=cyOW1AxXpt2b1sg6GoFE-Aogy9PFnzfQb_AbacqLd9c,30
194
+ shikiru/plugins/agents/shared_settings.py,sha256=TQnNXacuFCvz2Pu52N1HwErbvRjsPAYr0Ir4353kEEI,2158
195
+ shikiru/plugins/agents/claude/__init__.py,sha256=ZuALd8phjBl7JHu1i5-RIjbLLgTK0BwxsJDObUslzrM,138
196
+ shikiru/plugins/agents/claude/agent.py,sha256=_kGtYhemmXFHj7SCJoZZuOoyOmzB0Be6M_lkyWwwFn0,9526
197
+ shikiru/plugins/agents/claude/context.py,sha256=Tti6_nceBlLjAkxBF62nGFj80hTC0hmMyw4vfrY6l-s,3856
198
+ shikiru/plugins/agents/claude/headless.py,sha256=T3aBF0upDMv3D23PLRWWp1WSOLvVfuXUJ2P7Q2MFogE,2902
199
+ shikiru/plugins/agents/claude/hook.py,sha256=W5jGVp5h-x6sQ_p9bFKGzY3xk7XntyB8tOI01nPQx44,1910
200
+ shikiru/plugins/agents/claude/model_catalog.py,sha256=RVviY9uJFtaOqKIKYNlfCmqNiPBdpMjZu7y5MlfDRIE,4171
201
+ shikiru/plugins/agents/claude/options.py,sha256=cCB8TFyHO4JTlFVZ3aYDec3fYh1RZdWiTMieKC_0km0,1867
202
+ shikiru/plugins/agents/claude/turn.py,sha256=syh6is_M9sqe_1g0PQ4hBVXEsab4-ICX8nFb8CHBW4I,40354
203
+ shikiru/plugins/agents/codex/__init__.py,sha256=PNm9px_sYiOpMPfmqiPS4opDX8iNOxRob7-TQwwLh6M,129
204
+ shikiru/plugins/agents/codex/agent.py,sha256=TwoOgAEtmwVOmuSymqVmPnzPbSVBBgf6ZL3vHorsiLk,19619
205
+ shikiru/plugins/agents/codex/headless.py,sha256=mjhLCutEcMQU8U-SWDPiL6nDuhhHlRSGSgo9Ptd_SWE,5493
206
+ shikiru/plugins/agents/codex/home.py,sha256=gV2sUOifnFtjvkrjQaTZWFyH93hciJ91_5QwqA5wzFg,395
207
+ shikiru/plugins/agents/codex/model_catalog.py,sha256=gp0NheFFWaOsJBjUw-OCMDkXEAKlw_E5lMTBN9gyTOw,4831
208
+ shikiru/plugins/agents/codex/options.py,sha256=CZqbmI6f-dTSjktyHFYsR4fUVQd_Zb8r63phggWmxbo,2771
209
+ shikiru/plugins/agents/codex/quota.py,sha256=XQ6V3FADw5ZOPq-EpQnIOshZx91dzJQQGj9eKesQdGY,7388
210
+ shikiru/plugins/agents/codex/sandbox.py,sha256=B5NXxAfu9p160vr9zyiGKyU-DHLP6yuz9l3uziySoPM,902
211
+ shikiru/plugins/agents/codex/sandbox_probe.py,sha256=hafNMtMr7htVofBVXfiW-7HEXZSyZJv6EzeexIjOdDk,3611
212
+ shikiru/plugins/agents/codex/turn.py,sha256=QPGHm7Nq-H5SyGydgwzEdlFhZ86OWcBj_IgcsbsBGno,27575
213
+ shikiru/plugins/agents/codex/usage.py,sha256=Udva5UXMl5rKRX-nqHa6vK0tq00XBN0jUTEs-HbM4tI,3690
214
+ shikiru/plugins/widgets/__init__.py,sha256=lKBjdVcfzAJgSho5oV3m_88ouiiAjGl8QCF3yN8sQCE,104
215
+ shikiru/plugins/widgets/dialogue.py,sha256=saU7f-2FKbdytP8CcKHtDoQmyffPR1A1Yk9IyaTCpe8,5073
216
+ shikiru/plugins/widgets/disk.py,sha256=LAi0uajig7Iy-S7_pbMW5L6E12Kak3q-Wtm_XUH8EKI,4499
217
+ shikiru/plugins/widgets/docker.py,sha256=cSLAOkng2ijM8jdiqFaQAqEIGpnyRwP19rsZj89wg5E,8136
218
+ shikiru/plugins/widgets/escalations.py,sha256=AJyZAJRKRGtJAuDU1lVLnHy-EVcU09i3gB60EmjxWs8,16320
219
+ shikiru/plugins/widgets/faults.py,sha256=Nm29pFsSKent5y9w-BzGldtBB6ANhI2OBawcUGUakAs,7446
220
+ shikiru/plugins/widgets/header.py,sha256=C5yTdLekBUNSsB1vRXdoP8Byguu8avFb4F6FHgHXrTU,11671
221
+ shikiru/plugins/widgets/queue.py,sha256=TXGNY4mxcQ76iVqbyoZGxQ4lrG4BedW6d5eyWj2ljaM,44363
222
+ shikiru/plugins/widgets/queue_hint.py,sha256=10ui6JovtnK9sxNulBqF-we1shW5DM3C_ylYzl6zEKU,2899
223
+ shikiru/plugins/widgets/resources.py,sha256=MoLxIMdcAEtz9YQH7rSf9j47kLbdSwaBRibsKDtyzAM,3877
224
+ shikiru/plugins/widgets/strips.py,sha256=32Qp7BK6DhuCc-z5g6x9GfpOmNdbWLamhW1tIpGtg18,3048
225
+ shikiru/plugins/widgets/usage.py,sha256=-NYIH-xDCenMThv4wBA0M0oKfW4hvOoPHSSG90IyWNc,6991
226
+ shikiru/prompts/__init__.py,sha256=35EWdv_bHazZ1H7jQr6YT-MFwUQL3xYlZ_dfzawJdow,102
227
+ shikiru/prompts/renderer.py,sha256=MiCb3RRAoo1EzMpfp4BIL_vNxBgVCCzgLgkzCdBck_I,2994
228
+ shikiru/prompts/templates/_base.md.j2,sha256=CYSCWr7hXGqWS9zg-Gy1HEvQL_-v6od946ttHCq6t9M,557
229
+ shikiru/prompts/templates/_macros.md.j2,sha256=0veio4PTlRN52rVWwYXrKdg9tZTxtYtGRmMDhPJlgg8,1732
230
+ shikiru/prompts/templates/conflicts.md.j2,sha256=huu_4WfplgkmwHCfEy-nY1s4Mx1Tfiu3dSKzQt9CjlA,895
231
+ shikiru/prompts/templates/consult.md.j2,sha256=zKM_xNzyoTWB3y2nMgH46rY1DhToyXH664SmSngQX-A,154
232
+ shikiru/prompts/templates/continue.md.j2,sha256=qfZKsDdsIQHHxizHsd6uZFErRkaONZCaU-Tnq83p-iw,125
233
+ shikiru/prompts/templates/feedback_analysis.md.j2,sha256=h7vPH6VS8aqrQAq_glJMFEwtOdxDgw7fXSyG6zRRaUE,1513
234
+ shikiru/prompts/templates/feedback_rework.md.j2,sha256=sPcLQeBsO4_9ZTo9JoQ8no-igTwsJ7m-32wSQlQv2Rk,1231
235
+ shikiru/prompts/templates/feedback_verify.md.j2,sha256=kb_9MVad0tVRmIx1kK3oTwVmVptd02NKJGlGXlnEX7I,1474
236
+ shikiru/prompts/templates/handoff.md.j2,sha256=eAFV1VBdnjaTp6M-ABVCmPOcqR3di9nMDayLQg4CEp8,999
237
+ shikiru/prompts/templates/implement.md.j2,sha256=PFslVVLhu66oLHX7gEL-maU526KoNcDTw5iIkTnA-5M,694
238
+ shikiru/prompts/templates/plan.md.j2,sha256=tPKKgwfU-BBMHLnnCoqv_7PpmEP537Zk2WF_CRWZyA0,1631
239
+ shikiru/prompts/templates/rework.md.j2,sha256=Z0n47AexQiFF1u33demuinxBF-eEn4Ni2xb5HOTcTT4,727
240
+ shikiru/prompts/templates/triage.md.j2,sha256=E_R4g8zbhWU2hNtugL-EjolS9DRISXEGLisyp92ycq0,1036
241
+ shikiru/prompts/templates/verify.md.j2,sha256=0qvYHyPZ1ppuRguA60JNy2GaG3vogj-WTifIsGCWnaE,1691
242
+ shikiru/store/__init__.py,sha256=mFwWcYUfxmT8GdJUOaUAc78j0PHDJuipRnzlI0ddOwU,93
243
+ shikiru/store/commands.py,sha256=y1o_OMLXuIcHub0Z-lp0SYcgRIFS4MHa0jtac0UpIVA,8318
244
+ shikiru/store/database.py,sha256=1SJFrb0J_jjhX6LNUMVvf3kBTLmh9_dBmiA_buifNZQ,10637
245
+ shikiru/store/escalations.py,sha256=ODVvcukoEm3T_Xo5VTH9TZk1NwXV9rC-_Ap5OlJuvEo,8475
246
+ shikiru/store/events.py,sha256=9DDiz87hhg-XasRPr8DJH-2wLoDJDEowY3ShghciUSc,7391
247
+ shikiru/store/feedback.py,sha256=f6HO6cGb7nlXJYedrDEYCiIkfFecD1NHjkkhOSmgNPs,10835
248
+ shikiru/store/notification_cursor.py,sha256=ywivzyQm-pQp8R9CV72tf2sO8ROE5kuvLLPUdI1zQgs,1009
249
+ shikiru/store/pushes.py,sha256=Tb8v01kgCV2I_bnQwyt6K9ulCioVMZc_F5N5z_5AoTM,4737
250
+ shikiru/store/quotas.py,sha256=urMbzvpJnIYK0ViMNaRiQncAXgA2Swp_Gmy6rxGvqkQ,5985
251
+ shikiru/store/reader.py,sha256=eK8S0cEwAe5d8cbBl6aJwIYq6BhAoCSUMXA6ZzT4JGg,12097
252
+ shikiru/store/retention.py,sha256=o7xi2gvNdV_YCGTEq8oQUMSv02dQM2ETEWkPJ9G0viU,3773
253
+ shikiru/store/runs.py,sha256=Y1pCOoJZXKlqknw2OiAUmmaWf95aGjZmx6Gp9dJomhY,8979
254
+ shikiru/store/tasks.py,sha256=CxiTZ-rWF2oYzqEz5g5ERizJZdAfuFO63PwHJ-0L91A,37237
255
+ shikiru/store/migrations/001_initial.sql,sha256=AJ3-ARAsePIYBjSeTcns7a9PhJAAucycpDMMeCiooZE,2747
256
+ shikiru/store/migrations/002_headless_turns.sql,sha256=86uMLu0hozO4eVKMuniKCP8gP-KP3Qx7vQPGo5nWkVM,1279
257
+ shikiru/store/migrations/003_drop_command_handled_at.sql,sha256=7W1STT0XgZHtvlPYkxko86j5I3_AnRYYOQJWYfJ5zFo,45
258
+ shikiru/store/migrations/004_repo_base_ref.sql,sha256=Mq1D17bCEJ7YNWpyO63YOnaaVE-IEfecbYmbmYityHo,151
259
+ shikiru/store/migrations/005_complexity_explicit.sql,sha256=q9G8rG-UyewZ8e7eGr1geGgnYLdk7C7DcmXJNdzXUuM,148
260
+ shikiru/store/migrations/006_events_kind_index.sql,sha256=iX8tveLnGG6_XQtjdXyrgm5yzHP0UyGvdvVV2uDlO_w,45
261
+ shikiru/store/migrations/007_notification_cursor.sql,sha256=TicJCsQug5JMblLWvPpNlbtUq6HXIdFA_dMxFz7d1Yg,100
262
+ shikiru/store/migrations/008_reported_usage.sql,sha256=UHGGvTRKG0UmyiuQ9NavDGcnHLBeCoelQI4WSmhpKA8,52
263
+ shikiru/store/migrations/009_billing_declarations.sql,sha256=Z1e66eLf1-PNOz4IvCPlWMkmNH930pomKva7FbjOS0g,150
264
+ shikiru/store/migrations/010_canonical_quota_windows.sql,sha256=aADVZneL2i2RfQf_Fb14r3I8z1cdH2441ne6KUOsaok,149
265
+ shikiru/store/migrations/012_drop_task_quota_evidence.sql,sha256=hkWt_SKkSNItHJ9PvYgvej_0paUtd-gQYlKjYgoXAmk,80
266
+ shikiru/store/migrations/013_push_targets.sql,sha256=go4gAX-kF46z2mSgH6581q2sSH52K4bcnYUR5OvqUnM,174
267
+ shikiru/store/migrations/014_agent_block_time.sql,sha256=Stdf3dQRoq7spQBIobaxORRuOVvn4cHe3YQi1nHNG5Q,245
268
+ shikiru/store/migrations/015_repair_orphan_agent_blocks.sql,sha256=ugRHniqbccQGKf75wBQvvN-AkTQ0p6nydlyIlcuYr3Q,221
269
+ shikiru/store/migrations/016_feedback_rounds.sql,sha256=1kEsCqnvxPtWu1srJFdK9C9zDVanoAivYERuTJPhJYE,903
270
+ shikiru/store/migrations/017_feedback_round_comments.sql,sha256=yK9oUOeETUBAV6c4xTt9VgL1i3VUPoM97nzOmROyaTY,187
271
+ shikiru/store/migrations/__init__.py,sha256=9n5O0BXJ9ZjNggHmfyuqBCXFfDDJibN0vPQcvoJGyE8,68
272
+ shikiru/telemetry/__init__.py,sha256=5KI_3o_9wruV9cqkvqIuocUlS6zQSX-pkFRC9LW2ey8,49
273
+ shikiru/telemetry/disk.py,sha256=FzyOMGKUN9JxNs_zZc-m6TUpWv2fCOjPLdHZV2Jaazg,5738
274
+ shikiru/telemetry/docker.py,sha256=_JGEPjOXiJqBGFA4126y7RpnPpdRApwVGUh7wLo3H_A,5595
275
+ shikiru/telemetry/resources.py,sha256=cjmYeEdiSDM3frGL244m5FyIMiLaPsFgK_UR2Txq6dY,11708
276
+ shikiru/tmux/__init__.py,sha256=jebIpOomfYlpsKMD8ftJ-p0NH2QWGNsOBZCttI6yqKE,87
277
+ shikiru/tmux/client.py,sha256=Td-oVgEEfzzTxk4f15xRL_mQAieelhYxJfDCpm9TSBE,24651
278
+ shikiru/tmux/decorator.py,sha256=1AUHUp84PJ37u7hF9v_5u6iDaC7us3eGDD46OA0jbiM,8332
279
+ shikiru/tmux/layout.py,sha256=s3iQb0Fq2Vncfx1q0phOSaEHlFOtkIPhLjuunDN0XzQ,7617
280
+ shikiru/tmux/session.py,sha256=7Zu6yAY8cNt49XxDbsTF_X8kDHeClb1XPtrx1LxhfPg,14682
281
+ shikiru/ui/__init__.py,sha256=RAgkLT13g2-b6G97NuWnHLGWSa8IipDmaCv-8Y5gQYs,270
282
+ shikiru/ui/age.py,sha256=iqGnh-qGbJ7k253g1fItmyv71SldFGcwaBQn_HQ_TTg,1476
283
+ shikiru/ui/bubbles.py,sha256=5dB3QvdZEW5Axrb-BPqzaLKnvaQO-6s5BjL3U3i5j-o,1280
284
+ shikiru/ui/compact.py,sha256=Yt99PhduyeLjPOL-bpUReCu346mFcy6pgigZy9cu4P4,39132
285
+ shikiru/ui/console.py,sha256=BRqXx_rzcHbOIJKyO-HsRcq7a_NBFiC8lGJ4iADLk9A,1319
286
+ shikiru/ui/fold.py,sha256=fj53dbF7iKuIzTkAm4usAfy_jzui0o1oMVX1V3nl-Zg,1545
287
+ shikiru/ui/gated_static.py,sha256=e8t-6-hyRAQo9feb0sAy5aqkCIvI0PjTtsXnrRa-SOg,4056
288
+ shikiru/ui/gauge.py,sha256=AqAuA2qAYRIJK9AvR0y6hDwn38fbC6fJlyudwZGN1cQ,1202
289
+ shikiru/ui/glyphs.py,sha256=teWncSroOiDRpNYd_kltW_J8dVTB5ZPHFJS9YKevRrQ,3220
290
+ shikiru/ui/keys.py,sha256=ceSPniHislMkyQEznomuWWf3rXdep4hiI0WEuo0iO_s,1580
291
+ shikiru/ui/live_interval.py,sha256=797DLXTqyZcXKgsUV354UtHnZCfSEMdP2a801Rk6U60,1341
292
+ shikiru/ui/popup.py,sha256=K7zSCZgUBpnNjPKaSxOPRNE5ffeXxWWjV3ReU8siHeQ,11448
293
+ shikiru/ui/quota_status.py,sha256=cW1vyCHFJqQr-xkQ-06b0q82XAQxmGG4c176lNnnVgk,925
294
+ shikiru/ui/recent_window.py,sha256=QzmFQdizGPmINnI8sthE5y8--XcZKYQZhkgyD_X-c0U,2714
295
+ shikiru/ui/screen.py,sha256=wgmJ4637gmHV_D3L6e6Wkr6dh2S4zqUZ0hVXnte8c9I,1492
296
+ shikiru/ui/section.py,sha256=e-3YMNQ9csiV5An8gqwVAH-KlT27zGaYgE1i3WVmz9c,6513
297
+ shikiru/ui/session.py,sha256=cSdV3mJBJmjKY6h5kF64dEsjYwH9zIvKG6c5h0ML3mE,2091
298
+ shikiru/ui/size.py,sha256=-3r9LE4Ttl38d3wgcniwrXOjt3cU9GtkBCNdRGWfT30,518
299
+ shikiru/ui/splash.py,sha256=e8qQ8RqCih3IxpKCtrsgvhyoo8bDgK__330cmwB8Iro,1496
300
+ shikiru/ui/status.py,sha256=4bu26LIVq08fErfdSFG1MMw85liqA-cqeikMO0bix2Y,1306
301
+ shikiru/ui/status_strip.py,sha256=p72xxAqOPVfIwdmVhUt_sUYt1pp9FprsL-D9fCNJhao,5566
302
+ shikiru/ui/stream.py,sha256=fGGzPY1CFD074vAWlNHYGHYtRP-rGomEsp4AVmHObvU,4854
303
+ shikiru/ui/strip.py,sha256=qc8HuMuUAnCNHLnthdZUzVjPSXErPSW7h-gC8ukTSKg,10275
304
+ shikiru/ui/theme.py,sha256=hLRRnD-BKtB6IKzq45vLNJioO89GylJi5b8b0wdH8Jg,2337
305
+ shikiru/ui/tokens.py,sha256=TEOdiyMuKN15XSLvAMbC4bB8jVP98FbejdtHCrP3sbs,1710
306
+ shikiru/workspace/__init__.py,sha256=nFCC0J93WLpq84orl3Uj5wzaLNXTC3cBqSHxnAsA-iY,87
307
+ shikiru/workspace/base_refs.py,sha256=kAP8Osa4n8B_42zs4lTqpwt4mlS8q_JKAKaFTH4ZAAs,6603
308
+ shikiru/workspace/caches.py,sha256=U8IrVOQRGnxd31PKP8-p3mm2GmEhoTolmtmLbROHFKI,5345
309
+ shikiru/workspace/facts.py,sha256=rpfxmqtBSlX2mxdLEIQEZSFeZqfm_DwkPvys87dxGUA,4546
310
+ shikiru/workspace/git.py,sha256=Hwz50GADjLTpMm4A7eT-CQUhjF2fu4f_KGLkLWrOIB8,25340
311
+ shikiru/workspace/github.py,sha256=PonrLBV-mCYXNwjju5RWKXw6d3C44Hb283OwfRDaX6w,23313
312
+ shikiru/workspace/messages.py,sha256=QYsBlUREC9O_o2ezuc1PPiwHfsVngl2FbK3pcuJ_ZPs,4287
313
+ shikiru/workspace/reports.py,sha256=8WZqbrdyE6ovWLyr1wZxlajs1UJBYrze98D67cVVvcs,4683
314
+ shikiru/workspace/roots.py,sha256=pNNjtvSbzTVwwSF3Cv-SvzF21qVuAkx1YVysVcD6cgY,8046
315
+ shikiru_cli-0.2.0.dist-info/METADATA,sha256=fURswFf-jzZRa0q08nNnkyd6YHlPcVTClCqJzPO5k_8,28700
316
+ shikiru_cli-0.2.0.dist-info/WHEEL,sha256=2iZrJkDIkeDh0k9SikKMqFuRP-ua6mb4Ir1AsER4BEw,87
317
+ shikiru_cli-0.2.0.dist-info/entry_points.txt,sha256=zIdDzROFXDPS1OgvLkk0nLDKqVntV0rOD_1sd-z2gUo,735
318
+ shikiru_cli-0.2.0.dist-info/licenses/LICENSE,sha256=mxE563S0HOVbdDYPbgjEchowzKqYQBh86Qdlcpl8WiM,1068
319
+ shikiru_cli-0.2.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.33.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,18 @@
1
+ [console_scripts]
2
+ shikiru = shikiru.cli.app:app
3
+
4
+ [shikiru.agents]
5
+ claude = shikiru.plugins.agents.claude.agent:create
6
+ codex = shikiru.plugins.agents.codex.agent:create
7
+
8
+ [shikiru.widgets]
9
+ dialogue = shikiru.plugins.widgets.dialogue:DialogueWidget
10
+ disk = shikiru.plugins.widgets.disk:DiskWidget
11
+ docker = shikiru.plugins.widgets.docker:DockerWidget
12
+ escalations = shikiru.plugins.widgets.escalations:EscalationsWidget
13
+ faults = shikiru.plugins.widgets.faults:FaultsWidget
14
+ header = shikiru.plugins.widgets.header:HeaderWidget
15
+ queue = shikiru.plugins.widgets.queue:QueueWidget
16
+ resources = shikiru.plugins.widgets.resources:ResourcesWidget
17
+ strips = shikiru.plugins.widgets.strips:StripsWidget
18
+ usage = shikiru.plugins.widgets.usage:UsageWidget
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ferrum Code
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.