gini-toolkit 6.0.1.dev0__tar.gz → 6.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (596) hide show
  1. gini_toolkit-6.1.0/.gitattributes +17 -0
  2. gini_toolkit-6.1.0/PKG-INFO +94 -0
  3. gini_toolkit-6.1.0/README.md +70 -0
  4. gini_toolkit-6.1.0/dist/gini_toolkit-6.0.0-py3-none-any.whl +0 -0
  5. gini_toolkit-6.1.0/dist/gini_toolkit-6.0.0.tar.gz +0 -0
  6. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/pyproject.toml +18 -3
  7. gini_toolkit-6.1.0/scripts/measure_reachability.py +617 -0
  8. gini_toolkit-6.1.0/src/_wtest.tmp +1 -0
  9. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/__main__.py +41 -15
  10. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/_version.py +3 -3
  11. gini_toolkit-6.1.0/src/gini/agent/aop_selector.py +359 -0
  12. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/embed.py +1 -1
  13. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/mcp_server.py +3 -3
  14. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/teaching_center.py +5 -4
  15. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/tools/registry.py +24 -1
  16. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/twin/__init__.py +2 -1
  17. gini_toolkit-6.1.0/src/gini/agent/twin/aop.py +194 -0
  18. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/xv6_pack.py +11 -1
  19. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/app/context.py +17 -0
  20. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/app/paths.py +17 -4
  21. gini_toolkit-6.1.0/src/gini/data/examples/mcast_tree.lua +158 -0
  22. gini_toolkit-6.1.0/src/gini/data/examples/multicast_fs/README.md +29 -0
  23. gini_toolkit-6.1.0/src/gini/data/examples/multicast_fs/multicast.c +104 -0
  24. gini_toolkit-6.1.0/src/gini/data/examples/multicast_fs/multicast.h +64 -0
  25. gini_toolkit-6.1.0/src/gini/data/examples/multicast_fs/receiver.c +107 -0
  26. gini_toolkit-6.1.0/src/gini/data/examples/multicast_fs/sender.c +134 -0
  27. gini_toolkit-6.1.0/src/gini/data/examples/rip_reference.lua +126 -0
  28. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/runtime/grouter.py +1 -1
  29. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/runtime/shuttle.py +56 -1
  30. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/runtime/xv6_bridge.py +50 -6
  31. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/server/__main__.py +2 -2
  32. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/server/auth.py +1 -1
  33. gini_toolkit-6.1.0/src/gini/services/aop_observer.py +187 -0
  34. gini_toolkit-6.1.0/src/gini/services/bootstrap.py +140 -0
  35. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/compiler.py +40 -10
  36. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/gloader.py +8 -0
  37. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/orchestrator.py +352 -53
  38. gini_toolkit-6.1.0/src/gini/services/outbox.py +124 -0
  39. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/persistence.py +2 -2
  40. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/probe_runner.py +102 -4
  41. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/project.py +6 -6
  42. gini_toolkit-6.1.0/src/gini/services/proof_recorder.py +447 -0
  43. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/rider_runner.py +1 -1
  44. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/rider_session.py +1 -1
  45. gini_toolkit-6.1.0/src/gini/services/tc_submit.py +117 -0
  46. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/terminal.py +13 -0
  47. gini_toolkit-6.1.0/src/gini/services/ttyd_client.py +170 -0
  48. gini_toolkit-6.1.0/src/gini/services/ttyd_protocol.py +127 -0
  49. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/setup/cli.py +61 -7
  50. gini_toolkit-6.1.0/src/gini/setup/images.py +88 -0
  51. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/setup/marker.py +6 -3
  52. gini_toolkit-6.1.0/src/gini/ui/app.py +59 -0
  53. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assistant.py +9 -0
  54. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/canvas.py +135 -13
  55. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/cpu_lab.py +67 -5
  56. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/dashboard.py +54 -31
  57. gini_toolkit-6.1.0/src/gini/ui/first_run.py +135 -0
  58. gini_toolkit-6.1.0/src/gini/ui/flow_hud.py +242 -0
  59. gini_toolkit-6.1.0/src/gini/ui/glass.py +55 -0
  60. gini_toolkit-6.1.0/src/gini/ui/gui_dispatch.py +83 -0
  61. gini_toolkit-6.1.0/src/gini/ui/hud.py +218 -0
  62. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/inspector.py +17 -0
  63. gini_toolkit-6.1.0/src/gini/ui/lock_lab.py +222 -0
  64. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/machine_lab.py +239 -15
  65. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/main_window.py +808 -54
  66. gini_toolkit-6.1.0/src/gini/ui/mcast_hud.py +236 -0
  67. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/memory_lab.py +73 -3
  68. gini_toolkit-6.1.0/src/gini/ui/os_hud.py +842 -0
  69. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/process_tree.py +10 -2
  70. gini_toolkit-6.1.0/src/gini/ui/proof_issue_dialog.py +125 -0
  71. gini_toolkit-6.1.0/src/gini/ui/proof_strip.py +336 -0
  72. gini_toolkit-6.1.0/src/gini/ui/proof_verify_dialog.py +150 -0
  73. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/router_lab.py +318 -22
  74. gini_toolkit-6.1.0/src/gini/ui/routing_hud.py +683 -0
  75. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/settings_dialog.py +51 -1
  76. gini_toolkit-6.1.0/src/gini/ui/source_browser.py +419 -0
  77. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/storage_lab.py +158 -9
  78. gini_toolkit-6.1.0/src/gini/ui/terminal_panel.py +279 -0
  79. gini_toolkit-6.1.0/src/gini/ui/terminal_view.py +494 -0
  80. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/theme/icons.py +8 -0
  81. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/theme/manager.py +46 -5
  82. gini_toolkit-6.1.0/src/gini_toolkit.egg-info/PKG-INFO +94 -0
  83. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini_toolkit.egg-info/SOURCES.txt +100 -88
  84. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini_toolkit.egg-info/entry_points.txt +0 -1
  85. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini_toolkit.egg-info/requires.txt +3 -0
  86. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini_toolkit.egg-info/scm_file_list.json +101 -89
  87. gini_toolkit-6.1.0/src/gini_toolkit.egg-info/scm_version.json +8 -0
  88. gini_toolkit-6.1.0/tests/conftest.py +83 -0
  89. gini_toolkit-6.1.0/tests/test_aop_assemble.py +256 -0
  90. gini_toolkit-6.1.0/tests/test_aop_end_to_end.py +225 -0
  91. gini_toolkit-6.1.0/tests/test_aop_observer.py +288 -0
  92. gini_toolkit-6.1.0/tests/test_aop_report.py +258 -0
  93. gini_toolkit-6.1.0/tests/test_aop_schema.py +317 -0
  94. gini_toolkit-6.1.0/tests/test_aop_selector.py +220 -0
  95. gini_toolkit-6.1.0/tests/test_auth.py +183 -0
  96. gini_toolkit-6.1.0/tests/test_bootstrap.py +301 -0
  97. gini_toolkit-6.1.0/tests/test_canvas_dead_items.py +204 -0
  98. gini_toolkit-6.1.0/tests/test_compose_valid.py +152 -0
  99. gini_toolkit-6.1.0/tests/test_flows_dedupe.py +50 -0
  100. gini_toolkit-6.1.0/tests/test_grconsole_shell.py +137 -0
  101. gini_toolkit-6.1.0/tests/test_gui_dispatch.py +144 -0
  102. gini_toolkit-6.1.0/tests/test_kernel_board.py +324 -0
  103. gini_toolkit-6.1.0/tests/test_kernel_source.py +115 -0
  104. gini_toolkit-6.1.0/tests/test_lab_lifetime.py +131 -0
  105. gini_toolkit-6.1.0/tests/test_launch_args.py +148 -0
  106. gini_toolkit-6.1.0/tests/test_launchable.py +86 -0
  107. gini_toolkit-6.1.0/tests/test_long_press_guard.py +78 -0
  108. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_machine_lab.py +35 -2
  109. gini_toolkit-6.1.0/tests/test_machine_lab_concurrency.py +248 -0
  110. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_machine_state.py +72 -0
  111. gini_toolkit-6.1.0/tests/test_memwatch.py +67 -0
  112. gini_toolkit-6.1.0/tests/test_naming.py +85 -0
  113. gini_toolkit-6.1.0/tests/test_network_hud_glue.py +374 -0
  114. gini_toolkit-6.1.0/tests/test_network_hud_model.py +413 -0
  115. gini_toolkit-6.1.0/tests/test_os_events.py +136 -0
  116. gini_toolkit-6.1.0/tests/test_os_hud_paint.py +312 -0
  117. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_ota_build4.py +9 -0
  118. gini_toolkit-6.1.0/tests/test_packaging.py +271 -0
  119. gini_toolkit-6.1.0/tests/test_proof_chain.py +275 -0
  120. gini_toolkit-6.1.0/tests/test_proof_events.py +468 -0
  121. gini_toolkit-6.1.0/tests/test_proof_narration.py +201 -0
  122. gini_toolkit-6.1.0/tests/test_quit_guard.py +101 -0
  123. gini_toolkit-6.1.0/tests/test_reach_strategy.py +161 -0
  124. gini_toolkit-6.1.0/tests/test_receipt_distinctness.py +76 -0
  125. gini_toolkit-6.1.0/tests/test_route_history.py +57 -0
  126. gini_toolkit-6.1.0/tests/test_router_lab_polling.py +137 -0
  127. gini_toolkit-6.1.0/tests/test_router_restart.py +84 -0
  128. gini_toolkit-6.1.0/tests/test_router_scripts.py +59 -0
  129. gini_toolkit-6.1.0/tests/test_routing_hud.py +340 -0
  130. gini_toolkit-6.1.0/tests/test_routing_model.py +184 -0
  131. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_sdn_dashboard.py +59 -0
  132. gini_toolkit-6.1.0/tests/test_sleep_channels.py +136 -0
  133. gini_toolkit-6.1.0/tests/test_source_browser.py +162 -0
  134. gini_toolkit-6.1.0/tests/test_source_browser_modes.py +133 -0
  135. gini_toolkit-6.1.0/tests/test_station_quiet.py +87 -0
  136. gini_toolkit-6.1.0/tests/test_tc_activities.py +394 -0
  137. gini_toolkit-6.1.0/tests/test_tc_console_behaviour.py +248 -0
  138. gini_toolkit-6.1.0/tests/test_tc_console_js.py +71 -0
  139. gini_toolkit-6.1.0/tests/test_tc_handin.py +247 -0
  140. gini_toolkit-6.1.0/tests/test_tc_migration.py +229 -0
  141. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_tc_new_format.py +10 -13
  142. gini_toolkit-6.1.0/tests/test_tc_outbox.py +394 -0
  143. gini_toolkit-6.1.0/tests/test_tc_routes.py +935 -0
  144. gini_toolkit-6.1.0/tests/test_tc_tls.py +266 -0
  145. gini_toolkit-6.1.0/tests/test_terminal.py +37 -0
  146. gini_toolkit-6.1.0/tests/test_terminal_panel.py +269 -0
  147. gini_toolkit-6.1.0/tests/test_terminal_persistence.py +110 -0
  148. gini_toolkit-6.1.0/tests/test_terminal_selection.py +236 -0
  149. gini_toolkit-6.1.0/tests/test_terminal_view.py +254 -0
  150. gini_toolkit-6.1.0/tests/test_theme_scope.py +131 -0
  151. gini_toolkit-6.1.0/tests/test_ticket.py +106 -0
  152. gini_toolkit-6.1.0/tests/test_ttyd_launcher.py +118 -0
  153. gini_toolkit-6.1.0/tests/test_ttyd_protocol.py +101 -0
  154. gini_toolkit-6.1.0/tests/test_twin_aop.py +259 -0
  155. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_ui_tweaks.py +26 -3
  156. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_upload_build3.py +7 -0
  157. gini_toolkit-6.1.0/tests/test_walker_corridor.py +189 -0
  158. gini_toolkit-6.1.0/tests/test_webengine_startup.py +80 -0
  159. gini_toolkit-6.1.0/tests/test_worker_outlives_dialog.py +91 -0
  160. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_xv6.py +56 -1
  161. gini_toolkit-6.1.0/tests/test_xv6_agent_serial.py +125 -0
  162. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_xv6_compile.py +1 -0
  163. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_xv6_fs.py +31 -1
  164. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_xv6_pack.py +17 -0
  165. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_xv6_patch.py +15 -4
  166. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_xv6_vm.py +29 -2
  167. gini_toolkit-6.0.1.dev0/PKG-INFO +0 -77
  168. gini_toolkit-6.0.1.dev0/README.md +0 -56
  169. gini_toolkit-6.0.1.dev0/src/gini/__init__.py +0 -12
  170. gini_toolkit-6.0.1.dev0/src/gini/domain/__init__.py +0 -9
  171. gini_toolkit-6.0.1.dev0/src/gini/domain/assembly.py +0 -209
  172. gini_toolkit-6.0.1.dev0/src/gini/domain/authoring.py +0 -353
  173. gini_toolkit-6.0.1.dev0/src/gini/domain/blueprints.py +0 -5
  174. gini_toolkit-6.0.1.dev0/src/gini/domain/capabilities.py +0 -177
  175. gini_toolkit-6.0.1.dev0/src/gini/domain/catalog.py +0 -85
  176. gini_toolkit-6.0.1.dev0/src/gini/domain/certify.py +0 -201
  177. gini_toolkit-6.0.1.dev0/src/gini/domain/compose.py +0 -413
  178. gini_toolkit-6.0.1.dev0/src/gini/domain/composition.py +0 -88
  179. gini_toolkit-6.0.1.dev0/src/gini/domain/concepts.py +0 -383
  180. gini_toolkit-6.0.1.dev0/src/gini/domain/connection_rules.py +0 -269
  181. gini_toolkit-6.0.1.dev0/src/gini/domain/constraints.py +0 -153
  182. gini_toolkit-6.0.1.dev0/src/gini/domain/content.py +0 -59
  183. gini_toolkit-6.0.1.dev0/src/gini/domain/cpu_journey.py +0 -89
  184. gini_toolkit-6.0.1.dev0/src/gini/domain/devices.py +0 -747
  185. gini_toolkit-6.0.1.dev0/src/gini/domain/diagnose.py +0 -201
  186. gini_toolkit-6.0.1.dev0/src/gini/domain/element_guide.py +0 -327
  187. gini_toolkit-6.0.1.dev0/src/gini/domain/explain.py +0 -90
  188. gini_toolkit-6.0.1.dev0/src/gini/domain/fingerprint.py +0 -201
  189. gini_toolkit-6.0.1.dev0/src/gini/domain/firewall.py +0 -34
  190. gini_toolkit-6.0.1.dev0/src/gini/domain/flowlog.py +0 -61
  191. gini_toolkit-6.0.1.dev0/src/gini/domain/flowtable.py +0 -179
  192. gini_toolkit-6.0.1.dev0/src/gini/domain/fragment_yaml.py +0 -230
  193. gini_toolkit-6.0.1.dev0/src/gini/domain/fragments.py +0 -169
  194. gini_toolkit-6.0.1.dev0/src/gini/domain/games/__init__.py +0 -2
  195. gini_toolkit-6.0.1.dev0/src/gini/domain/games/paging_games.py +0 -119
  196. gini_toolkit-6.0.1.dev0/src/gini/domain/games/policy_game.py +0 -86
  197. gini_toolkit-6.0.1.dev0/src/gini/domain/games/process_game.py +0 -48
  198. gini_toolkit-6.0.1.dev0/src/gini/domain/games/thrash_game.py +0 -75
  199. gini_toolkit-6.0.1.dev0/src/gini/domain/games/translate_game.py +0 -60
  200. gini_toolkit-6.0.1.dev0/src/gini/domain/games/trap_game.py +0 -86
  201. gini_toolkit-6.0.1.dev0/src/gini/domain/grader.py +0 -155
  202. gini_toolkit-6.0.1.dev0/src/gini/domain/grouping.py +0 -67
  203. gini_toolkit-6.0.1.dev0/src/gini/domain/legality.py +0 -103
  204. gini_toolkit-6.0.1.dev0/src/gini/domain/lesson.py +0 -241
  205. gini_toolkit-6.0.1.dev0/src/gini/domain/lexicon.py +0 -150
  206. gini_toolkit-6.0.1.dev0/src/gini/domain/machine_state.py +0 -410
  207. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/basic-lan.yaml +0 -32
  208. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/cache-in-front.yaml +0 -23
  209. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/decouple-with-queue.yaml +0 -31
  210. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/drive-load.yaml +0 -20
  211. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/fix-the-address.yaml +0 -75
  212. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/fix-the-lan.yaml +0 -43
  213. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/inspect-flows.yaml +0 -16
  214. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/k8s-autoscale.yaml +0 -27
  215. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/least-privilege.yaml +0 -21
  216. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/load-balanced-web.yaml +0 -29
  217. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/observe-it.yaml +0 -24
  218. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/put-in-vpc.yaml +0 -30
  219. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/reachability-boundary.yaml +0 -56
  220. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/sdn-reactive.yaml +0 -35
  221. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/send-request.yaml +0 -19
  222. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/serverless-api.yaml +0 -25
  223. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/networking/service-chain.yaml +0 -33
  224. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/os/lottery-fix.yaml +0 -19
  225. gini_toolkit-6.0.1.dev0/src/gini/domain/missions/os/priority-fix.yaml +0 -24
  226. gini_toolkit-6.0.1.dev0/src/gini/domain/missions.py +0 -111
  227. gini_toolkit-6.0.1.dev0/src/gini/domain/modulechain.py +0 -36
  228. gini_toolkit-6.0.1.dev0/src/gini/domain/objectives.py +0 -488
  229. gini_toolkit-6.0.1.dev0/src/gini/domain/os_zoo.py +0 -79
  230. gini_toolkit-6.0.1.dev0/src/gini/domain/paging_sim.py +0 -141
  231. gini_toolkit-6.0.1.dev0/src/gini/domain/pricing.py +0 -199
  232. gini_toolkit-6.0.1.dev0/src/gini/domain/probes.py +0 -226
  233. gini_toolkit-6.0.1.dev0/src/gini/domain/profile.py +0 -142
  234. gini_toolkit-6.0.1.dev0/src/gini/domain/recipes.py +0 -738
  235. gini_toolkit-6.0.1.dev0/src/gini/domain/riders.py +0 -309
  236. gini_toolkit-6.0.1.dev0/src/gini/domain/router_modules.py +0 -224
  237. gini_toolkit-6.0.1.dev0/src/gini/domain/routetable.py +0 -67
  238. gini_toolkit-6.0.1.dev0/src/gini/domain/scoring.py +0 -76
  239. gini_toolkit-6.0.1.dev0/src/gini/domain/staging.py +0 -122
  240. gini_toolkit-6.0.1.dev0/src/gini/domain/syscall_builder.py +0 -144
  241. gini_toolkit-6.0.1.dev0/src/gini/domain/topic_cloud.py +0 -62
  242. gini_toolkit-6.0.1.dev0/src/gini/domain/topology.py +0 -213
  243. gini_toolkit-6.0.1.dev0/src/gini/domain/vocabulary.py +0 -51
  244. gini_toolkit-6.0.1.dev0/src/gini/domain/xv6.py +0 -808
  245. gini_toolkit-6.0.1.dev0/src/gini/domain/xv6_fs.py +0 -250
  246. gini_toolkit-6.0.1.dev0/src/gini/domain/xv6_runner.py +0 -113
  247. gini_toolkit-6.0.1.dev0/src/gini/domain/xv6_vm.py +0 -385
  248. gini_toolkit-6.0.1.dev0/src/gini/setup/images.py +0 -33
  249. gini_toolkit-6.0.1.dev0/src/gini_toolkit.egg-info/PKG-INFO +0 -77
  250. gini_toolkit-6.0.1.dev0/src/gini_toolkit.egg-info/scm_version.json +0 -8
  251. gini_toolkit-6.0.1.dev0/tests/conftest.py +0 -39
  252. gini_toolkit-6.0.1.dev0/tests/test_approval_build5.py +0 -145
  253. gini_toolkit-6.0.1.dev0/tests/test_auth.py +0 -233
  254. gini_toolkit-6.0.1.dev0/tests/test_auth_server.py +0 -129
  255. gini_toolkit-6.0.1.dev0/tests/test_naming.py +0 -37
  256. gini_toolkit-6.0.1.dev0/tests/test_photo.py +0 -68
  257. gini_toolkit-6.0.1.dev0/tests/test_profai.py +0 -212
  258. gini_toolkit-6.0.1.dev0/tests/test_social.py +0 -146
  259. gini_toolkit-6.0.1.dev0/tests/test_social_server.py +0 -172
  260. gini_toolkit-6.0.1.dev0/tests/test_store_features.py +0 -172
  261. gini_toolkit-6.0.1.dev0/tests/test_tc_delete.py +0 -74
  262. gini_toolkit-6.0.1.dev0/token.txt +0 -1
  263. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/scripts/build_kb_index.py +0 -0
  264. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/scripts/gen_cue_shots.py +0 -0
  265. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/scripts/image_report.py +0 -0
  266. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/scripts/probe_doctor.py +0 -0
  267. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/scripts/server_smoke.py +0 -0
  268. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/scripts/validate_lesson.py +0 -0
  269. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/setup.cfg +0 -0
  270. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/__init__.py +0 -0
  271. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/agent_gamemaster.py +0 -0
  272. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/api.py +0 -0
  273. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/ask.py +0 -0
  274. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/authoring.py +0 -0
  275. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/blackboard.py +0 -0
  276. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/contracts.py +0 -0
  277. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/domains.py +0 -0
  278. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/gamemaster.py +0 -0
  279. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/kb.py +0 -0
  280. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/lesson_resolver.py +0 -0
  281. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/llm/__init__.py +0 -0
  282. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/llm/backend.py +0 -0
  283. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/llm/fake.py +0 -0
  284. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/llm/ollama.py +0 -0
  285. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/loop.py +0 -0
  286. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/meaning.py +0 -0
  287. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/mission.py +0 -0
  288. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/mission_controller.py +0 -0
  289. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/narration.py +0 -0
  290. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/notifier.py +0 -0
  291. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/personas.py +0 -0
  292. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/reasoning.py +0 -0
  293. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/recall.py +0 -0
  294. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/session.py +0 -0
  295. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/tools/__init__.py +0 -0
  296. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/twin/authoring.py +0 -0
  297. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/twin/contracts.py +0 -0
  298. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/twin/dialectic.py +0 -0
  299. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/twin/harness.py +0 -0
  300. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/twin/justify.py +0 -0
  301. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/twin/learner.py +0 -0
  302. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/twin/mission.py +0 -0
  303. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/twin/os_coach.py +0 -0
  304. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/twin/salience.py +0 -0
  305. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/understand.py +0 -0
  306. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/verifiers.py +0 -0
  307. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/agent/wizard.py +0 -0
  308. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/app/__init__.py +0 -0
  309. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/data/README.md +0 -0
  310. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/gloader.py +0 -0
  311. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/runtime/__init__.py +0 -0
  312. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/runtime/cloudfabric_agent.py +0 -0
  313. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/runtime/console.py +0 -0
  314. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/runtime/control.py +0 -0
  315. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/runtime/frame.py +0 -0
  316. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/runtime/gbridge.py +0 -0
  317. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/runtime/hostsim.py +0 -0
  318. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/runtime/switch.py +0 -0
  319. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/runtime/transport.py +0 -0
  320. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/server/__init__.py +0 -0
  321. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/server/app.py +0 -0
  322. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/server/policy.py +0 -0
  323. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/server/session.py +0 -0
  324. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/__init__.py +0 -0
  325. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/boardflash.py +0 -0
  326. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/boardsetup.py +0 -0
  327. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/cloud_catalog.py +0 -0
  328. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/discovery.py +0 -0
  329. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/remote.py +0 -0
  330. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/services/shadow_store.py +0 -0
  331. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/setup/__init__.py +0 -0
  332. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/setup/runtime.py +0 -0
  333. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/__init__.py +0 -0
  334. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/app_icon.icns +0 -0
  335. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/app_icon.ico +0 -0
  336. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/app_icon.png +0 -0
  337. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/app_icon_1024.png +0 -0
  338. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/_w.txt +0 -0
  339. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/ai.png +0 -0
  340. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/canvas.png +0 -0
  341. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/cloud.png +0 -0
  342. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/cost.png +0 -0
  343. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/dark/ai.png +0 -0
  344. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/dark/canvas.png +0 -0
  345. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/dark/cloud.png +0 -0
  346. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/dark/cost.png +0 -0
  347. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/dark/metrics.png +0 -0
  348. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/dark/router.png +0 -0
  349. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/dark/run.png +0 -0
  350. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/dark/serverless.png +0 -0
  351. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/dark/settings.png +0 -0
  352. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/dark/welcome.png +0 -0
  353. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/dark/wizard.png +0 -0
  354. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/ginibrand/ai.png +0 -0
  355. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/ginibrand/canvas.png +0 -0
  356. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/ginibrand/cloud.png +0 -0
  357. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/ginibrand/cost.png +0 -0
  358. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/ginibrand/metrics.png +0 -0
  359. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/ginibrand/router.png +0 -0
  360. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/ginibrand/run.png +0 -0
  361. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/ginibrand/serverless.png +0 -0
  362. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/ginibrand/settings.png +0 -0
  363. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/ginibrand/welcome.png +0 -0
  364. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/ginibrand/wizard.png +0 -0
  365. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/highcontrast/ai.png +0 -0
  366. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/highcontrast/canvas.png +0 -0
  367. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/highcontrast/cloud.png +0 -0
  368. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/highcontrast/cost.png +0 -0
  369. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/highcontrast/metrics.png +0 -0
  370. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/highcontrast/router.png +0 -0
  371. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/highcontrast/run.png +0 -0
  372. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/highcontrast/serverless.png +0 -0
  373. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/highcontrast/settings.png +0 -0
  374. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/highcontrast/welcome.png +0 -0
  375. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/highcontrast/wizard.png +0 -0
  376. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/light/ai.png +0 -0
  377. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/light/canvas.png +0 -0
  378. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/light/cloud.png +0 -0
  379. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/light/cost.png +0 -0
  380. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/light/metrics.png +0 -0
  381. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/light/router.png +0 -0
  382. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/light/run.png +0 -0
  383. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/light/serverless.png +0 -0
  384. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/light/settings.png +0 -0
  385. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/light/welcome.png +0 -0
  386. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/light/wizard.png +0 -0
  387. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/metrics.png +0 -0
  388. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/router.png +0 -0
  389. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/run.png +0 -0
  390. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/serverless.png +0 -0
  391. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/settings.png +0 -0
  392. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/welcome.png +0 -0
  393. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/assets/cue/wizard.png +0 -0
  394. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/author_dialog.py +0 -0
  395. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/board_dialog.py +0 -0
  396. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/branding.py +0 -0
  397. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/chat_panel.py +0 -0
  398. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/cpu_journey.py +0 -0
  399. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/cue_cards.py +0 -0
  400. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/diagnose_game.py +0 -0
  401. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/fingerprint_lab.py +0 -0
  402. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/flash_dialog.py +0 -0
  403. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/flow_layout.py +0 -0
  404. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/fragment_manager.py +0 -0
  405. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/game_catalog.py +0 -0
  406. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/game_renderers.py +0 -0
  407. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/games_lab.py +0 -0
  408. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/live_metrics.py +0 -0
  409. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/mission_panel.py +0 -0
  410. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/mode_indicator.py +0 -0
  411. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/palette.py +0 -0
  412. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/peripherals.py +0 -0
  413. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/reset_dialog.py +0 -0
  414. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/run_button.py +0 -0
  415. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/signin_dialog.py +0 -0
  416. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/syscall_builder.py +0 -0
  417. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/syscall_lab.py +0 -0
  418. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/theme/__init__.py +0 -0
  419. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/theme/tokens.py +0 -0
  420. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/trap_lab.py +0 -0
  421. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/worker_host.py +0 -0
  422. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini/ui/zoo_lab.py +0 -0
  423. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini_toolkit.egg-info/dependency_links.txt +0 -0
  424. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/src/gini_toolkit.egg-info/top_level.txt +0 -0
  425. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_addressing.py +0 -0
  426. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_agent.py +0 -0
  427. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_agent_integration.py +0 -0
  428. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_agent_loop.py +0 -0
  429. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_ai_context.py +0 -0
  430. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_ask.py +0 -0
  431. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_ask_gini.py +0 -0
  432. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_ask_pipeline.py +0 -0
  433. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_assembly.py +0 -0
  434. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_assistant_explain_routing.py +0 -0
  435. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_assistant_menu.py +0 -0
  436. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_authoring.py +0 -0
  437. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_authoring_build2.py +0 -0
  438. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_autobuild_setting.py +0 -0
  439. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_blackboard.py +0 -0
  440. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_blueprints.py +0 -0
  441. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_board_carry.py +0 -0
  442. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_board_dialog.py +0 -0
  443. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_board_liveness.py +0 -0
  444. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_boardflash.py +0 -0
  445. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_boardsetup.py +0 -0
  446. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_canvas_connect.py +0 -0
  447. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_catalog.py +0 -0
  448. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_certify.py +0 -0
  449. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_chat_panel.py +0 -0
  450. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_cloud.py +0 -0
  451. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_cloud_fabric.py +0 -0
  452. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_compose.py +0 -0
  453. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_composer.py +0 -0
  454. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_composition.py +0 -0
  455. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_connect_gesture.py +0 -0
  456. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_connection_rules.py +0 -0
  457. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_console_routing.py +0 -0
  458. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_constraints.py +0 -0
  459. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_content_and_forks.py +0 -0
  460. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_contract.py +0 -0
  461. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_control.py +0 -0
  462. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_cpu_journey.py +0 -0
  463. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_cpu_lab.py +0 -0
  464. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_cue_cards.py +0 -0
  465. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_delete.py +0 -0
  466. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_desktop.py +0 -0
  467. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_diagnose.py +0 -0
  468. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_diagnose_game.py +0 -0
  469. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_discovery.py +0 -0
  470. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_domain.py +0 -0
  471. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_domains.py +0 -0
  472. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_embed.py +0 -0
  473. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_experiments.py +0 -0
  474. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_explain.py +0 -0
  475. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_faas_authoring.py +0 -0
  476. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_faces.py +0 -0
  477. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_fingerprint.py +0 -0
  478. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_fingerprint_lab.py +0 -0
  479. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_flash_dialog.py +0 -0
  480. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_flowlog.py +0 -0
  481. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_flowtable.py +0 -0
  482. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_fragment_ports.py +0 -0
  483. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_fragment_terminals.py +0 -0
  484. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_fragment_yaml.py +0 -0
  485. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_gamemaster.py +0 -0
  486. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_gini32.py +0 -0
  487. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_gloader.py +0 -0
  488. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_gradebook_official.py +0 -0
  489. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_grader.py +0 -0
  490. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_grounding_stance.py +0 -0
  491. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_grouping.py +0 -0
  492. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_guided_missions.py +0 -0
  493. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_hub.py +0 -0
  494. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_integration.py +0 -0
  495. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_k8s.py +0 -0
  496. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_kata.py +0 -0
  497. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_kb.py +0 -0
  498. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_kb_index_sync.py +0 -0
  499. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_knowledge.py +0 -0
  500. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_legality.py +0 -0
  501. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_lesson.py +0 -0
  502. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_lesson_resolver.py +0 -0
  503. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_lexicon.py +0 -0
  504. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_live_metrics.py +0 -0
  505. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_loadgen_proxy.py +0 -0
  506. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_loop_visible.py +0 -0
  507. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_m2_behavioral.py +0 -0
  508. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_m7_polish.py +0 -0
  509. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_machine_toolkit.py +0 -0
  510. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_meaning.py +0 -0
  511. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_memory_lab.py +0 -0
  512. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_mission.py +0 -0
  513. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_mission_controller.py +0 -0
  514. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_mission_panel.py +0 -0
  515. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_missions.py +0 -0
  516. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_missions_entry.py +0 -0
  517. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_missions_mode.py +0 -0
  518. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_name_independence.py +0 -0
  519. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_narration.py +0 -0
  520. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_nfv.py +0 -0
  521. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_no_vacuous_objectives.py +0 -0
  522. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_notifier.py +0 -0
  523. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_objectives.py +0 -0
  524. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_ollama_thinking.py +0 -0
  525. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_orchestrator_switch.py +0 -0
  526. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_os_zoo.py +0 -0
  527. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_oszoo_compile.py +0 -0
  528. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_paging.py +0 -0
  529. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_paging_games.py +0 -0
  530. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_palette_taxonomy.py +0 -0
  531. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_peripherals_wiring.py +0 -0
  532. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_persistence.py +0 -0
  533. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_policy_game.py +0 -0
  534. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_present.py +0 -0
  535. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_pricing.py +0 -0
  536. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_probes.py +0 -0
  537. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_process_tree.py +0 -0
  538. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_profile.py +0 -0
  539. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_projects.py +0 -0
  540. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_rank_spot.py +0 -0
  541. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_reasoning.py +0 -0
  542. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_recall.py +0 -0
  543. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_recipes.py +0 -0
  544. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_recorder.py +0 -0
  545. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_remote.py +0 -0
  546. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_remote_gui.py +0 -0
  547. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_rider_session.py +0 -0
  548. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_riders.py +0 -0
  549. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_router_lab.py +0 -0
  550. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_routetable.py +0 -0
  551. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_scaffold.py +0 -0
  552. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_scoring.py +0 -0
  553. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_sdn.py +0 -0
  554. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_sdn_orchestrator.py +0 -0
  555. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_secgroup.py +0 -0
  556. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_server.py +0 -0
  557. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_serverless.py +0 -0
  558. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_session.py +0 -0
  559. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_settings.py +0 -0
  560. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_setup.py +0 -0
  561. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_sfc_chain.py +0 -0
  562. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_sfc_ui.py +0 -0
  563. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_shadow_store.py +0 -0
  564. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_sizing.py +0 -0
  565. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_slots.py +0 -0
  566. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_sources_sinks.py +0 -0
  567. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_sources_sinks_ui.py +0 -0
  568. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_staging.py +0 -0
  569. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_stars.py +0 -0
  570. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_storage_lab.py +0 -0
  571. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_syscall_builder.py +0 -0
  572. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_syscall_builder_ui.py +0 -0
  573. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_tap_offload.py +0 -0
  574. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_teaching_center.py +0 -0
  575. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_themes_runbutton.py +0 -0
  576. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_topic_cloud.py +0 -0
  577. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_topic_cloud_ui.py +0 -0
  578. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_trap_fault_game.py +0 -0
  579. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_trap_lab.py +0 -0
  580. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_tutor.py +0 -0
  581. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_twin.py +0 -0
  582. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_twin_surfaces.py +0 -0
  583. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_understand.py +0 -0
  584. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_unified_chat.py +0 -0
  585. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_user_pill.py +0 -0
  586. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_validate.py +0 -0
  587. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_vnf.py +0 -0
  588. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_vpc.py +0 -0
  589. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_vpc_canvas.py +0 -0
  590. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_wizard.py +0 -0
  591. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_wizard_engine.py +0 -0
  592. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_xray.py +0 -0
  593. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_xv6_agent.py +0 -0
  594. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_xv6_bridge.py +0 -0
  595. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_xv6_modes.py +0 -0
  596. {gini_toolkit-6.0.1.dev0 → gini_toolkit-6.1.0}/tests/test_xv6_runner.py +0 -0
