@intrect/openswarm 0.5.0 → 0.8.1
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/LICENSE +21 -674
- package/README.md +97 -35
- package/config.example.yaml +8 -2
- package/dist/adapters/agenticLoop.d.ts +15 -1
- package/dist/adapters/agenticLoop.d.ts.map +1 -1
- package/dist/adapters/agenticLoop.js +62 -4
- package/dist/adapters/agenticLoop.js.map +1 -1
- package/dist/adapters/chatStream.d.ts +55 -0
- package/dist/adapters/chatStream.d.ts.map +1 -0
- package/dist/adapters/chatStream.js +116 -0
- package/dist/adapters/chatStream.js.map +1 -0
- package/dist/adapters/codex.d.ts +6 -0
- package/dist/adapters/codex.d.ts.map +1 -1
- package/dist/adapters/codex.js +27 -1
- package/dist/adapters/codex.js.map +1 -1
- package/dist/adapters/codexModels.d.ts +20 -0
- package/dist/adapters/codexModels.d.ts.map +1 -0
- package/dist/adapters/codexModels.js +195 -0
- package/dist/adapters/codexModels.js.map +1 -0
- package/dist/adapters/codexResponses.d.ts +97 -0
- package/dist/adapters/codexResponses.d.ts.map +1 -0
- package/dist/adapters/codexResponses.js +302 -0
- package/dist/adapters/codexResponses.js.map +1 -0
- package/dist/adapters/gpt.d.ts.map +1 -1
- package/dist/adapters/gpt.js +17 -131
- package/dist/adapters/gpt.js.map +1 -1
- package/dist/adapters/index.d.ts +7 -0
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +11 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/local.d.ts.map +1 -1
- package/dist/adapters/local.js +17 -125
- package/dist/adapters/local.js.map +1 -1
- package/dist/adapters/openrouter.d.ts +5 -24
- package/dist/adapters/openrouter.d.ts.map +1 -1
- package/dist/adapters/openrouter.js +20 -121
- package/dist/adapters/openrouter.js.map +1 -1
- package/dist/adapters/resultParsing.d.ts +6 -0
- package/dist/adapters/resultParsing.d.ts.map +1 -0
- package/dist/adapters/resultParsing.js +139 -0
- package/dist/adapters/resultParsing.js.map +1 -0
- package/dist/adapters/tools.d.ts +0 -6
- package/dist/adapters/tools.d.ts.map +1 -1
- package/dist/adapters/tools.js +57 -3
- package/dist/adapters/tools.js.map +1 -1
- package/dist/adapters/types.d.ts +21 -1
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/webTools.d.ts +9 -0
- package/dist/adapters/webTools.d.ts.map +1 -0
- package/dist/adapters/webTools.js +195 -0
- package/dist/adapters/webTools.js.map +1 -0
- package/dist/agents/pairPipeline.d.ts +26 -1
- package/dist/agents/pairPipeline.d.ts.map +1 -1
- package/dist/agents/pairPipeline.js +82 -14
- package/dist/agents/pairPipeline.js.map +1 -1
- package/dist/agents/reflection.d.ts +56 -0
- package/dist/agents/reflection.d.ts.map +1 -0
- package/dist/agents/reflection.js +120 -0
- package/dist/agents/reflection.js.map +1 -0
- package/dist/agents/worker.d.ts +2 -0
- package/dist/agents/worker.d.ts.map +1 -1
- package/dist/agents/worker.js +1 -0
- package/dist/agents/worker.js.map +1 -1
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/linearPkce.d.ts +22 -0
- package/dist/auth/linearPkce.d.ts.map +1 -0
- package/dist/auth/linearPkce.js +208 -0
- package/dist/auth/linearPkce.js.map +1 -0
- package/dist/auth/oauthPkce.d.ts.map +1 -1
- package/dist/auth/oauthPkce.js +18 -5
- package/dist/auth/oauthPkce.js.map +1 -1
- package/dist/auth/oauthStore.d.ts.map +1 -1
- package/dist/auth/oauthStore.js +10 -2
- package/dist/auth/oauthStore.js.map +1 -1
- package/dist/automation/autonomousRunner.d.ts +6 -6
- package/dist/automation/autonomousRunner.d.ts.map +1 -1
- package/dist/automation/autonomousRunner.js +15 -13
- package/dist/automation/autonomousRunner.js.map +1 -1
- package/dist/automation/backlogGrooming.d.ts +21 -0
- package/dist/automation/backlogGrooming.d.ts.map +1 -0
- package/dist/automation/backlogGrooming.js +80 -0
- package/dist/automation/backlogGrooming.js.map +1 -0
- package/dist/automation/localCI.d.ts +24 -0
- package/dist/automation/localCI.d.ts.map +1 -0
- package/dist/automation/localCI.js +84 -0
- package/dist/automation/localCI.js.map +1 -0
- package/dist/automation/runnerExecution.d.ts +33 -7
- package/dist/automation/runnerExecution.d.ts.map +1 -1
- package/dist/automation/runnerExecution.js +202 -154
- package/dist/automation/runnerExecution.js.map +1 -1
- package/dist/automation/runnerTypes.d.ts +5 -1
- package/dist/automation/runnerTypes.d.ts.map +1 -1
- package/dist/automation/taskSource.d.ts +101 -0
- package/dist/automation/taskSource.d.ts.map +1 -0
- package/dist/automation/taskSource.js +136 -0
- package/dist/automation/taskSource.js.map +1 -0
- package/dist/automation/workerAuditLog.d.ts +29 -0
- package/dist/automation/workerAuditLog.d.ts.map +1 -0
- package/dist/automation/workerAuditLog.js +82 -0
- package/dist/automation/workerAuditLog.js.map +1 -0
- package/dist/cli/authHandler.d.ts +6 -0
- package/dist/cli/authHandler.d.ts.map +1 -1
- package/dist/cli/authHandler.js +37 -2
- package/dist/cli/authHandler.js.map +1 -1
- package/dist/cli/daemon.d.ts +5 -0
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/daemon.js +13 -0
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/doctorHandler.d.ts +2 -0
- package/dist/cli/doctorHandler.d.ts.map +1 -0
- package/dist/cli/doctorHandler.js +114 -0
- package/dist/cli/doctorHandler.js.map +1 -0
- package/dist/cli/initWizard.d.ts +13 -0
- package/dist/cli/initWizard.d.ts.map +1 -0
- package/dist/cli/initWizard.js +334 -0
- package/dist/cli/initWizard.js.map +1 -0
- package/dist/cli.js +110 -37
- package/dist/cli.js.map +1 -1
- package/dist/core/config.d.ts +50 -2
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +69 -10
- package/dist/core/config.js.map +1 -1
- package/dist/core/envFile.d.ts +6 -0
- package/dist/core/envFile.d.ts.map +1 -1
- package/dist/core/envFile.js +39 -1
- package/dist/core/envFile.js.map +1 -1
- package/dist/core/providerOverride.d.ts +6 -0
- package/dist/core/providerOverride.d.ts.map +1 -0
- package/dist/core/providerOverride.js +37 -0
- package/dist/core/providerOverride.js.map +1 -0
- package/dist/core/service.d.ts.map +1 -1
- package/dist/core/service.js +41 -18
- package/dist/core/service.js.map +1 -1
- package/dist/core/types.d.ts +16 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/discord/discordHandlers.d.ts.map +1 -1
- package/dist/discord/discordHandlers.js +15 -12
- package/dist/discord/discordHandlers.js.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/issues/sqliteStore.d.ts.map +1 -1
- package/dist/issues/sqliteStore.js +7 -2
- package/dist/issues/sqliteStore.js.map +1 -1
- package/dist/knowledge/scanner.d.ts.map +1 -1
- package/dist/knowledge/scanner.js +5 -0
- package/dist/knowledge/scanner.js.map +1 -1
- package/dist/linear/linear.d.ts +45 -2
- package/dist/linear/linear.d.ts.map +1 -1
- package/dist/linear/linear.js +154 -3
- package/dist/linear/linear.js.map +1 -1
- package/dist/locale/prompts/en.d.ts.map +1 -1
- package/dist/locale/prompts/en.js +14 -2
- package/dist/locale/prompts/en.js.map +1 -1
- package/dist/locale/prompts/ko.d.ts.map +1 -1
- package/dist/locale/prompts/ko.js +14 -2
- package/dist/locale/prompts/ko.js.map +1 -1
- package/dist/mcp/mcpClient.d.ts +27 -0
- package/dist/mcp/mcpClient.d.ts.map +1 -0
- package/dist/mcp/mcpClient.js +145 -0
- package/dist/mcp/mcpClient.js.map +1 -0
- package/dist/memory/memoryCore.d.ts.map +1 -1
- package/dist/memory/memoryCore.js +8 -2
- package/dist/memory/memoryCore.js.map +1 -1
- package/dist/notify/notifier.d.ts +26 -0
- package/dist/notify/notifier.d.ts.map +1 -0
- package/dist/notify/notifier.js +131 -0
- package/dist/notify/notifier.js.map +1 -0
- package/dist/orchestration/conflictDetector.d.ts +5 -2
- package/dist/orchestration/conflictDetector.d.ts.map +1 -1
- package/dist/orchestration/conflictDetector.js +35 -6
- package/dist/orchestration/conflictDetector.js.map +1 -1
- package/dist/orchestration/decisionEngine.d.ts +20 -0
- package/dist/orchestration/decisionEngine.d.ts.map +1 -1
- package/dist/orchestration/decisionEngine.js +45 -0
- package/dist/orchestration/decisionEngine.js.map +1 -1
- package/dist/support/banner.d.ts +7 -0
- package/dist/support/banner.d.ts.map +1 -0
- package/dist/support/banner.js +32 -0
- package/dist/support/banner.js.map +1 -0
- package/dist/support/chat.js +28 -5
- package/dist/support/chat.js.map +1 -1
- package/dist/support/chatBackend.d.ts +6 -0
- package/dist/support/chatBackend.d.ts.map +1 -1
- package/dist/support/chatBackend.js +68 -0
- package/dist/support/chatBackend.js.map +1 -1
- package/dist/support/chatTui.d.ts.map +1 -1
- package/dist/support/chatTui.js +202 -9
- package/dist/support/chatTui.js.map +1 -1
- package/dist/support/colors.d.ts +15 -0
- package/dist/support/colors.d.ts.map +1 -0
- package/dist/support/colors.js +23 -0
- package/dist/support/colors.js.map +1 -0
- package/dist/support/planCommand.d.ts +17 -0
- package/dist/support/planCommand.d.ts.map +1 -0
- package/dist/support/planCommand.js +114 -0
- package/dist/support/planCommand.js.map +1 -0
- package/dist/support/planner.d.ts +9 -2
- package/dist/support/planner.d.ts.map +1 -1
- package/dist/support/planner.js +43 -111
- package/dist/support/planner.js.map +1 -1
- package/dist/support/promptHelper.d.ts +24 -0
- package/dist/support/promptHelper.d.ts.map +1 -0
- package/dist/support/promptHelper.js +94 -0
- package/dist/support/promptHelper.js.map +1 -0
- package/dist/support/rateLimiter.d.ts.map +1 -1
- package/dist/support/rateLimiter.js +6 -0
- package/dist/support/rateLimiter.js.map +1 -1
- package/dist/support/repoMetadata.d.ts +7 -0
- package/dist/support/repoMetadata.d.ts.map +1 -1
- package/dist/support/repoMetadata.js +13 -1
- package/dist/support/repoMetadata.js.map +1 -1
- package/dist/support/web.d.ts.map +1 -1
- package/dist/support/web.js +143 -65
- package/dist/support/web.js.map +1 -1
- package/dist/support/worktreeManager.d.ts +6 -1
- package/dist/support/worktreeManager.d.ts.map +1 -1
- package/dist/support/worktreeManager.js +23 -1
- package/dist/support/worktreeManager.js.map +1 -1
- package/dist/taskState/store.d.ts +1 -0
- package/dist/taskState/store.d.ts.map +1 -1
- package/dist/taskState/store.js +22 -1
- package/dist/taskState/store.js.map +1 -1
- package/package.json +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/adapters/local.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACb,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/adapters/local.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACb,MAAM,YAAY,CAAC;AAgBpB,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,iBAAkB,YAAW,UAAU;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAMxC;IAGF,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAE7B,OAAO,GAAE,wBAA6B;IASlD,uCAAuC;IACvC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAsBrC,6BAA6B;IAC7B,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B,sBAAsB;IAChB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAoBrC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE;IAIpE,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAkExD;;;OAGG;YACW,gBAAgB;IAqC9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,YAAY;IAQpB,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY;IAIlD,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY;CAGrD"}
|
package/dist/adapters/local.js
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
// Created: 2026-04-10
|
|
4
4
|
// Purpose: Ollama, LMStudio, llama.cpp 등 로컬 OpenAI 호환 서버 지원
|
|
5
5
|
// ============================================
|
|
6
|
-
import { t } from '../locale/index.js';
|
|
7
6
|
import { runAgenticLoop, loopResultToCliResult } from './agenticLoop.js';
|
|
7
|
+
import { parseWorkerResult, parseReviewerResult } from './resultParsing.js';
|
|
8
|
+
import { consumeChatCompletionsStream } from './chatStream.js';
|
|
8
9
|
// 로컬 프로바이더 기본 URL 후보 (우선순위 순)
|
|
9
10
|
const DEFAULT_ENDPOINTS = [
|
|
10
11
|
'http://localhost:11434', // Ollama
|
|
@@ -111,7 +112,7 @@ export class LocalModelAdapter {
|
|
|
111
112
|
// 도구 지원 여부 감지 (모델에 따라 다를 수 있음)
|
|
112
113
|
const supportsTools = await this.checkToolSupport(baseUrl, model);
|
|
113
114
|
// 에이전틱 루프로 실행
|
|
114
|
-
const callApi = this.createApiCaller(baseUrl, model);
|
|
115
|
+
const callApi = this.createApiCaller(baseUrl, model, options.onToken, options.signal);
|
|
115
116
|
const loopOptions = {
|
|
116
117
|
systemPrompt: options.systemPrompt,
|
|
117
118
|
prompt: options.prompt,
|
|
@@ -121,10 +122,13 @@ export class LocalModelAdapter {
|
|
|
121
122
|
maxTurns: options.maxTurns ?? 15,
|
|
122
123
|
timeoutMs: options.timeoutMs || 300000,
|
|
123
124
|
onLog: options.onLog,
|
|
124
|
-
enableTools: supportsTools,
|
|
125
|
+
enableTools: (options.enableTools ?? true) && supportsTools,
|
|
125
126
|
nudgeMaxOnNoEdit: options.nudgeMaxOnNoEdit,
|
|
126
127
|
protectedFiles: options.protectedFiles,
|
|
127
128
|
bashTimeoutMs: options.bashTimeoutMs,
|
|
129
|
+
webTools: options.webTools,
|
|
130
|
+
mcpTools: options.mcpTools,
|
|
131
|
+
signal: options.signal,
|
|
128
132
|
};
|
|
129
133
|
try {
|
|
130
134
|
const result = await runAgenticLoop(loopOptions);
|
|
@@ -189,13 +193,14 @@ export class LocalModelAdapter {
|
|
|
189
193
|
/**
|
|
190
194
|
* 로컬 API 호출 함수 생성 (에이전틱 루프에 주입)
|
|
191
195
|
*/
|
|
192
|
-
createApiCaller(baseUrl, model) {
|
|
196
|
+
createApiCaller(baseUrl, model, onToken, signal) {
|
|
193
197
|
return async (messages, tools) => {
|
|
194
198
|
const body = {
|
|
195
199
|
model,
|
|
196
200
|
messages,
|
|
197
201
|
temperature: 0.2,
|
|
198
|
-
stream:
|
|
202
|
+
stream: true,
|
|
203
|
+
stream_options: { include_usage: true },
|
|
199
204
|
};
|
|
200
205
|
if (tools.length > 0) {
|
|
201
206
|
body.tools = tools;
|
|
@@ -204,6 +209,7 @@ export class LocalModelAdapter {
|
|
|
204
209
|
method: 'POST',
|
|
205
210
|
headers: this.buildHeaders(),
|
|
206
211
|
body: JSON.stringify(body),
|
|
212
|
+
signal,
|
|
207
213
|
});
|
|
208
214
|
if (!res.ok) {
|
|
209
215
|
const errText = await res.text().catch(() => '');
|
|
@@ -216,7 +222,7 @@ export class LocalModelAdapter {
|
|
|
216
222
|
}
|
|
217
223
|
throw new Error(`Local API error (${res.status}): ${errText.slice(0, 500)}`);
|
|
218
224
|
}
|
|
219
|
-
return (
|
|
225
|
+
return consumeChatCompletionsStream(res, onToken);
|
|
220
226
|
};
|
|
221
227
|
}
|
|
222
228
|
buildHeaders() {
|
|
@@ -227,127 +233,13 @@ export class LocalModelAdapter {
|
|
|
227
233
|
return headers;
|
|
228
234
|
}
|
|
229
235
|
parseWorkerOutput(raw) {
|
|
230
|
-
|
|
231
|
-
return extractWorkerResultJson(text) ?? extractWorkerFromText(text);
|
|
236
|
+
return parseWorkerResult(raw.stdout);
|
|
232
237
|
}
|
|
233
238
|
parseReviewerOutput(raw) {
|
|
234
|
-
|
|
235
|
-
return extractReviewerResultJson(text) ?? extractReviewerFromText(text);
|
|
239
|
+
return parseReviewerResult(raw.stdout);
|
|
236
240
|
}
|
|
237
241
|
}
|
|
238
|
-
//
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
const jsonStr = jsonMatch?.[1] ?? findJsonObject(text, '"success"');
|
|
242
|
-
if (!jsonStr)
|
|
243
|
-
return null;
|
|
244
|
-
try {
|
|
245
|
-
const parsed = JSON.parse(jsonStr);
|
|
246
|
-
return {
|
|
247
|
-
success: Boolean(parsed.success),
|
|
248
|
-
summary: parsed.summary || t('common.fallback.noSummary'),
|
|
249
|
-
filesChanged: Array.isArray(parsed.filesChanged) ? parsed.filesChanged : [],
|
|
250
|
-
commands: Array.isArray(parsed.commands) ? parsed.commands : [],
|
|
251
|
-
output: text,
|
|
252
|
-
error: parsed.error,
|
|
253
|
-
confidencePercent: typeof parsed.confidencePercent === 'number'
|
|
254
|
-
? parsed.confidencePercent : undefined,
|
|
255
|
-
haltReason: parsed.haltReason || undefined,
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
catch {
|
|
259
|
-
return null;
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
function extractWorkerFromText(text) {
|
|
263
|
-
// Only an explicit failure phrase marks the run as failed (see gpt.ts).
|
|
264
|
-
// git-diff promotion in worker.ts is the real success signal.
|
|
265
|
-
const failed = isExplicitFailure(text);
|
|
266
|
-
return {
|
|
267
|
-
success: !failed,
|
|
268
|
-
summary: extractSummary(text),
|
|
269
|
-
filesChanged: [],
|
|
270
|
-
commands: [],
|
|
271
|
-
output: text,
|
|
272
|
-
error: failed ? extractErrorMessage(text) : undefined,
|
|
273
|
-
};
|
|
274
|
-
}
|
|
275
|
-
function extractReviewerResultJson(text) {
|
|
276
|
-
const jsonMatch = text.match(/```json\s*([\s\S]*?)\s*```/);
|
|
277
|
-
const jsonStr = jsonMatch?.[1] ?? findJsonObject(text, '"decision"');
|
|
278
|
-
if (!jsonStr)
|
|
279
|
-
return null;
|
|
280
|
-
try {
|
|
281
|
-
const parsed = JSON.parse(jsonStr);
|
|
282
|
-
const decision = parsed.decision === 'approve' || parsed.decision === 'reject'
|
|
283
|
-
? parsed.decision
|
|
284
|
-
: 'revise';
|
|
285
|
-
return {
|
|
286
|
-
decision,
|
|
287
|
-
feedback: typeof parsed.feedback === 'string' ? parsed.feedback : t('common.fallback.noSummary'),
|
|
288
|
-
issues: Array.isArray(parsed.issues)
|
|
289
|
-
? parsed.issues.filter((v) => typeof v === 'string')
|
|
290
|
-
: [],
|
|
291
|
-
suggestions: Array.isArray(parsed.suggestions)
|
|
292
|
-
? parsed.suggestions.filter((v) => typeof v === 'string')
|
|
293
|
-
: [],
|
|
294
|
-
};
|
|
295
|
-
}
|
|
296
|
-
catch {
|
|
297
|
-
return null;
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
function extractReviewerFromText(text) {
|
|
301
|
-
const lower = text.toLowerCase();
|
|
302
|
-
const decision = lower.includes('approve')
|
|
303
|
-
? 'approve'
|
|
304
|
-
: lower.includes('reject')
|
|
305
|
-
? 'reject'
|
|
306
|
-
: 'revise';
|
|
307
|
-
return {
|
|
308
|
-
decision,
|
|
309
|
-
feedback: extractSummary(text),
|
|
310
|
-
issues: [],
|
|
311
|
-
suggestions: [],
|
|
312
|
-
};
|
|
313
|
-
}
|
|
314
|
-
function findJsonObject(text, marker) {
|
|
315
|
-
const idx = text.indexOf(marker);
|
|
316
|
-
if (idx < 0)
|
|
317
|
-
return null;
|
|
318
|
-
let start = text.lastIndexOf('{', idx);
|
|
319
|
-
if (start < 0)
|
|
320
|
-
return null;
|
|
321
|
-
let depth = 0;
|
|
322
|
-
for (let i = start; i < text.length; i++) {
|
|
323
|
-
if (text[i] === '{')
|
|
324
|
-
depth++;
|
|
325
|
-
if (text[i] === '}') {
|
|
326
|
-
depth--;
|
|
327
|
-
if (depth === 0)
|
|
328
|
-
return text.slice(start, i + 1);
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
return null;
|
|
332
|
-
}
|
|
333
|
-
// Detect a real failure declaration, not incidental "error"/"fail" prose (see gpt.ts).
|
|
334
|
-
function isExplicitFailure(text) {
|
|
335
|
-
if (/"success"\s*:\s*false/i.test(text))
|
|
336
|
-
return true;
|
|
337
|
-
return /\b(failed to|unable to|could not|couldn['’]t|cannot (?:complete|finish|proceed|continue)|giving up|abort(?:ed|ing))\b/i.test(text);
|
|
338
|
-
}
|
|
339
|
-
function extractSummary(text) {
|
|
340
|
-
const lines = text.split('\n').filter(l => l.trim().length > 10);
|
|
341
|
-
if (lines.length === 0)
|
|
342
|
-
return t('common.fallback.noSummary');
|
|
343
|
-
const summary = lines[0].trim();
|
|
344
|
-
return summary.length > 200 ? `${summary.slice(0, 200)}...` : summary;
|
|
345
|
-
}
|
|
346
|
-
function extractErrorMessage(text) {
|
|
347
|
-
const errorMatch = text.match(/(?:error|exception|failed?):\s*(.+)/i);
|
|
348
|
-
if (errorMatch)
|
|
349
|
-
return errorMatch[1].slice(0, 200);
|
|
350
|
-
const lines = text.split('\n').filter(l => /error|fail/i.test(l));
|
|
351
|
-
return lines.length > 0 ? lines[0].slice(0, 200) : 'Unknown error';
|
|
352
|
-
}
|
|
242
|
+
// Streamed chat/completions responses are parsed by consumeChatCompletionsStream.
|
|
243
|
+
// Worker/Reviewer output parsing lives in ./resultParsing.ts (shared with the
|
|
244
|
+
// gpt, openrouter, and codex adapters — INT-1441).
|
|
353
245
|
//# sourceMappingURL=local.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/adapters/local.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/adapters/local.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,33 +13,15 @@ export declare class OpenRouterCliAdapter implements CliAdapter {
|
|
|
13
13
|
parseWorkerOutput(raw: CliRunResult): WorkerResult;
|
|
14
14
|
parseReviewerOutput(raw: CliRunResult): ReviewResult;
|
|
15
15
|
}
|
|
16
|
-
interface OpenRouterChatResponse {
|
|
17
|
-
choices: Array<{
|
|
18
|
-
message: {
|
|
19
|
-
content: string | null;
|
|
20
|
-
role: string;
|
|
21
|
-
tool_calls?: Array<{
|
|
22
|
-
id: string;
|
|
23
|
-
type: 'function';
|
|
24
|
-
function: {
|
|
25
|
-
name: string;
|
|
26
|
-
arguments: string;
|
|
27
|
-
};
|
|
28
|
-
}>;
|
|
29
|
-
};
|
|
30
|
-
finish_reason: string;
|
|
31
|
-
}>;
|
|
32
|
-
usage?: {
|
|
33
|
-
prompt_tokens: number;
|
|
34
|
-
completion_tokens: number;
|
|
35
|
-
total_tokens: number;
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
16
|
export interface ApiCallerOptions {
|
|
39
17
|
/** worker 등 기계적 역할: 추론 토큰 비활성화 (지원 모델 한정) */
|
|
40
18
|
disableReasoning?: boolean;
|
|
19
|
+
/** 스트리밍 토큰 콜백 (chat TUI). 없으면 비스트리밍과 동일하게 동작. */
|
|
20
|
+
onToken?: (delta: string) => void;
|
|
21
|
+
/** 사용자 중단(Esc/Ctrl+C) — fetch에 전달. */
|
|
22
|
+
signal?: AbortSignal;
|
|
41
23
|
}
|
|
42
|
-
export declare function createApiCaller(apiKey: string, model: string, opts?: ApiCallerOptions): (messages: ChatMessage[], tools: ToolDefinition[]) => Promise<
|
|
24
|
+
export declare function createApiCaller(apiKey: string, model: string, opts?: ApiCallerOptions): (messages: ChatMessage[], tools: ToolDefinition[]) => Promise<import("./chatStream.js").ChatCompletionLike>;
|
|
43
25
|
/**
|
|
44
26
|
* Prompt caching breakpoint 삽입.
|
|
45
27
|
*
|
|
@@ -52,5 +34,4 @@ export declare function createApiCaller(apiKey: string, model: string, opts?: Ap
|
|
|
52
34
|
* Anthropic은 최대 4개 breakpoint를 허용하므로 2개는 안전하다.
|
|
53
35
|
*/
|
|
54
36
|
export declare function applyPromptCaching(messages: ChatMessage[], model: string): unknown[];
|
|
55
|
-
export {};
|
|
56
37
|
//# sourceMappingURL=openrouter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../src/adapters/openrouter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACb,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../src/adapters/openrouter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAkBjD,qBAAa,oBAAqB,YAAW,UAAU;IACrD,QAAQ,CAAC,IAAI,gBAAgB;IAE7B,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAMxC;IAEI,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAUrC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE;IAKpE,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA4DxD,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY;IAIlD,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,YAAY;CAGrD;AAKD,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iDAAiD;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,sCAAsC;IACtC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqB,IAC1E,UAAU,WAAW,EAAE,EAAE,OAAO,cAAc,EAAE,2DA8C/D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAwBpF"}
|
|
@@ -4,14 +4,15 @@
|
|
|
4
4
|
// using a stored sk-or-* key from `openswarm auth login --provider openrouter`.
|
|
5
5
|
// ============================================
|
|
6
6
|
import { AuthProfileStore, ensureValidToken } from '../auth/index.js';
|
|
7
|
-
import { t } from '../locale/index.js';
|
|
8
7
|
import { runAgenticLoop, loopResultToCliResult, } from './agenticLoop.js';
|
|
8
|
+
import { parseWorkerResult, parseReviewerResult } from './resultParsing.js';
|
|
9
|
+
import { consumeChatCompletionsStream } from './chatStream.js';
|
|
9
10
|
const OPENROUTER_API_BASE = 'https://openrouter.ai/api/v1';
|
|
10
11
|
const DEFAULT_MODEL = 'openai/gpt-5';
|
|
11
12
|
const PROFILE_KEY = 'openrouter:default';
|
|
12
|
-
/**
|
|
13
|
+
/** OPENROUTER_API_KEY env var (legacy: OPENROUTER_API) → immediate API key (no PKCE needed). */
|
|
13
14
|
function getEnvApiKey() {
|
|
14
|
-
return process.env.OPENROUTER_API?.trim() || undefined;
|
|
15
|
+
return process.env.OPENROUTER_API_KEY?.trim() || process.env.OPENROUTER_API?.trim() || undefined;
|
|
15
16
|
}
|
|
16
17
|
// Attribution headers — OpenRouter surfaces these in its analytics UI so
|
|
17
18
|
// model providers can see traffic originating from OpenSwarm.
|
|
@@ -45,7 +46,7 @@ export class OpenRouterCliAdapter {
|
|
|
45
46
|
}
|
|
46
47
|
async run(options) {
|
|
47
48
|
const startTime = Date.now();
|
|
48
|
-
// Prefer
|
|
49
|
+
// Prefer OPENROUTER_API_KEY env var (auto-loaded from .env by the CLI entrypoint)
|
|
49
50
|
let apiKey = getEnvApiKey();
|
|
50
51
|
if (!apiKey) {
|
|
51
52
|
const store = new AuthProfileStore();
|
|
@@ -56,7 +57,7 @@ export class OpenRouterCliAdapter {
|
|
|
56
57
|
return {
|
|
57
58
|
exitCode: 1,
|
|
58
59
|
stdout: '',
|
|
59
|
-
stderr: `Auth error: ${err instanceof Error ? err.message : String(err)}. Set
|
|
60
|
+
stderr: `Auth error: ${err instanceof Error ? err.message : String(err)}. Set OPENROUTER_API_KEY env var or run: openswarm auth login --provider openrouter`,
|
|
60
61
|
durationMs: Date.now() - startTime,
|
|
61
62
|
};
|
|
62
63
|
}
|
|
@@ -64,6 +65,8 @@ export class OpenRouterCliAdapter {
|
|
|
64
65
|
const model = options.model ?? DEFAULT_MODEL;
|
|
65
66
|
const callApi = createApiCaller(apiKey, model, {
|
|
66
67
|
disableReasoning: options.disableReasoning,
|
|
68
|
+
onToken: options.onToken,
|
|
69
|
+
signal: options.signal,
|
|
67
70
|
});
|
|
68
71
|
const loopOptions = {
|
|
69
72
|
systemPrompt: options.systemPrompt,
|
|
@@ -74,10 +77,13 @@ export class OpenRouterCliAdapter {
|
|
|
74
77
|
maxTurns: options.maxTurns ?? 20,
|
|
75
78
|
timeoutMs: options.timeoutMs || 300000,
|
|
76
79
|
onLog: options.onLog,
|
|
77
|
-
enableTools: true,
|
|
80
|
+
enableTools: options.enableTools ?? true,
|
|
78
81
|
nudgeMaxOnNoEdit: options.nudgeMaxOnNoEdit,
|
|
79
82
|
protectedFiles: options.protectedFiles,
|
|
80
83
|
bashTimeoutMs: options.bashTimeoutMs,
|
|
84
|
+
webTools: options.webTools,
|
|
85
|
+
mcpTools: options.mcpTools,
|
|
86
|
+
signal: options.signal,
|
|
81
87
|
};
|
|
82
88
|
try {
|
|
83
89
|
const result = await runAgenticLoop(loopOptions);
|
|
@@ -94,10 +100,10 @@ export class OpenRouterCliAdapter {
|
|
|
94
100
|
}
|
|
95
101
|
}
|
|
96
102
|
parseWorkerOutput(raw) {
|
|
97
|
-
return
|
|
103
|
+
return parseWorkerResult(raw.stdout);
|
|
98
104
|
}
|
|
99
105
|
parseReviewerOutput(raw) {
|
|
100
|
-
return
|
|
106
|
+
return parseReviewerResult(raw.stdout);
|
|
101
107
|
}
|
|
102
108
|
}
|
|
103
109
|
export function createApiCaller(apiKey, model, opts = {}) {
|
|
@@ -107,6 +113,8 @@ export function createApiCaller(apiKey, model, opts = {}) {
|
|
|
107
113
|
messages: applyPromptCaching(messages, model),
|
|
108
114
|
temperature: 0.2,
|
|
109
115
|
max_tokens: 16384,
|
|
116
|
+
stream: true,
|
|
117
|
+
stream_options: { include_usage: true },
|
|
110
118
|
};
|
|
111
119
|
// ZDR(Zero Data Retention) — 데이터를 보존하지 않는 provider로만 라우팅.
|
|
112
120
|
// 단, OpenAI provider는 data_collection:deny 플래그를 거부("Provider returned
|
|
@@ -134,12 +142,13 @@ export function createApiCaller(apiKey, model, opts = {}) {
|
|
|
134
142
|
...ATTRIBUTION_HEADERS,
|
|
135
143
|
},
|
|
136
144
|
body: JSON.stringify(body),
|
|
145
|
+
signal: opts.signal,
|
|
137
146
|
});
|
|
138
147
|
if (!res.ok) {
|
|
139
148
|
const errText = await res.text().catch(() => '');
|
|
140
149
|
throw new Error(`OpenRouter API error (${res.status}): ${errText.slice(0, 500)}`);
|
|
141
150
|
}
|
|
142
|
-
return (
|
|
151
|
+
return consumeChatCompletionsStream(res, opts.onToken);
|
|
143
152
|
};
|
|
144
153
|
}
|
|
145
154
|
/**
|
|
@@ -179,116 +188,6 @@ export function applyPromptCaching(messages, model) {
|
|
|
179
188
|
});
|
|
180
189
|
}
|
|
181
190
|
// ----- Worker/Reviewer output parsing (mirrors gpt.ts) -----
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
const jsonStr = jsonMatch?.[1] ?? findJsonObject(text, '"success"');
|
|
185
|
-
if (!jsonStr)
|
|
186
|
-
return null;
|
|
187
|
-
try {
|
|
188
|
-
const parsed = JSON.parse(jsonStr);
|
|
189
|
-
return {
|
|
190
|
-
success: Boolean(parsed.success),
|
|
191
|
-
summary: parsed.summary || t('common.fallback.noSummary'),
|
|
192
|
-
filesChanged: Array.isArray(parsed.filesChanged) ? parsed.filesChanged : [],
|
|
193
|
-
commands: Array.isArray(parsed.commands) ? parsed.commands : [],
|
|
194
|
-
output: text,
|
|
195
|
-
error: parsed.error,
|
|
196
|
-
confidencePercent: typeof parsed.confidencePercent === 'number' ? parsed.confidencePercent : undefined,
|
|
197
|
-
haltReason: parsed.haltReason || undefined,
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
catch {
|
|
201
|
-
return null;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
function extractWorkerFromText(text) {
|
|
205
|
-
// Only an explicit failure phrase marks the run as failed (see gpt.ts).
|
|
206
|
-
// git-diff promotion in worker.ts is the real success signal.
|
|
207
|
-
const failed = isExplicitFailure(text);
|
|
208
|
-
return {
|
|
209
|
-
success: !failed,
|
|
210
|
-
summary: extractSummary(text),
|
|
211
|
-
filesChanged: [],
|
|
212
|
-
commands: [],
|
|
213
|
-
output: text,
|
|
214
|
-
error: failed ? extractErrorMessage(text) : undefined,
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
function extractReviewerResultJson(text) {
|
|
218
|
-
const jsonMatch = text.match(/```json\s*([\s\S]*?)\s*```/);
|
|
219
|
-
const jsonStr = jsonMatch?.[1] ?? findJsonObject(text, '"decision"');
|
|
220
|
-
if (!jsonStr)
|
|
221
|
-
return null;
|
|
222
|
-
try {
|
|
223
|
-
const parsed = JSON.parse(jsonStr);
|
|
224
|
-
const decision = parsed.decision === 'approve' || parsed.decision === 'reject' ? parsed.decision : 'revise';
|
|
225
|
-
return {
|
|
226
|
-
decision,
|
|
227
|
-
feedback: typeof parsed.feedback === 'string' ? parsed.feedback : t('common.fallback.noSummary'),
|
|
228
|
-
issues: Array.isArray(parsed.issues)
|
|
229
|
-
? parsed.issues.filter((v) => typeof v === 'string')
|
|
230
|
-
: [],
|
|
231
|
-
suggestions: Array.isArray(parsed.suggestions)
|
|
232
|
-
? parsed.suggestions.filter((v) => typeof v === 'string')
|
|
233
|
-
: [],
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
catch {
|
|
237
|
-
return null;
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
function extractReviewerFromText(text) {
|
|
241
|
-
const lower = text.toLowerCase();
|
|
242
|
-
const decision = lower.includes('approve')
|
|
243
|
-
? 'approve'
|
|
244
|
-
: lower.includes('reject')
|
|
245
|
-
? 'reject'
|
|
246
|
-
: 'revise';
|
|
247
|
-
return {
|
|
248
|
-
decision,
|
|
249
|
-
feedback: extractSummary(text),
|
|
250
|
-
issues: [],
|
|
251
|
-
suggestions: [],
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
|
-
function findJsonObject(text, marker) {
|
|
255
|
-
const idx = text.indexOf(marker);
|
|
256
|
-
if (idx < 0)
|
|
257
|
-
return null;
|
|
258
|
-
const start = text.lastIndexOf('{', idx);
|
|
259
|
-
if (start < 0)
|
|
260
|
-
return null;
|
|
261
|
-
let depth = 0;
|
|
262
|
-
for (let i = start; i < text.length; i++) {
|
|
263
|
-
if (text[i] === '{')
|
|
264
|
-
depth++;
|
|
265
|
-
if (text[i] === '}') {
|
|
266
|
-
depth--;
|
|
267
|
-
if (depth === 0) {
|
|
268
|
-
return text.slice(start, i + 1);
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
return null;
|
|
273
|
-
}
|
|
274
|
-
// Detect a real failure declaration, not incidental "error"/"fail" prose (see gpt.ts).
|
|
275
|
-
function isExplicitFailure(text) {
|
|
276
|
-
if (/"success"\s*:\s*false/i.test(text))
|
|
277
|
-
return true;
|
|
278
|
-
return /\b(failed to|unable to|could not|couldn['’]t|cannot (?:complete|finish|proceed|continue)|giving up|abort(?:ed|ing))\b/i.test(text);
|
|
279
|
-
}
|
|
280
|
-
function extractSummary(text) {
|
|
281
|
-
const lines = text.split('\n').filter((l) => l.trim().length > 10);
|
|
282
|
-
if (lines.length === 0)
|
|
283
|
-
return t('common.fallback.noSummary');
|
|
284
|
-
const summary = lines[0].trim();
|
|
285
|
-
return summary.length > 200 ? `${summary.slice(0, 200)}...` : summary;
|
|
286
|
-
}
|
|
287
|
-
function extractErrorMessage(text) {
|
|
288
|
-
const errorMatch = text.match(/(?:error|exception|failed?):\s*(.+)/i);
|
|
289
|
-
if (errorMatch)
|
|
290
|
-
return errorMatch[1].slice(0, 200);
|
|
291
|
-
const lines = text.split('\n').filter((l) => /error|fail/i.test(l));
|
|
292
|
-
return lines.length > 0 ? lines[0].slice(0, 200) : 'Unknown error';
|
|
293
|
-
}
|
|
191
|
+
// Worker/Reviewer output parsing lives in ./resultParsing.ts (shared with the
|
|
192
|
+
// gpt, local, and codex adapters — INT-1441).
|
|
294
193
|
//# sourceMappingURL=openrouter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../src/adapters/openrouter.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,qCAAqC;AACrC,uEAAuE;AACvE,gFAAgF;AAChF,+CAA+C;AAU/C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,
|
|
1
|
+
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../src/adapters/openrouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { WorkerResult, ReviewResult } from './types.js';
|
|
2
|
+
/** JSON-first with text fallback — the canonical worker-output parse. */
|
|
3
|
+
export declare function parseWorkerResult(text: string): WorkerResult;
|
|
4
|
+
/** JSON-first with text fallback — the canonical reviewer-output parse. */
|
|
5
|
+
export declare function parseReviewerResult(text: string): ReviewResult;
|
|
6
|
+
//# sourceMappingURL=resultParsing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resultParsing.d.ts","sourceRoot":"","sources":["../../src/adapters/resultParsing.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgI7D,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAE5D;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAE9D"}
|