nexus-coding-agent 0.1.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 (131) hide show
  1. nexus/__init__.py +4 -0
  2. nexus/application/__init__.py +2 -0
  3. nexus/application/approval_service.py +130 -0
  4. nexus/application/diff_service.py +177 -0
  5. nexus/application/event_publisher.py +180 -0
  6. nexus/application/execution_context.py +29 -0
  7. nexus/application/execution_ledger.py +126 -0
  8. nexus/application/model_call_context.py +29 -0
  9. nexus/application/observed_model_gateway.py +194 -0
  10. nexus/application/plan_approval_service.py +250 -0
  11. nexus/application/planning.py +668 -0
  12. nexus/application/runtime.py +624 -0
  13. nexus/application/session_service.py +411 -0
  14. nexus/application/structured_output.py +96 -0
  15. nexus/application/telemetry.py +396 -0
  16. nexus/application/telemetry_subscriber.py +216 -0
  17. nexus/application/tool_runtime.py +496 -0
  18. nexus/application/tracing_dispatcher.py +283 -0
  19. nexus/application/validation.py +293 -0
  20. nexus/config/__init__.py +17 -0
  21. nexus/config/loader.py +253 -0
  22. nexus/config/models.py +310 -0
  23. nexus/context/__init__.py +6 -0
  24. nexus/context/budget.py +24 -0
  25. nexus/context/builder.py +92 -0
  26. nexus/context/chunking.py +65 -0
  27. nexus/context/explorer.py +246 -0
  28. nexus/context/integration.py +63 -0
  29. nexus/context/manager.py +328 -0
  30. nexus/context/retrieval.py +261 -0
  31. nexus/domain/__init__.py +2 -0
  32. nexus/domain/agent_decision.py +113 -0
  33. nexus/domain/agent_state.py +49 -0
  34. nexus/domain/approvals.py +64 -0
  35. nexus/domain/context.py +108 -0
  36. nexus/domain/exploration.py +86 -0
  37. nexus/domain/mcp.py +51 -0
  38. nexus/domain/model.py +173 -0
  39. nexus/domain/observability.py +326 -0
  40. nexus/domain/persistence.py +122 -0
  41. nexus/domain/planning.py +329 -0
  42. nexus/domain/ports/__init__.py +61 -0
  43. nexus/domain/ports/agent_decision.py +9 -0
  44. nexus/domain/ports/approval_unit_of_work.py +27 -0
  45. nexus/domain/ports/checkpoint_provider.py +11 -0
  46. nexus/domain/ports/context.py +71 -0
  47. nexus/domain/ports/events.py +21 -0
  48. nexus/domain/ports/graph_runtime.py +30 -0
  49. nexus/domain/ports/mcp.py +23 -0
  50. nexus/domain/ports/model_gateway.py +21 -0
  51. nexus/domain/ports/model_input_budget.py +15 -0
  52. nexus/domain/ports/planning.py +62 -0
  53. nexus/domain/ports/repositories.py +54 -0
  54. nexus/domain/ports/repository_context.py +18 -0
  55. nexus/domain/ports/session_unit_of_work.py +33 -0
  56. nexus/domain/ports/skills.py +41 -0
  57. nexus/domain/ports/tooling.py +39 -0
  58. nexus/domain/ports/tracer.py +13 -0
  59. nexus/domain/ports/validation.py +32 -0
  60. nexus/domain/runtime_events.py +445 -0
  61. nexus/domain/skills.py +129 -0
  62. nexus/domain/tooling.py +163 -0
  63. nexus/domain/validation.py +161 -0
  64. nexus/errors/__init__.py +82 -0
  65. nexus/evaluation/__init__.py +7 -0
  66. nexus/evaluation/assertions.py +4 -0
  67. nexus/evaluation/evaluator.py +263 -0
  68. nexus/evaluation/fixtures.py +36 -0
  69. nexus/evaluation/harness.py +606 -0
  70. nexus/evaluation/loader.py +415 -0
  71. nexus/evaluation/metrics.py +27 -0
  72. nexus/evaluation/models.py +362 -0
  73. nexus/evaluation/report.py +43 -0
  74. nexus/evaluation/runner.py +480 -0
  75. nexus/infrastructure/__init__.py +2 -0
  76. nexus/infrastructure/asyncio_compat.py +13 -0
  77. nexus/infrastructure/bootstrap/__init__.py +17 -0
  78. nexus/infrastructure/bootstrap/composition.py +663 -0
  79. nexus/infrastructure/checkpoint/__init__.py +5 -0
  80. nexus/infrastructure/checkpoint/postgres.py +62 -0
  81. nexus/infrastructure/database.py +39 -0
  82. nexus/infrastructure/embedding.py +61 -0
  83. nexus/infrastructure/graph/__init__.py +6 -0
  84. nexus/infrastructure/graph/day4_runtime.py +966 -0
  85. nexus/infrastructure/graph/langgraph_runtime.py +172 -0
  86. nexus/infrastructure/mcp/__init__.py +5 -0
  87. nexus/infrastructure/mcp/manager.py +380 -0
  88. nexus/infrastructure/model_gateway/__init__.py +6 -0
  89. nexus/infrastructure/model_gateway/openai_compatible.py +345 -0
  90. nexus/infrastructure/observability/__init__.py +7 -0
  91. nexus/infrastructure/observability/console.py +31 -0
  92. nexus/infrastructure/observability/langsmith.py +236 -0
  93. nexus/infrastructure/observability/structured_logger.py +70 -0
  94. nexus/infrastructure/persistence/__init__.py +13 -0
  95. nexus/infrastructure/persistence/approval_unit_of_work.py +74 -0
  96. nexus/infrastructure/persistence/models.py +146 -0
  97. nexus/infrastructure/persistence/repositories.py +326 -0
  98. nexus/infrastructure/persistence/unit_of_work.py +82 -0
  99. nexus/infrastructure/repository_files.py +117 -0
  100. nexus/infrastructure/sandbox/__init__.py +5 -0
  101. nexus/infrastructure/sandbox/local_process.py +353 -0
  102. nexus/infrastructure/semantic.py +276 -0
  103. nexus/infrastructure/semantic_models.py +56 -0
  104. nexus/interfaces/__init__.py +2 -0
  105. nexus/interfaces/cli/__init__.py +2 -0
  106. nexus/interfaces/cli/__main__.py +6 -0
  107. nexus/interfaces/cli/app.py +266 -0
  108. nexus/interfaces/cli/renderer.py +118 -0
  109. nexus/security/__init__.py +14 -0
  110. nexus/security/approval_policies.py +73 -0
  111. nexus/security/command_policy.py +117 -0
  112. nexus/security/executables.py +107 -0
  113. nexus/security/git_commands.py +65 -0
  114. nexus/security/workspace.py +93 -0
  115. nexus/skills/__init__.py +7 -0
  116. nexus/skills/builtin/__init__.py +1 -0
  117. nexus/skills/builtin/debug-python/SKILL.md +26 -0
  118. nexus/skills/builtin/review-repository/SKILL.md +26 -0
  119. nexus/skills/builtin/write-tests/SKILL.md +26 -0
  120. nexus/skills/loader.py +439 -0
  121. nexus/skills/registry.py +146 -0
  122. nexus/skills/selector.py +152 -0
  123. nexus/tools/__init__.py +6 -0
  124. nexus/tools/editing.py +312 -0
  125. nexus/tools/mcp.py +160 -0
  126. nexus/tools/native.py +654 -0
  127. nexus/tools/registry.py +27 -0
  128. nexus_coding_agent-0.1.0.dist-info/METADATA +142 -0
  129. nexus_coding_agent-0.1.0.dist-info/RECORD +131 -0
  130. nexus_coding_agent-0.1.0.dist-info/WHEEL +4 -0
  131. nexus_coding_agent-0.1.0.dist-info/entry_points.txt +2 -0
