cluxion-agentplugin-preprocessing 0.2.0__tar.gz → 0.3.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 (86) hide show
  1. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/PKG-INFO +10 -2
  2. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/README.md +6 -1
  3. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/pyproject.toml +5 -2
  4. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/rust/cluxion_queue/Cargo.lock +338 -0
  5. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/rust/cluxion_queue/Cargo.toml +11 -1
  6. cluxion_agentplugin_preprocessing-0.3.0/rust/cluxion_queue/pyproject.toml +15 -0
  7. cluxion_agentplugin_preprocessing-0.3.0/rust/cluxion_queue/src/context.rs +377 -0
  8. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/rust/cluxion_queue/src/dispatch.rs +23 -7
  9. cluxion_agentplugin_preprocessing-0.3.0/rust/cluxion_queue/src/guard.rs +265 -0
  10. cluxion_agentplugin_preprocessing-0.3.0/rust/cluxion_queue/src/lib.rs +87 -0
  11. cluxion_agentplugin_preprocessing-0.3.0/rust/cluxion_queue/src/main.rs +61 -0
  12. cluxion_agentplugin_preprocessing-0.3.0/rust/cluxion_queue/src/queue.rs +192 -0
  13. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/rust/cluxion_queue/src/types.rs +1 -1
  14. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_agentplugin_preprocessing/__init__.py +4 -4
  15. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_agentplugin_preprocessing/cli.py +3 -3
  16. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_agentplugin_preprocessing/hermes_config.py +12 -6
  17. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_agentplugin_preprocessing/plugin.py +98 -3
  18. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_agentplugin_preprocessing/runner.py +121 -16
  19. cluxion_agentplugin_preprocessing-0.3.0/src/cluxion_agentplugin_preprocessing/schemas.py +374 -0
  20. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/__init__.py +2 -2
  21. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/__main__.py +1 -1
  22. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/adapters/__init__.py +2 -2
  23. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/adapters/contract.py +6 -6
  24. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/adapters/grok_build.py +5 -5
  25. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/adapters/hermes.py +13 -13
  26. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/adapters/spec.py +10 -6
  27. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/cli.py +113 -14
  28. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/core/__init__.py +2 -2
  29. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/core/clarification.py +92 -39
  30. cluxion_agentplugin_preprocessing-0.3.0/src/cluxion_runtime/core/context_compress.py +254 -0
  31. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/core/dispatch_store.py +10 -10
  32. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/core/harness.py +3 -3
  33. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/core/intent.py +8 -4
  34. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/core/ledger.py +16 -14
  35. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/core/ledger_codec.py +4 -4
  36. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/core/plan_codec.py +3 -3
  37. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/core/preprocess.py +6 -4
  38. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/core/types.py +15 -15
  39. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/core/work_queue.py +9 -9
  40. cluxion_agentplugin_preprocessing-0.3.0/src/cluxion_runtime/guard_daemon_host.py +28 -0
  41. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/models/__init__.py +2 -2
  42. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/models/supervisor.py +11 -11
  43. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/models/vllm_mlx.py +7 -7
  44. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/resources/__init__.py +2 -2
  45. cluxion_agentplugin_preprocessing-0.3.0/src/cluxion_runtime/resources/guard_bridge.py +489 -0
  46. cluxion_agentplugin_preprocessing-0.3.0/src/cluxion_runtime/resources/py_queue.py +298 -0
  47. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/resources/queue_bridge.py +80 -9
  48. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/resources/rust_bridge.py +42 -8
  49. cluxion_agentplugin_preprocessing-0.3.0/src/cluxion_runtime/web/__init__.py +19 -0
  50. cluxion_agentplugin_preprocessing-0.3.0/src/cluxion_runtime/web/browser_bridge.py +413 -0
  51. cluxion_agentplugin_preprocessing-0.3.0/tests/runtime/test_browser_bridge.py +185 -0
  52. cluxion_agentplugin_preprocessing-0.3.0/tests/runtime/test_clarification.py +70 -0
  53. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/tests/runtime/test_cluxion_runtime_spine.py +20 -20
  54. cluxion_agentplugin_preprocessing-0.3.0/tests/runtime/test_context_compress.py +122 -0
  55. cluxion_agentplugin_preprocessing-0.3.0/tests/runtime/test_contract.py +67 -0
  56. cluxion_agentplugin_preprocessing-0.3.0/tests/runtime/test_dispatch_store.py +124 -0
  57. cluxion_agentplugin_preprocessing-0.3.0/tests/runtime/test_guard.py +346 -0
  58. cluxion_agentplugin_preprocessing-0.3.0/tests/runtime/test_ledger.py +137 -0
  59. cluxion_agentplugin_preprocessing-0.3.0/tests/runtime/test_queue_backends.py +114 -0
  60. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/tests/runtime/test_runtime_adapter_cli.py +15 -11
  61. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/tests/runtime/test_rust_queue.py +3 -17
  62. cluxion_agentplugin_preprocessing-0.3.0/tests/runtime/test_supervisor.py +121 -0
  63. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/tests/test_plugin.py +7 -0
  64. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/tests/test_runner.py +13 -3
  65. cluxion_agentplugin_preprocessing-0.2.0/rust/cluxion_queue/src/main.rs +0 -68
  66. cluxion_agentplugin_preprocessing-0.2.0/rust/cluxion_queue/src/queue.rs +0 -165
  67. cluxion_agentplugin_preprocessing-0.2.0/src/cluxion_agentplugin_preprocessing/schemas.py +0 -148
  68. cluxion_agentplugin_preprocessing-0.2.0/tests/runtime/test_clarification.py +0 -30
  69. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/.github/profile/README.md +0 -0
  70. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/.gitignore +0 -0
  71. {cluxion_agentplugin_preprocessing-0.2.0/docs → cluxion_agentplugin_preprocessing-0.3.0/Docs}/README.md +0 -0
  72. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/LICENSE +0 -0
  73. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/adapters/claude/.claude-plugin/plugin.json +0 -0
  74. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/adapters/claude/skills/preprocess/SKILL.md +0 -0
  75. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/adapters/codex/config-snippet.toml +0 -0
  76. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/cluxion-Docs/README.md +0 -0
  77. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/cluxion-Docs/architecture.md +0 -0
  78. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/cluxion-Docs/harness-logic.md +0 -0
  79. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/cluxion-Docs/honesty-preprocessing.md +0 -0
  80. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/cluxion-Docs/install-and-operations.md +0 -0
  81. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/cluxion-Docs/security.md +0 -0
  82. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_agentplugin_preprocessing/plugin.yaml +0 -0
  83. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/src/cluxion_runtime/bootstrap.py +2 -2
  84. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/tests/test_bootstrap.py +0 -0
  85. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/tests/test_hermes_config.py +0 -0
  86. {cluxion_agentplugin_preprocessing-0.2.0 → cluxion_agentplugin_preprocessing-0.3.0}/tests/test_packaging_policy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cluxion-agentplugin-preprocessing
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: Universal agent plugin for Cluxion preprocessing, honesty contracts, clarification, Rust work queue, and resource-aware harness handoff.
5
5
  Project-URL: Homepage, https://github.com/cluxion/cluxion-Agentplugin-preprocessing
