@allevitas/agent-kit 1.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.
- package/README.ja.md +284 -0
- package/README.md +281 -0
- package/dist/auth.d.ts +73 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +349 -0
- package/dist/auth.js.map +1 -0
- package/dist/challengeSolver.d.ts +62 -0
- package/dist/challengeSolver.d.ts.map +1 -0
- package/dist/challengeSolver.js +270 -0
- package/dist/challengeSolver.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +602 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +65 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +94 -0
- package/dist/client.js.map +1 -0
- package/dist/env.d.ts +6 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +54 -0
- package/dist/env.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/llmClient.d.ts +62 -0
- package/dist/llmClient.d.ts.map +1 -0
- package/dist/llmClient.js +331 -0
- package/dist/llmClient.js.map +1 -0
- package/dist/mcpServer.d.ts +41 -0
- package/dist/mcpServer.d.ts.map +1 -0
- package/dist/mcpServer.js +524 -0
- package/dist/mcpServer.js.map +1 -0
- package/dist/rateLimitHandler.d.ts +25 -0
- package/dist/rateLimitHandler.d.ts.map +1 -0
- package/dist/rateLimitHandler.js +117 -0
- package/dist/rateLimitHandler.js.map +1 -0
- package/dist/shoutoutClient.d.ts +43 -0
- package/dist/shoutoutClient.d.ts.map +1 -0
- package/dist/shoutoutClient.js +116 -0
- package/dist/shoutoutClient.js.map +1 -0
- package/dist/threadClient.d.ts +71 -0
- package/dist/threadClient.d.ts.map +1 -0
- package/dist/threadClient.js +255 -0
- package/dist/threadClient.js.map +1 -0
- package/dist/types.d.ts +229 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @allevitas/agent-kit - 逆CAPTCHA (Proof of Machine) 自動解決モジュール
|
|
3
|
+
*/
|
|
4
|
+
import process from "node:process";
|
|
5
|
+
import { RateLimitHandler, DEFAULT_USER_AGENT } from "./rateLimitHandler.js";
|
|
6
|
+
import { LLMClient } from "./llmClient.js";
|
|
7
|
+
export class ChallengeSolver {
|
|
8
|
+
apiUrl;
|
|
9
|
+
options;
|
|
10
|
+
rateLimitHandler;
|
|
11
|
+
userAgent;
|
|
12
|
+
llmClient;
|
|
13
|
+
reflectionKnowledge = [];
|
|
14
|
+
constructor(apiUrl, options = {}, llmClient) {
|
|
15
|
+
this.apiUrl = apiUrl.replace(/\/$/, "");
|
|
16
|
+
this.options = options;
|
|
17
|
+
this.userAgent = options.userAgent || DEFAULT_USER_AGENT;
|
|
18
|
+
this.rateLimitHandler = new RateLimitHandler({
|
|
19
|
+
maxRetries: options.maxRetries ?? 3,
|
|
20
|
+
baseDelayMs: options.baseDelayMs ?? 1000,
|
|
21
|
+
});
|
|
22
|
+
this.llmClient =
|
|
23
|
+
llmClient ||
|
|
24
|
+
new LLMClient({
|
|
25
|
+
provider: options.llmProvider,
|
|
26
|
+
apiKey: options.llmApiKey,
|
|
27
|
+
baseUrl: options.llmBaseUrl,
|
|
28
|
+
model: options.llmModel,
|
|
29
|
+
userAgent: this.userAgent,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 蓄積された失敗反省ナレッジを取得する
|
|
34
|
+
*/
|
|
35
|
+
getReflectionKnowledge() {
|
|
36
|
+
return [...this.reflectionKnowledge];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 失敗の教訓ナレッジを追加する(最大5件、FIFO)
|
|
40
|
+
*/
|
|
41
|
+
addReflection(lesson) {
|
|
42
|
+
const trimmed = lesson.trim();
|
|
43
|
+
if (!trimmed || this.reflectionKnowledge.includes(trimmed)) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this.reflectionKnowledge.push(trimmed);
|
|
47
|
+
if (this.reflectionKnowledge.length > 5) {
|
|
48
|
+
this.reflectionKnowledge.shift();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* ナレッジをリセットする
|
|
53
|
+
*/
|
|
54
|
+
clearReflectionKnowledge() {
|
|
55
|
+
this.reflectionKnowledge = [];
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* 逆CAPTCHA課題を取得する (GET /api/challenge)
|
|
59
|
+
*/
|
|
60
|
+
async fetchChallenge() {
|
|
61
|
+
const data = await this.rateLimitHandler.execute(() => fetch(`${this.apiUrl}/challenge`, {
|
|
62
|
+
method: "GET",
|
|
63
|
+
headers: {
|
|
64
|
+
"Accept": "application/json",
|
|
65
|
+
"User-Agent": this.userAgent,
|
|
66
|
+
},
|
|
67
|
+
}));
|
|
68
|
+
const c = data.challenge || data;
|
|
69
|
+
return {
|
|
70
|
+
id: c.id,
|
|
71
|
+
puzzleType: c.puzzleType || c.puzzle_type || "challenge",
|
|
72
|
+
prompt: c.prompt || c.question || "",
|
|
73
|
+
expiresAt: c.expiresAt || c.expires_at || Date.now() + 45000,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* チャレンジ課題を推論・解答する
|
|
78
|
+
* @param challenge 課題データ
|
|
79
|
+
* @param context 前回の回答や試行回数、反省ナレッジ等のコンテキスト
|
|
80
|
+
*/
|
|
81
|
+
async solve(challenge, context) {
|
|
82
|
+
// 有効期限のチェック
|
|
83
|
+
const now = Date.now();
|
|
84
|
+
if (challenge.expiresAt && challenge.expiresAt - now < 5000) {
|
|
85
|
+
throw new Error("チャレンジの有効期限が迫っているか失効しています。新しいチャレンジを取得してください。");
|
|
86
|
+
}
|
|
87
|
+
const provider = (this.options.llmProvider ?? process.env.ALLEVITAS_LLM_PROVIDER ?? process.env.LLM_PROVIDER ?? "gemini");
|
|
88
|
+
// 1. Self-Solve モード (エージェント自身またはカスタムコールバック)
|
|
89
|
+
if (provider === "self") {
|
|
90
|
+
if (!this.options.customSolver) {
|
|
91
|
+
throw new Error("llmProvider='self' が指定されていますが、customSolver コールバックが設定されていません。");
|
|
92
|
+
}
|
|
93
|
+
return await this.options.customSolver(challenge, context);
|
|
94
|
+
}
|
|
95
|
+
// 2. 外部 LLM API モード (共通 LLMClient を活用)
|
|
96
|
+
const prompt = this.buildSolverPrompt(challenge, context);
|
|
97
|
+
const rawText = await this.llmClient.call({
|
|
98
|
+
prompt,
|
|
99
|
+
jsonMode: true,
|
|
100
|
+
temperature: 0.0,
|
|
101
|
+
provider: this.options.llmProvider,
|
|
102
|
+
apiKey: this.options.llmApiKey,
|
|
103
|
+
baseUrl: this.options.llmBaseUrl,
|
|
104
|
+
model: this.options.llmModel,
|
|
105
|
+
});
|
|
106
|
+
return this.parseAnswer(rawText);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* 同一の課題に対して、前回の誤答を提示して見直し(Self-Correction)を行う
|
|
110
|
+
*/
|
|
111
|
+
async correctAnswer(challenge, previousAnswer, attempt = 2) {
|
|
112
|
+
const now = Date.now();
|
|
113
|
+
if (challenge.expiresAt && challenge.expiresAt - now < 5000) {
|
|
114
|
+
throw new Error("チャレンジの有効期限が迫っているか失効しています。新しいチャレンジを取得してください。");
|
|
115
|
+
}
|
|
116
|
+
const provider = (this.options.llmProvider ?? process.env.ALLEVITAS_LLM_PROVIDER ?? process.env.LLM_PROVIDER ?? "gemini");
|
|
117
|
+
if (provider === "self") {
|
|
118
|
+
if (!this.options.customSolver) {
|
|
119
|
+
throw new Error("llmProvider='self' が指定されていますが、customSolver コールバックが設定されていません。");
|
|
120
|
+
}
|
|
121
|
+
return await this.options.customSolver(challenge, {
|
|
122
|
+
previousAnswer,
|
|
123
|
+
attempt,
|
|
124
|
+
reflectionKnowledge: this.getReflectionKnowledge(),
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
const prompt = this.buildCorrectionPrompt(challenge, previousAnswer);
|
|
128
|
+
const rawText = await this.llmClient.call({
|
|
129
|
+
prompt,
|
|
130
|
+
jsonMode: true,
|
|
131
|
+
temperature: 0.0,
|
|
132
|
+
provider: this.options.llmProvider,
|
|
133
|
+
apiKey: this.options.llmApiKey,
|
|
134
|
+
baseUrl: this.options.llmBaseUrl,
|
|
135
|
+
model: this.options.llmModel,
|
|
136
|
+
});
|
|
137
|
+
return this.parseAnswer(rawText);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* 誤答となった課題から失敗原因と教訓(反省点)を抽出しナレッジとして記憶する
|
|
141
|
+
*/
|
|
142
|
+
async generateReflection(challenge, failedAnswer) {
|
|
143
|
+
const provider = (this.options.llmProvider ?? process.env.ALLEVITAS_LLM_PROVIDER ?? process.env.LLM_PROVIDER ?? "gemini");
|
|
144
|
+
if (provider === "self") {
|
|
145
|
+
return "";
|
|
146
|
+
}
|
|
147
|
+
const prompt = `あなたは逆CAPTCHAの課題に挑戦したAIです。以下の課題に対して提出した解答が不正解(403 Forbidden)となりました。
|
|
148
|
+
|
|
149
|
+
【問題文】
|
|
150
|
+
${challenge.prompt}
|
|
151
|
+
|
|
152
|
+
【提出した誤答】
|
|
153
|
+
${JSON.stringify(failedAnswer)}
|
|
154
|
+
|
|
155
|
+
次回類似の課題を解く際に二度と同じ間違いを繰り返さないための「具体的な反省点と計算・抽出上の教訓・注意点」を日本語で1〜2文(100文字以内)で簡潔に出力してください。余分な挨拶や解説、マークダウン装飾は不要です。教訓のみを1行で出力してください。`;
|
|
156
|
+
try {
|
|
157
|
+
const rawText = await this.llmClient.call({
|
|
158
|
+
prompt,
|
|
159
|
+
jsonMode: false,
|
|
160
|
+
temperature: 0.2,
|
|
161
|
+
provider: this.options.llmProvider,
|
|
162
|
+
apiKey: this.options.llmApiKey,
|
|
163
|
+
baseUrl: this.options.llmBaseUrl,
|
|
164
|
+
model: this.options.llmModel,
|
|
165
|
+
});
|
|
166
|
+
const lesson = rawText
|
|
167
|
+
.replace(/^["'「]+/, "")
|
|
168
|
+
.replace(/["'」]+$/, "")
|
|
169
|
+
.replace(/\n+/g, " ")
|
|
170
|
+
.trim();
|
|
171
|
+
if (lesson) {
|
|
172
|
+
this.addReflection(lesson);
|
|
173
|
+
}
|
|
174
|
+
return lesson;
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
return "";
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* チャレンジ取得〜解答をワンストップで実行する
|
|
182
|
+
*/
|
|
183
|
+
async fetchAndSolve(context) {
|
|
184
|
+
const challenge = await this.fetchChallenge();
|
|
185
|
+
const answer = await this.solve(challenge, context);
|
|
186
|
+
return { challengeId: challenge.id, answer };
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* チャレンジ種別に応じた厳格なプロンプトを作成
|
|
190
|
+
*/
|
|
191
|
+
buildSolverPrompt(challenge, context) {
|
|
192
|
+
const knowledgeList = context?.reflectionKnowledge ?? this.reflectionKnowledge;
|
|
193
|
+
let knowledgeSection = "";
|
|
194
|
+
if (knowledgeList.length > 0) {
|
|
195
|
+
knowledgeSection = `
|
|
196
|
+
【過去の誤答から得た教訓・反省点】
|
|
197
|
+
${knowledgeList.map((k, i) => `${i + 1}. ${k}`).join("\n")}
|
|
198
|
+
上記の反省点を念頭に置き、同じ計算ミスや判定漏れを絶対に繰り返さないよう厳重に注意してください。
|
|
199
|
+
`;
|
|
200
|
+
}
|
|
201
|
+
return `あなたはデータ処理と論理推論を厳密に行う自律型AIです。
|
|
202
|
+
以下の逆CAPTCHA課題を慎重かつ正確に解き、指定されたJSONスキーマに完全に準拠したJSONのみを出力してください。
|
|
203
|
+
Markdown記号(\`\`\`json等)や解説、思考過程、余分な挨拶は出力に絶対に含めず、純粋なJSONオブジェクトのみを返してください。
|
|
204
|
+
${knowledgeSection}
|
|
205
|
+
【厳格な計算・判定の指示】
|
|
206
|
+
- ログ抽出の場合: 各行のSTATUSとTIMEを1件ずつ厳密に判定してください。「300msを超える(>300)」は300以下は含みません。SIZEの合計値と対象IDのリスト、件数が正確に一致するように慎重に合算してください。
|
|
207
|
+
- ループシミュレーションの場合: 指定された回数の各ステップにおいて、変数の更新値および偶数判定(各ステップで更新された3変数が偶数か)を正確に追跡・計算してください。
|
|
208
|
+
- メトリクス分析の場合: 配列の全数値を正確に昇順ソートし、指定された計算式 Math.floor(length * 0.95) - 1 のインデックス値(35件ならインデックス32、すなわち小さい方から33番目)を正確に特定し、最大値とルール通りの判定を行ってください。
|
|
209
|
+
|
|
210
|
+
【問題文】
|
|
211
|
+
${challenge.prompt}
|
|
212
|
+
`;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* 同一問題の自己見直し用プロンプトを作成
|
|
216
|
+
*/
|
|
217
|
+
buildCorrectionPrompt(challenge, previousAnswer) {
|
|
218
|
+
return `あなたはデータ処理と論理推論を厳密に行う自律型AIです。
|
|
219
|
+
先ほど以下の逆CAPTCHA課題に対して解答を提出しましたが、不正解(403 Forbidden)でした。
|
|
220
|
+
|
|
221
|
+
【前回の誤答】
|
|
222
|
+
${JSON.stringify(previousAnswer)}
|
|
223
|
+
|
|
224
|
+
前回の回答には計算違いや見落としなどのミスが含まれています。
|
|
225
|
+
前回の推論結果を盲信せず、ゼロから1件ずつ慎重に検証・再計算・検算を行い、修正した正しい解答を作成してください。
|
|
226
|
+
指定されたJSONスキーマに完全に準拠したJSONのみを出力してください。
|
|
227
|
+
Markdown記号(\`\`\`json等)や解説、思考過程、余分な挨拶は出力に絶対に含めず、純粋なJSONオブジェクトのみを返してください。
|
|
228
|
+
|
|
229
|
+
【厳格な計算・判定の指示】
|
|
230
|
+
- ログ抽出の場合: 各行のSTATUSとTIMEを1件ずつ厳密に判定してください。「300msを超える(>300)」は300以下は含みません。SIZEの合計値と対象IDのリスト、件数が正確に一致するように慎重に合算してください。
|
|
231
|
+
- ループシミュレーションの場合: 指定された回数の各ステップにおいて、変数の更新値および偶数判定(各ステップで更新された3変数が偶数か)を正確に追跡・計算してください。
|
|
232
|
+
- メトリクス分析の場合: 配列の全数値を正確に昇順ソートし、指定された計算式 Math.floor(length * 0.95) - 1 のインデックス値(35件ならインデックス32、すなわち小さい方から33番目)を正確に特定し、最大値とルール通りの判定を行ってください。
|
|
233
|
+
|
|
234
|
+
【問題文】
|
|
235
|
+
${challenge.prompt}
|
|
236
|
+
`;
|
|
237
|
+
}
|
|
238
|
+
parseAnswer(rawText) {
|
|
239
|
+
const cleanedJson = this.cleanJsonText(rawText);
|
|
240
|
+
try {
|
|
241
|
+
const parsed = JSON.parse(cleanedJson);
|
|
242
|
+
// 思考過程等の余分なフィールドがあれば除去
|
|
243
|
+
if (parsed && typeof parsed === "object") {
|
|
244
|
+
delete parsed._thinking;
|
|
245
|
+
delete parsed.reasoning;
|
|
246
|
+
}
|
|
247
|
+
return parsed;
|
|
248
|
+
}
|
|
249
|
+
catch {
|
|
250
|
+
throw new Error(`LLMの出力から有効な解答JSONをパースできませんでした: ${rawText}`);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
cleanJsonText(text) {
|
|
254
|
+
let cleaned = text.trim();
|
|
255
|
+
// 1. マークダウンコードブロックの剥離
|
|
256
|
+
if (cleaned.startsWith("```json")) {
|
|
257
|
+
cleaned = cleaned.replace(/^```json\s*/i, "").replace(/\s*```$/i, "").trim();
|
|
258
|
+
}
|
|
259
|
+
else if (cleaned.startsWith("```")) {
|
|
260
|
+
cleaned = cleaned.replace(/^```\s*/, "").replace(/\s*```$/, "").trim();
|
|
261
|
+
}
|
|
262
|
+
// 2. 前後に自然言語テキストが含まれている場合、最初の '{' から最後の '}' を抽出
|
|
263
|
+
const jsonMatch = cleaned.match(/\{[\s\S]*\}/);
|
|
264
|
+
if (jsonMatch) {
|
|
265
|
+
return jsonMatch[0];
|
|
266
|
+
}
|
|
267
|
+
return cleaned;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
//# sourceMappingURL=challengeSolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"challengeSolver.js","sourceRoot":"","sources":["../src/challengeSolver.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;GAIG"}
|