@@ -0,0 +1,142 @@
1
+ Metadata-Version: 2.5
2
+ Name: nexus-coding-agent
3
+ Version: 0.1.0
4
+ Summary: A transparent and extensible coding-agent runtime.
5
+ Project-URL: Homepage, https://github.com/K529529/Nexus
6
+ Project-URL: Repository, https://github.com/K529529/Nexus
7
+ Project-URL: Issues, https://github.com/K529529/Nexus/issues
8
+ Author: Archer
9
+ License: MIT
10
+ Requires-Python: >=3.12
11
+ Requires-Dist: alembic<2,>=1.16
12
+ Requires-Dist: asyncpg<1,>=0.30
13
+ Requires-Dist: langchain-openai<2,>=1.0
14
+ Requires-Dist: langgraph-checkpoint-postgres<4,>=3.1
15
+ Requires-Dist: langgraph<2,>=1.0
16
+ Requires-Dist: langsmith<0.12,>=0.11.1
17
+ Requires-Dist: mcp<3,>=2
18
+ Requires-Dist: pathspec<2,>=0.12
19
+ Requires-Dist: pgvector<1,>=0.4
20
+ Requires-Dist: pydantic<3,>=2.10
21
+ Requires-Dist: sqlalchemy[asyncio]<3,>=2.0
22
+ Requires-Dist: typer<1,>=0.16
23
+ Description-Content-Type: text/markdown
24
+
25
+ # Nexus
26
+
27
+ English | [简体中文](README.zh-CN.md)
28
+
29
+ Nexus is a transparent, async-first coding-agent runtime with a CLI adapter, durable PostgreSQL
30
+ sessions/checkpoints, policy-governed native and MCP tools, bounded repository context, validated
31
+ code editing, repository/user Skills, safe structured telemetry, and a deterministic evaluation
32
+ harness. LangGraph and concrete providers remain behind Nexus-owned boundaries.
33
+
34
+ This branch prepares the `Nexus v0.1.0 Release Candidate`. It does not create the final Git tag;
35
+ tagging remains a Product Owner action after review and merge to `main`.
36
+
37
+ ## Requirements
38
+
39
+ - Python 3.12+
40
+ - [uv](https://docs.astral.sh/uv/)
41
+ - Git
42
+ - PostgreSQL 16 with the `vector` extension
43
+ - an OpenAI-compatible model deployment for live coding tasks
44
+ - Docker with Compose when using the included development database
45
+
46
+ ## Install
47
+
48
+ ```powershell
49
+ uv sync --locked --dev
50
+ docker compose up -d postgres
51
+ uv run alembic upgrade head
52
+ uv run nexus --help
53
+ ```
54
+
55
+ The Compose development URL is
56
+ `postgresql+asyncpg://nexus:nexus@localhost:5432/nexus`. Override it with
57
+ `NEXUS_DATABASE_URL` when necessary. Credentials in `compose.yaml` are development-only.
58
+
59
+ Configure secrets through environment variables, never CLI arguments or repository TOML:
60
+
61
+ ```powershell
62
+ $env:NEXUS_MODEL_NAME = "your-model"
63
+ $env:NEXUS_MODEL_API_KEY = "your-api-key"
64
+ $env:NEXUS_MODEL_BASE_URL = "https://your-compatible-endpoint.example/v1" # optional
65
+ ```
66
+
67
+ Non-secret repository configuration can be stored at `.nexus/config.toml`:
68
+
69
+ ```toml
70
+ [model]
71
+ provider = "openai_compatible"
72
+ name = "your-model"
73
+ base_url = "https://your-compatible-endpoint.example/v1"
74
+
75
+ [database]
76
+ url = "postgresql+asyncpg://nexus:nexus@localhost:5432/nexus"
77
+
78
+ [runtime]
79
+ approval_mode = "approval"
80
+ max_steps = 20
81
+ max_repair_attempts = 3
82
+ max_replans = 2
83
+ ```
84
+
85
+ Configuration precedence is resolved per field:
86
+
87
+ ```text
88
+ CLI > repository TOML > user ~/.nexus/config.toml > NEXUS_* environment > defaults
89
+ ```
90
+
91
+ MCP process configuration and LangSmith configuration are trusted only from user-level TOML or
92
+ approved environment variables; API keys are environment-only.
93
+
94
+ ## Quick start
95
+
96
+ Run Nexus from the repository that it is allowed to inspect and change:
97
+
98
+ ```powershell
99
+ uv run nexus chat "Find the smallest cause of the failing test and fix it."
100
+ ```
101
+
102
+ Nexus explores bounded context, proposes a Plan, asks for approval when required, performs
103
+ policy-governed sequential Tool calls, validates changes, and renders a final result or a truthful
104
+ failure/limit stop. Useful commands are:
105
+
106
+ ```powershell
107
+ uv run nexus --help
108
+ uv run nexus chat --help
109
+ uv run nexus index --help
110
+ uv run nexus session list --help
111
+ uv run nexus session resume --help
112
+ uv run nexus eval --help
113
+ ```
114
+
115
+ ## Release documentation
116
+
117
+ The [Nexus V1 release guide](docs/nexus-v1-release-guide.md) is the authoritative Day 10 guide. It
118
+ contains the architecture overview and diagram, complete CLI/configuration reference, validation,
119
+ observability and evaluation procedures, canonical FastAPI walkthrough, known limitations,
120
+ post-V1 roadmap, release checklist, and `v0.1.0` release notes.
121
+
122
+ Focused subsystem guides remain available for [MCP](docs/mcp-guide.md),
123
+ [Skills](docs/skill-guide.md), [observability](docs/day8-observability-guide.md), and the
124
+ [architecture decisions](docs/adr/).
125
+
126
+ ## Development and release gates
127
+
128
+ ```powershell
129
+ uv run ruff check .
130
+ uv run mypy src tests
131
+ uv run pytest --cov=nexus --cov-report=term-missing --cov-report=json:coverage.json
132
+ uv run coverage report --precision=2 --fail-under=70
133
+ uv run coverage report --include="src/nexus/application/runtime.py" --precision=2 --fail-under=80
134
+ uv run coverage report --include="src/nexus/security/*" --precision=2 --fail-under=80
135
+ uv run coverage report --include="src/nexus/application/validation.py" --precision=2 --fail-under=80
136
+ uv lock --check
137
+ uv build
138
+ ```
139
+
140
+ Live provider, LangSmith, evaluation, fresh-install, fixture, and real-repository results are kept
141
+ separate from deterministic regression evidence in the
142
+ [Day 10 release evidence](docs/day10-release-evidence.md).
@@ -0,0 +1,131 @@
1
+ nexus/__init__.py,sha256=AO6v92PyuFjGgS_wowyWMEA0qGTJ4t2kavmgZ-PT-cw,58
2
+ nexus/application/__init__.py,sha256=KlCBZg0kTO4JxGsnkFhAVKKYx4xGx6DW2mGXwaqKvtY,35
3
+ nexus/application/approval_service.py,sha256=BaOehhj4fxK8KhCm1DtYiIeJ9xbzAVvlriIQSN_W5O8,4996
4
+ nexus/application/diff_service.py,sha256=xwOr_7vpyciK4MAjXHMA8Megiro28Svv80m9Srdatog,5780
5
+ nexus/application/event_publisher.py,sha256=MHfXTRgkz16Sk7EjBdoExhzQMAsIT_uxn3zR1omjkaQ,6279
6
+ nexus/application/execution_context.py,sha256=7ObuSPtfJBmj7uV4BjgBaK1T00UH1CnNP8qbyaFmssM,830
7
+ nexus/application/execution_ledger.py,sha256=FCMR9HfQ8hyEc4jaO4eNWgedxNpUqAwhALgxqccgYQo,4797
8
+ nexus/application/model_call_context.py,sha256=0hbwJNySfAtn-V381zYalWVJx-BMqVhLNZhPu00zoQ8,797
9
+ nexus/application/observed_model_gateway.py,sha256=qjmkk5jxqVAMh5C3O3fA2Ptm5F9dYhMjuIsfC0FJ-KM,6542
10
+ nexus/application/plan_approval_service.py,sha256=0AYcp2Lgv4batA3E4Cj6lExQmgwA68Y9YBgAn9N636U,9950
11
+ nexus/application/planning.py,sha256=WItces8Ka1WEdovF9R-VinqKieavHdETL9DW79hTLgA,29895
12
+ nexus/application/runtime.py,sha256=aNvNudc-tS3ue3peOtsRZPainTEgtAkKUHGBkujIr20,24332
13
+ nexus/application/session_service.py,sha256=YSiwALmTUA2LjYpkxmLla9k28WZ_AL6bO2qCu-RlsMU,15898
14
+ nexus/application/structured_output.py,sha256=r5Q39cwkQrx8_OI2tomti4QBYUgQvz7uGv3Hi3DSlQ4,4487
15
+ nexus/application/telemetry.py,sha256=hh_WtiQFWsowMiwEX3Y_dga34jGAApLZAg9CPk98bsA,15337
16
+ nexus/application/telemetry_subscriber.py,sha256=LE2qb4ZVCHyYVctaI7RVxlNekILwIFHFJFtiSpLCyYk,7665
17
+ nexus/application/tool_runtime.py,sha256=N9-yg1e7sSqkozE-TC8MpMXCDzuS56KjYouGoHXA_ok,18107
18
+ nexus/application/tracing_dispatcher.py,sha256=xBnV-XTgZ9cQW3sfnRT8Rf5taArzzIXL66TTBHqiI1o,9562
19
+ nexus/application/validation.py,sha256=_nU1gFC7z0rDUb2ep9nQplAfd-VBiDTVMl2UiAQLEbo,9867
20
+ nexus/config/__init__.py,sha256=OCliOol0VrrrUzNu5sK4mLRPQm1rFzXnb3wHnll5TVU,358
21
+ nexus/config/loader.py,sha256=HlITMVGguFFaEj5ZnV97s0-4JpX3nQ29PN_CKUJxp-w,9410
22
+ nexus/config/models.py,sha256=FJYRLWE-TMakTOxhCIuRwuNg4IvwxOECe9XFJfglBUk,11604
23
+ nexus/context/__init__.py,sha256=DDSjswlkHFjIpyXTq7quS0kFheif0UjWuvXVJ8bVNRE,239
24
+ nexus/context/budget.py,sha256=Gxhh-fGojvk6yCvKkpOsg-NDzk5ewip6Lf_AMgA4RHI,715
25
+ nexus/context/builder.py,sha256=RUrkrZ6NnxaJ9xEOtvMekgO7J6bNl6V_UtU93WzZYL0,3239
26
+ nexus/context/chunking.py,sha256=HCNCZuH_XD1D_0VedkBsSKyLtAUnWN0Bwa6-dg9Mw2I,1846
27
+ nexus/context/explorer.py,sha256=T6OF4G-tL0qoZG8MdriIjZ2yMlTZMFIrmbzcx0-O_WU,9129
28
+ nexus/context/integration.py,sha256=0bxRlTIz_7bGZNr3lfB19knaMG9ytvrLli1xjdtDJdI,2559
29
+ nexus/context/manager.py,sha256=X4THgZ-Q7L83xMFPoF6K5eFlAfO01XBInYioOjNYVLI,14390
30
+ nexus/context/retrieval.py,sha256=nqXzX9u6Is4ftkhYk2FpYfaQc4SUv7RfyFkwmCOk6mU,10036
31
+ nexus/domain/__init__.py,sha256=fSuilSp8S75jEbKvqVsD7M62t0vnweqK9wnBAka-O04,44
32
+ nexus/domain/agent_decision.py,sha256=piq_wv_MCPz1Sh9iIEttf4a3XAHsnZYILjGTp3jgiKs,3540
33
+ nexus/domain/agent_state.py,sha256=rTgCaQ0HKoq9qT4XdyiuqHoZu9bhWyBo5jn_353zt34,1737
34
+ nexus/domain/approvals.py,sha256=SSGcz5slv3tlmizrZ_vna34ABR5lvzwmr4OL7d3tEcQ,2527
35
+ nexus/domain/context.py,sha256=uvNXbuUrEhKbVKy05i8cQmJzWOy5XreBHttkcSh06nY,2237
36
+ nexus/domain/exploration.py,sha256=dM8mjcCkzTsLEHSQ2esyVg7gbs5JLCUCRuBZyQLT1MM,2336
37
+ nexus/domain/mcp.py,sha256=jcGQR3LnNF9hJhB82R9d9HqN2FVVtBsIF2l_N_RVTv4,1636
38
+ nexus/domain/model.py,sha256=XzMszMant-laTI0OYhVT6_Kl9beZyBWPlrHJMdGY_Gs,6153
39
+ nexus/domain/observability.py,sha256=PPds2i7camCYxF8NmZeuygU7H3akHN-oaVMDI-2L35Q,12386
40
+ nexus/domain/persistence.py,sha256=9mizWZytm2cElqjj6iEmMepmuPCsfLGNDvSee1MydUU,3637
41
+ nexus/domain/planning.py,sha256=qqpAw-b_cfD9GvY9dHgb2epBat241Vyf_3He6DtuLCc,12326
42
+ nexus/domain/runtime_events.py,sha256=tfAmL6OlARYVukLnlSLdx-XUdPi1Vo9HqQBt_PgCm6A,15134
43
+ nexus/domain/skills.py,sha256=m-ZiRFt8guyFV0eJvK2FQ36QO5DKMvzsOo97YJZX0s8,4709
44
+ nexus/domain/tooling.py,sha256=4GSPCCN55ziQKps_-MOGq043AN9E3HzwWbH-WSoy9kU,5238
45
+ nexus/domain/validation.py,sha256=Xhvaj5yef7Pj_xVaa2eTU7BOGmt5YrxDka-ry_3CBYo,5361
46
+ nexus/domain/ports/__init__.py,sha256=-i_FjRIUKFo-amg9pogqN8m37DpR74so3VxlD3PHfxw,1725
47
+ nexus/domain/ports/agent_decision.py,sha256=-WR5LDdiqY8lWo7nHOK0uIAGOL0Qy5pk9fnnH5kRI-w,270
48
+ nexus/domain/ports/approval_unit_of_work.py,sha256=VmpeC3YyVUPxsKRi_8ec9X2VRhB7sEPm1_ZJWFRKAvM,723
49
+ nexus/domain/ports/checkpoint_provider.py,sha256=Ke5oskU0Yu3J3TPNDm6nH6T-JsOp84TgdAPjHGp68N8,263
50
+ nexus/domain/ports/context.py,sha256=Y7VIfNdLY8TUcV49ZCyU6bvz6LP-4tiKmPYSmOGzSck,1899
51
+ nexus/domain/ports/events.py,sha256=_etan69nu3TldZhBfDfsuaEU1dIGth0Qi-3mKcK0SAk,524
52
+ nexus/domain/ports/graph_runtime.py,sha256=FY1bRglQ0dbudjo-bTf43-06Hx4lxZw-NkdBR3QpPMg,760
53
+ nexus/domain/ports/mcp.py,sha256=uK2nngkcmyILbEHWhYDhmPYt9FEo9X5k3pKqpV7UovA,594
54
+ nexus/domain/ports/model_gateway.py,sha256=U9ZIhDozO6zlbqNJoZA99tpkejlr5Qce8yDCLsqs4JA,602
55
+ nexus/domain/ports/model_input_budget.py,sha256=2YYjNArqQbIOw0qjKIhII4QATlQFggPhauBXHor-M20,342
56
+ nexus/domain/ports/planning.py,sha256=176_vKJreHuQ8NDyaJqqqUOdQ5rIjybfaFjV6_2PPCQ,1977
57
+ nexus/domain/ports/repositories.py,sha256=NEFVGWv0cLXkS5Xc-TlthSnjmj81oz2ifYFOZWY42p4,1700
58
+ nexus/domain/ports/repository_context.py,sha256=ah1jCHzJcs8XDiDHbWn8p_9_zthznooC8ySVaZz0-N0,467
59
+ nexus/domain/ports/session_unit_of_work.py,sha256=-GCf4ICuxZis1WvILvxIHEmgsAo5zlP-0lu_4JAPKqc,818
60
+ nexus/domain/ports/skills.py,sha256=Lu_wg1TuJvBBQzv0WaTWrmSxKzLZRcBuwwRcg5GHH6c,962
61
+ nexus/domain/ports/tooling.py,sha256=WJtJqo_0_oGny3jdAW-uoiXOTi8KgoLKX8dfyOTAi0Y,946
62
+ nexus/domain/ports/tracer.py,sha256=R6U2xoCpMNuJCOgXwmBoIX4OdAEs6JS_KXR4AcxFaOA,387
63
+ nexus/domain/ports/validation.py,sha256=gUohBS7StAOdjpB0MVy4x1zApaQHij5-F9z4v5S1N7Q,850
64
+ nexus/errors/__init__.py,sha256=bkTPY77CH2SodD3hKDjHwKW_xXezJiclII6EZNuiqTs,1962
65
+ nexus/evaluation/__init__.py,sha256=tvbXRg0kdY4Vl5MzNvVv7PKAgt6xSeT9TeWjKhwTxVc,292
66
+ nexus/evaluation/assertions.py,sha256=JdOcY-ts1tYyyHtutlREV6r4fkp0ZAYxc4EAQ0QtXQg,141
67
+ nexus/evaluation/evaluator.py,sha256=cgg-opS3dCOqJ3jmgbKEGmK7N_kftoONlIJcDEjo0AQ,11222
68
+ nexus/evaluation/fixtures.py,sha256=2sKSV-Eh1yBYi-_1ELE1Ls5vXDlPfgEDRRa53JBvxRI,1198
69
+ nexus/evaluation/harness.py,sha256=21Ph0BepCmuB04jdParp9oqmZZ8zSb0oHRTW1aO2JZA,22144
70
+ nexus/evaluation/loader.py,sha256=pvJVtyqCLf1rgli6DwIhUMFQGWieTABQ7Tfj6X_GV28,17844
71
+ nexus/evaluation/metrics.py,sha256=rvUpK_nhzPq6N3JvR3M0hCTF0D8ghaLG0mL-yL7S1GQ,889
72
+ nexus/evaluation/models.py,sha256=qSG7FvWHWMn-E9j_wVIvXykfo2LJhlLDGczy-SOHT58,9712
73
+ nexus/evaluation/report.py,sha256=QxvKUtBUhIjh7d4RpiDPMbqlot1mNgqOx75gPsSfCLQ,1658
74
+ nexus/evaluation/runner.py,sha256=K_EqYmWTZyr1dgswZ5kakzPVozONZpGfXMXm9R23ejU,19107
75
+ nexus/infrastructure/__init__.py,sha256=ovKHPt5V79T_z_24FBVXaSAPJ6gcGoJHojAZaSPsOxI,56
76
+ nexus/infrastructure/asyncio_compat.py,sha256=3q_-G723juia-bSdEg7dytxZOtnq2JkFWHB7uszFUdY,375
77
+ nexus/infrastructure/database.py,sha256=pVLBQAZMqRllVwDPjBpZFWUHveVtDBjfC_urLuhF3GA,1238
78
+ nexus/infrastructure/embedding.py,sha256=KIkpgn69tmVAS0VaYazWVfC9l-w7_F4ItTsUtphe8sY,2130
79
+ nexus/infrastructure/repository_files.py,sha256=P8scrN0itz7L_9RLqP0arulY-IYJ4nHEEW1b7zUFc4s,4323
80
+ nexus/infrastructure/semantic.py,sha256=Z4QQiYLS_e3ZiUnxclhDclhMUnkHNzoUk-fL8TReecE,11567
81
+ nexus/infrastructure/semantic_models.py,sha256=261Y8NsyX_3SNcPBRV9nqYv-a3eH-iunTvvRPDzVhdo,2366
82
+ nexus/infrastructure/bootstrap/__init__.py,sha256=AeAPp6GKdZDbtaXs8GRQ8GcNb7y9RuVHS5e6XS7xmW4,461
83
+ nexus/infrastructure/bootstrap/composition.py,sha256=fryXii2d14pv6P6ptnS_uDH8qRzvgYhR7AWsKbmwPFo,24872
84
+ nexus/infrastructure/checkpoint/__init__.py,sha256=a40F36cGTsTkFYUTnDEqBfVY98V-1E5AjPAKgV2-lUc,177
85
+ nexus/infrastructure/checkpoint/postgres.py,sha256=YiZ9kir2PYAoGOUdRiIp_ddZKF98sM2EXLNTG8xXAQ8,2242
86
+ nexus/infrastructure/graph/__init__.py,sha256=XcQLdrRLu_w7IGVM347WxqclH-P64LhS9aeKhpbz6q4,147
87
+ nexus/infrastructure/graph/day4_runtime.py,sha256=O007kY1JteB62prONLRrGRv-caUI1ZP3tiP7P_VFSHE,38443
88
+ nexus/infrastructure/graph/langgraph_runtime.py,sha256=wka8OVWRToPRHX4PCPHfL_JBgmOFM-kN_jwm4vu3GHc,5869
89
+ nexus/infrastructure/mcp/__init__.py,sha256=tmq0qBFf3nAzh6jQRKFd5AO0tcvLw5c-hRkTvN89upw,142
90
+ nexus/infrastructure/mcp/manager.py,sha256=f4EusPZPk41VAh3T8bwRaE_mUQjc_jw7Nw-3Vt0wbak,14350
91
+ nexus/infrastructure/model_gateway/__init__.py,sha256=q9sTxl1VC_GpPPwhfAb8bwXqyn6tXDu2bZiiZQ8QGfs,179
92
+ nexus/infrastructure/model_gateway/openai_compatible.py,sha256=BUZ0u8--Q3eKIi3jXV68zKrgtK9v0t4c1s7MGNqIp9o,11584
93
+ nexus/infrastructure/observability/__init__.py,sha256=zKOGjJ_ZM57C9_RPu3BKPj7csxjfnkZW7FrDpGwlvAU,371
94
+ nexus/infrastructure/observability/console.py,sha256=AzFcxR4ZNQwImPaGoJBKqHttzdP3JZtCkMcg-_kZiys,1004
95
+ nexus/infrastructure/observability/langsmith.py,sha256=ObsYWiIfOUX5KjNzWS7whh8twJ906dEMo46heEtUFio,9034
96
+ nexus/infrastructure/observability/structured_logger.py,sha256=jty6bq8z4Iv9f1qR3Ycjey8PVHp3pdvdgJST_tWJXNs,2262
97
+ nexus/infrastructure/persistence/__init__.py,sha256=Y_sd9BZT-7hFtTyJlV2AzC5sRZ2BCpgY7abIE84ya_8,453
98
+ nexus/infrastructure/persistence/approval_unit_of_work.py,sha256=i4pkE9vnqLtUbaIpYsUwlGrF2j_AK9f61HoM2-3_AKA,2520
99
+ nexus/infrastructure/persistence/models.py,sha256=POiAn_29AvVC210HKmDD2htVgmh0MGCPhJTicdsQHL4,5765
100
+ nexus/infrastructure/persistence/repositories.py,sha256=_T6fVhvBnZDFCDugOMj-1EYJ8Y-Ix8MC7PL94RzbO4k,11510
101
+ nexus/infrastructure/persistence/unit_of_work.py,sha256=s9ix4SaOKLzpdGeNZIXIFouFavFayYUX0F1izIVPohk,2688
102
+ nexus/infrastructure/sandbox/__init__.py,sha256=H7aTxTl8fGR03CiFgsCY1hNnsnth7_erKmyTachPbGc,154
103
+ nexus/infrastructure/sandbox/local_process.py,sha256=dcy-Mib3QvJolX_9GsLcUhczQoBou2UxeBRwedB63-Q,11818
104
+ nexus/interfaces/__init__.py,sha256=hYATLZ-i_uecdbqP1PFCMEh2JjrkALrJQUNE2iLdi7w,35
105
+ nexus/interfaces/cli/__init__.py,sha256=ZFCePwzOSK8Ivewf4toObtmHar-TaR119QpOxbxLQfI,26
106
+ nexus/interfaces/cli/__main__.py,sha256=i67LohCI2bdw1d-8qEI60mj-nYO6s0Li70iDkslw8ak,121
107
+ nexus/interfaces/cli/app.py,sha256=AKExfEx6hTnQp8-vNO7fMPw9Pi5kMj9O3PgpaAVic1k,8904
108
+ nexus/interfaces/cli/renderer.py,sha256=aSINk8yPUXQVs4wVaWisTAzkicgo3PTulWHrbZm3RTw,4427
109
+ nexus/security/__init__.py,sha256=61hN-NslLxMX8ri4BnThLhA14PfYfnbwexz-WEF2xsg,458
110
+ nexus/security/approval_policies.py,sha256=-kfWfesPPpwcgw8SwbfcQQaf5KVzp0FBVm1Njwz4h20,2394
111
+ nexus/security/command_policy.py,sha256=SF0pscmaZwABXzi_kYDD6pN7uQAFk6NxsQgtvgHbjGo,4299
112
+ nexus/security/executables.py,sha256=2f-obKf9yba-4q4g8nZS2J7Th2RPNpsJ13wbfbyf-68,3519
113
+ nexus/security/git_commands.py,sha256=EegKZ0gWpthTMP51RGDJMYlj6o5pYxpACLjFOMpk6I8,1658
114
+ nexus/security/workspace.py,sha256=m_GGIvjkub34fKw4reX02-g9NfPhURWLyrQyQrM6Tp4,3422
115
+ nexus/skills/__init__.py,sha256=DwBWfgx74ijO9kC0xyryZI6MeZgCeZ3aNBIuvDzHH6U,273
116
+ nexus/skills/loader.py,sha256=KmiSNgD4evyyNGi2i_ios70Jri3XABY5ShXTvZsm-6s,17244
117
+ nexus/skills/registry.py,sha256=zDDHRVkUYrfcuAKDHPH9HOvWmAlVa2J3o9AIbbAUrck,5160
118
+ nexus/skills/selector.py,sha256=Cei0iMyQp7Sfr3BaoKl2bjBjK7jG__F3uMO6rwiHdC8,5826
119
+ nexus/skills/builtin/__init__.py,sha256=abVQy76FDKcP3a8443xw-JknvUI4sEwb_z16DlfP2ts,46
120
+ nexus/skills/builtin/debug-python/SKILL.md,sha256=cVLh9_9S4W82JLG1MKUOJx5FCKF_7fxPNKJzGzS9F1Y,732
121
+ nexus/skills/builtin/review-repository/SKILL.md,sha256=MX26PXh_v_oXhY7Xw7p4SJRihBUgHkKeoM4aCMQMsGM,813
122
+ nexus/skills/builtin/write-tests/SKILL.md,sha256=XL-rUxOhzch7DkBIXTO_FrrsJKz5Y_TajOExmwwvQjs,815
123
+ nexus/tools/__init__.py,sha256=9xgVdT8Yco2F0w6EN8kKs6y9tUxrgWZb4utzS172fpE,188
124
+ nexus/tools/editing.py,sha256=_r-prscR7raROX38A6zR9FEPo73rGZiHN5rJi04oeBQ,11784
125
+ nexus/tools/mcp.py,sha256=ppJU4kJGyuQTMxConKZZxc-0fNn35igDvxcP_t7Vhqw,6042
126
+ nexus/tools/native.py,sha256=aWCeLlEveOladgn70Xe0CdnidqL8IiIreCb_uCItvm4,21014
127
+ nexus/tools/registry.py,sha256=csEfUpwiqVOr7-88jLUhFtsxk-znFo24-II0mUYiVPA,868
128
+ nexus_coding_agent-0.1.0.dist-info/METADATA,sha256=9W0xqeNs-4HYInimlbSd4SXl8QJZ_L5i2K26L9WWs8g,4865
129
+ nexus_coding_agent-0.1.0.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
130
+ nexus_coding_agent-0.1.0.dist-info/entry_points.txt,sha256=6y4qGrlackkDaM6EDoZ9hhvrBP27dOk52Acjz2zMC24,56
131
+ nexus_coding_agent-0.1.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,2 @@
1
+ [console_scripts]
2
+ nexus = nexus.interfaces.cli.app:main