6
6
  Project-URL: Repository, https://github.com/cluxion/cluxion-Agentplugin-preprocessing
@@ -20,11 +20,14 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
20
  Requires-Python: >=3.11
21
21
  Requires-Dist: psutil>=5.9
22
22
  Requires-Dist: pyyaml>=6.0
23
+ Provides-Extra: browser
24
+ Requires-Dist: playwright>=1.49; extra == 'browser'
23
25
  Provides-Extra: dev
24
26
  Requires-Dist: build>=1.2; extra == 'dev'
25
27
  Requires-Dist: pytest>=8.0; extra == 'dev'
26
28
  Requires-Dist: ruff>=0.8; extra == 'dev'
27
29
  Requires-Dist: twine>=6.0; extra == 'dev'
30
+ Requires-Dist: wheel>=0.45; extra == 'dev'
28
31
  Description-Content-Type: text/markdown
29
32
 
30
33
  # cluxion-Agentplugin-preprocessing
@@ -92,13 +95,18 @@ cluxion-preprocess enable # Hermes
92
95
  cluxion-runtime plan --surface hermes --prompt "작업 설명"
93
96
  ```
94
97
 
95
- ## 도구 (`cluxion` toolset)
98
+ ## 도구 (`cluxion` toolset, 10 tools)
96
99
 
97
100
  | Tool | 설명 |
98
101
  |------|------|
99
102
  | `cluxion_plan` | 전처리·방향·큐·리소스 계획 |
100
103
  | `cluxion_clarify` | 명확화 질문 목록 |
104
+ | `cluxion_bootstrap` | 로컬 runtime 의존성 설치/업그레이드 (예: vllm-mlx) |
105
+ | `cluxion_serve_local` | Cluxion-managed vLLM-MLX 로컬 endpoint 준비/시작 |
106
+ | `cluxion_hermes_config` | 로컬 OpenAI-compatible endpoint용 Hermes provider config |
101
107
  | `cluxion_queue_next` / `record` / `brief` | segment 큐 |
108
+ | `cluxion_context_compress` | context 사용률 초과 시 결정론적 압축 (pinned/recent 보존) |
109
+ | `cluxion_guard` | 실시간 리소스 guard (`status`/`start`/`stop`/`enforce`/`auto-enforce`) |
102
110
 
103
111
  ## 문서
104
112
 
@@ -63,13 +63,18 @@ cluxion-preprocess enable # Hermes
63
63
  cluxion-runtime plan --surface hermes --prompt "작업 설명"
64
64
  ```
