ghoshell-moss 0.1.0a0__tar.gz → 0.1.0.dev0__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 (185) hide show
  1. ghoshell_moss-0.1.0.dev0/LICENSE +21 -0
  2. ghoshell_moss-0.1.0.dev0/PKG-INFO +39 -0
  3. ghoshell_moss-0.1.0.dev0/README.md +14 -0
  4. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/pyproject.toml +12 -35
  5. ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/__init__.py +42 -0
  6. ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/channels/__init__.py +1 -0
  7. ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/channels/duplex/__init__.py +4 -0
  8. ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/channels/duplex/client.py +866 -0
  9. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/channels}/duplex/connection.py +6 -9
  10. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/channels}/duplex/protocol.py +42 -96
  11. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/duplex/provider.py → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/channels/duplex/server.py +115 -255
  12. ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/channels/mcp_channel.py +333 -0
  13. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/channels}/py_channel.py +130 -254
  14. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/transports/redis_channel → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/channels}/redis_channel.py +56 -52
  15. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/duplex → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/channels}/thread_channel.py +61 -59
  16. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/transports/ws_channel → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/channels}/ws_channel.py +33 -34
  17. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/transports/zmq_channel → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/channels}/zmq_channel.py +79 -85
  18. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss}/concepts/channel.py +81 -334
  19. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss}/concepts/command.py +137 -186
  20. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss}/concepts/errors.py +2 -19
  21. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss}/concepts/interpreter.py +22 -47
  22. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss}/concepts/shell.py +45 -61
  23. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss}/concepts/speech.py +41 -149
  24. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss}/concepts/states.py +28 -57
  25. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss}/concepts/topics.py +38 -21
  26. ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/helpers/__init__.py +1 -0
  27. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss}/helpers/asyncio_utils.py +27 -48
  28. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss}/helpers/func.py +18 -21
  29. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss}/helpers/result.py +3 -3
  30. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss}/helpers/stream.py +22 -23
  31. {ghoshell_moss-0.1.0a0/src/ghoshell_moss/core → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss}/helpers/token_filters.py +3 -3
  32. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/tests/async_cases/test_anyio_event.py +3 -3
  33. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/tests/async_cases/test_anyio_stream.py +1 -2
  34. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/tests/async_cases/test_asyncio.py +13 -76
  35. ghoshell_moss-0.1.0.dev0/tests/channels/helper/mcp_server_demo.py +16 -0
  36. ghoshell_moss-0.1.0.dev0/tests/channels/test_mcp_channel.py +42 -0
  37. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/tests/channels/test_py_channel.py +13 -79
  38. {ghoshell_moss-0.1.0a0/tests/redis_channel → ghoshell_moss-0.1.0.dev0/tests/channels}/test_redis_channel.py +7 -5
  39. ghoshell_moss-0.1.0.dev0/tests/channels/test_thread_channel.py +146 -0
  40. {ghoshell_moss-0.1.0a0/tests/ws_channel → ghoshell_moss-0.1.0.dev0/tests/channels}/test_ws_channel.py +20 -18
  41. {ghoshell_moss-0.1.0a0/tests/zmq_channel → ghoshell_moss-0.1.0.dev0/tests/channels}/test_zmq_channel.py +20 -50
  42. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/tests/concepts/test_command.py +6 -7
  43. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/tests/concepts/test_command_task.py +7 -17
  44. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/tests/helpers/test_asyncio_utils.py +14 -18
  45. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/tests/helpers/test_func_tools.py +2 -4
  46. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/tests/helpers/test_result.py +5 -5
  47. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/tests/helpers/test_stream.py +2 -5
  48. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/tests/helpers/test_token_filters.py +1 -1
  49. ghoshell_moss-0.1.0.dev0/tests/py_feats/test_func.py +5 -0
  50. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/tests/py_feats/test_literal_eval.py +1 -2
  51. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/tests/test_libs/test_pydantic.py +1 -2
  52. ghoshell_moss-0.1.0a0/LICENSE +0 -200
  53. ghoshell_moss-0.1.0a0/NOTICE +0 -18
  54. ghoshell_moss-0.1.0a0/PKG-INFO +0 -159
  55. ghoshell_moss-0.1.0a0/README.md +0 -116
  56. ghoshell_moss-0.1.0a0/src/ghoshell_moss/README.md +0 -7
  57. ghoshell_moss-0.1.0a0/src/ghoshell_moss/__init__.py +0 -15
  58. ghoshell_moss-0.1.0a0/src/ghoshell_moss/channels/README.md +0 -5
  59. ghoshell_moss-0.1.0a0/src/ghoshell_moss/channels/__init__.py +0 -1
  60. ghoshell_moss-0.1.0a0/src/ghoshell_moss/channels/mac_channel.py +0 -99
  61. ghoshell_moss-0.1.0a0/src/ghoshell_moss/cli/README.md +0 -5
  62. ghoshell_moss-0.1.0a0/src/ghoshell_moss/cli/__init__.py +0 -1
  63. ghoshell_moss-0.1.0a0/src/ghoshell_moss/compatible/README.md +0 -7
  64. ghoshell_moss-0.1.0a0/src/ghoshell_moss/compatible/__init__.py +0 -1
  65. ghoshell_moss-0.1.0a0/src/ghoshell_moss/compatible/mcp_channel/__init__.py +0 -3
  66. ghoshell_moss-0.1.0a0/src/ghoshell_moss/compatible/mcp_channel/mcp_channel.py +0 -468
  67. ghoshell_moss-0.1.0a0/src/ghoshell_moss/compatible/mcp_channel/types.py +0 -17
  68. ghoshell_moss-0.1.0a0/src/ghoshell_moss/compatible/mcp_channel/utils.py +0 -25
  69. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/README.md +0 -6
  70. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/__init__.py +0 -13
  71. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/concepts/README.md +0 -20
  72. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/concepts/__init__.py +0 -118
  73. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/ctml/README.md +0 -9
  74. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/ctml/__init__.py +0 -5
  75. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/ctml/elements.py +0 -480
  76. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/ctml/interpreter.py +0 -558
  77. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/ctml/prompt.py +0 -9
  78. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/ctml/prompt_v1.md +0 -174
  79. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/ctml/token_parser.py +0 -427
  80. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/duplex/README.md +0 -9
  81. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/duplex/__init__.py +0 -54
  82. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/duplex/proxy.py +0 -1046
  83. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/helpers/README.md +0 -3
  84. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/helpers/__init__.py +0 -1
  85. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/shell/README.md +0 -3
  86. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/shell/__init__.py +0 -2
  87. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/shell/channel_runtime.py +0 -632
  88. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/shell/main_channel.py +0 -36
  89. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/shell/shell_impl.py +0 -329
  90. ghoshell_moss-0.1.0a0/src/ghoshell_moss/core/shell/shell_runtime.py +0 -431
  91. ghoshell_moss-0.1.0a0/src/ghoshell_moss/message/README.md +0 -13
  92. ghoshell_moss-0.1.0a0/src/ghoshell_moss/message/__init__.py +0 -4
  93. ghoshell_moss-0.1.0a0/src/ghoshell_moss/message/abcd.py +0 -592
  94. ghoshell_moss-0.1.0a0/src/ghoshell_moss/message/adapters/__init__.py +0 -1
  95. ghoshell_moss-0.1.0a0/src/ghoshell_moss/message/adapters/openai_adapter.py +0 -101
  96. ghoshell_moss-0.1.0a0/src/ghoshell_moss/message/addtions.py +0 -17
  97. ghoshell_moss-0.1.0a0/src/ghoshell_moss/message/contents.py +0 -149
  98. ghoshell_moss-0.1.0a0/src/ghoshell_moss/message/deltas.py +0 -32
  99. ghoshell_moss-0.1.0a0/src/ghoshell_moss/message/utils.py +0 -15
  100. ghoshell_moss-0.1.0a0/src/ghoshell_moss/speech/README.md +0 -9
  101. ghoshell_moss-0.1.0a0/src/ghoshell_moss/speech/__init__.py +0 -23
  102. ghoshell_moss-0.1.0a0/src/ghoshell_moss/speech/mock.py +0 -124
  103. ghoshell_moss-0.1.0a0/src/ghoshell_moss/speech/player/__init__.py +0 -1
  104. ghoshell_moss-0.1.0a0/src/ghoshell_moss/speech/player/base_player.py +0 -250
  105. ghoshell_moss-0.1.0a0/src/ghoshell_moss/speech/player/pulseaudio_player.py +0 -74
  106. ghoshell_moss-0.1.0a0/src/ghoshell_moss/speech/player/pyaudio_player.py +0 -71
  107. ghoshell_moss-0.1.0a0/src/ghoshell_moss/speech/stream_tts_speech.py +0 -183
  108. ghoshell_moss-0.1.0a0/src/ghoshell_moss/speech/volcengine_tts/__init__.py +0 -9
  109. ghoshell_moss-0.1.0a0/src/ghoshell_moss/speech/volcengine_tts/protocol.py +0 -552
  110. ghoshell_moss-0.1.0a0/src/ghoshell_moss/speech/volcengine_tts/tts.py +0 -728
  111. ghoshell_moss-0.1.0a0/src/ghoshell_moss/transports/README.md +0 -19
  112. ghoshell_moss-0.1.0a0/src/ghoshell_moss/transports/__init__.py +0 -1
  113. ghoshell_moss-0.1.0a0/src/ghoshell_moss/transports/redis_channel/__init__.py +0 -7
  114. ghoshell_moss-0.1.0a0/src/ghoshell_moss/transports/ws_channel/__init__.py +0 -7
  115. ghoshell_moss-0.1.0a0/src/ghoshell_moss/transports/zmq_channel/__init__.py +0 -2
  116. ghoshell_moss-0.1.0a0/src/ghoshell_moss/transports/zmq_channel/zmq_hub.py +0 -340
  117. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/README.md +0 -4
  118. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/agent/README.md +0 -5
  119. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/agent/__init__.py +0 -23
  120. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/agent/chat/__init__.py +0 -1
  121. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/agent/chat/base.py +0 -42
  122. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/agent/chat/console.py +0 -202
  123. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/agent/chat/queue.py +0 -191
  124. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/agent/depends.py +0 -12
  125. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/agent/output.py +0 -114
  126. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/agent/simple_agent.py +0 -367
  127. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/channels/docs_reader.py +0 -9
  128. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/channels/mermaid_draw.py +0 -79
  129. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/channels/mpv_video.py +0 -195
  130. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/channels/opencv_vision.py +0 -307
  131. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/channels/project_manager.py +0 -9
  132. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/channels/screen_capture.py +0 -231
  133. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/channels/slide_studio.py +0 -302
  134. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/channels/terminal.py +0 -9
  135. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/channels/web_bookmark.py +0 -75
  136. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/example_ws.py +0 -148
  137. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/gui/image_viewer.py +0 -86
  138. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/gui/slide_studio_creator.py +0 -260
  139. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/prototypes/README.md +0 -4
  140. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/prototypes/__init__.py +0 -1
  141. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/prototypes/ros2_robot/README.md +0 -11
  142. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/prototypes/ros2_robot/__init__.py +0 -1
  143. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/prototypes/ros2_robot/abcd.py +0 -578
  144. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/prototypes/ros2_robot/joint_parsers.py +0 -26
  145. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/prototypes/ros2_robot/main_channel.py +0 -237
  146. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/prototypes/ros2_robot/manager.py +0 -84
  147. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/prototypes/ros2_robot/mocks.py +0 -51
  148. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/prototypes/ros2_robot/models.py +0 -407
  149. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/prototypes/ros2_robot/ros2_controller.py +0 -203
  150. ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/prototypes/ros2_robot/ros2_node.py +0 -209
  151. ghoshell_moss-0.1.0a0/tests/agent/test_queue_chat.py +0 -36
  152. ghoshell_moss-0.1.0a0/tests/channels/test_thread_channel.py +0 -254
  153. ghoshell_moss-0.1.0a0/tests/ctml/__init__.py +0 -0
  154. ghoshell_moss-0.1.0a0/tests/ctml/test_elements.py +0 -242
  155. ghoshell_moss-0.1.0a0/tests/ctml/test_interpreter.py +0 -75
  156. ghoshell_moss-0.1.0a0/tests/ctml/test_token_parser.py +0 -236
  157. ghoshell_moss-0.1.0a0/tests/helpers/__init__.py +0 -0
  158. ghoshell_moss-0.1.0a0/tests/mcp_channel/__init__.py +0 -0
  159. ghoshell_moss-0.1.0a0/tests/mcp_channel/helper/__init__.py +0 -0
  160. ghoshell_moss-0.1.0a0/tests/mcp_channel/helper/mcp_server_demo.py +0 -53
  161. ghoshell_moss-0.1.0a0/tests/mcp_channel/test_mcp_channel.py +0 -132
  162. ghoshell_moss-0.1.0a0/tests/prototypes/__init__.py +0 -0
  163. ghoshell_moss-0.1.0a0/tests/prototypes/test_robot_v1.py +0 -114
  164. ghoshell_moss-0.1.0a0/tests/py_feats/__init__.py +0 -0
  165. ghoshell_moss-0.1.0a0/tests/py_feats/test_func.py +0 -16
  166. ghoshell_moss-0.1.0a0/tests/redis_channel/__init__.py +0 -0
  167. ghoshell_moss-0.1.0a0/tests/shell/__init__.py +0 -0
  168. ghoshell_moss-0.1.0a0/tests/shell/test_channel_runtime.py +0 -63
  169. ghoshell_moss-0.1.0a0/tests/shell/test_shell_channel_messages.py +0 -46
  170. ghoshell_moss-0.1.0a0/tests/shell/test_shell_command_call.py +0 -256
  171. ghoshell_moss-0.1.0a0/tests/shell/test_shell_parse.py +0 -25
  172. ghoshell_moss-0.1.0a0/tests/shell/test_shell_state_store.py +0 -102
  173. ghoshell_moss-0.1.0a0/tests/speech/test_mock.py +0 -41
  174. ghoshell_moss-0.1.0a0/tests/test_libs/__init__.py +0 -0
  175. ghoshell_moss-0.1.0a0/tests/ws_channel/__init__.py +0 -0
  176. ghoshell_moss-0.1.0a0/tests/zmq_channel/__init__.py +0 -0
  177. {ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib → ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/concepts}/__init__.py +0 -0
  178. /ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/channels/__init__.py → /ghoshell_moss-0.1.0.dev0/src/ghoshell_moss/concepts/ctml_prompt.md +0 -0
  179. {ghoshell_moss-0.1.0a0/src/ghoshell_moss_contrib/gui → ghoshell_moss-0.1.0.dev0/tests/async_cases}/__init__.py +0 -0
  180. {ghoshell_moss-0.1.0a0/tests → ghoshell_moss-0.1.0.dev0/tests/channels}/__init__.py +0 -0
  181. {ghoshell_moss-0.1.0a0/tests/agent → ghoshell_moss-0.1.0.dev0/tests/concepts}/__init__.py +0 -0
  182. {ghoshell_moss-0.1.0a0/tests/async_cases → ghoshell_moss-0.1.0.dev0/tests/helpers}/__init__.py +0 -0
  183. {ghoshell_moss-0.1.0a0/tests/channels → ghoshell_moss-0.1.0.dev0/tests/py_feats}/__init__.py +0 -0
  184. {ghoshell_moss-0.1.0a0 → ghoshell_moss-0.1.0.dev0}/tests/py_feats/test_slice.py +0 -0
  185. {ghoshell_moss-0.1.0a0/tests/concepts → ghoshell_moss-0.1.0.dev0/tests/test_libs}/__init__.py +0 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 ghost-in-moss
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.
@@ -0,0 +1,39 @@
1
+ Metadata-Version: 2.1
2
+ Name: ghoshell-moss
3
+ Version: 0.1.0.dev0
4
+ Summary: LLM-oriented operating system shell, providing interpreter for llm to control everything
5
+ Author: thirdgerb, 17wang
6
+ License: MIT
7
+ Requires-Python: >=3.10
8
+ Requires-Dist: ghoshell-common>=0.4.0.dev1
9
+ Requires-Dist: ghoshell-container>=0.3.0.dev1
10
+ Requires-Dist: numpy>=2.2.6
11
+ Requires-Dist: click>=8.3.0
12
+ Provides-Extra: zmq
13
+ Requires-Dist: zmq>=0.0.0; extra == "zmq"
14
+ Requires-Dist: aiozmq>=1.0.0; extra == "zmq"
15
+ Provides-Extra: mcp
16
+ Requires-Dist: mcp[cli]>=1.17.0; extra == "mcp"
17
+ Provides-Extra: wss
18
+ Requires-Dist: fastapi>=0.121.1; extra == "wss"
19
+ Requires-Dist: websockets>=15.0.1; extra == "wss"
20
+ Requires-Dist: uvicorn>=0.37.0; extra == "wss"
21
+ Provides-Extra: redis
22
+ Requires-Dist: fakeredis>=2.32.1; extra == "redis"
23
+ Requires-Dist: redis>=7.0.1; extra == "redis"
24
+ Description-Content-Type: text/markdown
25
+
26
+ # MOSShell
27
+
28
+ `MOSShell` (Model-Operated System Shell) is a Bash-like shell not for humans, but for AI models:
29
+ a dedicated runtime that translates model reasoning into structured,
30
+ executable commands for real-time tool and robot coordination.
31
+
32
+ In short, MOSShell does:
33
+
34
+ * `Present`: Presents function's source code directly as model-readable prompts.
35
+ * `Parse`: Requires and parses the model's structured `CTML` (Command Token Marked Language) output stream.
36
+ * `Execute`: Schedules and executes commands under a synchronous-blocking (same-channel) or asynchronous-parallel (
37
+ cross-channel) strategy for streaming execution.
38
+
39
+ This allows the model to not just think, but act in real-time, providing a foundational layer for building Embodied AI.
@@ -0,0 +1,14 @@
1
+ # MOSShell
2
+
3
+ `MOSShell` (Model-Operated System Shell) is a Bash-like shell not for humans, but for AI models:
4
+ a dedicated runtime that translates model reasoning into structured,
5
+ executable commands for real-time tool and robot coordination.
6
+
7
+ In short, MOSShell does:
8
+
9
+ * `Present`: Presents function's source code directly as model-readable prompts.
10
+ * `Parse`: Requires and parses the model's structured `CTML` (Command Token Marked Language) output stream.
11
+ * `Execute`: Schedules and executes commands under a synchronous-blocking (same-channel) or asynchronous-parallel (
12
+ cross-channel) strategy for streaming execution.
13
+
14
+ This allows the model to not just think, but act in real-time, providing a foundational layer for building Embodied AI.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ghoshell-moss"
3
- version = "0.1.0-alpha"
3
+ version = "0.1.0-dev"
4
4
  description = "LLM-oriented operating system shell, providing interpreter for llm to control everything"
