@praneeth_54/agentdoctor 2.0.1 → 3.0.0

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 (192) hide show
  1. package/CHANGELOG.md +123 -1
  2. package/README.md +510 -260
  3. package/dist/agent/approvals.d.ts +24 -0
  4. package/dist/agent/approvals.js +64 -0
  5. package/dist/agent/chat/deterministic.d.ts +6 -0
  6. package/dist/agent/chat/deterministic.js +180 -0
  7. package/dist/agent/chat/index.d.ts +7 -0
  8. package/dist/agent/chat/index.js +5 -0
  9. package/dist/agent/chat/memory.d.ts +44 -0
  10. package/dist/agent/chat/memory.js +103 -0
  11. package/dist/agent/chat/project-summary.d.ts +16 -0
  12. package/dist/agent/chat/project-summary.js +70 -0
  13. package/dist/agent/chat/prompts.d.ts +6 -0
  14. package/dist/agent/chat/prompts.js +39 -0
  15. package/dist/agent/chat/response.d.ts +19 -0
  16. package/dist/agent/chat/response.js +109 -0
  17. package/dist/agent/chat/service.d.ts +42 -0
  18. package/dist/agent/chat/service.js +246 -0
  19. package/dist/agent/chat/types.d.ts +48 -0
  20. package/dist/agent/chat/types.js +1 -0
  21. package/dist/agent/context/retrieve.d.ts +21 -0
  22. package/dist/agent/context/retrieve.js +117 -0
  23. package/dist/agent/context/truth.d.ts +6 -0
  24. package/dist/agent/context/truth.js +19 -0
  25. package/dist/agent/context/types.d.ts +23 -0
  26. package/dist/agent/context/types.js +4 -0
  27. package/dist/agent/index.d.ts +28 -0
  28. package/dist/agent/index.js +15 -0
  29. package/dist/agent/loop.d.ts +53 -0
  30. package/dist/agent/loop.js +253 -0
  31. package/dist/agent/modes.d.ts +18 -0
  32. package/dist/agent/modes.js +102 -0
  33. package/dist/agent/plan.d.ts +30 -0
  34. package/dist/agent/plan.js +121 -0
  35. package/dist/agent/roles.d.ts +12 -0
  36. package/dist/agent/roles.js +138 -0
  37. package/dist/agent/runtime.d.ts +83 -0
  38. package/dist/agent/runtime.js +293 -0
  39. package/dist/agent/state.d.ts +30 -0
  40. package/dist/agent/state.js +95 -0
  41. package/dist/agent/student.d.ts +56 -0
  42. package/dist/agent/student.js +230 -0
  43. package/dist/agent/tools/execute.d.ts +20 -0
  44. package/dist/agent/tools/execute.js +365 -0
  45. package/dist/agent/tools/index.d.ts +6 -0
  46. package/dist/agent/tools/index.js +5 -0
  47. package/dist/agent/tools/registry.d.ts +7 -0
  48. package/dist/agent/tools/registry.js +212 -0
  49. package/dist/agent/tools/run.d.ts +24 -0
  50. package/dist/agent/tools/run.js +44 -0
  51. package/dist/agent/tools/types.d.ts +32 -0
  52. package/dist/agent/tools/types.js +10 -0
  53. package/dist/agent/tools/write.d.ts +24 -0
  54. package/dist/agent/tools/write.js +121 -0
  55. package/dist/agent/verify.d.ts +29 -0
  56. package/dist/agent/verify.js +210 -0
  57. package/dist/ai/config.d.ts +22 -0
  58. package/dist/ai/config.js +69 -0
  59. package/dist/ai/index.d.ts +17 -0
  60. package/dist/ai/index.js +52 -0
  61. package/dist/ai/providers/mock.d.ts +20 -0
  62. package/dist/ai/providers/mock.js +84 -0
  63. package/dist/ai/providers/none.d.ts +6 -0
  64. package/dist/ai/providers/none.js +23 -0
  65. package/dist/ai/providers/openai-compatible.d.ts +21 -0
  66. package/dist/ai/providers/openai-compatible.js +151 -0
  67. package/dist/ai/redact.d.ts +9 -0
  68. package/dist/ai/redact.js +61 -0
  69. package/dist/ai/types.d.ts +71 -0
  70. package/dist/ai/types.js +6 -0
  71. package/dist/cli/commands/agent.d.ts +29 -0
  72. package/dist/cli/commands/agent.js +164 -0
  73. package/dist/cli/commands/chat.d.ts +14 -0
  74. package/dist/cli/commands/chat.js +153 -0
  75. package/dist/cli/commands/learn.d.ts +12 -0
  76. package/dist/cli/commands/learn.js +107 -0
  77. package/dist/cli/commands/product.d.ts +19 -0
  78. package/dist/cli/commands/product.js +147 -0
  79. package/dist/cli/commands/start.d.ts +15 -0
  80. package/dist/cli/commands/start.js +80 -0
  81. package/dist/cli/program.js +233 -0
  82. package/dist/constants.d.ts +1 -1
  83. package/dist/constants.js +1 -1
  84. package/dist/dashboard/server.d.ts +6 -0
  85. package/dist/dashboard/server.js +333 -43
  86. package/dist/enforcement/runner.d.ts +5 -0
  87. package/dist/enforcement/runner.js +51 -4
  88. package/dist/index.d.ts +17 -0
  89. package/dist/index.js +10 -0
  90. package/dist/intelligence/graph/build.js +36 -8
  91. package/dist/intelligence/resolve/imports.js +1 -1
  92. package/dist/languages/dart.d.ts +10 -0
  93. package/dist/languages/dart.js +99 -0
  94. package/dist/languages/go.d.ts +13 -7
  95. package/dist/languages/go.js +91 -26
  96. package/dist/languages/index.d.ts +5 -1
  97. package/dist/languages/index.js +13 -36
  98. package/dist/languages/java.d.ts +10 -0
  99. package/dist/languages/java.js +80 -0
  100. package/dist/languages/kotlin.d.ts +10 -0
  101. package/dist/languages/kotlin.js +85 -0
  102. package/dist/languages/php.d.ts +1 -0
  103. package/dist/languages/php.js +11 -2
  104. package/dist/languages/python.d.ts +6 -2
  105. package/dist/languages/python.js +39 -9
  106. package/dist/languages/rust.d.ts +10 -0
  107. package/dist/languages/rust.js +93 -0
  108. package/dist/languages/types.d.ts +4 -3
  109. package/dist/mcp/agent/registry.d.ts +13 -0
  110. package/dist/mcp/agent/registry.js +320 -0
  111. package/dist/mcp/agentdoctor/server.js +8 -1
  112. package/dist/mcp/intelligence/handlers.d.ts +3 -0
  113. package/dist/mcp/intelligence/handlers.js +28 -0
  114. package/dist/mcp/intelligence/registry.d.ts +1 -1
  115. package/dist/mcp/intelligence/registry.js +30 -1
  116. package/dist/product/api/doctor.d.ts +14 -0
  117. package/dist/product/api/doctor.js +185 -0
  118. package/dist/product/api/openapi.d.ts +7 -0
  119. package/dist/product/api/openapi.js +122 -0
  120. package/dist/product/approval/model.d.ts +30 -0
  121. package/dist/product/approval/model.js +64 -0
  122. package/dist/product/approval/session.d.ts +49 -0
  123. package/dist/product/approval/session.js +134 -0
  124. package/dist/product/database/doctor.d.ts +30 -0
  125. package/dist/product/database/doctor.js +184 -0
  126. package/dist/product/decisions/ledger.d.ts +24 -0
  127. package/dist/product/decisions/ledger.js +110 -0
  128. package/dist/product/deps/analyze.d.ts +46 -0
  129. package/dist/product/deps/analyze.js +137 -0
  130. package/dist/product/deps/lockfiles.d.ts +25 -0
  131. package/dist/product/deps/lockfiles.js +200 -0
  132. package/dist/product/discovery/roots.d.ts +42 -0
  133. package/dist/product/discovery/roots.js +215 -0
  134. package/dist/product/dna/build.d.ts +50 -0
  135. package/dist/product/dna/build.js +255 -0
  136. package/dist/product/eval/lab.d.ts +17 -0
  137. package/dist/product/eval/lab.js +218 -0
  138. package/dist/product/events/doctor.d.ts +21 -0
  139. package/dist/product/events/doctor.js +147 -0
  140. package/dist/product/evidence-scan.d.ts +12 -0
  141. package/dist/product/evidence-scan.js +46 -0
  142. package/dist/product/evolution/timeline.d.ts +29 -0
  143. package/dist/product/evolution/timeline.js +123 -0
  144. package/dist/product/features/intelligence.d.ts +23 -0
  145. package/dist/product/features/intelligence.js +158 -0
  146. package/dist/product/forensic/mode.d.ts +25 -0
  147. package/dist/product/forensic/mode.js +70 -0
  148. package/dist/product/graph/enrich-languages.d.ts +20 -0
  149. package/dist/product/graph/enrich-languages.js +193 -0
  150. package/dist/product/health/code-health.d.ts +20 -0
  151. package/dist/product/health/code-health.js +149 -0
  152. package/dist/product/index.d.ts +69 -0
  153. package/dist/product/index.js +35 -0
  154. package/dist/product/ledger/change-ledger.d.ts +23 -0
  155. package/dist/product/ledger/change-ledger.js +64 -0
  156. package/dist/product/map/software-map.d.ts +17 -0
  157. package/dist/product/map/software-map.js +95 -0
  158. package/dist/product/memory/institutional.d.ts +16 -0
  159. package/dist/product/memory/institutional.js +87 -0
  160. package/dist/product/ops/incident.d.ts +20 -0
  161. package/dist/product/ops/incident.js +61 -0
  162. package/dist/product/ops/infra.d.ts +15 -0
  163. package/dist/product/ops/infra.js +112 -0
  164. package/dist/product/org/model.d.ts +34 -0
  165. package/dist/product/org/model.js +195 -0
  166. package/dist/product/privacy/doctor.d.ts +13 -0
  167. package/dist/product/privacy/doctor.js +90 -0
  168. package/dist/product/requirements/trace.d.ts +21 -0
  169. package/dist/product/requirements/trace.js +166 -0
  170. package/dist/product/search/index.d.ts +29 -0
  171. package/dist/product/search/index.js +116 -0
  172. package/dist/product/search/software-search.d.ts +19 -0
  173. package/dist/product/search/software-search.js +100 -0
  174. package/dist/product/security/doctor.d.ts +23 -0
  175. package/dist/product/security/doctor.js +124 -0
  176. package/dist/product/self/diagnose.d.ts +15 -0
  177. package/dist/product/self/diagnose.js +82 -0
  178. package/dist/product/techdebt/roadmap.d.ts +20 -0
  179. package/dist/product/techdebt/roadmap.js +118 -0
  180. package/dist/product/testbrain/analyze.d.ts +29 -0
  181. package/dist/product/testbrain/analyze.js +129 -0
  182. package/dist/product/truth.d.ts +12 -0
  183. package/dist/product/truth.js +30 -0
  184. package/dist/product/twin/digital-twin.d.ts +23 -0
  185. package/dist/product/twin/digital-twin.js +52 -0
  186. package/dist/product/twin/store.d.ts +21 -0
  187. package/dist/product/twin/store.js +70 -0
  188. package/dist/product/whatif/engine.d.ts +28 -0
  189. package/dist/product/whatif/engine.js +70 -0
  190. package/dist/security/paths.js +43 -15
  191. package/dist/utils/fs.js +10 -2
  192. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,126 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.0.0] — 2026-09-26