65
65
 
66
- ## 도구 (`cluxion` toolset)
66
+ ## 도구 (`cluxion` toolset, 10 tools)
67
67
 
68
68
  | Tool | 설명 |
69
69
  |------|------|
70
70
  | `cluxion_plan` | 전처리·방향·큐·리소스 계획 |
71
71
  | `cluxion_clarify` | 명확화 질문 목록 |
72
+ | `cluxion_bootstrap` | 로컬 runtime 의존성 설치/업그레이드 (예: vllm-mlx) |
73
+ | `cluxion_serve_local` | Cluxion-managed vLLM-MLX 로컬 endpoint 준비/시작 |
74
+ | `cluxion_hermes_config` | 로컬 OpenAI-compatible endpoint용 Hermes provider config |
72
75
  | `cluxion_queue_next` / `record` / `brief` | segment 큐 |
76
+ | `cluxion_context_compress` | context 사용률 초과 시 결정론적 압축 (pinned/recent 보존) |
77
+ | `cluxion_guard` | 실시간 리소스 guard (`status`/`start`/`stop`/`enforce`/`auto-enforce`) |
73
78
 
74
79
  ## 문서
75
80
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "cluxion-agentplugin-preprocessing"
7
- version = "0.2.0"
7
+ version = "0.3.0"
8
8
  description = "Universal agent plugin for Cluxion preprocessing, honesty contracts, clarification, Rust work queue, and resource-aware harness handoff."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -37,11 +37,15 @@ dependencies = [
37
37
  ]
38
38
 
39
39
  [project.optional-dependencies]
40
+ browser = [
41
+ "playwright>=1.49",
42
+ ]
40
43
  dev = [
41
44
  "pytest>=8.0",
42
45
  "ruff>=0.8",
43
46
  "build>=1.2",
44
47
  "twine>=6.0",
48
+ "wheel>=0.45",
45
49
  ]
46
50
 
47
51
  [project.scripts]
@@ -51,7 +55,6 @@ hermes-cluxion = "cluxion_agentplugin_preprocessing.cli:main"
51
55
 
52
56
  [project.entry-points."hermes_agent.plugins"]
53
57
  cluxion-agentplugin-preprocessing = "cluxion_agentplugin_preprocessing.plugin"
54
- hermes-cluxion = "cluxion_agentplugin_preprocessing.plugin"
55
58
 
56
59
  [project.urls]
57
60
  Homepage = "https://github.com/cluxion/cluxion-Agentplugin-preprocessing"
@@ -14,6 +14,12 @@ dependencies = [
14
14
  "zerocopy",
15
15
  ]
16
16
 