5
5
  authors = [
6
6
  { name = "thirdgerb" },
@@ -9,58 +9,41 @@ authors = [
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
11
11
  dependencies = [
12
- "ghoshell-common>=0.5.0",
13
- "ghoshell-container>=0.3.1",
14
- "openai>=2.8.1",
15
- "pillow>=12.1.0",
16
- "python-frontmatter>=1.1.0",
12
+ "ghoshell-common>=0.4.0.dev1",
13
+ "ghoshell-container>=0.3.0.dev1",
14
+ "numpy>=2.2.6",
15
+ "click>=8.3.0",
17
16
  ]
18
17
 
19
18
  [project.license]
20
- text = "Apache License 2.0"
19
+ text = "MIT"
21
20
 
22
21
  [project.optional-dependencies]
23
22
  zmq = [
24
23
  "zmq>=0.0.0",
25
24
  "aiozmq>=1.0.0",
26
- "psutil>=7.2.1",
27
25
  ]
28
26
  mcp = [
29
27
  "mcp[cli]>=1.17.0",
30
28
  ]
31
29
  wss = [
30
+ "fastapi>=0.121.1",
32
31
  "websockets>=15.0.1",
32
+ "uvicorn>=0.37.0",
33
33
  ]
34
34
  redis = [
35
35
  "fakeredis>=2.32.1",
36
36
  "redis>=7.0.1",
37
37
  ]
38
- audio = [
39
- "pulsectl>=24.12.0",
40
- "pyaudio>=0.2.14",
41
- "scipy>=1.15.3",
42
- ]
43
- contrib = [
44
- "litellm>=1.78.5",
45
- "live2d-py>=0.5.4,<0.6.0",
46
- "mermaid-py>=0.8.1",
47
- "mss>=10.1.0",
48
- "prompt-toolkit>=3.0.52",
49
- "pygame>=2.6.1",
50
- "pyqt6>=6.10.2",
51
- "python-mpv-jsonipc>=1.2.1",
52
- "rich>=14.2.0",
53
- "javascript>=1!1.2.6",
54
- "opencv-python>=4.13.0.92",
55
- "loadenv>=0.1.1",
56
- "pymupdf>=1.27.1",
57
- ]
58
38
 
59
39
  [tool.setuptools]
60
40
  packages = [
61
- "src",
41
+ { include = "src" },
62
42
  ]
63
43
 
44
+ [tool.pytest.ini_options]
45
+ asyncio_default_fixture_loop_scope = "function"
46
+
64
47
  [tool.pdm.build]
65
48
  includes = []
66
49
 
@@ -72,13 +55,7 @@ build-backend = "pdm.backend"
72
55
 
73
56
  [dependency-groups]
74
57
  dev = [
75
- "ruff>=0.15.0",
76
58
  "pytest>=8.3.5",
77
59
  "pytest-asyncio>=1.1.0",
78
60
  "anyio>=4.10.0",
79
- "mcp>=1.21.0",
80
- "fastapi>=0.121.1",
81
- "uvicorn>=0.37.0",
82
- "mdformat>=1.0.0",
83
- "mdformat-gfm>=1.0.0",
84
61
  ]
@@ -0,0 +1,42 @@
1
+ from ghoshell_moss.concepts.command import (
2
+ CommandToken, CommandTokenType,
3
+ Command, CommandMeta, PyCommand,
4
+ CommandTaskState, CommandTaskStateType,
5
+ CommandTask, BaseCommandTask,
6
+ CommandTaskStack,
7
+ )
8
+
9
+ from ghoshell_moss.concepts.errors import (
10
+ CommandError,
11
+ CommandErrorCode,
12
+ FatalError,
13
+ InterpretError,
14
+ )
15
+
16
+ from ghoshell_moss.concepts.channel import (
17
+ Channel,
18
+ ChannelMeta,
19
+ ChannelBroker,
20
+ ChannelProvider,
21
+ ChannelFullPath,
22
+ ChannelPaths,
23
+ )
24
+
25
+ from ghoshell_moss.concepts.speech import (
26
+ Speech,
27
+ SpeechStream,
28
+ )
29
+
30
+ from ghoshell_moss.concepts.interpreter import (
31
+ Interpreter,
32
+ CommandTokenParser,
33
+ CommandTaskParserElement,
34
+ )
35
+
36
+ from ghoshell_moss.concepts.shell import (
37
+ MOSSShell,
38
+ )
39
+
40
+ from ghoshell_moss.channels import (
41
+ PyChannel, PyChannelBuilder, PyChannelBroker
42
+ )
@@ -0,0 +1 @@
1
+ from ghoshell_moss.channels.py_channel import PyChannel, PyChannelBuilder, PyChannelBroker
@@ -0,0 +1,4 @@
1
+ from ghoshell_moss.channels.duplex.connection import *
2
+ from ghoshell_moss.channels.duplex.client import *
3
+ from ghoshell_moss.channels.duplex.server import *
4
+ from ghoshell_moss.channels.duplex.protocol import *