execweave 0.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. execweave/__init__.py +3 -0
  2. execweave/__main__.py +5 -0
  3. execweave/analysis.py +406 -0
  4. execweave/backends.py +63 -0
  5. execweave/benchmark.py +80 -0
  6. execweave/claude_adapter.py +448 -0
  7. execweave/claude_hook_cli.py +101 -0
  8. execweave/claude_record.py +106 -0
  9. execweave/cli.py +588 -0
  10. execweave/codex_adapter.py +314 -0
  11. execweave/codex_hook_cli.py +98 -0
  12. execweave/codex_record.py +111 -0
  13. execweave/collector.py +301 -0
  14. execweave/correlation.py +604 -0
  15. execweave/cursor_adapter.py +347 -0
  16. execweave/cursor_hook_cli.py +82 -0
  17. execweave/cursor_record.py +96 -0
  18. execweave/filesystem.py +103 -0
  19. execweave/focus.py +118 -0
  20. execweave/gemini_adapter.py +265 -0
  21. execweave/gemini_hook_cli.py +77 -0
  22. execweave/gemini_record.py +94 -0
  23. execweave/graph.py +300 -0
  24. execweave/graph_ops.py +446 -0
  25. execweave/inference_gateway.py +422 -0
  26. execweave/inference_gateway_cli.py +106 -0
  27. execweave/inference_identity.py +76 -0
  28. execweave/inference_identity_cli.py +60 -0
  29. execweave/live.py +275 -0
  30. execweave/model_runtime.py +535 -0
  31. execweave/model_runtime_cli.py +154 -0
  32. execweave/opencode_adapter.py +316 -0
  33. execweave/opencode_hook_cli.py +57 -0
  34. execweave/opencode_plugin_cli.py +110 -0
  35. execweave/opencode_record.py +96 -0
  36. execweave/overhead_benchmark.py +440 -0
  37. execweave/provider_record.py +215 -0
  38. execweave/schema.py +62 -0
  39. execweave/semantic.py +346 -0
  40. execweave/sink.py +33 -0
  41. execweave/strace_backend.py +682 -0
  42. execweave/validate.py +193 -0
  43. execweave/viewer.py +283 -0
  44. execweave/workflow.py +114 -0
  45. execweave-0.6.0.dist-info/METADATA +356 -0
  46. execweave-0.6.0.dist-info/RECORD +49 -0
  47. execweave-0.6.0.dist-info/WHEEL +4 -0
  48. execweave-0.6.0.dist-info/entry_points.txt +17 -0
  49. execweave-0.6.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,356 @@
