MeowCat 1.2.35__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 (188) hide show
  1. meowcat-1.2.35/.github/workflows/ci.yml +54 -0
  2. meowcat-1.2.35/.github/workflows/release.yml +22 -0
  3. meowcat-1.2.35/.gitignore +31 -0
  4. meowcat-1.2.35/CATALOG.md +808 -0
  5. meowcat-1.2.35/LICENSE +21 -0
  6. meowcat-1.2.35/PKG-INFO +17 -0
  7. meowcat-1.2.35/README.md +401 -0
  8. meowcat-1.2.35/README_CN.md +397 -0
  9. meowcat-1.2.35/meowcat/__init__.py +40 -0
  10. meowcat-1.2.35/meowcat/__main__.py +82 -0
  11. meowcat-1.2.35/meowcat/_exports.py +584 -0
  12. meowcat-1.2.35/meowcat/adapters/__init__.py +62 -0
  13. meowcat-1.2.35/meowcat/adapters/base.py +106 -0
  14. meowcat-1.2.35/meowcat/adapters/brain.py +467 -0
  15. meowcat-1.2.35/meowcat/adapters/sense.py +142 -0
  16. meowcat-1.2.35/meowcat/adapters/voice.py +44 -0
  17. meowcat-1.2.35/meowcat/anatomy.py +139 -0
  18. meowcat-1.2.35/meowcat/assembly.py +949 -0
  19. meowcat-1.2.35/meowcat/biology/__init__.py +491 -0
  20. meowcat-1.2.35/meowcat/biology/active_growth.py +368 -0
  21. meowcat-1.2.35/meowcat/biology/active_growth_pack.py +83 -0
  22. meowcat-1.2.35/meowcat/biology/cat_self.py +676 -0
  23. meowcat-1.2.35/meowcat/biology/cortex.py +288 -0
  24. meowcat-1.2.35/meowcat/biology/fusion_cycle.py +112 -0
  25. meowcat-1.2.35/meowcat/biology/growth.py +213 -0
  26. meowcat-1.2.35/meowcat/biology/metacognition.py +187 -0
  27. meowcat-1.2.35/meowcat/biology/pineal_gland.py +435 -0
  28. meowcat-1.2.35/meowcat/biology/roles.py +213 -0
  29. meowcat-1.2.35/meowcat/biology/scribble_pad.py +209 -0
  30. meowcat-1.2.35/meowcat/chain.py +214 -0
  31. meowcat-1.2.35/meowcat/cli/__init__.py +30 -0
  32. meowcat-1.2.35/meowcat/cli/app.py +80 -0
  33. meowcat-1.2.35/meowcat/cli/commands.py +379 -0
  34. meowcat-1.2.35/meowcat/cli/i18n.py +144 -0
  35. meowcat-1.2.35/meowcat/cli/locales/en.json +80 -0
  36. meowcat-1.2.35/meowcat/cli/locales/zh.json +80 -0
  37. meowcat-1.2.35/meowcat/cli/router.py +152 -0
  38. meowcat-1.2.35/meowcat/cli/theme.py +114 -0
  39. meowcat-1.2.35/meowcat/colony/__init__.py +976 -0
  40. meowcat-1.2.35/meowcat/colony/config.py +34 -0
  41. meowcat-1.2.35/meowcat/colony/federation.py +236 -0
  42. meowcat-1.2.35/meowcat/colony/memory.py +210 -0
  43. meowcat-1.2.35/meowcat/colony/registry.py +188 -0
  44. meowcat-1.2.35/meowcat/colony/rules.py +58 -0
  45. meowcat-1.2.35/meowcat/colony_transports.py +396 -0
  46. meowcat-1.2.35/meowcat/constants.py +76 -0
  47. meowcat-1.2.35/meowcat/coordination.py +213 -0
  48. meowcat-1.2.35/meowcat/defaults/__init__.py +110 -0
  49. meowcat-1.2.35/meowcat/defaults/factory.py +323 -0
  50. meowcat-1.2.35/meowcat/defaults/organs.py +1057 -0
  51. meowcat-1.2.35/meowcat/defaults/presets.py +290 -0
  52. meowcat-1.2.35/meowcat/defaults/renovated.py +974 -0
  53. meowcat-1.2.35/meowcat/defaults/stages.py +110 -0
  54. meowcat-1.2.35/meowcat/defaults/stores.py +177 -0
  55. meowcat-1.2.35/meowcat/diagnose.py +209 -0
  56. meowcat-1.2.35/meowcat/errors.py +189 -0
  57. meowcat-1.2.35/meowcat/events.py +381 -0
  58. meowcat-1.2.35/meowcat/events_payloads.py +296 -0
  59. meowcat-1.2.35/meowcat/examples/01_organ_host_only.py +50 -0
  60. meowcat-1.2.35/meowcat/examples/02_wiring_validation.py +44 -0
  61. meowcat-1.2.35/meowcat/examples/03_event_bus_only.py +41 -0
  62. meowcat-1.2.35/meowcat/examples/04_custom_cat.py +81 -0
  63. meowcat-1.2.35/meowcat/examples/05_minimal_chat_cat.py +117 -0
  64. meowcat-1.2.35/meowcat/examples/06_custom_organ.py +62 -0
  65. meowcat-1.2.35/meowcat/examples/07_custom_organ.py +134 -0
  66. meowcat-1.2.35/meowcat/examples/__init__.py +8 -0
  67. meowcat-1.2.35/meowcat/gateway/__init__.py +117 -0
  68. meowcat-1.2.35/meowcat/gateway/protocol.py +109 -0
  69. meowcat-1.2.35/meowcat/host.py +112 -0
  70. meowcat-1.2.35/meowcat/inject.py +129 -0
  71. meowcat-1.2.35/meowcat/log.py +90 -0
  72. meowcat-1.2.35/meowcat/loops.py +462 -0
  73. meowcat-1.2.35/meowcat/middleware.py +153 -0
  74. meowcat-1.2.35/meowcat/models.py +368 -0
  75. meowcat-1.2.35/meowcat/nervous.py +484 -0
  76. meowcat-1.2.35/meowcat/organ_base.py +110 -0
  77. meowcat-1.2.35/meowcat/organ_roles.py +67 -0
  78. meowcat-1.2.35/meowcat/path.py +263 -0
  79. meowcat-1.2.35/meowcat/perception.py +125 -0
  80. meowcat-1.2.35/meowcat/pipeline.py +54 -0
  81. meowcat-1.2.35/meowcat/pluggable.py +157 -0
  82. meowcat-1.2.35/meowcat/plus/__init__.py +42 -0
  83. meowcat-1.2.35/meowcat/plus/browser.py +251 -0
  84. meowcat-1.2.35/meowcat/plus/chroma_store.py +197 -0
  85. meowcat-1.2.35/meowcat/plus/crystallizer.py +227 -0
  86. meowcat-1.2.35/meowcat/plus/gateway/__init__.py +27 -0
  87. meowcat-1.2.35/meowcat/plus/gateway/cli_adapter.py +136 -0
  88. meowcat-1.2.35/meowcat/plus/gateway/http_adapter.py +184 -0
  89. meowcat-1.2.35/meowcat/plus/gateway/ipc_adapter.py +144 -0
  90. meowcat-1.2.35/meowcat/plus/gateway/webhook_adapter.py +183 -0
  91. meowcat-1.2.35/meowcat/plus/gateway/ws_adapter.py +274 -0
  92. meowcat-1.2.35/meowcat/plus/mcp_client.py +351 -0
  93. meowcat-1.2.35/meowcat/plus/skill_loader.py +214 -0
  94. meowcat-1.2.35/meowcat/plus/tools/__init__.py +22 -0
  95. meowcat-1.2.35/meowcat/plus/tools/command.py +75 -0
  96. meowcat-1.2.35/meowcat/plus/tools/file_ops.py +127 -0
  97. meowcat-1.2.35/meowcat/plus/tools/http_client.py +42 -0
  98. meowcat-1.2.35/meowcat/protocols.py +263 -0
  99. meowcat-1.2.35/meowcat/protocols_brain.py +359 -0
  100. meowcat-1.2.35/meowcat/protocols_sense.py +108 -0
  101. meowcat-1.2.35/meowcat/protocols_storage.py +131 -0
  102. meowcat-1.2.35/meowcat/protocols_voice.py +68 -0
  103. meowcat-1.2.35/meowcat/py.typed +0 -0
  104. meowcat-1.2.35/meowcat/reflex.py +307 -0
  105. meowcat-1.2.35/meowcat/storage/__init__.py +69 -0
  106. meowcat-1.2.35/meowcat/storage/jsonl_l6_store.py +87 -0
  107. meowcat-1.2.35/meowcat/storage/sqlite_graph_store.py +76 -0
  108. meowcat-1.2.35/meowcat/storage/vector_store.py +209 -0
  109. meowcat-1.2.35/meowcat/telemetry.py +193 -0
  110. meowcat-1.2.35/meowcat/testing.py +22 -0
  111. meowcat-1.2.35/meowcat/tools/__init__.py +64 -0
  112. meowcat-1.2.35/meowcat/tools/matcher.py +167 -0
  113. meowcat-1.2.35/meowcat/tools/paws.py +173 -0
  114. meowcat-1.2.35/meowcat/tools/skill.py +189 -0
  115. meowcat-1.2.35/meowcat/tools/tool.py +220 -0
  116. meowcat-1.2.35/meowcat/utils/__init__.py +14 -0
  117. meowcat-1.2.35/meowcat/utils/http.py +98 -0
  118. meowcat-1.2.35/meowcat/wiring.py +194 -0
  119. meowcat-1.2.35/meowcat/worker/__init__.py +288 -0
  120. meowcat-1.2.35/meowcat/worker/scheduler.py +175 -0
  121. meowcat-1.2.35/pyproject.toml +30 -0
  122. meowcat-1.2.35/tests/__init__.py +0 -0
  123. meowcat-1.2.35/tests/conftest.py +16 -0
  124. meowcat-1.2.35/tests/test_assembly.py +392 -0
  125. meowcat-1.2.35/tests/test_biology.py +102 -0
  126. meowcat-1.2.35/tests/test_core.py +228 -0
  127. meowcat-1.2.35/tests/test_models.py +287 -0
  128. meowcat-1.2.35/tests/test_protocols.py +238 -0
  129. meowcat-1.2.35/tests/test_reflex.py +190 -0
  130. meowcat-1.2.35/tests/test_v051_biology.py +117 -0
  131. meowcat-1.2.35/tests/test_v051_protocol_checked.py +320 -0
  132. meowcat-1.2.35/tests/test_v051_reflex.py +264 -0
  133. meowcat-1.2.35/tests/test_v051_wiring.py +198 -0
  134. meowcat-1.2.35/tests/test_v0522_primitives.py +312 -0
  135. meowcat-1.2.35/tests/test_v059_backward_compat.py +104 -0
  136. meowcat-1.2.35/tests/test_v059_cat_disabled.py +57 -0
  137. meowcat-1.2.35/tests/test_v059_host_only.py +86 -0
  138. meowcat-1.2.35/tests/test_v059_nervous_only.py +97 -0
  139. meowcat-1.2.35/tests/test_v059_reflex_arc.py +68 -0
  140. meowcat-1.2.35/tests/test_v1010_gateway.py +1001 -0
  141. meowcat-1.2.35/tests/test_v1011_synthesize_path.py +152 -0
  142. meowcat-1.2.35/tests/test_v1012_colony_federation.py +427 -0
  143. meowcat-1.2.35/tests/test_v1013_middleware.py +573 -0
  144. meowcat-1.2.35/tests/test_v1014_lifecycle_hooks.py +291 -0
  145. meowcat-1.2.35/tests/test_v1015_workflow.py +516 -0
  146. meowcat-1.2.35/tests/test_v1017_stages.py +101 -0
  147. meowcat-1.2.35/tests/test_v1018_reflex_security.py +68 -0
  148. meowcat-1.2.35/tests/test_v101_cat_isolation.py +130 -0
  149. meowcat-1.2.35/tests/test_v101_cat_permissions.py +174 -0
  150. meowcat-1.2.35/tests/test_v102_colony.py +392 -0
  151. meowcat-1.2.35/tests/test_v103_chain_rollback.py +290 -0
  152. meowcat-1.2.35/tests/test_v103_wiring_viz.py +152 -0
  153. meowcat-1.2.35/tests/test_v104_loopseq.py +454 -0
  154. meowcat-1.2.35/tests/test_v107_pluggable.py +495 -0
  155. meowcat-1.2.35/tests/test_v109_facade.py +383 -0
  156. meowcat-1.2.35/tests/test_v1107_group_chat.py +310 -0
  157. meowcat-1.2.35/tests/test_v1108_unified_entry.py +255 -0
  158. meowcat-1.2.35/tests/test_v1110_command_router.py +353 -0
  159. meowcat-1.2.35/tests/test_v1114_mcp_client.py +356 -0
  160. meowcat-1.2.35/tests/test_v1117_crystallizer.py +143 -0
  161. meowcat-1.2.35/tests/test_v1118_shared_store_log.py +153 -0
  162. meowcat-1.2.35/tests/test_v1119_persistent_storage.py +145 -0
  163. meowcat-1.2.35/tests/test_v1120_vector_memory.py +200 -0
  164. meowcat-1.2.35/tests/test_v1121_collective_intelligence.py +258 -0
  165. meowcat-1.2.35/tests/test_v1122_collective_growth.py +359 -0
  166. meowcat-1.2.35/tests/test_v1123_scribble_pad.py +249 -0
  167. meowcat-1.2.35/tests/test_v1124_pineal_gland.py +517 -0
  168. meowcat-1.2.35/tests/test_v1125_crystallizer_l2l3_cortex.py +339 -0
  169. meowcat-1.2.35/tests/test_v1126_active_growth.py +438 -0
  170. meowcat-1.2.35/tests/test_v1127_worldview_l2l3.py +263 -0
  171. meowcat-1.2.35/tests/test_v1128_global_registry.py +268 -0
  172. meowcat-1.2.35/tests/test_v1129_skeleton.py +424 -0
  173. meowcat-1.2.35/tests/test_v115_llm_shelf.py +301 -0
  174. meowcat-1.2.35/tests/test_v116_shared_area.py +315 -0
  175. meowcat-1.2.35/tests/test_v119_i18n.py +266 -0
  176. meowcat-1.2.35/tests/test_v120_cat_self.py +426 -0
  177. meowcat-1.2.35/tests/test_v1214_adapters.py +599 -0
  178. meowcat-1.2.35/tests/test_v1218_event_safety.py +261 -0
  179. meowcat-1.2.35/tests/test_v1219_circuit_breaker.py +288 -0
  180. meowcat-1.2.35/tests/test_v1220_bridge.py +237 -0
  181. meowcat-1.2.35/tests/test_v1221_telemetry.py +349 -0
  182. meowcat-1.2.35/tests/test_v1235_framework_fixes.py +212 -0
  183. meowcat-1.2.35/tests/test_v510_builtin_equivalence.py +156 -0
  184. meowcat-1.2.35/tests/test_v510_organ_spec.py +175 -0
  185. meowcat-1.2.35/tests/test_v527_path_registry.py +261 -0
  186. meowcat-1.2.35/tests/test_v528a_chain.py +331 -0
  187. meowcat-1.2.35/tests/test_v528b_loop.py +486 -0
  188. meowcat-1.2.35/tests/test_wiring.py +169 -0
