@praneeth_54/agentdoctor 2.0.0 → 2.1.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 (168) hide show
  1. package/CHANGELOG.md +141 -4
  2. package/README.md +329 -153
  3. package/dist/agent/approvals.d.ts +24 -0
  4. package/dist/agent/approvals.js +64 -0
  5. package/dist/agent/chat/index.d.ts +7 -0
  6. package/dist/agent/chat/index.js +5 -0
  7. package/dist/agent/chat/memory.d.ts +44 -0
  8. package/dist/agent/chat/memory.js +103 -0
  9. package/dist/agent/chat/project-summary.d.ts +16 -0
  10. package/dist/agent/chat/project-summary.js +70 -0
  11. package/dist/agent/chat/prompts.d.ts +6 -0
  12. package/dist/agent/chat/prompts.js +39 -0
  13. package/dist/agent/chat/response.d.ts +19 -0
  14. package/dist/agent/chat/response.js +109 -0
  15. package/dist/agent/chat/service.d.ts +42 -0
  16. package/dist/agent/chat/service.js +252 -0
  17. package/dist/agent/chat/types.d.ts +48 -0
  18. package/dist/agent/chat/types.js +1 -0
  19. package/dist/agent/context/retrieve.d.ts +21 -0
  20. package/dist/agent/context/retrieve.js +117 -0
  21. package/dist/agent/context/truth.d.ts +6 -0
  22. package/dist/agent/context/truth.js +19 -0
  23. package/dist/agent/context/types.d.ts +23 -0
  24. package/dist/agent/context/types.js +4 -0
  25. package/dist/agent/index.d.ts +26 -0
  26. package/dist/agent/index.js +14 -0
  27. package/dist/agent/loop.d.ts +51 -0
  28. package/dist/agent/loop.js +222 -0
  29. package/dist/agent/modes.d.ts +18 -0
  30. package/dist/agent/modes.js +102 -0
  31. package/dist/agent/plan.d.ts +30 -0
  32. package/dist/agent/plan.js +121 -0
  33. package/dist/agent/runtime.d.ts +67 -0
  34. package/dist/agent/runtime.js +180 -0
  35. package/dist/agent/state.d.ts +30 -0
  36. package/dist/agent/state.js +95 -0
  37. package/dist/agent/student.d.ts +56 -0
  38. package/dist/agent/student.js +230 -0
  39. package/dist/agent/tools/execute.d.ts +18 -0
  40. package/dist/agent/tools/execute.js +355 -0
  41. package/dist/agent/tools/index.d.ts +6 -0
  42. package/dist/agent/tools/index.js +5 -0
  43. package/dist/agent/tools/registry.d.ts +7 -0
  44. package/dist/agent/tools/registry.js +212 -0
  45. package/dist/agent/tools/run.d.ts +24 -0
  46. package/dist/agent/tools/run.js +44 -0
  47. package/dist/agent/tools/types.d.ts +32 -0
  48. package/dist/agent/tools/types.js +10 -0
  49. package/dist/agent/tools/write.d.ts +24 -0
  50. package/dist/agent/tools/write.js +121 -0
  51. package/dist/agent/verify.d.ts +29 -0
  52. package/dist/agent/verify.js +210 -0
  53. package/dist/ai/config.d.ts +22 -0
  54. package/dist/ai/config.js +68 -0
  55. package/dist/ai/index.d.ts +17 -0
  56. package/dist/ai/index.js +52 -0
  57. package/dist/ai/providers/mock.d.ts +20 -0
  58. package/dist/ai/providers/mock.js +84 -0
  59. package/dist/ai/providers/none.d.ts +6 -0
  60. package/dist/ai/providers/none.js +23 -0
  61. package/dist/ai/providers/openai-compatible.d.ts +21 -0
  62. package/dist/ai/providers/openai-compatible.js +151 -0
  63. package/dist/ai/redact.d.ts +8 -0
  64. package/dist/ai/redact.js +21 -0
  65. package/dist/ai/types.d.ts +71 -0
  66. package/dist/ai/types.js +6 -0
  67. package/dist/architecture/contract.d.ts +64 -0
  68. package/dist/architecture/contract.js +373 -0
  69. package/dist/assurance/change.d.ts +211 -0
  70. package/dist/assurance/change.js +624 -0
  71. package/dist/assurance/proof.d.ts +136 -0
  72. package/dist/assurance/proof.js +338 -0
  73. package/dist/auth/index.d.ts +81 -0
  74. package/dist/auth/index.js +130 -0
  75. package/dist/auth/rbac.d.ts +9 -0
  76. package/dist/auth/rbac.js +26 -0
  77. package/dist/cli/commands/agent.d.ts +27 -0
  78. package/dist/cli/commands/agent.js +153 -0
  79. package/dist/cli/commands/architecture.d.ts +6 -0
  80. package/dist/cli/commands/architecture.js +109 -0
  81. package/dist/cli/commands/assurance.d.ts +67 -0
  82. package/dist/cli/commands/assurance.js +210 -0
  83. package/dist/cli/commands/chat.d.ts +14 -0
  84. package/dist/cli/commands/chat.js +155 -0
  85. package/dist/cli/commands/complete.js +2 -2
  86. package/dist/cli/commands/learn.d.ts +12 -0
  87. package/dist/cli/commands/learn.js +107 -0
  88. package/dist/cli/commands/platform.d.ts +2 -0
  89. package/dist/cli/commands/platform.js +5 -1
  90. package/dist/cli/commands/policy-graph-run.d.ts +40 -0
  91. package/dist/cli/commands/policy-graph-run.js +200 -0
  92. package/dist/cli/commands/workspace.d.ts +9 -0
  93. package/dist/cli/commands/workspace.js +82 -0
  94. package/dist/cli/program.js +627 -17
  95. package/dist/constants.d.ts +1 -1
  96. package/dist/constants.js +1 -1
  97. package/dist/contracts/index.d.ts +1 -1
  98. package/dist/contracts/index.js +2 -2
  99. package/dist/core/brain-product/init.js +5 -2
  100. package/dist/core/secrets/scan.d.ts +7 -1
  101. package/dist/core/secrets/scan.js +9 -9
  102. package/dist/coverage/cobertura.d.ts +6 -0
  103. package/dist/coverage/cobertura.js +52 -0
  104. package/dist/coverage/istanbul.d.ts +7 -0
  105. package/dist/coverage/istanbul.js +134 -0
  106. package/dist/coverage/lcov.d.ts +7 -0
  107. package/dist/coverage/lcov.js +59 -0
  108. package/dist/coverage/load.d.ts +9 -0
  109. package/dist/coverage/load.js +39 -0
  110. package/dist/coverage/types.d.ts +23 -0
  111. package/dist/coverage/types.js +5 -0
  112. package/dist/dashboard/server.d.ts +7 -1
  113. package/dist/dashboard/server.js +110 -6
  114. package/dist/enforcement/runner.d.ts +52 -3
  115. package/dist/enforcement/runner.js +467 -16
  116. package/dist/index.d.ts +36 -2
  117. package/dist/index.js +23 -2
  118. package/dist/intelligence/graph/build.d.ts +2 -0
  119. package/dist/intelligence/graph/build.js +49 -5
  120. package/dist/intelligence/graph/incremental.d.ts +68 -0
  121. package/dist/intelligence/graph/incremental.js +234 -0
  122. package/dist/intelligence/resolve/imports.d.ts +36 -0
  123. package/dist/intelligence/resolve/imports.js +245 -0
  124. package/dist/languages/go.d.ts +9 -0
  125. package/dist/languages/go.js +50 -0
  126. package/dist/languages/index.d.ts +11 -0
  127. package/dist/languages/index.js +76 -0
  128. package/dist/languages/php.d.ts +8 -0
  129. package/dist/languages/php.js +202 -0
  130. package/dist/languages/python.d.ts +11 -0
  131. package/dist/languages/python.js +180 -0
  132. package/dist/languages/types.d.ts +42 -0
  133. package/dist/languages/types.js +26 -0
  134. package/dist/languages/typescript.d.ts +3 -0
  135. package/dist/languages/typescript.js +95 -0
  136. package/dist/mcp/agent/registry.d.ts +13 -0
  137. package/dist/mcp/agent/registry.js +234 -0
  138. package/dist/mcp/agentdoctor/server.js +8 -1
  139. package/dist/mcp/intelligence/handlers.d.ts +5 -0
  140. package/dist/mcp/intelligence/handlers.js +229 -40
  141. package/dist/mcp/intelligence/path-safety.d.ts +2 -4
  142. package/dist/mcp/intelligence/path-safety.js +25 -44
  143. package/dist/mcp/intelligence/registry.d.ts +1 -1
  144. package/dist/mcp/intelligence/registry.js +69 -1
  145. package/dist/platform/firewall/evaluate.d.ts +6 -3
  146. package/dist/platform/firewall/evaluate.js +66 -15
  147. package/dist/platform/graph/build.js +19 -23
  148. package/dist/platform/health/analyze.js +23 -17
  149. package/dist/platform/index.js +2 -0
  150. package/dist/platform/test-impact/analyze.d.ts +21 -3
  151. package/dist/platform/test-impact/analyze.js +214 -28
  152. package/dist/platform/tokens/plan.js +39 -20
  153. package/dist/platform/types.d.ts +9 -0
  154. package/dist/policy/compose.d.ts +34 -0
  155. package/dist/policy/compose.js +118 -0
  156. package/dist/policy/packs.js +33 -1
  157. package/dist/security/paths.d.ts +21 -0
  158. package/dist/security/paths.js +133 -0
  159. package/dist/storage/postgres.d.ts +26 -0
  160. package/dist/storage/postgres.js +90 -0
  161. package/dist/storage/provider.d.ts +2 -7
  162. package/dist/storage/provider.js +22 -16
  163. package/dist/storage/sqlite.d.ts +33 -0
  164. package/dist/storage/sqlite.js +77 -0
  165. package/dist/team/auth.js +1 -1
  166. package/dist/workspace/index.d.ts +69 -0
  167. package/dist/workspace/index.js +220 -0
  168. package/package.json +9 -3