1
+ Metadata-Version: 2.5
2
+ Name: execweave
3
+ Version: 0.6.0
4
+ Summary: Turn AI-agent runtime behavior into a local interactive execution graph.
5
+ Project-URL: Homepage, https://github.com/Irish-kw/ExecWeave
6
+ Project-URL: Repository, https://github.com/Irish-kw/ExecWeave
7
+ Project-URL: Documentation, https://github.com/Irish-kw/ExecWeave#documentation
8
+ Project-URL: Issues, https://github.com/Irish-kw/ExecWeave/issues
9
+ Author: ExecWeave contributors
10
+ License: MIT License
11
+
12
+ Copyright (c) 2026 GWW
13
+
14
+ Permission is hereby granted, free of charge, to any person obtaining a copy
15
+ of this software and associated documentation files (the "Software"), to deal
16
+ in the Software without restriction, including without limitation the rights
17
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
18
+ copies of the Software, and to permit persons to whom the Software is
19
+ furnished to do so, subject to the following conditions:
20
+
21
+ The above copyright notice and this permission notice shall be included in all
22
+ copies or substantial portions of the Software.
23
+
24
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
27
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
29
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
30
+ SOFTWARE.
31
+ License-File: LICENSE
32
+ Keywords: ai-agents,execution-graph,observability,provenance,runtime,security
33
+ Classifier: Development Status :: 4 - Beta
34
+ Classifier: Environment :: Console
35
+ Classifier: Intended Audience :: Developers
36
+ Classifier: Intended Audience :: Information Technology
37
+ Classifier: License :: OSI Approved :: MIT License
38
+ Classifier: Operating System :: OS Independent
39
+ Classifier: Programming Language :: Python :: 3
40
+ Classifier: Programming Language :: Python :: 3.10
41
+ Classifier: Programming Language :: Python :: 3.11
42
+ Classifier: Programming Language :: Python :: 3.12
43
+ Classifier: Programming Language :: Python :: 3.13
44
+ Classifier: Topic :: Software Development :: Debuggers
45
+ Classifier: Topic :: System :: Monitoring
46
+ Requires-Python: >=3.10
47
+ Requires-Dist: psutil>=5.9
48
+ Requires-Dist: watchdog>=4.0
49
+ Provides-Extra: dev
50
+ Requires-Dist: pytest>=8.0; extra == 'dev'
51
+ Requires-Dist: ruff<0.17,>=0.16; extra == 'dev'
52
+ Provides-Extra: release
53
+ Requires-Dist: build>=1.2; extra == 'release'
54
+ Requires-Dist: twine>=6.0; extra == 'release'
55
+ Description-Content-Type: text/markdown
56
+
57
+ # ExecWeave
58
+
59
+ <p align="center">
60
+ <strong>English</strong> |
61
+ <a href="README.zh-TW.md">繁體中文</a> |
62
+ <a href="README.zh-CN.md">简体中文</a> |
63
+ <a href="README.ja.md">日本語</a> |
64
+ <a href="README.ko.md">한국어</a>
65
+ </p>
66
+
67
+ **See what AI agents actually do on your machine.**
68
+
69
+ ExecWeave is an open-source, local-first observability project that turns AI-agent activity into an interactive execution graph while keeping observed evidence separate from inference.
70
+
71
+ > **Event is ground truth. The graph is a materialized view.**
72
+
73
+ ## Install
74
+
75
+ ExecWeave v0.6.0 is packaged as a standard Python wheel/sdist. The repository is PyPI-ready; until the first Trusted Publisher release is made, install the package directly from GitHub:
76
+
77
+ ```bash
78
+ python -m pip install "execweave @ git+https://github.com/Irish-kw/ExecWeave.git@main"
79
+ ```
80
+
81
+ For development:
82
+
83
+ ```bash
84
+ git clone https://github.com/Irish-kw/ExecWeave.git
85
+ cd ExecWeave
86
+ python -m pip install -e ".[dev]"
87
+ ```
88
+
89
+ Once the first PyPI release is published, installation becomes:
90
+
91
+ ```bash
92
+ python -m pip install execweave
93
+ ```
94
+
95
+ Watch any command live:
96
+
97
+ ```bash
98
+ execweave live --open -- claude
99
+ ```
100
+
101
+ Or build the full artifact pipeline:
102
+
103
+ ```bash
104
+ execweave record --open -- python my_agent.py
105
+ ```
106
+
107
+ ## Performance and footprint
108
+
109
+ ExecWeave includes a reproducible package-level overhead benchmark that is run from an installed wheel. The reference plot follows the same trade-off style commonly used for model quality/cost comparisons:
110
+
111
+ - **X-axis:** additional peak process-tree RSS, low → high.
112
+ - **Y-axis:** runtime overhead, low → high.
113
+ - **Bubble area:** median artifact size per run.
114
+ - **Preferred region:** lower-left.
115
+
116
+ ![ExecWeave overhead trade-off](docs/benchmarks/v0.6.0-github-actions.svg)
117
+
118
+ Reference environment: GitHub Actions Ubuntu runner, Intel Xeon Platinum 8573C, 4 logical CPUs, Python 3.12.14, `n=7`.
119
+
120
+ | Profile | Median wall time | Runtime overhead | Additional peak RSS | Median artifacts/run |
121
+ | --- | ---: | ---: | ---: | ---: |
122
+ | ExecWeave OFF | 236.221 ms | 0.0% | 0.0 MB | 0 KB |
123
+ | Portable ON | 391.580 ms | 65.768% | 27.852 MB | 741.355 KB |
124
+ | Strace ON | 1226.076 ms | 419.038% | 37.653 MB | 572.838 KB |
125
+
126
+ The same build produced an approximately **113 KB wheel** and **198 KB sdist**. The installed ExecWeave distribution footprint was about **849 KB**, excluding Python and dependency footprints.
127
+
128
+ This is a deliberately short, file/process-heavy **reference microbenchmark**, not a universal workload claim. Percentage overhead is amplified because the uninstrumented baseline is only a few hundred milliseconds. Re-run `execweave-overhead` on the target host and representative workload before making capacity decisions.
129
+
130
+ ```bash
131
+ execweave-overhead \
132
+ --iterations 7 \
133
+ --strace auto \
134
+ --output-json benchmark-results.json \
135
+ --output-svg benchmark-overhead.svg
136
+ ```
137
+
138
+ Raw reference data and methodology: [`docs/benchmarks/`](docs/benchmarks/).
139
+
140
+ ## Evidence layers
141
+
142
+ ExecWeave intentionally models four different layers instead of flattening them into one trace:
143
+
144
+ ```text
145
+ Agent / IDE semantic evidence
146
+
147
+ Inference gateway / routing evidence
148
+
149
+ Model runtime / inference-server evidence
150
+
151
+ OS runtime evidence: process / file / network
152
+ ```
153
+
154
+ A relationship is only causal when the underlying telemetry supports that claim.
155
+
156
+ ## Agent / IDE integrations
157
+
158
+ ### Claude Code
159
+
160
+ ```bash
161
+ execweave-claude-hook --print-config
162
+ execweave-claude-record --open -- claude
163
+ ```
164
+
165
+ ### OpenAI Codex
166
+
167
+ ```bash
168
+ execweave-codex-hook --print-config
169
+ execweave-codex-record --open -- codex
170
+ ```
171
+
172
+ ### Gemini CLI
173
+
174
+ ```bash
175
+ execweave-gemini-hook --print-config
176
+ execweave-gemini-record --open -- gemini
177
+ ```
178
+
179
+ ### Cursor
180
+
181
+ ```bash
182
+ execweave-cursor-hook --print-config
183
+ execweave-cursor-record --open -- cursor
184
+ ```
185
+
186
+ Cursor provides a stable `tool_use_id`, allowing exact logical tool-call identity across its pre/post hooks.
187
+
188
+ ### OpenCode
189
+
190
+ ```bash
191
+ execweave-opencode-plugin --install
192
+ execweave-opencode-record --open -- opencode
193
+ ```
194
+
195
+ The project-local OpenCode plugin uses exact `sessionID + callID` identity and deliberately does not forward tool output.
196
+
197
+ Provider-integrated runs preserve runtime, semantic, and correlated artifacts separately. Tool → Process bridges remain conservative derived evidence:
198
+
199
+ ```text
200
+ inferred: true
201
+ causal: false
202
+ ```
203
+
204
+ Ambiguity produces no edge.
205
+
206
+ ## Inference gateway integrations
207
+
208
+ OpenRouter and LiteLLM Proxy are modeled as `inference_gateway`, not as local model runtimes.
209
+
210
+ ```bash
211
+ execweave-inference-gateway event \
212
+ --gateway litellm \
213
+ --requested-model assistant \
214
+ --resolved-model azure/gpt-5 \
215
+ --provider-name Azure \
216
+ --deployment-id deployment-west \
217
+ --sidecar gateway.jsonl
218
+ ```
219
+
220
+ ExecWeave keeps requested model, resolved model, routed provider, and deployment identity distinct. Provider/deployment edges are only emitted when authoritative metadata is supplied; they are never inferred from a model-name prefix.
221
+
222
+ When the caller has an explicit shared identity across Gateway and Model Runtime observations, the two request nodes can be linked without collapsing layers:
223
+
224
+ ```bash
225
+ execweave-inference-link \
226
+ --gateway litellm \
227
+ --gateway-request-id gw-123 \
228
+ --runtime vllm \
229
+ --runtime-request-id rt-456 \
230
+ --shared-request-id trace-789 \
231
+ --sidecar inference.jsonl
232
+ ```
233
+
234
+ `SAME_INFERENCE_REQUEST` is exact identity evidence, not causal evidence:
235
+
236
+ ```text
237
+ identity_exact: true
238
+ inferred: false
239
+ causal: false
240
+ ```
241
+
242
+ The raw shared request ID is not persisted; only a SHA-256-derived identity hash is stored.
243
+
244
+ ## Model runtime integrations
245
+
246
+ Current model-runtime integrations are **Ollama**, **llama.cpp**, **vLLM**, and **LM Studio**.
247
+
248
+ ```bash
249
+ execweave-model-runtime event --runtime ollama --sidecar model-runtime.jsonl
250
+ execweave-model-runtime event --runtime llamacpp --sidecar model-runtime.jsonl
251
+ execweave-model-runtime event --runtime vllm --sidecar model-runtime.jsonl
252
+ execweave-model-runtime event --runtime lmstudio --sidecar model-runtime.jsonl
253
+ ```
254
+
255
+ OpenAI-compatible runtimes share response/usage and model-catalog parsing while retaining runtime-specific evidence semantics. Prompt, generated, and reasoning content are not stored. Sensitive local model paths are redacted; llama.cpp keeps stricter GGUF-path redaction.
256
+
257
+ LM Studio model-catalog visibility is represented as `ADVERTISES_MODEL`, not as proof that model weights are loaded in memory.
258
+
259
+ ## Runtime evidence
260
+
261
+ The portable collector runs on Linux, macOS, and Windows. Linux also has a syscall-backed `strace` reference backend.
262
+
263
+ ```bash
264
+ execweave doctor
265
+ execweave run --backend portable -- your-command
266
+ execweave run --backend strace -- your-command
267
+ ```
268
+
269
+ Portable filesystem watching is session-correlated rather than process-causal, and short-lived processes can be missed between polling intervals. The Linux `strace` path captures process-attributed syscall evidence after the command exits.
270
+
271
+ Future native collectors remain planned for Linux eBPF, Windows ETW, and macOS Endpoint Security.
272
+
273
+ ## Layered artifacts
274
+
275
+ A provider-integrated run can produce:
276
+
277
+ ```text
278
+ .execweave/runs/<run-id>/
279
+ ├── events.jsonl
280
+ ├── graph.json
281
+ ├── viewer.html
282
+ ├── semantic.jsonl
283
+ ├── events.semantic.jsonl
284
+ ├── graph.semantic.json
285
+ ├── viewer.semantic.html
286
+ ├── events.correlated.jsonl
287
+ ├── graph.correlated.json
288
+ └── viewer.correlated.html
289
+ ```
290
+
291
+ Raw evidence is never rewritten by the derived correlation layer.
292
+
293
+ ## Interactive Viewer
294
+
295
+ The standalone Viewer is local and self-contained. Current baseline includes pan/zoom, draggable nodes, node/edge inspection, node-type/relation/causal filters, **observed only**, search, evidence-sequence replay, progressive cluster expansion, focused neighborhoods, Saved Views, explicit edge semantics, and Correlation Summary.
296
+
297
+ ## Graph operations
298
+
299
+ ```bash
300
+ execweave graph-summary run.graph.json
301
+ execweave graph-filter run.graph.json --output causal.graph.json --causal-only
302
+ execweave graph-focus run.graph.json NODE_ID --hops 2 --output focused.graph.json
303
+ execweave path run.graph.json SOURCE TARGET --causal-only
304
+ execweave graph-condense run.graph.json --output compact.graph.json --threshold 8 --keep-expansion
305
+ ```
306
+
307
+ ## Security analysis
308
+
309
+ ```bash
310
+ execweave analyze run.graph.json --output analysis.json
311
+ ```
312
+
313
+ Security findings remain explicit about evidence limits. A possible sensitive-file → network path does not imply byte-level exfiltration:
314
+
315
+ ```json
316
+ {
317
+ "data_flow_proven": false,
318
+ "exfiltration_proven": false
319
+ }
320
+ ```
321
+
322
+ ## Current status
323
+
324
+ ExecWeave is currently **v0.6.0** and under active development.
325
+
326
+ The baseline includes runtime collection, graph materialization/querying, standalone/live Viewer, Claude/Codex/Gemini/Cursor/OpenCode semantic integrations, conservative Tool → Process correlation, OpenRouter/LiteLLM gateway metadata, Ollama/llama.cpp/vLLM/LM Studio runtime metadata, exact Gateway ↔ Model Runtime request identity, PyPI-ready wheel/sdist packaging, reproducible overhead benchmarking, and cross-platform CI on Python 3.10/3.12.
327
+
328
+ ## Privacy
329
+
330
+ ExecWeave is local-first. Runtime events, semantic sidecars, graphs, reports, and Viewers remain local by default. File contents and raw read/write byte buffers are not intentionally captured. Native adapters also avoid prompts/transcripts/tool output by default, but commands, paths, endpoint metadata, identifiers, and model metadata can still be sensitive.
331
+
332
+ Review artifacts before sharing them.
333
+
334
+ ## Documentation
335
+
336
+ - [`Phase 1 — Runtime Collection`](docs/phase-1-runtime-collection.md)
337
+ - [`Phase 2 — Execution Graph`](docs/phase-2-execution-graph.md)
338
+ - [`Live Graph`](docs/live-graph.md)
339
+ - [`Semantic Telemetry`](docs/semantic-telemetry.md)
340
+ - [`Claude Code Hooks`](docs/claude-code-hooks.md)
341
+ - [`OpenAI Codex Hooks`](docs/codex-hooks.md)
342
+ - [`Gemini CLI Hooks`](docs/gemini-hooks.md)
343
+ - [`Cursor Hooks`](docs/cursor-hooks.md)
344
+ - [`OpenCode Plugin`](docs/opencode-plugin.md)
345
+ - [`Inference Gateway / OpenRouter / LiteLLM`](docs/inference-gateway.md)
346
+ - [`Model Runtime / Ollama / llama.cpp / vLLM / LM Studio`](docs/model-runtime.md)
347
+ - [`Performance Benchmarks`](docs/benchmarks/README.md)
348
+ - [`Security Analysis`](docs/security-analysis.md)
349
+
350
+ ## Contributing
351
+
352
+ Contributions are welcome, especially around native OS collectors, additional Agent/IDE adapters, inference gateways, model runtimes, entity/correlation methods, privacy/redaction, graph UX, and performance evaluation.
353
+
354
+ ## License
355
+
356
+ See [`LICENSE`](LICENSE).
@@ -0,0 +1,49 @@
1
+ execweave/__init__.py,sha256=bkl2BlZu8r7JHTOKfKIIkmHRUiD7MWVFXpaTWilKysI,62
2
+ execweave/__main__.py,sha256=PSQ4rpL0dG6f-qH4N7H-gD9igQkdHzH4yVZDcW8lfZo,80
3
+ execweave/analysis.py,sha256=9Poq69HmNQ_gsvdTyKpjUkDol4tYYdKZKV9_-JGl6os,16729
4
+ execweave/backends.py,sha256=Z_FxFczEc3pMis-COBO906LNdEGTnmbcWOfDZKNWfM4,1778
5
+ execweave/benchmark.py,sha256=1q7F3c483qU_tXPgUsWeMbpaBwRDuBRp9ABMJF0Kbec,2634
6
+ execweave/claude_adapter.py,sha256=zuWoN-N05Y_jxe4HMMSgrNlVQt3lxFhxpNlLij2kxN8,14860
7
+ execweave/claude_hook_cli.py,sha256=bTjNYz_WEy6bAzA8hg-xg9YgF_KLEZHVLtVR3gVOrOs,3444
8
+ execweave/claude_record.py,sha256=dGRCrzX6x3-MNs2SLEWKmCSbyYK_0-7a1Gnmp1gcpZA,3587
9
+ execweave/cli.py,sha256=Et0ILR2Eq5bBaDLVsG1uuYkoBDRRy0T0wYo_b9YBNQI,21309
10
+ execweave/codex_adapter.py,sha256=nKfJnqlfX3VPJL4ASk0zHOH25ELQLb46mzdIQT7jRoU,10183
11
+ execweave/codex_hook_cli.py,sha256=oW5trzijBzP9t0cMusg2banyA2okaO8zvip0aGn9t6E,3311
12
+ execweave/codex_record.py,sha256=08hL-sqBZm9Cl4slroFObglPSfy8dn7eSmhvt-kQKOQ,3803
13
+ execweave/collector.py,sha256=LHhgRwvuyan4_HGb4dtOM5L3dzlG-eGP61lepGU9EkE,10493
14
+ execweave/correlation.py,sha256=ov4Pw0uO1o2Dm3ox0R49xGC0Xyr18kcI2XdsX7TLjx8,20739
15
+ execweave/cursor_adapter.py,sha256=ssxECLnZNhSGBhVVuO7RgjKRpUCTfI_W3SCE92Utzms,11290
16
+ execweave/cursor_hook_cli.py,sha256=cE4VXhBQjOAtZ9AQYYLRSeHdmTp4EuGKw1r-S62wOFA,2862
17
+ execweave/cursor_record.py,sha256=WKK4Nfod2Q1ENF4ZnA5fCyXYGuCDng1zNWyfhxFWwTM,3354
18
+ execweave/filesystem.py,sha256=RiymQyGeJL0jyzV0KKaQ3d6AxTQlEKvnabgyK2xuxEI,3350
19
+ execweave/focus.py,sha256=lpKfn820oJ9r77vbSUuLMMuci88A1yTrB5-UOGCkNOI,4428
20
+ execweave/gemini_adapter.py,sha256=JxTpsUZXuD0AGXiaRjpNBXs4SMUD7eVcdZZd-7J1xSU,12433
21
+ execweave/gemini_hook_cli.py,sha256=tjAd18wRe8d7iQuSUfO0KNy-QCMCFgAygTlZXT6jxYk,2864
22
+ execweave/gemini_record.py,sha256=PaN4uqYVCKgVaDAeYBc0UkC-z4BnJ3qGWNDi2Jo0Tvg,3406
23
+ execweave/graph.py,sha256=JrlsPOyB6mfir_2Kc_R0lG5L21J-jluI7jHFTSo8zXU,11704
24
+ execweave/graph_ops.py,sha256=6nGGLDKM_U3L3K8DfMh36BxMe6rUgKmvBaO_8k-FWRI,16786
25
+ execweave/inference_gateway.py,sha256=l7dRP1r7TYeRLkKUuxH-6v1arB3zIz3wRveZj8dH08c,13978
26
+ execweave/inference_gateway_cli.py,sha256=fLQQQNewV7GKvosRtJAJcnkw22LeBoE3KYq9p-CMbgM,3678
27
+ execweave/inference_identity.py,sha256=-QdHgLJ0XiMrWbOT2E49EwQ2vMSHsWxJ7WFOrCprfu8,2418
28
+ execweave/inference_identity_cli.py,sha256=kG74ZJuu-74533xaNxGILc349VuieKTQ9Z1ubPUjDCE,2026
29
+ execweave/live.py,sha256=66nwOSnXI1BfMrHmmf-oLLX9hAvPs760gxINv2fbxw0,17912
30
+ execweave/model_runtime.py,sha256=lmEzXytiBTLFvjecRa9gDNkTqIkPVhhmV-thEfn5kko,17052
31
+ execweave/model_runtime_cli.py,sha256=QBfVYBz_4N5FHPBEgI3DNWTX7A1TsOeT79zTa-E_-l8,5413
32
+ execweave/opencode_adapter.py,sha256=ctkzx5unpogFp65GrbbAJHTTfX5cfsUKKbCVbJRFXoQ,10120
33
+ execweave/opencode_hook_cli.py,sha256=tQ7rhtxOceSjUHwQkYgl-KvgJZC3FOGR-eYq2aHj5NU,1850
34
+ execweave/opencode_plugin_cli.py,sha256=77TEH6izZtkjSD0LjSGeg1FC50BHC4XbDwRFga_40aI,3249
35
+ execweave/opencode_record.py,sha256=L7JKQ1acV1y7mfFiZkC7SsPrLenfoG7dpfd0DnUXPOs,3377
36
+ execweave/overhead_benchmark.py,sha256=Udamkj8xB02NMoE8Z3ygDWtrMlBIvothN5ImduC6Hpo,17029
37
+ execweave/provider_record.py,sha256=Z4n2GsQRmCZTz7gVR2yvS6jBLn2OKgSTy1z7zkys3iU,8150
38
+ execweave/schema.py,sha256=GnTWju3TbHkW820lIxIHqih985jUJafE3D7YEo9vIM0,1605
39
+ execweave/semantic.py,sha256=xcrB4oGom514xbfrxJOXTOMyVgJF7PhjP2gOKPas_WE,13214
40
+ execweave/sink.py,sha256=BLU1GT5LQgBU8q8SYG5ZpGFAST6qT98d4GA0OiEiDz8,1177
41
+ execweave/strace_backend.py,sha256=CPOYNyZKcoJWV2S_H63F5tm2u4dQEWT8cE04JMIcYT4,24831
42
+ execweave/validate.py,sha256=OJXxyKVBW_jifuWN6WRuhkzO8-S9iY5aoYH86k6KZUc,6676
43
+ execweave/viewer.py,sha256=u6qN-qz38Jz94CuOsp1NUjmgWJrWlGWXOUZNEE7POtY,31404
44
+ execweave/workflow.py,sha256=o65wCQsqUJLfll5EULh83h0XFSRwkhmHsR1iPBc_07o,3608
45
+ execweave-0.6.0.dist-info/METADATA,sha256=3OcDzJ4HLHpf7Vm1TGz1xn9fdiN9pVMG8XdSvuTN-rs,13219
46
+ execweave-0.6.0.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
47
+ execweave-0.6.0.dist-info/entry_points.txt,sha256=ZwT21nZH-byNJ399kQ10HLKUaipaJiMIQMpenxdACng,912
48
+ execweave-0.6.0.dist-info/licenses/LICENSE,sha256=fSwH9gjMzp7_hc_2crwT-bf8PUhIHDoUvzueU5zAIJ0,1060
49
+ execweave-0.6.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,17 @@
1
+ [console_scripts]
2
+ execweave = execweave.cli:main
3
+ execweave-claude-hook = execweave.claude_hook_cli:main
4
+ execweave-claude-record = execweave.claude_record:main
5
+ execweave-codex-hook = execweave.codex_hook_cli:main
6
+ execweave-codex-record = execweave.codex_record:main
7
+ execweave-cursor-hook = execweave.cursor_hook_cli:main
8
+ execweave-cursor-record = execweave.cursor_record:main
9
+ execweave-gemini-hook = execweave.gemini_hook_cli:main
10
+ execweave-gemini-record = execweave.gemini_record:main
11
+ execweave-inference-gateway = execweave.inference_gateway_cli:main
12
+ execweave-inference-link = execweave.inference_identity_cli:main
13
+ execweave-model-runtime = execweave.model_runtime_cli:main
14
+ execweave-opencode-hook = execweave.opencode_hook_cli:main
15
+ execweave-opencode-plugin = execweave.opencode_plugin_cli:main
16
+ execweave-opencode-record = execweave.opencode_record:main
17
+ execweave-overhead = execweave.overhead_benchmark:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 GWW
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.