@martinloop/mcp 0.3.8 → 0.5.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 (161) hide show
  1. package/README.md +90 -106
  2. package/dist/discovery-metadata.d.ts +1 -1
  3. package/dist/discovery-metadata.js +1 -1
  4. package/dist/resources.d.ts +1 -2
  5. package/dist/resources.js +190 -238
  6. package/dist/server-validation.d.ts +1 -1
  7. package/dist/server-validation.js +16 -11
  8. package/dist/server.d.ts +23 -0
  9. package/dist/server.js +152 -7
  10. package/dist/tools/run-dossier.d.ts +3 -1
  11. package/dist/tools/run-dossier.js +40 -2
  12. package/dist/tools/run-loop.d.ts +1 -4
  13. package/dist/tools/run-loop.js +6 -15
  14. package/dist/tools/tool-support.d.ts +2 -1
  15. package/dist/tools/tool-support.js +1 -12
  16. package/dist/vendor/adapters/claude-cli.js +38 -35
  17. package/dist/vendor/adapters/cli-bridge.d.ts +9 -1
  18. package/dist/vendor/adapters/cli-bridge.js +54 -13
  19. package/dist/vendor/adapters/codex-launcher.d.ts +61 -1
  20. package/dist/vendor/adapters/codex-launcher.js +118 -19
  21. package/dist/vendor/adapters/index.d.ts +1 -3
  22. package/dist/vendor/adapters/index.js +1 -3
  23. package/dist/vendor/adapters/openai-compatible.js +57 -18
  24. package/dist/vendor/contracts/adapter-capabilities.d.ts +1 -1
  25. package/dist/vendor/contracts/context-handoff.d.ts +100 -0
  26. package/dist/vendor/contracts/context-handoff.js +11 -0
  27. package/dist/vendor/contracts/context-manifest.d.ts +195 -0
  28. package/dist/vendor/contracts/context-manifest.js +17 -0
  29. package/dist/vendor/contracts/context-shadow.d.ts +75 -0
  30. package/dist/vendor/contracts/context-shadow.js +8 -0
  31. package/dist/vendor/contracts/exits.d.ts +126 -0
  32. package/dist/vendor/contracts/exits.js +32 -0
  33. package/dist/vendor/contracts/index.d.ts +39 -2
  34. package/dist/vendor/contracts/index.js +22 -0
  35. package/dist/vendor/contracts/mission.d.ts +102 -0
  36. package/dist/vendor/contracts/mission.js +64 -0
  37. package/dist/vendor/contracts/operator.d.ts +3 -1
  38. package/dist/vendor/contracts/operator.js +2 -1
  39. package/dist/vendor/contracts/verified-handoff.d.ts +100 -0
  40. package/dist/vendor/contracts/verified-handoff.js +35 -0
  41. package/dist/vendor/core/context-chain-gate.d.ts +89 -0
  42. package/dist/vendor/core/context-chain-gate.js +173 -0
  43. package/dist/vendor/core/context-compiler.d.ts +53 -0
  44. package/dist/vendor/core/context-compiler.js +261 -0
  45. package/dist/vendor/core/context-handoff.d.ts +42 -0
  46. package/dist/vendor/core/context-handoff.js +167 -0
  47. package/dist/vendor/core/context-shadow.d.ts +39 -0
  48. package/dist/vendor/core/context-shadow.js +200 -0
  49. package/dist/vendor/core/exit-signal.d.ts +88 -0
  50. package/dist/vendor/core/exit-signal.js +339 -0
  51. package/dist/vendor/core/exits.d.ts +41 -0
  52. package/dist/vendor/core/exits.js +258 -0
  53. package/dist/vendor/core/index.d.ts +42 -1
  54. package/dist/vendor/core/index.js +1086 -662
  55. package/dist/vendor/core/mission/aggregate.d.ts +27 -0
  56. package/dist/vendor/core/mission/aggregate.js +42 -0
  57. package/dist/vendor/core/mission/index.d.ts +2 -0
  58. package/dist/vendor/core/mission/index.js +1 -0
  59. package/dist/vendor/core/persistence/compiler.d.ts +8 -0
  60. package/dist/vendor/core/persistence/compiler.js +156 -0
  61. package/dist/vendor/core/persistence/context-handoff-store.d.ts +68 -0
  62. package/dist/vendor/core/persistence/context-handoff-store.js +112 -0
  63. package/dist/vendor/core/persistence/index.d.ts +4 -0
  64. package/dist/vendor/core/persistence/index.js +2 -0
  65. package/dist/vendor/core/persistence/ledger.d.ts +1 -1
  66. package/dist/vendor/core/persistence/mission-store.d.ts +56 -0
  67. package/dist/vendor/core/persistence/mission-store.js +281 -0
  68. package/dist/vendor/core/policy.d.ts +2 -0
  69. package/dist/vendor/core/policy.js +5 -2
  70. package/dist/vendor/core/rollback.js +15 -1
  71. package/dist/vendor/core/savings.d.ts +13 -0
  72. package/dist/vendor/core/savings.js +22 -0
  73. package/dist/vendor/core/termination-store.d.ts +15 -0
  74. package/dist/vendor/core/termination-store.js +44 -0
  75. package/dist/vendor/core/verified-handoff.d.ts +67 -0
  76. package/dist/vendor/core/verified-handoff.js +210 -0
  77. package/package.json +76 -83
  78. package/server.json +21 -21
  79. package/LICENSE +0 -216
  80. package/dist/vendor/adapters/adapters/src/claude-cli.d.ts +0 -146
  81. package/dist/vendor/adapters/adapters/src/claude-cli.js +0 -1100
  82. package/dist/vendor/adapters/adapters/src/cli-bridge.d.ts +0 -103
  83. package/dist/vendor/adapters/adapters/src/cli-bridge.js +0 -569
  84. package/dist/vendor/adapters/adapters/src/codex-launcher.d.ts +0 -78
  85. package/dist/vendor/adapters/adapters/src/codex-launcher.js +0 -663
  86. package/dist/vendor/adapters/adapters/src/direct-provider.d.ts +0 -10
  87. package/dist/vendor/adapters/adapters/src/direct-provider.js +0 -40
  88. package/dist/vendor/adapters/adapters/src/index.d.ts +0 -8
  89. package/dist/vendor/adapters/adapters/src/index.js +0 -8
  90. package/dist/vendor/adapters/adapters/src/openai-compatible.d.ts +0 -62
  91. package/dist/vendor/adapters/adapters/src/openai-compatible.js +0 -306
  92. package/dist/vendor/adapters/adapters/src/runtime-support.d.ts +0 -17
  93. package/dist/vendor/adapters/adapters/src/runtime-support.js +0 -59
  94. package/dist/vendor/adapters/adapters/src/stub-agent-cli.d.ts +0 -8
  95. package/dist/vendor/adapters/adapters/src/stub-agent-cli.js +0 -40
  96. package/dist/vendor/adapters/adapters/src/stub-direct-provider.d.ts +0 -8
  97. package/dist/vendor/adapters/adapters/src/stub-direct-provider.js +0 -12
  98. package/dist/vendor/adapters/adapters/src/verifier-only.d.ts +0 -9
  99. package/dist/vendor/adapters/adapters/src/verifier-only.js +0 -63
  100. package/dist/vendor/adapters/contracts/src/context-graph.d.ts +0 -48
  101. package/dist/vendor/adapters/contracts/src/context-graph.js +0 -26
  102. package/dist/vendor/adapters/contracts/src/execution-policy.d.ts +0 -78
  103. package/dist/vendor/adapters/contracts/src/execution-policy.js +0 -43
  104. package/dist/vendor/adapters/contracts/src/governance.d.ts +0 -24
  105. package/dist/vendor/adapters/contracts/src/governance.js +0 -11
  106. package/dist/vendor/adapters/contracts/src/identity.d.ts +0 -29
  107. package/dist/vendor/adapters/contracts/src/identity.js +0 -30
  108. package/dist/vendor/adapters/contracts/src/index.d.ts +0 -412
  109. package/dist/vendor/adapters/contracts/src/index.js +0 -225
  110. package/dist/vendor/adapters/contracts/src/operator.d.ts +0 -19
  111. package/dist/vendor/adapters/contracts/src/operator.js +0 -11
  112. package/dist/vendor/adapters/contracts/src/trajectory.d.ts +0 -26
  113. package/dist/vendor/adapters/contracts/src/trajectory.js +0 -27
  114. package/dist/vendor/adapters/core/src/compiler.d.ts +0 -52
  115. package/dist/vendor/adapters/core/src/compiler.js +0 -52
  116. package/dist/vendor/adapters/core/src/context-graph.d.ts +0 -3
  117. package/dist/vendor/adapters/core/src/context-graph.js +0 -371
  118. package/dist/vendor/adapters/core/src/context-integrity.d.ts +0 -26
  119. package/dist/vendor/adapters/core/src/context-integrity.js +0 -80
  120. package/dist/vendor/adapters/core/src/grounding.d.ts +0 -38
  121. package/dist/vendor/adapters/core/src/grounding.js +0 -273
  122. package/dist/vendor/adapters/core/src/identity.d.ts +0 -20
  123. package/dist/vendor/adapters/core/src/identity.js +0 -86
  124. package/dist/vendor/adapters/core/src/index.d.ts +0 -186
  125. package/dist/vendor/adapters/core/src/index.js +0 -1495
  126. package/dist/vendor/adapters/core/src/leash.d.ts +0 -48
  127. package/dist/vendor/adapters/core/src/leash.js +0 -497
  128. package/dist/vendor/adapters/core/src/persistence/compiler.d.ts +0 -18
  129. package/dist/vendor/adapters/core/src/persistence/compiler.js +0 -34
  130. package/dist/vendor/adapters/core/src/persistence/index.d.ts +0 -10
  131. package/dist/vendor/adapters/core/src/persistence/index.js +0 -5
  132. package/dist/vendor/adapters/core/src/persistence/integrity.d.ts +0 -39
  133. package/dist/vendor/adapters/core/src/persistence/integrity.js +0 -252
  134. package/dist/vendor/adapters/core/src/persistence/ledger.d.ts +0 -23
  135. package/dist/vendor/adapters/core/src/persistence/ledger.js +0 -9
  136. package/dist/vendor/adapters/core/src/persistence/memory-store.d.ts +0 -63
  137. package/dist/vendor/adapters/core/src/persistence/memory-store.js +0 -115
  138. package/dist/vendor/adapters/core/src/persistence/runs-reader.d.ts +0 -66
  139. package/dist/vendor/adapters/core/src/persistence/runs-reader.js +0 -140
  140. package/dist/vendor/adapters/core/src/persistence/store.d.ts +0 -89
  141. package/dist/vendor/adapters/core/src/persistence/store.js +0 -125
  142. package/dist/vendor/adapters/core/src/persistence/trace-store.d.ts +0 -85
  143. package/dist/vendor/adapters/core/src/persistence/trace-store.js +0 -125
  144. package/dist/vendor/adapters/core/src/policy-compiler.d.ts +0 -2
  145. package/dist/vendor/adapters/core/src/policy-compiler.js +0 -195
  146. package/dist/vendor/adapters/core/src/policy.d.ts +0 -156
  147. package/dist/vendor/adapters/core/src/policy.js +0 -704
  148. package/dist/vendor/adapters/core/src/repo-analyzer.d.ts +0 -53
  149. package/dist/vendor/adapters/core/src/repo-analyzer.js +0 -263
  150. package/dist/vendor/adapters/core/src/rollback.d.ts +0 -15
  151. package/dist/vendor/adapters/core/src/rollback.js +0 -253
  152. package/dist/vendor/adapters/core/src/routing.d.ts +0 -82
  153. package/dist/vendor/adapters/core/src/routing.js +0 -336
  154. package/dist/vendor/adapters/core/src/test-integrity.d.ts +0 -64
  155. package/dist/vendor/adapters/core/src/test-integrity.js +0 -197
  156. package/dist/vendor/adapters/core/src/trajectory.d.ts +0 -18
  157. package/dist/vendor/adapters/core/src/trajectory.js +0 -295
  158. package/dist/vendor/adapters/stub-agent-cli.d.ts +0 -8
  159. package/dist/vendor/adapters/stub-agent-cli.js +0 -40
  160. package/dist/vendor/adapters/verifier-only.d.ts +0 -9
  161. package/dist/vendor/adapters/verifier-only.js +0 -63