package/CHANGELOG.md CHANGED
@@ -7,10 +7,145 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ### Notes
10
+ ## [2.1.0] — 2026-09-23
11
+
12
+ Optional Project AI Agent line on top of 2.0.1 assurance. AI remains **opt-in**.
13
+ Canonical release notes: [docs/RELEASE_2_1_0.md](docs/RELEASE_2_1_0.md).
14
+ Checklist: [docs/RELEASE_CHECKLIST_2_1_0.md](docs/RELEASE_CHECKLIST_2_1_0.md).
15
+
16
+ #### Project Intelligence
17
+
18
+ - Project-aware context retrieval (Brain / graph / planContext orchestration).
19
+ - Project Chat CLI (`agentdoctor chat` / `ask`) with evidence-backed answers.
20
+ - Truth labels: `VERIFIED` | `INFERRED` | `UNKNOWN` | `EXTERNAL`.
21
+
22
+ #### AI Agent
23
+
24
+ - Provider abstraction (`ModelProvider`): `none` | `mock` | `openai-compatible` | `ollama`.
25
+ - Optional AI architecture: model reasons; AgentDoctor provides context, controls tools, verifies results.
26
+ - Native Anthropic / Gemini SDKs remain **NOT IMPLEMENTED** (fail closed via `none`).
27
+
28
+ #### Agent Tools
29
+
30
+ - Read / search tools (path-safe).
31
+ - Create / edit / delete with diffs (approval required).
32
+ - Controlled command and test execution via `runControlledCommand` (`shell=false`).
33
+ - Coding loop: PLAN → APPROVAL → TOOLS → OBSERVE → VERIFY.
34
+
35
+ #### Safety
36
+
37
+ - Path safety and symlink-dir escape rejection on writes.
38
+ - Workspace isolation when `WorkspaceModel` is provided; otherwise repo-root binding.
39
+ - Mode `allowWrites` enforcement (LEARN hard-blocks writes).
40
+ - Approval gates (`--approve` / `approvedByHuman`); model cannot self-approve.
41
+ - Dangerous command blocking; prompt-injection data separation (`PROJECT_DATA` / `TOOL_OUTPUT_UNTRUSTED`).
42
+ - Secret redaction (reuses existing redaction infrastructure).
43
+ - Hard agent limits: tool calls, iterations, wall time, files modified, context chars.
44
+
45
+ #### Verification
46
+
47
+ - Post-change analysis / evidence / proof / architecture (where applicable).
48
+ - Optional controlled test run (`--run-tests`).
49
+ - Always preserves `ENGINEERING_CORRECTNESS_NOT_CLAIMED`.
50
+
51
+ #### Student
52
+
53
+ - `agentdoctor learn` — project explain, viva, docs.
54
+ - Default student experience: **BUILD_WITH_ME** (explain → plan → teach → approve → `runCodingLoop` → verify).
55
+ - Rich interactive student UI remains **PARTIAL**.
56
+
57
+ #### MCP
58
+
59
+ - Agent tools: `project_context`, `project_ask`, `code_search`, `file_read`, `file_create`, `file_edit`, `agent_plan`, `change_verify`.
60
+ - No unrestricted shell.
61
+ - `project_ask` fail-closed when provider is `none`.
62
+ - MCP `approved=true` is **trusted-caller input**, not cryptographic human identity; MCP does not carry `AgentMode`.
63
+
64
+ #### Dashboard
65
+
66
+ - Project Chat via `POST /api/chat` (ask-only; no file writes).
67
+ - Fail-closed when AI provider resolves to `none` (no silent mock fallback).
68
+
69
+ #### Known limitations
70
+
71
+ - Not an OS sandbox / EDR (**EXTERNAL LIMITATION**).
72
+ - Native Anthropic / Gemini SDKs **NOT IMPLEMENTED**.
73
+ - Correctness is never guaranteed.
74
+ - MCP approval is trusted-caller input (not cryptographic human identity); MCP does not carry AgentMode.
75
+ - Rich interactive student UI remains **PARTIAL**.
76
+
77
+ ## [2.0.1] — 2026-09-23
78
+
79
+ Hardening and change-assurance cut on top of 2.0.0, plus a deepening pass that
80
+ closes controllable PARTIALs with honest EXTERNAL/EXPERIMENTAL gates. Canonical
81
+ docs: [docs/2.0.1/](docs/2.0.1/README.md). Completion map:
82
+ [docs/2.0.1/FINAL_COMPLETION_AUDIT.md](docs/2.0.1/FINAL_COMPLETION_AUDIT.md).
83
+
84
+ ### Added
85
+
86
+ - Change assurance CLI: `agentdoctor change analyze|verify|explain|diff|status`
87
+ assemble repository signals into a structured `ChangeAssessment`.
88
+ - Evidence bundles under `.agentdoctor/evidence/<change-id>/` with versioned
89
+ `manifest.json` and SHA-256 file hashes; `evidence inspect|verify`.
90
+ - Change Proof CLI: `proof build|inspect|explain|verify|export` (integrity +
91
+ optional engineering checks; `correctnessStatus` always
92
+ `ENGINEERING_CORRECTNESS_NOT_CLAIMED`).
93
+ - Architecture contract: `architecture init|analyze|check|explain`.
94
+ - Optional coverage-backed test impact (`--coverage`) with explicit
95
+ `testAttribution` labels (`coverage-map` / `hybrid-heuristic` / `none`).
96
+ - Controlled runner: `run` / `run explain` and `policy check|explain|enforce`
97
+ (execute only when explicitly allowed).
98
+ - Policy composition (builtin pack + `.agentdoctor/policy.json`).
99
+ - Incremental graph surfaces: `graph build|update|rebuild|status`.
100
+ - Workspace isolation CLI: `workspace create|add|list|status|remove`.
101
+ - Language adapters: Python/PHP toolchain bridges; Go honest unsupported stub;
102
+ Java/Kotlin/Rust/Dart unsupported stubs.
103
+ - Storage: SQLite (`node:sqlite`) and Postgres (`tryCreatePostgresStorage`) with
104
+ env/runtime gates.
105
+ - Auth library path: OIDC JWT/JWKS validation + RBAC helpers (browser OAuth
106
+ redirect remains experimental).
107
+ - Combined MCP tools: `change_analyze`, `architecture_check`, `proof_inspect`,
108
+ `evidence_inspect`, `graph_query`.
109
+ - Docs: `docs/2.0.1/` including FINAL_COMPLETION_AUDIT and updated limitations.
110
+
111
+ ### Changed
112
+
113
+ - Package positioning: engineering assurance for AI coding agents; description
114
+ and keywords updated (`change-assurance`, `evidence`, `engineering-assurance`).
115
+ - Action default `version` input and CI published-package pins → **2.0.1**.
116
+ - `npm run verify` builds before tests so STDIO MCP suites use fresh `dist/`.
117
+ - Firewall load path seeds DEFAULT_POLICY when no repo policy exists; force-push
118
+ is `require-approval` (not hard-block via baseline pack alone).
119
+ - README / CONTRIBUTING / ROADMAP aligned to honest status labels.
120
+
121
+ ### Fixed
122
+
123
+ - CodeQL high alerts: crypto usage, ReDoS hardening, temp-file handling, and
124
+ TOCTOU fixes across secrets scan, graph/health/tokens, team auth, and related
125
+ tests.
126
+ - CI Typecheck / Lint / Test / Build: track plugin fixtures previously ignored
127
+ under `.agentdoctor/`, and normalize TypeScript AST source paths so Windows
128
+ runners match discovered files.
129
+ - Language adapter barrel exports (`pythonAvailable` / `phpAvailable` /
130
+ `goAvailable`) kept consistent.
131
+
132
+ ### Security
133
+
134
+ - CodeQL-driven hardening on path/temp and regex surfaces (see Fixed).
135
+ - Central path safety helpers; secret severity≠confidence fields.
136
+ - Change assurance / policy path remains evaluate-only by default
137
+ (`executionResult: "not-executed"`); no fake full browser SSO.
138
+
139
+ ### Known limitations (at release)
11
140
 