17
+ [[package]]
18
+ name = "autocfg"
19
+ version = "1.5.1"
20
+ source = "registry+https://github.com/rust-lang/crates.io-index"
21
+ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
22
+
17
23
  [[package]]
18
24
  name = "bitflags"
19
25
  version = "2.13.0"
@@ -49,13 +55,21 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
49
55
  name = "cluxion_queue"
50
56
  version = "0.2.0"
51
57
  dependencies = [
58
+ "pyo3",
52
59
  "rusqlite",
53
60
  "serde",
54
61
  "serde_json",
55
62
  "sha2",
63
+ "sysinfo",
56
64
  "thiserror",
57
65
  ]
58
66
 
67
+ [[package]]
68
+ name = "core-foundation-sys"
69
+ version = "0.8.7"
70
+ source = "registry+https://github.com/rust-lang/crates.io-index"
71
+ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
72
+
59
73
  [[package]]
60
74
  name = "cpufeatures"
61
75
  version = "0.2.17"
@@ -65,6 +79,31 @@ dependencies = [
65
79
  "libc",
66
80
  ]
67
81
 
82
+ [[package]]
83
+ name = "crossbeam-deque"
84
+ version = "0.8.6"
85
+ source = "registry+https://github.com/rust-lang/crates.io-index"
86
+ checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
87
+ dependencies = [
88
+ "crossbeam-epoch",
89
+ "crossbeam-utils",
90
+ ]
91
+
92
+ [[package]]
93
+ name = "crossbeam-epoch"
94
+ version = "0.9.18"
95
+ source = "registry+https://github.com/rust-lang/crates.io-index"
96
+ checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
97
+ dependencies = [
98
+ "crossbeam-utils",
99
+ ]
100
+
101
+ [[package]]
102
+ name = "crossbeam-utils"
103
+ version = "0.8.21"
104
+ source = "registry+https://github.com/rust-lang/crates.io-index"
105
+ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
106
+
68
107
  [[package]]
69
108
  name = "crypto-common"
70
109
  version = "0.1.7"
@@ -85,6 +124,12 @@ dependencies = [
85
124
  "crypto-common",
86
125
  ]
87
126
 
127
+ [[package]]
128
+ name = "either"
129
+ version = "1.16.0"
130
+ source = "registry+https://github.com/rust-lang/crates.io-index"
131
+ checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e"
132
+
88
133
  [[package]]
89
134
  name = "fallible-iterator"
90
135
  version = "0.3.0"
@@ -131,6 +176,21 @@ dependencies = [
131
176
  "hashbrown",
132
177
  ]
133
178
 
179
+ [[package]]
180
+ name = "heck"
181
+ version = "0.5.0"
182
+ source = "registry+https://github.com/rust-lang/crates.io-index"
183
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
184
+
185
+ [[package]]
186
+ name = "indoc"
187
+ version = "2.0.7"
188
+ source = "registry+https://github.com/rust-lang/crates.io-index"
189
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
190
+ dependencies = [
191
+ "rustversion",
192
+ ]
193
+
134
194
  [[package]]
135
195
  name = "itoa"
136
196
  version = "1.0.18"
@@ -160,6 +220,24 @@ version = "2.8.1"
160
220
  source = "registry+https://github.com/rust-lang/crates.io-index"
161
221
  checksum = "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8"
162
222
 
223
+ [[package]]
224
+ name = "memoffset"
225
+ version = "0.9.1"
226
+ source = "registry+https://github.com/rust-lang/crates.io-index"
227
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
228
+ dependencies = [
229
+ "autocfg",
230
+ ]
231
+
232
+ [[package]]
233
+ name = "ntapi"
234
+ version = "0.4.3"
235
+ source = "registry+https://github.com/rust-lang/crates.io-index"
236
+ checksum = "c3b335231dfd352ffb0f8017f3b6027a4917f7df785ea2143d8af2adc66980ae"
237
+ dependencies = [
238
+ "winapi",
239
+ ]
240
+
163
241
  [[package]]
164
242
  name = "once_cell"
165
243
  version = "1.21.4"
@@ -172,6 +250,12 @@ version = "0.3.33"
172
250
  source = "registry+https://github.com/rust-lang/crates.io-index"