@@ -1,156 +0,0 @@
1
- import type { BudgetPreflightEstimate, CostProvenance, EvidenceVector, FailureClass, InterventionType, LoopAttempt, LoopBudget, LoopCost, LoopLifecycleState, LoopStatus, PatchDecisionArtifact, PatchScore, PolicyPhase } from "../../../contracts/index.js";
2
- export interface FailureAssessment {
3
- failureClass: FailureClass;
4
- rationale: string;
5
- retryable: boolean;
6
- recommendedIntervention: InterventionType;
7
- /** Actionable diagnosis injected into the next attempt's prompt context. */
8
- diagnosticHint?: string;
9
- }
10
- export interface CostGovernorState {
11
- pressure: "healthy" | "soft_limit" | "hard_limit";
12
- shouldStop: boolean;
13
- remainingBudgetUsd: number;
14
- remainingIterations: number;
15
- remainingTokens: number;
16
- recommendedIntervention?: InterventionType;
17
- }
18
- export interface ExitDecision {
19
- shouldExit: boolean;
20
- lifecycleState: LoopLifecycleState;
21
- status: LoopStatus;
22
- reason: string;
23
- /** Machine-readable stop classifier for non-attempt exits such as preflight safety blocks. */
24
- failureClass?: FailureClass;
25
- /** Machine-readable safety surface, when the stop came from a safety leash. */
26
- safetySurface?: string;
27
- /** Stable reason code for dashboards, MCP, and downstream automation. */
28
- reasonCode?: string;
29
- }
30
- export interface MartinAdapterResultLike {
31
- status: "completed" | "failed";
32
- summary: string;
33
- usage?: {
34
- actualUsd: number;
35
- estimatedUsd?: number;
36
- tokensIn: number;
37
- tokensOut: number;
38
- provenance?: CostProvenance;
39
- };
40
- verification: {
41
- passed: boolean;
42
- summary: string;
43
- steps?: Array<{
44
- command: string;
45
- launched: boolean;
46
- exitCode?: number;
47
- timedOut: boolean;
48
- fastFail?: boolean;
49
- detail?: string;
50
- }>;
51
- warnings?: string[];
52
- };
53
- failure?: {
54
- message: string;
55
- classHint?: FailureClass;
56
- };
57
- }
58
- /**
59
- * Maps a PolicyPhase to the LoopLifecycleState used in events and persistence.
60
- * FailureClass remains a thin output label — policy reads EvidenceVector, not the label.
61
- */
62
- export declare function policyPhaseToLifecycleState(phase: PolicyPhase): LoopLifecycleState;
63
- /**
64
- * Determines the next PolicyPhase given the current phase and last result.
65
- * This is the explicit typed transition table — no implicit fallthrough.
66
- */
67
- export declare function nextPolicyPhase(current: PolicyPhase, result: MartinAdapterResultLike, costState: CostGovernorState, retryCount: number): PolicyPhase;
68
- export declare function classifyFailure(input: {
69
- attempts: LoopAttempt[];
70
- result: MartinAdapterResultLike;
71
- }): FailureAssessment;
72
- export declare function evaluateCostGovernor(input: {
73
- budget: LoopBudget;
74
- cost: LoopCost;
75
- attemptsUsed: number;
76
- }): CostGovernorState;
77
- export interface CostPerOutcome {
78
- costPerAcceptedChange: number | undefined;
79
- costPerAttempt: number;
80
- acceptanceRate: number;
81
- wastedCoordinationUsd: number;
82
- }
83
- export declare function calculateCostPerOutcome(input: {
84
- totalCostUsd: number;
85
- preworkCostUsd: number;
86
- attemptCount: number;
87
- accepted: boolean;
88
- verificationPassed: boolean;
89
- }): CostPerOutcome;
90
- export declare function inferExit(input: {
91
- loop: {
92
- budget: LoopBudget;
93
- cost: LoopCost;
94
- attempts: LoopAttempt[];
95
- };
96
- lastResult: MartinAdapterResultLike;
97
- lastFailure?: FailureAssessment;
98
- costState: CostGovernorState;
99
- canSwitchAdapter?: boolean;
100
- }): ExitDecision;
101
- export interface BudgetPreflightInput {
102
- promptCharCount: number;
103
- attemptCount: number;
104
- remainingBudgetUsd: number;
105
- perAttemptCapUsd?: number;
106
- pricePerMTokenUsd?: number;
107
- }
108
- export interface BudgetPreflightDecision {
109
- allowed: boolean;
110
- reason: string;
111
- estimate: BudgetPreflightEstimate;
112
- }
113
- export declare function evaluateBudgetPreflight(input: BudgetPreflightInput): BudgetPreflightDecision;
114
- export interface EvidenceVectorInput {
115
- compilerOutput?: string;
116
- testOutput?: string;
117
- diff?: string;
118
- previousDiff?: string;
119
- forbiddenTouchedFiles?: string[];
120
- missingSymbols?: string[];
121
- actualUsd?: number;
122
- previousVerifierScore?: number;
123
- verifierScore?: number;
124
- retryCountForSurface?: number;
125
- }
126
- export declare function computeEvidenceVector(input: EvidenceVectorInput): EvidenceVector;
127
- export type RecoveryRecipe = "narrow_prompt_targeted_files" | "failing_tests_only" | "force_repo_anatomy_slices" | "tighten_allowlist_reduce_patch" | "strategy_swap" | "abort_safety_violation" | "downgrade_model" | "escalate_human";
128
- export interface RecoveryDecision {
129
- recipe: RecoveryRecipe;
130
- rationale: string;
131
- intervention: InterventionType;
132
- }
133
- export interface PatchDecisionInput {
134
- verificationPassed: boolean;
135
- previousVerifierScore?: number;
136
- verifierScore?: number;
137
- groundingViolationCount?: number;
138
- safetyViolationCount?: number;
139
- scopeViolationCount?: number;
140
- changedFileCount?: number;
141
- diffNovelty?: number;
142
- diffStats?: {
143
- filesChanged: number;
144
- addedLines: number;
145
- deletedLines: number;
146
- };
147
- costUsd?: number;
148
- humanApprovalRequired?: boolean;
149
- summary?: string;
150
- }
151
- export interface EvaluatedPatchDecision extends PatchDecisionArtifact {
152
- score: PatchScore;
153
- }
154
- export declare function selectRecoveryRecipe(evidence: EvidenceVector): RecoveryDecision;
155
- export declare function evaluatePatchDecision(input: PatchDecisionInput): EvaluatedPatchDecision;
156
- export declare function scorePatchDecision(input: PatchDecisionInput): PatchScore;