11
+
12
+ Public release of the **AgentDoctor 3.0 local core**: project intelligence, doctors,
13
+ student/agent workflows, MCP, dashboard, evidence/proof, and honest EXTERNAL
14
+ boundaries. AI providers remain **opt-in**. Correctness is never claimed.
15
+
16
+ Limitations: [docs/LIMITATIONS.md](docs/LIMITATIONS.md).
17
+ Release prep: [docs/FINAL_PRE_RELEASE_CHECK.md](docs/FINAL_PRE_RELEASE_CHECK.md).
18
+
19
+ ### Highlights
20
+
21
+ - **Project intelligence** — discovery, DNA, Brain, software map, hybrid search,
22
+ dependency/lockfile analysis, architecture contracts, git/change impact.
23
+ - **Project Chat** — deterministic `ask` / `chat` with truth labels
24
+ (`VERIFIED` | `INFERRED` | `UNKNOWN` | `EXTERNAL`); optional AI when configured.
25
+ - **Coding agent** — plan → human approval → path-safe tools → verify; no
26
+ unrestricted shell; `ENGINEERING_CORRECTNESS_NOT_CLAIMED` preserved.
27
+ - **Student workflows** — `learn`, viva, docs, Build With Me (explain → plan →
28
+ approve → apply → verify).
29
+ - **Security & approval** — Security Doctor (static), secret redaction, forensic
30
+ read-only mode, MCP approval tokens + planHash (bare `approved:true` rejected).
31
+ - **Evidence & verification** — change analysis, evidence bundles, change proof
32
+ (hash integrity; engineering correctness not claimed).
33
+ - **MCP** — combined server with **38** tools (project, intelligence, agent,
34
+ assurance); path/workspace escape blocked.
35
+ - **Dashboard** — embedded local UI + APIs (status, DNA, graph, search, security,
36
+ twin, what-if, forensic, chat).
37
+ - **Digital Twin / What-If** — local refreshable twin snapshot; graph-derived
38
+ impact with uncertainty (not certainty).
39
+ - **Doctors** — API, Database, Event, Security, Privacy, Incident, Deployment
40
+ (file/static evidence); live runtime / IdP / brokers remain **EXTERNAL**.
41
+ - **Evaluation Lab** — fixture-driven eval including prompt-injection detect-only.
42
+ - **Self-diagnosis** — product self-check surfaces.
43
+
44
+ ### Providers (local)
45
+
46
+ - Implemented: `none` | `mock` | `openai-compatible` | `ollama`.
47
+ - Native Anthropic / Gemini SDKs: **not implemented** (fail closed via `none`).
48
+
49
+ ### Limitations (not unfinished stubs)
50
+
51
+ - Live cloud/DB/K8s/APM runtime intelligence: **EXTERNAL**.
52
+ - Neural embeddings / enterprise IdP-SSO: **EXTERNAL**.
53
+ - Full compiler-grade AST/call binding for every language: not claimed.
54
+ - Not an OS sandbox / EDR; not a replacement for commercial SAST/SCA.
55
+ - Proof asserts hash integrity — not absolute engineering correctness.
56
+
57
+ ### Docs / packaging
58
+
59
+ - Rebuilt public README; public docs under `docs/`; audits in `docs/internal/`.
60
+ - npm package contents: `dist`, `README.md`, `LICENSE`, `CHANGELOG.md`.
61
+ - GitHub Action default package pin: **3.0.0**.
62
+
63
+ ## [2.1.0] — 2026-09-23
64
+
65
+ Optional Project AI Agent line on top of 2.0.1 assurance. AI remains **opt-in**.
66
+ Historical notes: [docs/internal/RELEASE_2_1_0.md](docs/internal/RELEASE_2_1_0.md).
67
+ Checklist: [docs/internal/RELEASE_CHECKLIST_2_1_0.md](docs/internal/RELEASE_CHECKLIST_2_1_0.md).
68
+
69
+ #### Project Intelligence
70
+
71
+ - Project-aware context retrieval (Brain / graph / planContext orchestration).
72
+ - Project Chat CLI (`agentdoctor chat` / `ask`) with evidence-backed answers.
73
+ - Truth labels: `VERIFIED` | `INFERRED` | `UNKNOWN` | `EXTERNAL`.
74
+
75
+ #### AI Agent
76
+
77
+ - Provider abstraction (`ModelProvider`): `none` | `mock` | `openai-compatible` | `ollama`.
78
+ - Optional AI architecture: model reasons; AgentDoctor provides context, controls tools, verifies results.
79
+ - Native Anthropic / Gemini SDKs remain **NOT IMPLEMENTED** (fail closed via `none`).
80
+
81
+ #### Agent Tools
82
+
83
+ - Read / search tools (path-safe).
84
+ - Create / edit / delete with diffs (approval required).
85
+ - Controlled command and test execution via `runControlledCommand` (`shell=false`).
86
+ - Coding loop: PLAN → APPROVAL → TOOLS → OBSERVE → VERIFY.
87
+
88
+ #### Safety
89
+
90
+ - Path safety and symlink-dir escape rejection on writes.
91
+ - Workspace isolation when `WorkspaceModel` is provided; otherwise repo-root binding.
92
+ - Mode `allowWrites` enforcement (LEARN hard-blocks writes).
93
+ - Approval gates (`--approve` / `approvedByHuman`); model cannot self-approve.
94
+ - Dangerous command blocking; prompt-injection data separation (`PROJECT_DATA` / `TOOL_OUTPUT_UNTRUSTED`).
95
+ - Secret redaction (reuses existing redaction infrastructure).
96
+ - Hard agent limits: tool calls, iterations, wall time, files modified, context chars.
97
+
98
+ #### Verification
99
+
100
+ - Post-change analysis / evidence / proof / architecture (where applicable).
101
+ - Optional controlled test run (`--run-tests`).
102
+ - Always preserves `ENGINEERING_CORRECTNESS_NOT_CLAIMED`.
103
+
104
+ #### Student
105
+
106
+ - `agentdoctor learn` — project explain, viva, docs.
107
+ - Default student experience: **BUILD_WITH_ME** (explain → plan → teach → approve → `runCodingLoop` → verify).
108
+ - Rich interactive student UI remains **PARTIAL**.
109
+
110
+ #### MCP
111
+
112
+ - Agent tools: `project_context`, `project_ask`, `code_search`, `file_read`, `file_create`, `file_edit`, `agent_plan`, `change_verify`.
113
+ - No unrestricted shell.
114
+ - `project_ask` fail-closed when provider is `none`.
115
+ - MCP `approved=true` is **trusted-caller input**, not cryptographic human identity; MCP does not carry `AgentMode`.
116
+
117
+ #### Dashboard
118
+
119
+ - Project Chat via `POST /api/chat` (ask-only; no file writes).
120
+ - Fail-closed when AI provider resolves to `none` (no silent mock fallback).
121
+
122
+ #### Known limitations
123
+
124
+ - Not an OS sandbox / EDR (**EXTERNAL LIMITATION**).
125
+ - Native Anthropic / Gemini SDKs **NOT IMPLEMENTED**.
126
+ - Correctness is never guaranteed.
127
+ - MCP approval is trusted-caller input (not cryptographic human identity); MCP does not carry AgentMode.
128
+ - Rich interactive student UI remains **PARTIAL**.
129
+
10
130
  ## [2.0.1] — 2026-09-23
11
131
 
12
132
  Hardening and change-assurance cut on top of 2.0.0, plus a deepening pass that
@@ -453,7 +573,9 @@ First public beta.
453
573
  - Not a complete secret scanner
454
574
  - Git “tracked secret” detection deferred
455
575
 
456
- [Unreleased]: https://github.com/pranee54/AgentDoctor/compare/v2.0.1...HEAD
576
+ [Unreleased]: https://github.com/pranee54/AgentDoctor/compare/v3.0.0...HEAD
577
+ [3.0.0]: https://github.com/pranee54/AgentDoctor/compare/v2.1.0...v3.0.0
578
+ [2.1.0]: https://github.com/pranee54/AgentDoctor/compare/v2.0.1...v2.1.0
457
579
  [2.0.1]: https://github.com/pranee54/AgentDoctor/compare/v2.0.0...v2.0.1
458
580
  [2.0.0]: https://github.com/pranee54/AgentDoctor/compare/v1.1.1...v2.0.0
459
581
  [1.1.1]: https://github.com/pranee54/AgentDoctor/releases/tag/v1.1.1