173
251
  checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e"
174
252
 
253
+ [[package]]
254
+ name = "portable-atomic"
255
+ version = "1.13.1"
256
+ source = "registry+https://github.com/rust-lang/crates.io-index"
257
+ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
258
+
175
259
  [[package]]
176
260
  name = "proc-macro2"
177
261
  version = "1.0.106"
@@ -181,6 +265,69 @@ dependencies = [
181
265
  "unicode-ident",
182
266
  ]
183
267
 
268
+ [[package]]
269
+ name = "pyo3"
270
+ version = "0.23.5"
271
+ source = "registry+https://github.com/rust-lang/crates.io-index"
272
+ checksum = "7778bffd85cf38175ac1f545509665d0b9b92a198ca7941f131f85f7a4f9a872"
273
+ dependencies = [
274
+ "cfg-if",
275
+ "indoc",
276
+ "libc",
277
+ "memoffset",
278
+ "once_cell",
279
+ "portable-atomic",
280
+ "pyo3-build-config",
281
+ "pyo3-ffi",
282
+ "pyo3-macros",
283
+ "unindent",
284
+ ]
285
+
286
+ [[package]]
287
+ name = "pyo3-build-config"
288
+ version = "0.23.5"
289
+ source = "registry+https://github.com/rust-lang/crates.io-index"
290
+ checksum = "94f6cbe86ef3bf18998d9df6e0f3fc1050a8c5efa409bf712e661a4366e010fb"
291
+ dependencies = [
292
+ "once_cell",
293
+ "target-lexicon",
294
+ ]
295
+
296
+ [[package]]
297
+ name = "pyo3-ffi"
298
+ version = "0.23.5"
299
+ source = "registry+https://github.com/rust-lang/crates.io-index"
300
+ checksum = "e9f1b4c431c0bb1c8fb0a338709859eed0d030ff6daa34368d3b152a63dfdd8d"
301
+ dependencies = [
302
+ "libc",
303
+ "pyo3-build-config",
304
+ ]
305
+
306
+ [[package]]
307
+ name = "pyo3-macros"
308
+ version = "0.23.5"
309
+ source = "registry+https://github.com/rust-lang/crates.io-index"
310
+ checksum = "fbc2201328f63c4710f68abdf653c89d8dbc2858b88c5d88b0ff38a75288a9da"
311
+ dependencies = [
312
+ "proc-macro2",
313
+ "pyo3-macros-backend",
314
+ "quote",
315
+ "syn",
316
+ ]
317
+
318
+ [[package]]
319
+ name = "pyo3-macros-backend"
320
+ version = "0.23.5"
321
+ source = "registry+https://github.com/rust-lang/crates.io-index"
322
+ checksum = "fca6726ad0f3da9c9de093d6f116a93c1a38e417ed73bf138472cf4064f72028"
323
+ dependencies = [
324
+ "heck",
325
+ "proc-macro2",
326
+ "pyo3-build-config",
327
+ "quote",
328
+ "syn",
329
+ ]
330
+
184
331
  [[package]]
185
332
  name = "quote"
186
333
  version = "1.0.45"
@@ -190,6 +337,26 @@ dependencies = [
190
337
  "proc-macro2",
191
338
  ]
192
339
 
340
+ [[package]]
341
+ name = "rayon"
342
+ version = "1.12.0"
343
+ source = "registry+https://github.com/rust-lang/crates.io-index"
344
+ checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
345
+ dependencies = [
346
+ "either",
347
+ "rayon-core",
348
+ ]
349
+
350
+ [[package]]
351
+ name = "rayon-core"
352
+ version = "1.13.0"
353
+ source = "registry+https://github.com/rust-lang/crates.io-index"
354
+ checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
355
+ dependencies = [
356
+ "crossbeam-deque",
357
+ "crossbeam-utils",
358
+ ]
359
+
193
360
  [[package]]
194
361
  name = "rusqlite"
195
362
  version = "0.32.1"
@@ -204,6 +371,12 @@ dependencies = [
204
371
  "smallvec",
205
372
  ]
206
373
 