12
- - Post-cut work only. Version cut for **2.0.0** is recorded below (not yet
13
- committed, tagged, or published unless a human does so separately).
141
+ - Test impact is heuristic without coverage; hybrid when coverage lacks a test
142
+ map.
143
+ - Architecture C4 impact remains **inferred**; contract is repo-local only.
144
+ - Proof `verified` / hash integrity ≠ engineering correctness or compliance.
145
+ - Browser OAuth incomplete (EXPERIMENTAL); Postgres needs live URL (EXTERNAL);
146
+ Java/Kotlin/Rust/Dart/Go AST extractors EXTERNAL; IDE interception EXTERNAL.
147
+ - Published npm Action pins require a human `npm publish` of 2.0.1 before remote
148
+ CI against `version: 2.0.1` succeeds.
14
149
 
15
150
  ## [2.0.0] — 2026-09-21
16
151
 
@@ -385,7 +520,9 @@ First public beta.
385
520
  - Not a complete secret scanner
386
521
  - Git “tracked secret” detection deferred
387
522
 
388
- [Unreleased]: https://github.com/pranee54/AgentDoctor/compare/v2.0.0...HEAD
523
+ [Unreleased]: https://github.com/pranee54/AgentDoctor/compare/v2.1.0...HEAD
524
+ [2.1.0]: https://github.com/pranee54/AgentDoctor/compare/v2.0.1...v2.1.0
525
+ [2.0.1]: https://github.com/pranee54/AgentDoctor/compare/v2.0.0...v2.0.1
389
526
  [2.0.0]: https://github.com/pranee54/AgentDoctor/compare/v1.1.1...v2.0.0
390
527
  [1.1.1]: https://github.com/pranee54/AgentDoctor/releases/tag/v1.1.1
391
528
  [1.1.0]: https://github.com/pranee54/AgentDoctor/releases/tag/v1.1.0