@@ -0,0 +1,54 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ paths-ignore: ["docs/**", "**.md"]
7
+ pull_request:
8
+ branches: [main]
9
+
10
+ env:
11
+ FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
12
+
13
+ jobs:
14
+ test:
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ matrix:
18
+ python-version: ["3.12", "3.13"]
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ - uses: actions/setup-python@v5
22
+ with:
23
+ python-version: ${{ matrix.python-version }}
24
+ - run: pip install -e ".[dev]"
25
+ - run: pytest tests/ -q --tb=short
26
+
27
+ purity:
28
+ runs-on: ubuntu-latest
29
+ steps:
30
+ - uses: actions/checkout@v4
31
+ - uses: actions/setup-python@v5
32
+ with:
33
+ python-version: "3.12"
34
+ - run: pip install -e .
35
+ - name: 零 meowagent 依赖检查
36
+ run: |
37
+ python -c "import meowcat; print('meowcat', meowcat.__version__)"
38
+ python -c "
39
+ import ast, os, pathlib
40
+ bad = []
41
+ for f in pathlib.Path('meowcat').rglob('*.py'):
42
+ try:
43
+ tree = ast.parse(f.read_text())
44
+ except SyntaxError:
45
+ continue
46
+ for node in ast.walk(tree):
47
+ if isinstance(node, ast.Import) and any('meowagent' in a.name for a in node.names):
48
+ bad.append(str(f))
49
+ elif isinstance(node, ast.ImportFrom) and node.module and 'meowagent' in node.module:
50
+ bad.append(str(f))
51
+ if bad:
52
+ raise SystemExit(f'FATAL: meowcat imports meowagent in: {bad}')
53
+ print('Purity check PASSED')
54
+ "
@@ -0,0 +1,22 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags: ["v*"]
6
+
7
+ env:
8
+ FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
9
+
10
+ jobs:
11
+ pypi:
12
+ runs-on: ubuntu-latest
13
+ permissions:
14
+ id-token: write
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - uses: actions/setup-python@v5
18
+ with:
19
+ python-version: "3.11"
20
+ - run: pip install build
21
+ - run: python -m build
22
+ - uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,31 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ *.egg-info/
7
+ dist/
8
+ build/
9
+ *.egg
10
+
11
+ # Virtual env
12
+ .venv/
13
+ venv/
14
+
15
+ # IDE
16
+ .idea/
17
+ .vscode/
18
+ *.swp
19
+ *.swo
20
+
21
+ # OS
22
+ .DS_Store
23
+ Thumbs.db
24
+
25
+ # Local
26
+ .env
27
+ *.log
28
+ .history/
29
+ .opencode/
30
+ .qoder/
31
+ docs/