374
+ [[package]]
375
+ name = "rustversion"
376
+ version = "1.0.22"
377
+ source = "registry+https://github.com/rust-lang/crates.io-index"
378
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
379
+
207
380
  [[package]]
208
381
  name = "serde"
209
382
  version = "1.0.228"
@@ -281,6 +454,26 @@ dependencies = [
281
454
  "unicode-ident",
282
455
  ]
283
456
 
457
+ [[package]]
458
+ name = "sysinfo"
459
+ version = "0.33.1"
460
+ source = "registry+https://github.com/rust-lang/crates.io-index"
461
+ checksum = "4fc858248ea01b66f19d8e8a6d55f41deaf91e9d495246fd01368d99935c6c01"
462
+ dependencies = [
463
+ "core-foundation-sys",
464
+ "libc",
465
+ "memchr",
466
+ "ntapi",
467
+ "rayon",
468
+ "windows",
469
+ ]
470
+
471
+ [[package]]
472
+ name = "target-lexicon"
473
+ version = "0.12.16"
474
+ source = "registry+https://github.com/rust-lang/crates.io-index"
475
+ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
476
+
284
477
  [[package]]
285
478
  name = "thiserror"
286
479
  version = "2.0.18"
@@ -313,6 +506,12 @@ version = "1.0.24"
313
506
  source = "registry+https://github.com/rust-lang/crates.io-index"
314
507
  checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
315
508
 
509
+ [[package]]
510
+ name = "unindent"
511
+ version = "0.2.4"
512
+ source = "registry+https://github.com/rust-lang/crates.io-index"
513
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
514
+
316
515
  [[package]]
317
516
  name = "vcpkg"
318
517
  version = "0.2.15"
@@ -325,6 +524,145 @@ version = "0.9.5"
325
524
  source = "registry+https://github.com/rust-lang/crates.io-index"
326
525
  checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
327
526
 