@@ -0,0 +1,17 @@
1
+ # Line endings. Much of this tree is copied into Linux containers at Run time (the
2
+ # dataplane/ modules, generated Dockerfiles and shell scripts), so keep LF everywhere even
3
+ # when cloned on Windows (git's core.autocrlf=true default would rewrite them to CRLF).
4
+ * text=auto eol=lf
5
+
6
+ *.py text eol=lf
7
+ *.sh text eol=lf
8
+ Dockerfile* text eol=lf
9
+ *.yml text eol=lf
10
+ *.yaml text eol=lf
11
+ *.lua text eol=lf
12
+
13
+ *.png binary
14
+ *.ico binary
15
+ *.icns binary
16
+ *.gz binary
17
+ *.zip binary
@@ -0,0 +1,94 @@
1
+ Metadata-Version: 2.4
2
+ Name: gini-toolkit
3
+ Version: 6.1.0
4
+ Summary: GINI gBuilder — next-generation topology builder for computer networks and cloud computing experimentation
5
+ Author: GINI Toolkit
6
+ License: GPL-3.0-or-later
7
+ Requires-Python: >=3.10
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: gini-core
10
+ Requires-Dist: PySide6-Essentials>=6.6
11
+ Requires-Dist: PySide6-Addons>=6.6
12
+ Requires-Dist: PyYAML>=6.0
13
+ Requires-Dist: pyte>=0.8
14
+ Provides-Extra: agent
15
+ Requires-Dist: mcp>=1.0; extra == "agent"
16
+ Provides-Extra: graph
17
+ Requires-Dist: matplotlib>=3.7; extra == "graph"
18
+ Requires-Dist: numpy>=1.24; extra == "graph"
19
+ Provides-Extra: dev
20
+ Requires-Dist: pytest>=7; extra == "dev"
21
+ Requires-Dist: pytest-qt>=4; extra == "dev"
22
+ Requires-Dist: ruff>=0.4; extra == "dev"
23
+ Requires-Dist: mypy>=1.8; extra == "dev"
24
+
25
+ # gini-toolkit — gBuilder
26
+
27
+ The GINI desktop app: a visual builder and live runtime for **computer networking** and **cloud
28
+ computing** experiments, with an AI layer that can build, inspect and explain topologies.
29
+
30
+ Drag routers, switches, machines, VPCs and Kubernetes elements onto a canvas, press **Run**, and
31
+ they come up as real containers you can open a shell into.
32
+
33
+ ## Install
34
+
35
+ ```bash
36
+ pipx install gini-toolkit # `pip install gini-toolkit` works too
37
+ gbuilder
38
+ ```
39
+
40
+ PySide6 and QtWebEngine come with it. **There is no setup command to run** — gBuilder checks what
41
+ the machine needs the first time it launches and offers to install the container runtime and pull
42
+ the images. Demo mode works before any of that exists, so the app is useful the moment it opens.
43
+
44
+ Requires Python 3.10+ and, for live Run, a container runtime (Docker, Colima or Podman).
45
+
46
+ ## What you get
47
+
48
+ - **Canvas and palette** — networking elements (routers, switches, OVS, machines, taps) alongside
49
+ cloud ones (VPCs, subnets, load balancers, Kubernetes pods, serverless functions).
50
+ - **Live Run** — each element is a real container. Double-click a machine for a shell, a router for
51
+ the **Router Lab**, a service for its web dashboard.
52
+ - **SDN and NFV** — a real OpenFlow data plane with a POX controller, and a flow-table view of what
53
+ the switch is actually doing.
54
+ - **xv6** — boot and modify a real RISC-V teaching kernel from inside a topology.
55
+ - **Ask GINI** — an assistant grounded in the topology on your canvas. Better with a local
56
+ [Ollama](https://ollama.com) model; the deterministic modes work without one.
57
+ - **Proof of work** — record a lab session as a tamper-evident chain and hand in a receipt, for
58
+ courses using the GINI Teaching Center.
59
+
60
+ ## From source
61
+
62
+ ```bash
63
+ git clone https://github.com/citelab/gini && cd gini
64
+ ./scripts/dev.sh install # editable installs of gini-core, gini-toolkit, gini-teaching-center
65
+ gbuilder
66
+ ```
67
+
68
+ Use the script rather than `pip install -e ./frontend-ng` on its own: `gini` is a **namespace**
69
+ package split across `gini-core` (the domain model and proof format) and this distribution, and
70
+ installing one alone leaves half the tree unimportable — with an error that names a missing module
71
+ rather than a missing install.
72
+
73
+ ```bash
74
+ QT_QPA_PLATFORM=offscreen python -m gini --selftest # headless smoke test
75
+ ./scripts/dev.sh test # the suite
76
+ ```
77
+
78
+ ## Layout
79
+
80
+ ```
81
+ src/gini/
82
+ __main__.py the `gbuilder` entrypoint
83
+ ui/ canvas, palette, inspector, labs, theme system
84
+ services/ persistence, runtime, Teaching Center client, outbox
85
+ runtime/ container orchestration
86
+ agent/ programmatic API + MCP server, so external agents can drive GINI
87
+ setup/ first-run bootstrap (runtime detection, image pulls)
88
+ ```
89
+
90
+ The domain model lives in the separate `gini-core` distribution, under `gini.domain`.
91
+
92
+ ## License & links
93
+
94
+ Part of the GINI project — https://github.com/citelab/gini
@@ -0,0 +1,70 @@
1
+ # gini-toolkit — gBuilder
2
+
3
+ The GINI desktop app: a visual builder and live runtime for **computer networking** and **cloud
4
+ computing** experiments, with an AI layer that can build, inspect and explain topologies.
5
+
6
+ Drag routers, switches, machines, VPCs and Kubernetes elements onto a canvas, press **Run**, and
7
+ they come up as real containers you can open a shell into.
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ pipx install gini-toolkit # `pip install gini-toolkit` works too
13
+ gbuilder
14
+ ```
15
+
16
+ PySide6 and QtWebEngine come with it. **There is no setup command to run** — gBuilder checks what
17
+ the machine needs the first time it launches and offers to install the container runtime and pull
18
+ the images. Demo mode works before any of that exists, so the app is useful the moment it opens.
19
+
20
+ Requires Python 3.10+ and, for live Run, a container runtime (Docker, Colima or Podman).
21
+
22
+ ## What you get
23
+
24
+ - **Canvas and palette** — networking elements (routers, switches, OVS, machines, taps) alongside
25
+ cloud ones (VPCs, subnets, load balancers, Kubernetes pods, serverless functions).
26
+ - **Live Run** — each element is a real container. Double-click a machine for a shell, a router for
27
+ the **Router Lab**, a service for its web dashboard.
28
+ - **SDN and NFV** — a real OpenFlow data plane with a POX controller, and a flow-table view of what
29
+ the switch is actually doing.
30
+ - **xv6** — boot and modify a real RISC-V teaching kernel from inside a topology.
31
+ - **Ask GINI** — an assistant grounded in the topology on your canvas. Better with a local
32
+ [Ollama](https://ollama.com) model; the deterministic modes work without one.
33
+ - **Proof of work** — record a lab session as a tamper-evident chain and hand in a receipt, for
34
+ courses using the GINI Teaching Center.
35
+
36
+ ## From source
37
+
38
+ ```bash
39
+ git clone https://github.com/citelab/gini && cd gini
40
+ ./scripts/dev.sh install # editable installs of gini-core, gini-toolkit, gini-teaching-center
41
+ gbuilder
42
+ ```
43
+
44
+ Use the script rather than `pip install -e ./frontend-ng` on its own: `gini` is a **namespace**
45
+ package split across `gini-core` (the domain model and proof format) and this distribution, and
46
+ installing one alone leaves half the tree unimportable — with an error that names a missing module
47
+ rather than a missing install.
48
+
49
+ ```bash
50
+ QT_QPA_PLATFORM=offscreen python -m gini --selftest # headless smoke test
51
+ ./scripts/dev.sh test # the suite
52
+ ```
53
+
54
+ ## Layout
55
+
56
+ ```
57
+ src/gini/
58
+ __main__.py the `gbuilder` entrypoint
59
+ ui/ canvas, palette, inspector, labs, theme system
60
+ services/ persistence, runtime, Teaching Center client, outbox
61
+ runtime/ container orchestration
62
+ agent/ programmatic API + MCP server, so external agents can drive GINI
63
+ setup/ first-run bootstrap (runtime detection, image pulls)
64
+ ```
65
+
66
+ The domain model lives in the separate `gini-core` distribution, under `gini.domain`.
67
+
68
+ ## License & links
69
+
70
+ Part of the GINI project — https://github.com/citelab/gini
@@ -11,10 +11,21 @@ requires-python = ">=3.10"
11
11
  license = { text = "GPL-3.0-or-later" }
12
12
  authors = [{ name = "GINI Toolkit" }]
13
13
  # `pip install gini-toolkit` gives a runnable desktop app: engine + the PySide6/Qt GUI. The
14
- # container runtime (Docker/Colima) and images are brought in separately by the `gini-setup` command.
14
+ # container runtime (Docker/Colima) and images are NOT pip-installable — gBuilder detects what is
15
+ # missing at launch and offers to bring them in (gini/services/bootstrap.py).
15
16
  dependencies = [
17
+ "gini-core", # the shared domain model + proof format. Split out so a headless
18
+ # Teaching Center can install it without dragging in Qt, and so
19
+ # there is exactly ONE copy of the format both sides must agree on.
16
20
  "PySide6-Essentials>=6.6", # the Qt6 desktop GUI (gini.ui + the `gbuilder` entrypoint)
21
+ "PySide6-Addons>=6.6", # QtWebEngine — embeds headful Desktops / OS-Zoo screens (else the
22
+ # system browser); QtWebSockets — the Terminal's link to ttyd.
23
+ # Bundled so one install pulls it in automatically.
17
24
  "PyYAML>=6.0", # reads authored Lesson packs (Missions / Teaching Center)
25
+ "pyte>=0.8", # terminal emulation for the Terminal pane. Pure Python: it turns
26
+ # the container's byte stream into a grid of cells, which
27
+ # ui/terminal_view.py paints. Replaced an embedded xterm.js page
28
+ # in QtWebEngine — a Chromium process per terminal.
18
29
  ]
19
30
 
20
31
  [project.optional-dependencies]
@@ -34,14 +45,18 @@ dev = [
34
45
 
35
46
  [project.scripts]
36
47
  gbuilder = "gini.__main__:main" # the desktop app
37
- gini-setup = "gini.setup.cli:main" # one-time: bring in the container runtime + images
48
+ # `gini-setup` is gone: gBuilder now checks what the machine needs at launch and offers to do it
49
+ # (gini/services/bootstrap.py + gini/ui/first_run.py). The module stays for anyone with it in a
50
+ # script, but it is no longer a command a new user has to discover.
38
51
 
39
52
  [tool.setuptools.packages.find]
40
53
  where = ["src"]
54
+ # `gini` is an implicit NAMESPACE package shared with gini-core, which owns gini.domain. Neither
55
+ # distribution may ship gini/__init__.py, or one would shadow the other's half of the tree.
56
+ exclude = ["gini.domain*"]
41
57
 
42
58
  [tool.setuptools.package-data]
43
59
  "gini.ui" = ["assets/*.png", "assets/*.ico", "assets/*.icns"]
44
- "gini.domain" = ["missions/**/*.yaml"]
45
60
 
46
61
  # Version comes from git tags (e.g. `git tag v6.1.0` -> 6.1.0). The repo root is one level up from
47
62
  # this pyproject, hence root = "..". A generated _version.py is written into the package at build