pi-harness-runtime 1.1.408 → 1.1.410
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.
- package/harness/key-file-audit.ts +2 -2
- package/package.json +1 -1
- package/packages/a2a-adapter/package.json +1 -1
- package/packages/agent-policy/package.json +1 -1
- package/packages/architecture-generator/package.json +1 -1
- package/packages/auth/package.json +1 -1
- package/packages/autonomous-refactor/package.json +1 -1
- package/packages/autonomous-runtime/package.json +1 -1
- package/packages/cache-strategy/package.json +1 -1
- package/packages/capability-registry/package.json +1 -1
- package/packages/checkpoint/package.json +1 -1
- package/packages/cli-plugin-sdk/package.json +1 -1
- package/packages/clipboard/package.json +1 -1
- package/packages/clipboard-plugin/package.json +1 -1
- package/packages/code-generation/package.json +1 -1
- package/packages/code-review/package.json +1 -1
- package/packages/codex-adapter/package.json +1 -1
- package/packages/codex-watcher/package.json +1 -1
- package/packages/config-capture/package.json +1 -1
- package/packages/connection-runtime/package.json +1 -1
- package/packages/context-compiler/package.json +1 -1
- package/packages/context-discovery/package.json +1 -1
- package/packages/context-manager/package.json +1 -1
- package/packages/contracts/package.json +1 -1
- package/packages/cookie-sanitizer/package.json +1 -1
- package/packages/cost-optimizer/package.json +1 -1
- package/packages/dependency-analyzer/package.json +1 -1
- package/packages/django-plugin/package.json +1 -1
- package/packages/doc-generator/package.json +1 -1
- package/packages/durable-review/package.json +1 -1
- package/packages/e2e-tester/package.json +1 -1
- package/packages/evaluation-engine/package.json +1 -1
- package/packages/evaluation-runner/package.json +1 -1
- package/packages/event-bus/package.json +1 -1
- package/packages/event-sink/package.json +1 -1
- package/packages/event-store/package.json +1 -1
- package/packages/experience-replay/package.json +1 -1
- package/packages/feedback-collector/package.json +1 -1
- package/packages/file-copy-helper/package.json +1 -1
- package/packages/framework-detector/package.json +1 -1
- package/packages/framework-plugin-sdk/package.json +1 -1
- package/packages/frappe-plugin/package.json +1 -1
- package/packages/generic-web-plugin/package.json +1 -1
- package/packages/health-monitor/package.json +1 -1
- package/packages/intent-analyzer/package.json +1 -1
- package/packages/jev-judge/package.json +1 -1
- package/packages/knowledge-graph/package.json +1 -1
- package/packages/knowledge-retrieval/package.json +1 -1
- package/packages/laravel-plugin/package.json +1 -1
- package/packages/learning-engine/package.json +1 -1
- package/packages/logging/package.json +1 -1
- package/packages/mcp-adapter/package.json +1 -1
- package/packages/memory-engine/package.json +1 -1
- package/packages/milestone-manager/package.json +1 -1
- package/packages/model-registry/package.json +1 -1
- package/packages/nextjs-plugin/package.json +1 -1
- package/packages/notification/package.json +1 -1
- package/packages/observability/package.json +1 -1
- package/packages/okf-indexer/package.json +1 -1
- package/packages/paperclip-integration/package.json +1 -1
- package/packages/performance-optimizer/package.json +1 -1
- package/packages/permission-mode/package.json +1 -1
- package/packages/privilege-broker/package.json +1 -1
- package/packages/project-analyzer/package.json +1 -1
- package/packages/project-bootstrap/package.json +1 -1
- package/packages/projection-engine/package.json +1 -1
- package/packages/prompt-compiler/package.json +1 -1
- package/packages/prompt-versioning/package.json +1 -1
- package/packages/provider-adapter-sdk/package.json +1 -1
- package/packages/provider-router/package.json +1 -1
- package/packages/provider-selector/package.json +1 -1
- package/packages/providers/dist/adapters.d.ts +1 -1
- package/packages/providers/dist/adapters.d.ts.map +1 -1
- package/packages/providers/dist/deepagents-adapter.d.ts +22 -1
- package/packages/providers/dist/deepagents-adapter.d.ts.map +1 -1
- package/packages/providers/dist/deepagents-adapter.js +3 -8
- package/packages/providers/dist/deepagents-adapter.js.map +1 -1
- package/packages/providers/package.json +1 -1
- package/packages/providers/src/adapters.ts +1 -1
- package/packages/providers/src/deepagents-adapter.ts +28 -31
- package/packages/qdrant-skills/dist/embedder.d.ts +5 -1
- package/packages/qdrant-skills/dist/embedder.d.ts.map +1 -1
- package/packages/qdrant-skills/dist/embedder.js +52 -37
- package/packages/qdrant-skills/dist/embedder.js.map +1 -1
- package/packages/qdrant-skills/package.json +1 -1
- package/packages/qdrant-skills/src/embedder.ts +56 -40
- package/packages/qdrant-skills/test/embedder.test.ts +97 -0
- package/packages/quota-manager/dist/quota-manager.d.ts +1 -1
- package/packages/quota-manager/dist/quota-manager.d.ts.map +1 -1
- package/packages/quota-manager/dist/quota-manager.js +10 -8
- package/packages/quota-manager/dist/quota-manager.js.map +1 -1
- package/packages/quota-manager/dist/tui-usage-monitor.d.ts +5 -3
- package/packages/quota-manager/dist/tui-usage-monitor.d.ts.map +1 -1
- package/packages/quota-manager/dist/tui-usage-monitor.js +30 -10
- package/packages/quota-manager/dist/tui-usage-monitor.js.map +1 -1
- package/packages/quota-manager/package.json +1 -1
- package/packages/quota-manager/src/quota-manager.ts +10 -9
- package/packages/quota-manager/src/tui-usage-monitor.ts +40 -17
- package/packages/rate-limiter/package.json +1 -1
- package/packages/react-vite-plugin/package.json +1 -1
- package/packages/relay/package.json +1 -1
- package/packages/release-manager/package.json +1 -1
- package/packages/requirement-compiler/package.json +1 -1
- package/packages/runtime/package.json +1 -1
- package/packages/scheduler/package.json +1 -1
- package/packages/scheduler-adapter/package.json +1 -1
- package/packages/session/package.json +1 -1
- package/packages/session-api/package.json +1 -1
- package/packages/session-export/package.json +1 -1
- package/packages/shared-context/package.json +1 -1
- package/packages/skill-mcp-client/package.json +1 -1
- package/packages/skill-registry/package.json +1 -1
- package/packages/skills/dist/loader.d.ts.map +1 -1
- package/packages/skills/dist/loader.js +9 -6
- package/packages/skills/dist/loader.js.map +1 -1
- package/packages/skills/package.json +1 -1
- package/packages/skills/src/loader.ts +13 -6
- package/packages/sprint-planner/package.json +1 -1
- package/packages/subscription-engine/package.json +1 -1
- package/packages/task-compiler/package.json +1 -1
- package/packages/telegram/package.json +1 -1
- package/packages/tencentdb-memory/package.json +1 -1
- package/packages/tencentdb-sync/package.json +1 -1
- package/packages/test-data-generator/package.json +1 -1
- package/packages/test-generator/package.json +1 -1
- package/packages/todo-bd-sync/package.json +1 -1
- package/packages/token-estimation/package.json +1 -1
- package/packages/token-optimizer/package.json +1 -1
- package/packages/tooling-preference/package.json +1 -1
- package/packages/trajectory/package.json +1 -1
- package/packages/tui/package.json +1 -1
- package/packages/two-phase-review/package.json +1 -1
- package/packages/types/package.json +1 -1
- package/packages/voice-api/package.json +1 -1
- package/packages/webmcp-tester/package.json +1 -1
- package/packages/wiki/package.json +1 -1
- package/packages/workflow-events/package.json +1 -1
- package/packages/workspace-scanner/package.json +1 -1
- package/packages/worktree/dist/worktree.d.ts +1 -1
- package/packages/worktree/dist/worktree.d.ts.map +1 -1
- package/packages/worktree/package.json +1 -1
- package/packages/worktree/src/worktree.ts +1 -1
- package/packages/write-review/package.json +1 -1
- package/scripts/typecheck-packages.mjs +3 -3
- package/packages/providers/adapters.ts +0 -362
- package/packages/providers/deepagents-adapter.ts +0 -458
- package/packages/providers/glm-usage.ts +0 -248
- package/packages/providers/index.ts +0 -85
- package/packages/providers/openai-usage.ts +0 -263
- package/packages/trajectory/dist/test/store.test.d.ts +0 -2
- package/packages/trajectory/dist/test/store.test.d.ts.map +0 -1
- package/packages/trajectory/dist/test/store.test.js +0 -228
- package/packages/trajectory/dist/test/store.test.js.map +0 -1
- package/packages/types/src/agent-worker-types.d.ts +0 -206
- package/packages/types/src/agent-worker-types.js +0 -41
|
@@ -1,362 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Provider Adapter — RFC-0002
|
|
3
|
-
*
|
|
4
|
-
* Normalizes provider-specific behavior for:
|
|
5
|
-
* - model invocation
|
|
6
|
-
* - error detection
|
|
7
|
-
* - quota detection
|
|
8
|
-
* - reset time discovery
|
|
9
|
-
* - retry policy
|
|
10
|
-
* - model capability metadata
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import type {
|
|
14
|
-
ProviderConfig,
|
|
15
|
-
ProviderCapability,
|
|
16
|
-
ProviderRequest,
|
|
17
|
-
ProviderResponse,
|
|
18
|
-
} from "../../packages/types/src/runtime-types.js";
|
|
19
|
-
|
|
20
|
-
export interface AdapterConfig {
|
|
21
|
-
provider: ProviderConfig;
|
|
22
|
-
quotaSignalExtractor?: (error: unknown) => QuotaSignal | null;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export interface QuotaSignal {
|
|
26
|
-
exhausted: boolean;
|
|
27
|
-
resetsAt?: string;
|
|
28
|
-
retryAfterMs?: number;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export interface AdapterResult {
|
|
32
|
-
response: ProviderResponse;
|
|
33
|
-
quotaSignal?: QuotaSignal;
|
|
34
|
-
retryable: boolean;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export interface ProviderAdapter {
|
|
38
|
-
readonly id: string;
|
|
39
|
-
readonly name: string;
|
|
40
|
-
|
|
41
|
-
invoke(request: ProviderRequest): Promise<AdapterResult>;
|
|
42
|
-
|
|
43
|
-
parseError(error: unknown): {
|
|
44
|
-
quotaExceeded: boolean;
|
|
45
|
-
rateLimited: boolean;
|
|
46
|
-
timeout: boolean;
|
|
47
|
-
serverError: boolean;
|
|
48
|
-
clientError: boolean;
|
|
49
|
-
quotaSignal?: QuotaSignal;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
getCapabilities(): ProviderCapability[];
|
|
53
|
-
|
|
54
|
-
supportsModel(model: string): boolean;
|
|
55
|
-
|
|
56
|
-
getDefaultModel(): string;
|
|
57
|
-
|
|
58
|
-
getMaxTokens(model?: string): number;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Base adapter with common functionality
|
|
63
|
-
*/
|
|
64
|
-
export abstract class BaseProviderAdapter implements ProviderAdapter {
|
|
65
|
-
abstract readonly id: string;
|
|
66
|
-
abstract readonly name: string;
|
|
67
|
-
|
|
68
|
-
constructor(protected config: ProviderConfig) {}
|
|
69
|
-
|
|
70
|
-
abstract invoke(request: ProviderRequest): Promise<AdapterResult>;
|
|
71
|
-
|
|
72
|
-
abstract parseError(error: unknown): {
|
|
73
|
-
quotaExceeded: boolean;
|
|
74
|
-
rateLimited: boolean;
|
|
75
|
-
timeout: boolean;
|
|
76
|
-
serverError: boolean;
|
|
77
|
-
clientError: boolean;
|
|
78
|
-
quotaSignal?: QuotaSignal;
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
getCapabilities(): ProviderCapability[] {
|
|
82
|
-
return this.config.capabilities;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
supportsModel(model: string): boolean {
|
|
86
|
-
return this.config.models.includes(model);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
getDefaultModel(): string {
|
|
90
|
-
return this.config.models[0] ?? "default";
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
getMaxTokens(model?: string): number {
|
|
94
|
-
// Default token limits per model family
|
|
95
|
-
const limits: Record<string, number> = {
|
|
96
|
-
"minimax/MiniMax-M3": 32768,
|
|
97
|
-
"minimax/MiniMax-Text-01": 1000000,
|
|
98
|
-
"anthropic/claude-3-5-sonnet": 200000,
|
|
99
|
-
"openai/gpt-4o": 128000,
|
|
100
|
-
"openai/gpt-4-turbo": 128000,
|
|
101
|
-
};
|
|
102
|
-
return limits[model ?? this.getDefaultModel()] ?? 4096;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Parse usage from response
|
|
107
|
-
*/
|
|
108
|
-
protected parseUsage(response: unknown): ProviderResponse["usage"] {
|
|
109
|
-
const r = response as Record<string, unknown>;
|
|
110
|
-
return {
|
|
111
|
-
input: (r.input_tokens as number) ?? (r.prompt_tokens as number) ?? 0,
|
|
112
|
-
output:
|
|
113
|
-
(r.output_tokens as number) ?? (r.completion_tokens as number) ?? 0,
|
|
114
|
-
cacheRead: (r.cache_read_tokens as number) ?? 0,
|
|
115
|
-
cacheWrite: (r.cache_write_tokens as number) ?? 0,
|
|
116
|
-
cost: (r.cost as number) ?? 0,
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* MiniMax adapter
|
|
123
|
-
*/
|
|
124
|
-
export class MiniMaxAdapter extends BaseProviderAdapter {
|
|
125
|
-
readonly id = "minimax";
|
|
126
|
-
readonly name = "MiniMax";
|
|
127
|
-
|
|
128
|
-
async invoke(request: ProviderRequest): Promise<AdapterResult> {
|
|
129
|
-
// In practice, this would call the MiniMax API
|
|
130
|
-
// For now, return a mock response
|
|
131
|
-
return {
|
|
132
|
-
response: {
|
|
133
|
-
content: "Mock response",
|
|
134
|
-
usage: { input: 100, output: 200, cost: 0.001 },
|
|
135
|
-
model: request.model,
|
|
136
|
-
finishReason: "stop",
|
|
137
|
-
},
|
|
138
|
-
retryable: false,
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
parseError(error: unknown): {
|
|
143
|
-
quotaExceeded: boolean;
|
|
144
|
-
rateLimited: boolean;
|
|
145
|
-
timeout: boolean;
|
|
146
|
-
serverError: boolean;
|
|
147
|
-
clientError: boolean;
|
|
148
|
-
quotaSignal?: QuotaSignal;
|
|
149
|
-
} {
|
|
150
|
-
const e = error as Record<string, unknown>;
|
|
151
|
-
const msg = String(e.message ?? e.error ?? "").toLowerCase();
|
|
152
|
-
|
|
153
|
-
return {
|
|
154
|
-
quotaExceeded: msg.includes("2056") || msg.includes("quota"),
|
|
155
|
-
rateLimited: msg.includes("rate limit") || msg.includes("429"),
|
|
156
|
-
timeout: msg.includes("timeout") || msg.includes("timed out"),
|
|
157
|
-
serverError:
|
|
158
|
-
msg.includes("500") || msg.includes("502") || msg.includes("503"),
|
|
159
|
-
clientError:
|
|
160
|
-
msg.includes("400") || msg.includes("401") || msg.includes("403"),
|
|
161
|
-
quotaSignal:
|
|
162
|
-
msg.includes("quota") || msg.includes("2056")
|
|
163
|
-
? { exhausted: true, resetsAt: undefined }
|
|
164
|
-
: undefined,
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* OpenAI adapter
|
|
171
|
-
*/
|
|
172
|
-
export class OpenAIAdapter extends BaseProviderAdapter {
|
|
173
|
-
readonly id = "openai";
|
|
174
|
-
readonly name = "OpenAI";
|
|
175
|
-
|
|
176
|
-
async invoke(request: ProviderRequest): Promise<AdapterResult> {
|
|
177
|
-
return {
|
|
178
|
-
response: {
|
|
179
|
-
content: "Mock response",
|
|
180
|
-
usage: { input: 100, output: 200, cost: 0.002 },
|
|
181
|
-
model: request.model,
|
|
182
|
-
finishReason: "stop",
|
|
183
|
-
},
|
|
184
|
-
retryable: false,
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
parseError(error: unknown): {
|
|
189
|
-
quotaExceeded: boolean;
|
|
190
|
-
rateLimited: boolean;
|
|
191
|
-
timeout: boolean;
|
|
192
|
-
serverError: boolean;
|
|
193
|
-
clientError: boolean;
|
|
194
|
-
quotaSignal?: QuotaSignal;
|
|
195
|
-
} {
|
|
196
|
-
const e = error as Record<string, unknown>;
|
|
197
|
-
const msg = String(e.message ?? e.error ?? "").toLowerCase();
|
|
198
|
-
const code = String(e.code ?? "");
|
|
199
|
-
|
|
200
|
-
return {
|
|
201
|
-
quotaExceeded:
|
|
202
|
-
code === "insufficient_quota" || code === "context_length_exceeded",
|
|
203
|
-
rateLimited: code === "rate_limit_exceeded" || msg.includes("429"),
|
|
204
|
-
timeout: msg.includes("timeout"),
|
|
205
|
-
serverError: code.startsWith("5"),
|
|
206
|
-
clientError: code.startsWith("4"),
|
|
207
|
-
quotaSignal:
|
|
208
|
-
code === "insufficient_quota"
|
|
209
|
-
? { exhausted: true, resetsAt: undefined }
|
|
210
|
-
: undefined,
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* Claude adapter — Anthropic's Claude models
|
|
217
|
-
*/
|
|
218
|
-
export class ClaudeAdapter extends BaseProviderAdapter {
|
|
219
|
-
readonly id = "anthropic";
|
|
220
|
-
readonly name = "Anthropic Claude";
|
|
221
|
-
|
|
222
|
-
async invoke(request: ProviderRequest): Promise<AdapterResult> {
|
|
223
|
-
// In practice, this would call the Claude API via Anthropic SDK
|
|
224
|
-
// For now, return a mock response
|
|
225
|
-
return {
|
|
226
|
-
response: {
|
|
227
|
-
content: "Mock response",
|
|
228
|
-
usage: { input: 100, output: 200, cost: 0.003 },
|
|
229
|
-
model: request.model,
|
|
230
|
-
finishReason: "stop",
|
|
231
|
-
},
|
|
232
|
-
retryable: false,
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
parseError(error: unknown): {
|
|
237
|
-
quotaExceeded: boolean;
|
|
238
|
-
rateLimited: boolean;
|
|
239
|
-
timeout: boolean;
|
|
240
|
-
serverError: boolean;
|
|
241
|
-
clientError: boolean;
|
|
242
|
-
quotaSignal?: QuotaSignal;
|
|
243
|
-
} {
|
|
244
|
-
const e = error as Record<string, unknown>;
|
|
245
|
-
const msg = String(e.message ?? e.error ?? "").toLowerCase();
|
|
246
|
-
const type = String(e.type ?? "");
|
|
247
|
-
const errorCode = String(e.code ?? "");
|
|
248
|
-
|
|
249
|
-
// Anthropic-specific error handling
|
|
250
|
-
const isRateLimited =
|
|
251
|
-
type.includes("rate_limit_error") ||
|
|
252
|
-
msg.includes("rate limit") ||
|
|
253
|
-
errorCode.includes("429");
|
|
254
|
-
|
|
255
|
-
const isOverloaded =
|
|
256
|
-
type.includes("overloaded_error") || msg.includes("overloaded");
|
|
257
|
-
|
|
258
|
-
return {
|
|
259
|
-
quotaExceeded:
|
|
260
|
-
type.includes("quota_error") ||
|
|
261
|
-
type.includes("insufficient_quota") ||
|
|
262
|
-
msg.includes("quota exceeded"),
|
|
263
|
-
rateLimited: isRateLimited || isOverloaded,
|
|
264
|
-
timeout: type.includes("timeout") || msg.includes("timeout"),
|
|
265
|
-
serverError: type.includes("api_error") || isOverloaded,
|
|
266
|
-
clientError:
|
|
267
|
-
type.includes("invalid_request_error") ||
|
|
268
|
-
type.includes("authentication_error") ||
|
|
269
|
-
type.includes("permission_error"),
|
|
270
|
-
quotaSignal: type.includes("quota_error")
|
|
271
|
-
? { exhausted: true, resetsAt: undefined }
|
|
272
|
-
: undefined,
|
|
273
|
-
};
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
getDefaultModel(): string {
|
|
277
|
-
return "anthropic/claude-3-5-sonnet-20240620";
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
getMaxTokens(model?: string): number {
|
|
281
|
-
const limits: Record<string, number> = {
|
|
282
|
-
"anthropic/claude-3-5-sonnet-20240620": 200000,
|
|
283
|
-
"anthropic/claude-3-5-haiku-20240620": 200000,
|
|
284
|
-
"anthropic/claude-3-opus-20240229": 200000,
|
|
285
|
-
"anthropic/claude-3-sonnet-20240229": 200000,
|
|
286
|
-
"anthropic/claude-3-haiku-20240307": 200000,
|
|
287
|
-
"anthropic/claude-2.1": 200000,
|
|
288
|
-
"anthropic/claude-2": 100000,
|
|
289
|
-
"anthropic/claude-instant": 100000,
|
|
290
|
-
};
|
|
291
|
-
return limits[model ?? this.getDefaultModel()] ?? 200000;
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
/**
|
|
296
|
-
* Adapter registry
|
|
297
|
-
*/
|
|
298
|
-
export class AdapterRegistry {
|
|
299
|
-
private adapters: Map<string, ProviderAdapter> = new Map();
|
|
300
|
-
|
|
301
|
-
register(adapter: ProviderAdapter): void {
|
|
302
|
-
this.adapters.set(adapter.id, adapter);
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
get(id: string): ProviderAdapter | undefined {
|
|
306
|
-
return this.adapters.get(id);
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
list(): ProviderAdapter[] {
|
|
310
|
-
return Array.from(this.adapters.values());
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* Create default registry with standard adapters
|
|
315
|
-
*/
|
|
316
|
-
static createDefault(): AdapterRegistry {
|
|
317
|
-
const registry = new AdapterRegistry();
|
|
318
|
-
|
|
319
|
-
registry.register(
|
|
320
|
-
new MiniMaxAdapter({
|
|
321
|
-
id: "minimax",
|
|
322
|
-
name: "MiniMax",
|
|
323
|
-
models: ["minimax/MiniMax-M3", "minimax/MiniMax-Text-01"],
|
|
324
|
-
capabilities: ["code", "review", "plan", "test"],
|
|
325
|
-
rateLimits: {},
|
|
326
|
-
}),
|
|
327
|
-
);
|
|
328
|
-
|
|
329
|
-
registry.register(
|
|
330
|
-
new OpenAIAdapter({
|
|
331
|
-
id: "openai",
|
|
332
|
-
name: "OpenAI",
|
|
333
|
-
models: ["openai/gpt-4o", "openai/gpt-4-turbo"],
|
|
334
|
-
capabilities: ["code", "review", "plan", "test", "refactor"],
|
|
335
|
-
rateLimits: {},
|
|
336
|
-
}),
|
|
337
|
-
);
|
|
338
|
-
|
|
339
|
-
registry.register(
|
|
340
|
-
new ClaudeAdapter({
|
|
341
|
-
id: "anthropic",
|
|
342
|
-
name: "Anthropic Claude",
|
|
343
|
-
models: [
|
|
344
|
-
"anthropic/claude-3-5-sonnet-20240620",
|
|
345
|
-
"anthropic/claude-3-5-haiku-20240620",
|
|
346
|
-
"anthropic/claude-3-opus-20240229",
|
|
347
|
-
],
|
|
348
|
-
capabilities: [
|
|
349
|
-
"code",
|
|
350
|
-
"review",
|
|
351
|
-
"plan",
|
|
352
|
-
"test",
|
|
353
|
-
"refactor",
|
|
354
|
-
"analysis",
|
|
355
|
-
],
|
|
356
|
-
rateLimits: {},
|
|
357
|
-
}),
|
|
358
|
-
);
|
|
359
|
-
|
|
360
|
-
return registry;
|
|
361
|
-
}
|
|
362
|
-
}
|