527
+ [[package]]
528
+ name = "winapi"
529
+ version = "0.3.9"
530
+ source = "registry+https://github.com/rust-lang/crates.io-index"
531
+ checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
532
+ dependencies = [
533
+ "winapi-i686-pc-windows-gnu",
534
+ "winapi-x86_64-pc-windows-gnu",
535
+ ]
536
+
537
+ [[package]]
538
+ name = "winapi-i686-pc-windows-gnu"
539
+ version = "0.4.0"
540
+ source = "registry+https://github.com/rust-lang/crates.io-index"
541
+ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
542
+
543
+ [[package]]
544
+ name = "winapi-x86_64-pc-windows-gnu"
545
+ version = "0.4.0"
546
+ source = "registry+https://github.com/rust-lang/crates.io-index"
547
+ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
548
+
549
+ [[package]]
550
+ name = "windows"
551
+ version = "0.57.0"
552
+ source = "registry+https://github.com/rust-lang/crates.io-index"
553
+ checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143"
554
+ dependencies = [
555
+ "windows-core",
556
+ "windows-targets",
557
+ ]
558
+
559
+ [[package]]
560
+ name = "windows-core"
561
+ version = "0.57.0"
562
+ source = "registry+https://github.com/rust-lang/crates.io-index"
563
+ checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d"
564
+ dependencies = [
565
+ "windows-implement",
566
+ "windows-interface",
567
+ "windows-result",
568
+ "windows-targets",
569
+ ]
570
+
571
+ [[package]]
572
+ name = "windows-implement"
573
+ version = "0.57.0"
574
+ source = "registry+https://github.com/rust-lang/crates.io-index"
575
+ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7"
576
+ dependencies = [
577
+ "proc-macro2",
578
+ "quote",
579
+ "syn",
580
+ ]
581
+
582
+ [[package]]
583
+ name = "windows-interface"
584
+ version = "0.57.0"
585
+ source = "registry+https://github.com/rust-lang/crates.io-index"
586
+ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7"
587
+ dependencies = [
588
+ "proc-macro2",
589
+ "quote",
590
+ "syn",
591
+ ]
592
+
593
+ [[package]]
594
+ name = "windows-result"
595
+ version = "0.1.2"
596
+ source = "registry+https://github.com/rust-lang/crates.io-index"
597
+ checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8"
598
+ dependencies = [
599
+ "windows-targets",
600
+ ]
601
+
602
+ [[package]]
603
+ name = "windows-targets"
604
+ version = "0.52.6"
605
+ source = "registry+https://github.com/rust-lang/crates.io-index"
606
+ checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
607
+ dependencies = [
608
+ "windows_aarch64_gnullvm",
609
+ "windows_aarch64_msvc",
610
+ "windows_i686_gnu",
611
+ "windows_i686_gnullvm",
612
+ "windows_i686_msvc",
613
+ "windows_x86_64_gnu",
614
+ "windows_x86_64_gnullvm",
615
+ "windows_x86_64_msvc",
616
+ ]
617
+
618
+ [[package]]
619
+ name = "windows_aarch64_gnullvm"
620
+ version = "0.52.6"
621
+ source = "registry+https://github.com/rust-lang/crates.io-index"
622
+ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
623
+
624
+ [[package]]
625
+ name = "windows_aarch64_msvc"
626
+ version = "0.52.6"
627
+ source = "registry+https://github.com/rust-lang/crates.io-index"
628
+ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
629
+
630
+ [[package]]
631
+ name = "windows_i686_gnu"
632
+ version = "0.52.6"
633
+ source = "registry+https://github.com/rust-lang/crates.io-index"
634
+ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
635
+
636
+ [[package]]
637
+ name = "windows_i686_gnullvm"
638
+ version = "0.52.6"
639
+ source = "registry+https://github.com/rust-lang/crates.io-index"
640
+ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
641
+
642
+ [[package]]
643
+ name = "windows_i686_msvc"
644
+ version = "0.52.6"
645
+ source = "registry+https://github.com/rust-lang/crates.io-index"
646
+ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
647
+
648
+ [[package]]
649
+ name = "windows_x86_64_gnu"
650
+ version = "0.52.6"
651
+ source = "registry+https://github.com/rust-lang/crates.io-index"
652
+ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
653
+
654
+ [[package]]
655
+ name = "windows_x86_64_gnullvm"
656
+ version = "0.52.6"
657
+ source = "registry+https://github.com/rust-lang/crates.io-index"
658
+ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
659
+
660
+ [[package]]
661
+ name = "windows_x86_64_msvc"
662
+ version = "0.52.6"
663
+ source = "registry+https://github.com/rust-lang/crates.io-index"
664
+ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
665
+
328
666
  [[package]]
329
667
  name = "zerocopy"
330
668
  version = "0.8.52"
@@ -4,6 +4,10 @@ version = "0.2.0"
4
4
  edition = "2021"
5
5
  description = "Durable work queue and dispatch store for Cluxion agent preprocessing"
6
6
 
7
+ [lib]
8
+ name = "cluxion_queue_native"
9
+ crate-type = ["cdylib", "rlib"]
10
+
7
11
  [[bin]]
8
12
  name = "cluxion-queue"
9
13
  path = "src/main.rs"
@@ -13,4 +17,10 @@ serde = { version = "1", features = ["derive"] }
13
17
  serde_json = "1"
14
18
  sha2 = "0.10"
15
19
  rusqlite = { version = "0.32", features = ["bundled"] }
16
- thiserror = "2"
20
+ sysinfo = "0.33"
21
+ thiserror = "2"
22
+ pyo3 = { version = "0.23", features = ["abi3-py311"], optional = true }
23
+
24
+ [features]
25
+ default = []
26
+ python = ["dep:pyo3", "pyo3/extension-module"]
@@ -0,0 +1,15 @@
1
+ [build-system]
2
+ requires = ["maturin>=1.7,<2.0"]
3
+ build-backend = "maturin"
4
+
5
+ [project]
6
+ name = "cluxion-queue-native"
7
+ version = "0.2.0"
8
+ description = "In-process Rust queue engine for cluxion-agentplugin-preprocessing"
9
+ requires-python = ">=3.11"
10
+ license = "Apache-2.0"
11
+
12
+ [tool.maturin]
13
+ features = ["python"]
14
+ module-name = "cluxion_queue_native"
15
+ bindings = "pyo3"