feique 1.4.0 → 1.5.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/README.en.md +2 -2
- package/README.md +2 -2
- package/dist/backend/claude.d.ts +2 -0
- package/dist/backend/claude.js +29 -0
- package/dist/backend/claude.js.map +1 -1
- package/dist/backend/codex.d.ts +2 -0
- package/dist/backend/codex.js +27 -0
- package/dist/backend/codex.js.map +1 -1
- package/dist/backend/factory.d.ts +23 -8
- package/dist/backend/factory.js +77 -58
- package/dist/backend/factory.js.map +1 -1
- package/dist/backend/probe.d.ts +0 -2
- package/dist/backend/probe.js +0 -14
- package/dist/backend/probe.js.map +1 -1
- package/dist/backend/qwen.d.ts +59 -0
- package/dist/backend/qwen.js +372 -0
- package/dist/backend/qwen.js.map +1 -0
- package/dist/backend/registry.d.ts +58 -0
- package/dist/backend/registry.js +23 -0
- package/dist/backend/registry.js.map +1 -0
- package/dist/backend/types.d.ts +6 -1
- package/dist/bridge/commands.d.ts +1 -0
- package/dist/bridge/commands.js +32 -9
- package/dist/bridge/commands.js.map +1 -1
- package/dist/bridge/intent-classifier.d.ts +7 -2
- package/dist/bridge/intent-classifier.js +1 -1
- package/dist/bridge/intent-classifier.js.map +1 -1
- package/dist/bridge/run-pipeline.js +21 -10
- package/dist/bridge/run-pipeline.js.map +1 -1
- package/dist/bridge/service.js +42 -7
- package/dist/bridge/service.js.map +1 -1
- package/dist/config/schema.d.ts +47 -16
- package/dist/config/schema.js +38 -1
- package/dist/config/schema.js.map +1 -1
- package/package.json +1 -1
package/README.en.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# 飞鹊 (Feique) v1.
|
|
1
|
+
# 飞鹊 (Feique) v1.5.1
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
4
|
|
|
@@ -33,7 +33,7 @@ Currently supports the full AI coding workflow: project bindings persist by `cha
|
|
|
33
33
|
| **Memory System** | Supports project memory and group shared memory, SQLite + FTS5 retrieval, configurable TTL, pin strategies, and background cleanup. |
|
|
34
34
|
| **Project Isolation** | Downloads, temp files, cache, and project audit logs default to `state/projects/<alias>/...`, with per-project overrides available. |
|
|
35
35
|
| **Observability** | Built-in `/healthz`, `/readyz`, and `/metrics`, plus structured audit trails and Prometheus / Alertmanager / Grafana integration. |
|
|
36
|
-
| **Multi-Backend** |
|
|
36
|
+
| **Multi-Backend** | **v1.5 ships three backends**: Codex, Claude Code, and Qwen Code. Configurable globally via `[backend]` or per-project. Claude supports `--model`/`--permission-mode`/`--max-budget-usd`; Qwen supports `--model`/`--approval-mode` (plan\|default\|auto-edit\|yolo). **Startup-level failover + configurable fallback chain**: if the primary CLI is unavailable, runs walk through `backend.fallback` until one probes ok. **Extensible registry**: adding a fourth backend is one file + one `registerBackend()` call. |
|
|
37
37
|
| **Pairing UX (v1.4)** | Unauthorized chats knocking for the first time now get a friendly reply with their chat_id and instructions to contact an admin; admins get a one-shot notification. No more silent drops. |
|
|
38
38
|
| **Team Awareness** | `/team` shows who is using AI on what in real time, with automatic conflict warnings. |
|
|
39
39
|
| **Knowledge Loop** | `/learn` and `/recall` for team knowledge capture and semantic retrieval, with AI-powered auto-extraction. |
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# 飞鹊 (Feique) v1.
|
|
1
|
+
# 飞鹊 (Feique) v1.5.1
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
4
|
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
| **记忆系统 (Memory System)** | 支持项目记忆与群共享记忆,SQLite + FTS5 检索,可配置 TTL、置顶策略和后台定时清理。 |
|
|
34
34
|
| **项目隔离 (Project Isolation)** | 下载、临时文件、缓存和项目审计默认落到 `state/projects/<alias>/...`,也可按项目单独指定。 |
|
|
35
35
|
| **可观测性 (Observability)** | 内置 `/healthz`、`/readyz`、`/metrics`,支持 Prometheus / Alertmanager / Grafana,并补齐启动告警、运行链路日志和审计。 |
|
|
36
|
-
| **多后端支持 (Multi-Backend)** |
|
|
36
|
+
| **多后端支持 (Multi-Backend)** | **v1.5 支持三个后端**:Codex、Claude Code、Qwen Code。通过 `[backend]` 配置全局默认或按项目覆盖。Claude 支持 `--model`/`--permission-mode`/`--max-budget-usd`;Qwen 支持 `--model`/`--approval-mode`(plan\|default\|auto-edit\|yolo)。**启动级 failover + 可配置 fallback 链**:主 backend CLI 不可用时按 `backend.fallback` 列表依次降级。**Backend registry 可扩展**:新增第四个后端只需新增一个文件 + 一个 `registerBackend()` 调用。 |
|
|
37
37
|
| **Pairing UX (v1.4)** | 陌生 chat 首次 @ bot 时返回友好提示(附自己的 chat_id 和申请指引),同时一次性通知 admin,不再静默丢包。 |
|
|
38
38
|
| **团队协作态势 (Team Awareness)** | `/team` 实时查看谁在用 AI 做什么,自动冲突预警。 |
|
|
39
39
|
| **知识回路 (Knowledge Loop)** | `/learn` `/recall` 团队知识沉淀与语义检索,AI 自动提取。 |
|
package/dist/backend/claude.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Backend, BackendEvent, BackendRunOptions, BackendRunResult, IndexedSession } from './types.js';
|
|
2
|
+
import type { BackendDefinition } from './registry.js';
|
|
2
3
|
export type ClaudePermissionMode = 'acceptEdits' | 'bypassPermissions' | 'default' | 'dontAsk' | 'plan' | 'auto';
|
|
3
4
|
export interface ClaudeBackendConfig {
|
|
4
5
|
bin: string;
|
|
@@ -34,3 +35,4 @@ export declare class ClaudeBackend implements Backend {
|
|
|
34
35
|
private buildSpawnSpec;
|
|
35
36
|
private scanSessions;
|
|
36
37
|
}
|
|
38
|
+
export declare const claudeBackendDefinition: BackendDefinition;
|
package/dist/backend/claude.js
CHANGED
|
@@ -2,6 +2,7 @@ import os from 'node:os';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import fs from 'node:fs/promises';
|
|
4
4
|
import { spawn } from 'node:child_process';
|
|
5
|
+
import { registerBackend } from './registry.js';
|
|
5
6
|
export class ClaudeBackend {
|
|
6
7
|
config;
|
|
7
8
|
claudeHomeDir;
|
|
@@ -329,4 +330,32 @@ function normalizeProjectName(input) {
|
|
|
329
330
|
const filtered = tokens.filter(token => !FUZZY_SUFFIX_TOKENS.has(token));
|
|
330
331
|
return (filtered.length > 0 ? filtered : tokens).join('-');
|
|
331
332
|
}
|
|
333
|
+
// ---------------------------------------------------------------------------
|
|
334
|
+
// Registry definition
|
|
335
|
+
// ---------------------------------------------------------------------------
|
|
336
|
+
export const claudeBackendDefinition = {
|
|
337
|
+
name: 'claude',
|
|
338
|
+
create(config) {
|
|
339
|
+
return new ClaudeBackend({
|
|
340
|
+
bin: config.claude?.bin ?? 'claude',
|
|
341
|
+
shell: config.claude?.shell ?? config.codex.shell,
|
|
342
|
+
preExec: config.claude?.pre_exec ?? config.codex.pre_exec,
|
|
343
|
+
defaultPermissionMode: config.claude?.default_permission_mode ?? 'auto',
|
|
344
|
+
defaultModel: config.claude?.default_model,
|
|
345
|
+
maxBudgetUsd: config.claude?.max_budget_usd,
|
|
346
|
+
allowedTools: config.claude?.allowed_tools,
|
|
347
|
+
systemPromptAppend: config.claude?.system_prompt_append,
|
|
348
|
+
runTimeoutMs: config.claude?.run_timeout_ms ?? config.codex.run_timeout_ms,
|
|
349
|
+
});
|
|
350
|
+
},
|
|
351
|
+
probeSpec(config) {
|
|
352
|
+
return {
|
|
353
|
+
bin: config.claude?.bin ?? 'claude',
|
|
354
|
+
shell: config.claude?.shell ?? config.codex.shell,
|
|
355
|
+
preExec: config.claude?.pre_exec ?? config.codex.pre_exec,
|
|
356
|
+
};
|
|
357
|
+
},
|
|
358
|
+
defaultFallback: ['codex', 'qwen'],
|
|
359
|
+
};
|
|
360
|
+
registerBackend(claudeBackendDefinition);
|
|
332
361
|
//# sourceMappingURL=claude.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/backend/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AA4C3C,MAAM,OAAO,aAAa;IAIL;IACA;IAJH,IAAI,GAAG,QAAiB,CAAC;IAEzC,YACmB,MAA2B,EAC3B,gBAAwB,oBAAoB,EAAE;QAD9C,WAAM,GAAN,MAAM,CAAqB;QAC3B,kBAAa,GAAb,aAAa,CAAiC;IAC9D,CAAC;IAEG,KAAK,CAAC,GAAG,CAAC,OAAoE;QACnF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAC9E,sBAAsB,CACvB,CAAC;QAEF,OAAO,MAAM,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE;gBAC1D,GAAG,EAAE,OAAO,CAAC,OAAO;gBACpB,GAAG,EAAE;oBACH,GAAG,OAAO,CAAC,GAAG;oBACd,QAAQ,EAAE,GAAG;iBACd;gBACD,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAClC,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,WAA+B,CAAC;YACpC,IAAI,YAAgC,CAAC;YACrC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,aAAyC,CAAC;YAC9C,IAAI,YAAsC,CAAC;YAE3C,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,EAAE;gBACpC,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,MAAwB,EAAE,EAAE;gBACjD,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,IAAI,aAAa;oBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC/C,YAAY,EAAE,EAAE,CAAC;gBACjB,YAAY,GAAG,SAAS,CAAC;YAC3B,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,MAAe,EAAE,EAAE;gBACnC,IAAI,UAAU,CAAC,MAAM;oBAAE,OAAO;gBAC9B,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACtH,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3B,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,UAAU,CAAC,MAAM;wBAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrD,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACjB,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC;YAEF,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBAC/C,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,QAAQ,CAAC,0BAA0B,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;gBAC5D,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBACtB,aAAa,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,oBAAoB,CAAC,CAAC;gBAC/E,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC3B,OAAO,EAAE,CAAC;oBACV,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClE,YAAY,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7E,CAAC;YAED,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACvC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC;YAED,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE;gBACnD,YAAY,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1C,YAAY,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;wBAAE,SAAS;oBAEvC,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAsB,CAAC;wBAEvD,uCAAuC;wBACvC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BAChD,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;wBAC/B,CAAC;wBAED,uDAAuD;wBACvD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;4BAChE,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;wBAC9B,CAAC;wBACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC5B,IAAI,OAAO,KAAK,CAAC,kBAAkB,KAAK,QAAQ;gCAAE,WAAW,GAAG,KAAK,CAAC,kBAAkB,CAAC;4BACzF,IAAI,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ;gCAAE,YAAY,GAAG,KAAK,CAAC,mBAAmB,CAAC;wBAC9F,CAAC;wBAED,iDAAiD;wBACjD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;4BACzD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO;iCAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;iCAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC;iCACjB,IAAI,CAAC,IAAI,CAAC,CAAC;4BACd,IAAI,KAAK,EAAE,CAAC;gCACV,YAAY,GAAG,KAAK,CAAC;4BACvB,CAAC;wBACH,CAAC;wBAED,kCAAkC;wBAClC,MAAM,YAAY,GAAiB;4BACjC,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;4BACzC,OAAO,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;yBACrE,CAAC;wBACF,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;oBACxC,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,iCAAiC,CAAC,CAAC;oBACpE,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC/B,YAAY,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAClC,IAAI,OAAO;oBAAE,OAAO;gBAEpB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC3C,YAAY,CAAC,IAAI,KAAK,CAAC,2BAA2B,QAAQ,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAC,CAAC;oBAC5G,OAAO;gBACT,CAAC;gBAED,aAAa,CAAC;oBACZ,SAAS;oBACT,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE;oBACjC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;oBACrB,QAAQ,EAAE,QAAQ,IAAI,CAAC;oBACvB,WAAW;oBACX,YAAY;iBACb,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,cAAc,CAAC,KAAmB;QACvC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChE,OAAO,aAAa,KAAK,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,WAAmB,EAAE,QAAgB,EAAE;QACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAqB,EAAE,CAAC;QACrC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,OAAO;gBACV,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,UAAU,EAAE,KAAK,CAAC,KAAK;aACxB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO;aACX,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;YAC7D,IAAI,UAAU,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC;YACxC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QAChD,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,OAAO,IAAI,IAAI,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,SAAiB;QACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAC1E,CAAC;IAEO,SAAS,CAAC,OAAoE;QACpF,MAAM,IAAI,GAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAE5C,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAClG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QACvE,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAClF,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QACrF,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,YAAY,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QACvG,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,UAAoB;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACxD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC;QACnE,MAAM,cAAc,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,OAAO,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;QAC1G,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;QAEnD,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,gFAAgF;QAChF,mFAAmF;QACnF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE;gBAAE,SAAS;YAE9B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAKhC,CAAC;gBAEF,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;gBACnC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;gBACvB,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG;oBAAE,SAAS;gBAEjC,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtF,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5E,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAC7D,CAAC,WAAW,EAAE,CAAC;gBAEhB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;oBAChD,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;wBACtB,SAAS;wBACT,GAAG;wBACH,SAAS;wBACT,SAAS;wBACT,QAAQ;wBACR,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE,QAAQ;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACvF,CAAC;CACF;AAED,SAAS,oBAAoB;IAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IACnD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3D,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5C,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAe;IACxC,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAEhF,SAAS,iBAAiB,CAAC,WAAmB,EAAE,UAAkB;IAChE,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1F,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAEzF,IAAI,qBAAqB,KAAK,qBAAqB,EAAE,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACzD,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAChE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAChE,IAAI,qBAAqB,IAAI,qBAAqB,KAAK,qBAAqB,EAAE,CAAC;QAC7E,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,qBAAqB,CAAC,MAAM,IAAI,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC/F,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAClD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,MAAM,GAAG,KAAK;SACjB,WAAW,EAAE;SACb,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC"}
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/backend/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA0ChD,MAAM,OAAO,aAAa;IAIL;IACA;IAJH,IAAI,GAAG,QAAiB,CAAC;IAEzC,YACmB,MAA2B,EAC3B,gBAAwB,oBAAoB,EAAE;QAD9C,WAAM,GAAN,MAAM,CAAqB;QAC3B,kBAAa,GAAb,aAAa,CAAiC;IAC9D,CAAC;IAEG,KAAK,CAAC,GAAG,CAAC,OAAoE;QACnF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAC9E,sBAAsB,CACvB,CAAC;QAEF,OAAO,MAAM,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE;gBAC1D,GAAG,EAAE,OAAO,CAAC,OAAO;gBACpB,GAAG,EAAE;oBACH,GAAG,OAAO,CAAC,GAAG;oBACd,QAAQ,EAAE,GAAG;iBACd;gBACD,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAClC,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,WAA+B,CAAC;YACpC,IAAI,YAAgC,CAAC;YACrC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,aAAyC,CAAC;YAC9C,IAAI,YAAsC,CAAC;YAE3C,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,EAAE;gBACpC,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,MAAwB,EAAE,EAAE;gBACjD,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,IAAI,aAAa;oBAAE,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC/C,YAAY,EAAE,EAAE,CAAC;gBACjB,YAAY,GAAG,SAAS,CAAC;YAC3B,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,MAAe,EAAE,EAAE;gBACnC,IAAI,UAAU,CAAC,MAAM;oBAAE,OAAO;gBAC9B,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBACtH,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3B,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,UAAU,CAAC,MAAM;wBAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrD,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACjB,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC;YAEF,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBAC/C,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,QAAQ,CAAC,0BAA0B,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;gBAC5D,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBACtB,aAAa,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,oBAAoB,CAAC,CAAC;gBAC/E,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC3B,OAAO,EAAE,CAAC;oBACV,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClE,YAAY,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7E,CAAC;YAED,IAAI,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACvC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC;YAED,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE;gBACnD,YAAY,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1C,YAAY,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;wBAAE,SAAS;oBAEvC,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAsB,CAAC;wBAEvD,uCAAuC;wBACvC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BAChD,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;wBAC/B,CAAC;wBAED,uDAAuD;wBACvD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;4BAChE,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;wBAC9B,CAAC;wBACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC5B,IAAI,OAAO,KAAK,CAAC,kBAAkB,KAAK,QAAQ;gCAAE,WAAW,GAAG,KAAK,CAAC,kBAAkB,CAAC;4BACzF,IAAI,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ;gCAAE,YAAY,GAAG,KAAK,CAAC,mBAAmB,CAAC;wBAC9F,CAAC;wBAED,iDAAiD;wBACjD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;4BACzD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO;iCAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;iCAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC;iCACjB,IAAI,CAAC,IAAI,CAAC,CAAC;4BACd,IAAI,KAAK,EAAE,CAAC;gCACV,YAAY,GAAG,KAAK,CAAC;4BACvB,CAAC;wBACH,CAAC;wBAED,kCAAkC;wBAClC,MAAM,YAAY,GAAiB;4BACjC,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;4BACzC,OAAO,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;yBACrE,CAAC;wBACF,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;oBACxC,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,iCAAiC,CAAC,CAAC;oBACpE,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC/B,YAAY,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAClC,IAAI,OAAO;oBAAE,OAAO;gBAEpB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC3C,YAAY,CAAC,IAAI,KAAK,CAAC,2BAA2B,QAAQ,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAC,CAAC;oBAC5G,OAAO;gBACT,CAAC;gBAED,aAAa,CAAC;oBACZ,SAAS;oBACT,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE;oBACjC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;oBACrB,QAAQ,EAAE,QAAQ,IAAI,CAAC;oBACvB,WAAW;oBACX,YAAY;iBACb,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,cAAc,CAAC,KAAmB;QACvC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChE,OAAO,aAAa,KAAK,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,WAAmB,EAAE,QAAgB,EAAE;QACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAqB,EAAE,CAAC;QACrC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,OAAO;gBACV,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,UAAU,EAAE,KAAK,CAAC,KAAK;aACxB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO;aACX,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;YAC7D,IAAI,UAAU,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC;YACxC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QAChD,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,OAAO,IAAI,IAAI,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,SAAiB;QACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAC1E,CAAC;IAEO,SAAS,CAAC,OAAoE;QACpF,MAAM,IAAI,GAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAE5C,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAClG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QACvE,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAClF,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QACrF,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,YAAY,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QACvG,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,UAAoB;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACxD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC;QACnE,MAAM,cAAc,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,OAAO,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;QAC1G,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;QAEnD,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,gFAAgF;QAChF,mFAAmF;QACnF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE;gBAAE,SAAS;YAE9B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAKhC,CAAC;gBAEF,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;gBACnC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;gBACvB,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG;oBAAE,SAAS;gBAEjC,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtF,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5E,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAC7D,CAAC,WAAW,EAAE,CAAC;gBAEhB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;oBAChD,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;wBACtB,SAAS;wBACT,GAAG;wBACH,SAAS;wBACT,SAAS;wBACT,QAAQ;wBACR,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE,QAAQ;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACvF,CAAC;CACF;AAED,SAAS,oBAAoB;IAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IACnD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3D,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5C,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAe;IACxC,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAEhF,SAAS,iBAAiB,CAAC,WAAmB,EAAE,UAAkB;IAChE,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1F,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAEzF,IAAI,qBAAqB,KAAK,qBAAqB,EAAE,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACzD,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAChE,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAChE,IAAI,qBAAqB,IAAI,qBAAqB,KAAK,qBAAqB,EAAE,CAAC;QAC7E,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,qBAAqB,CAAC,MAAM,IAAI,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC/F,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAClD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,MAAM,GAAG,KAAK;SACjB,WAAW,EAAE;SACb,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,IAAI,EAAE,QAAQ;IACd,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,aAAa,CAAC;YACvB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,QAAQ;YACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK;YACjD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ;YACzD,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,IAAI,MAAM;YACvE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa;YAC1C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc;YAC3C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa;YAC1C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB;YACvD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc;SAC3E,CAAC,CAAC;IACL,CAAC;IACD,SAAS,CAAC,MAAM;QACd,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,QAAQ;YACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK;YACjD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ;SAC1D,CAAC;IACJ,CAAC;IACD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,eAAe,CAAC,uBAAuB,CAAC,CAAC"}
|
package/dist/backend/codex.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Backend, BackendRunOptions, BackendRunResult, BackendEvent, IndexedSession } from './types.js';
|
|
2
2
|
import { CodexSessionIndex } from '../codex/session-index.js';
|
|
3
3
|
import type { SandboxMode } from '../config/schema.js';
|
|
4
|
+
import type { BackendDefinition } from './registry.js';
|
|
4
5
|
export interface CodexBackendConfig {
|
|
5
6
|
bin: string;
|
|
6
7
|
shell?: string;
|
|
@@ -30,3 +31,4 @@ export declare class CodexBackend implements Backend {
|
|
|
30
31
|
findLatestSession(projectRoot: string): Promise<IndexedSession | null>;
|
|
31
32
|
findSessionById(projectRoot: string, sessionId: string): Promise<IndexedSession | null>;
|
|
32
33
|
}
|
|
34
|
+
export declare const codexBackendDefinition: BackendDefinition;
|
package/dist/backend/codex.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { runCodexTurn, summarizeCodexEvent } from '../codex/runner.js';
|
|
2
2
|
import { CodexSessionIndex } from '../codex/session-index.js';
|
|
3
|
+
import { registerBackend } from './registry.js';
|
|
3
4
|
export class CodexBackend {
|
|
4
5
|
config;
|
|
5
6
|
sessionIndex;
|
|
@@ -112,4 +113,30 @@ export class CodexBackend {
|
|
|
112
113
|
};
|
|
113
114
|
}
|
|
114
115
|
}
|
|
116
|
+
// ---------------------------------------------------------------------------
|
|
117
|
+
// Registry definition
|
|
118
|
+
// ---------------------------------------------------------------------------
|
|
119
|
+
export const codexBackendDefinition = {
|
|
120
|
+
name: 'codex',
|
|
121
|
+
create(config, deps) {
|
|
122
|
+
return new CodexBackend({
|
|
123
|
+
bin: config.codex.bin,
|
|
124
|
+
shell: config.codex.shell,
|
|
125
|
+
preExec: config.codex.pre_exec,
|
|
126
|
+
defaultProfile: config.codex.default_profile,
|
|
127
|
+
defaultSandbox: config.codex.default_sandbox,
|
|
128
|
+
skipGitRepoCheck: config.codex.skip_git_repo_check,
|
|
129
|
+
runTimeoutMs: config.codex.run_timeout_ms,
|
|
130
|
+
}, deps.codexSessionIndex ?? new CodexSessionIndex());
|
|
131
|
+
},
|
|
132
|
+
probeSpec(config) {
|
|
133
|
+
return {
|
|
134
|
+
bin: config.codex.bin,
|
|
135
|
+
shell: config.codex.shell,
|
|
136
|
+
preExec: config.codex.pre_exec,
|
|
137
|
+
};
|
|
138
|
+
},
|
|
139
|
+
defaultFallback: ['claude', 'qwen'],
|
|
140
|
+
};
|
|
141
|
+
registerBackend(codexBackendDefinition);
|
|
115
142
|
//# sourceMappingURL=codex.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/backend/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/backend/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { BridgeConfig } from '../config/schema.js';
|
|
2
2
|
import type { Backend, BackendName } from './types.js';
|
|
3
3
|
import { CodexSessionIndex } from '../codex/session-index.js';
|
|
4
|
+
import './codex.js';
|
|
5
|
+
import './claude.js';
|
|
6
|
+
import './qwen.js';
|
|
4
7
|
export declare function createBackend(config: BridgeConfig, codexSessionIndex?: CodexSessionIndex): Backend;
|
|
5
8
|
export declare function createBackendByName(name: BackendName, config: BridgeConfig, codexSessionIndex?: CodexSessionIndex): Backend;
|
|
6
9
|
export declare function resolveDefaultBackend(config: BridgeConfig): BackendName;
|
|
@@ -17,21 +20,33 @@ export interface FailoverResolution {
|
|
|
17
20
|
name: BackendName;
|
|
18
21
|
failover?: FailoverInfo;
|
|
19
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Resolve the fallback chain for a given primary backend:
|
|
25
|
+
* 1. project.fallback (per-project override)
|
|
26
|
+
* 2. config.backend.fallback (global)
|
|
27
|
+
* 3. registry definition's defaultFallback (e.g. codex → ['claude'])
|
|
28
|
+
* 4. "all other registered backends in registration order"
|
|
29
|
+
*
|
|
30
|
+
* The returned list never contains the primary, is de-duplicated, and
|
|
31
|
+
* skips any names that are not registered.
|
|
32
|
+
*/
|
|
33
|
+
export declare function resolveFallbackChain(config: BridgeConfig, projectAlias: string, primary: BackendName): BackendName[];
|
|
20
34
|
/**
|
|
21
35
|
* Resolve the backend to use for a run, with startup-only failover.
|
|
22
36
|
*
|
|
23
|
-
* Strategy
|
|
37
|
+
* Strategy:
|
|
24
38
|
* 1. Determine primary backend name (session override > project > default).
|
|
25
39
|
* 2. If failover is disabled, return the primary without probing.
|
|
26
40
|
* 3. Probe the primary. If it responds, return it.
|
|
27
|
-
* 4.
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
41
|
+
* 4. Walk the fallback chain (see resolveFallbackChain) probing each
|
|
42
|
+
* candidate in order; first successful probe wins and the caller
|
|
43
|
+
* gets a FailoverInfo describing the switch.
|
|
44
|
+
* 5. If every candidate fails, return the primary so the real error
|
|
45
|
+
* surfaces on the actual run rather than being masked by a silent
|
|
46
|
+
* rewrite.
|
|
32
47
|
*
|
|
33
|
-
* Runtime failures during an actual run are NOT retried here. That is
|
|
34
|
-
* deliberate boundary
|
|
48
|
+
* Runtime failures during an actual run are NOT retried here. That is
|
|
49
|
+
* the deliberate boundary: we save users from "binary missing" and
|
|
35
50
|
* PATH issues, but we never burn tokens on speculative re-runs.
|
|
36
51
|
*/
|
|
37
52
|
export declare function resolveProjectBackendWithFailover(config: BridgeConfig, projectAlias: string, sessionOverride?: BackendName, codexSessionIndex?: CodexSessionIndex): Promise<FailoverResolution>;
|
package/dist/backend/factory.js
CHANGED
|
@@ -1,38 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { probeBackend } from './probe.js';
|
|
2
|
+
import { getBackendDefinition, requireBackendDefinition, listBackendNames, } from './registry.js';
|
|
3
|
+
// Side-effect imports: these force the backend modules to load and call
|
|
4
|
+
// registerBackend() before the factory is first used. Adding a new
|
|
5
|
+
// backend means adding a matching import line here (and in
|
|
6
|
+
// src/bridge/service.ts for anything that uses BackendName before the
|
|
7
|
+
// factory is touched — rare).
|
|
8
|
+
import './codex.js';
|
|
9
|
+
import './claude.js';
|
|
10
|
+
import './qwen.js';
|
|
11
|
+
function toDeps(codexSessionIndex) {
|
|
12
|
+
return codexSessionIndex ? { codexSessionIndex } : {};
|
|
13
|
+
}
|
|
5
14
|
export function createBackend(config, codexSessionIndex) {
|
|
6
15
|
const backendName = resolveDefaultBackend(config);
|
|
7
16
|
return createBackendByName(backendName, config, codexSessionIndex);
|
|
8
17
|
}
|
|
9
18
|
export function createBackendByName(name, config, codexSessionIndex) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return new CodexBackend({
|
|
13
|
-
bin: config.codex.bin,
|
|
14
|
-
shell: config.codex.shell,
|
|
15
|
-
preExec: config.codex.pre_exec,
|
|
16
|
-
defaultProfile: config.codex.default_profile,
|
|
17
|
-
defaultSandbox: config.codex.default_sandbox,
|
|
18
|
-
skipGitRepoCheck: config.codex.skip_git_repo_check,
|
|
19
|
-
runTimeoutMs: config.codex.run_timeout_ms,
|
|
20
|
-
}, codexSessionIndex ?? new CodexSessionIndex());
|
|
21
|
-
case 'claude':
|
|
22
|
-
return new ClaudeBackend({
|
|
23
|
-
bin: config.claude?.bin ?? 'claude',
|
|
24
|
-
shell: config.claude?.shell ?? config.codex.shell,
|
|
25
|
-
preExec: config.claude?.pre_exec ?? config.codex.pre_exec,
|
|
26
|
-
defaultPermissionMode: config.claude?.default_permission_mode ?? 'auto',
|
|
27
|
-
defaultModel: config.claude?.default_model,
|
|
28
|
-
maxBudgetUsd: config.claude?.max_budget_usd,
|
|
29
|
-
allowedTools: config.claude?.allowed_tools,
|
|
30
|
-
systemPromptAppend: config.claude?.system_prompt_append,
|
|
31
|
-
runTimeoutMs: config.claude?.run_timeout_ms ?? config.codex.run_timeout_ms,
|
|
32
|
-
});
|
|
33
|
-
default:
|
|
34
|
-
throw new Error(`Unknown backend: ${name}`);
|
|
35
|
-
}
|
|
19
|
+
const def = requireBackendDefinition(name);
|
|
20
|
+
return def.create(config, toDeps(codexSessionIndex));
|
|
36
21
|
}
|
|
37
22
|
export function resolveDefaultBackend(config) {
|
|
38
23
|
return config.backend?.default ?? 'codex';
|
|
@@ -54,30 +39,60 @@ export function resolveProjectBackendName(config, projectAlias, sessionOverride)
|
|
|
54
39
|
const project = config.projects[projectAlias];
|
|
55
40
|
return project?.backend ?? resolveDefaultBackend(config);
|
|
56
41
|
}
|
|
57
|
-
function otherBackend(name) {
|
|
58
|
-
return name === 'codex' ? 'claude' : 'codex';
|
|
59
|
-
}
|
|
60
42
|
function isFailoverEnabled(config, projectAlias) {
|
|
61
43
|
const project = config.projects[projectAlias];
|
|
62
44
|
if (project?.failover !== undefined)
|
|
63
45
|
return project.failover;
|
|
64
46
|
return config.backend?.failover ?? true;
|
|
65
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Resolve the fallback chain for a given primary backend:
|
|
50
|
+
* 1. project.fallback (per-project override)
|
|
51
|
+
* 2. config.backend.fallback (global)
|
|
52
|
+
* 3. registry definition's defaultFallback (e.g. codex → ['claude'])
|
|
53
|
+
* 4. "all other registered backends in registration order"
|
|
54
|
+
*
|
|
55
|
+
* The returned list never contains the primary, is de-duplicated, and
|
|
56
|
+
* skips any names that are not registered.
|
|
57
|
+
*/
|
|
58
|
+
export function resolveFallbackChain(config, projectAlias, primary) {
|
|
59
|
+
const project = config.projects[projectAlias];
|
|
60
|
+
let raw = project?.fallback ??
|
|
61
|
+
config.backend?.fallback ??
|
|
62
|
+
getBackendDefinition(primary)?.defaultFallback;
|
|
63
|
+
if (!raw) {
|
|
64
|
+
raw = listBackendNames();
|
|
65
|
+
}
|
|
66
|
+
const seen = new Set();
|
|
67
|
+
const chain = [];
|
|
68
|
+
for (const candidate of raw) {
|
|
69
|
+
if (candidate === primary)
|
|
70
|
+
continue;
|
|
71
|
+
if (seen.has(candidate))
|
|
72
|
+
continue;
|
|
73
|
+
if (!getBackendDefinition(candidate))
|
|
74
|
+
continue; // skip unknown
|
|
75
|
+
seen.add(candidate);
|
|
76
|
+
chain.push(candidate);
|
|
77
|
+
}
|
|
78
|
+
return chain;
|
|
79
|
+
}
|
|
66
80
|
/**
|
|
67
81
|
* Resolve the backend to use for a run, with startup-only failover.
|
|
68
82
|
*
|
|
69
|
-
* Strategy
|
|
83
|
+
* Strategy:
|
|
70
84
|
* 1. Determine primary backend name (session override > project > default).
|
|
71
85
|
* 2. If failover is disabled, return the primary without probing.
|
|
72
86
|
* 3. Probe the primary. If it responds, return it.
|
|
73
|
-
* 4.
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
87
|
+
* 4. Walk the fallback chain (see resolveFallbackChain) probing each
|
|
88
|
+
* candidate in order; first successful probe wins and the caller
|
|
89
|
+
* gets a FailoverInfo describing the switch.
|
|
90
|
+
* 5. If every candidate fails, return the primary so the real error
|
|
91
|
+
* surfaces on the actual run rather than being masked by a silent
|
|
92
|
+
* rewrite.
|
|
78
93
|
*
|
|
79
|
-
* Runtime failures during an actual run are NOT retried here. That is
|
|
80
|
-
* deliberate boundary
|
|
94
|
+
* Runtime failures during an actual run are NOT retried here. That is
|
|
95
|
+
* the deliberate boundary: we save users from "binary missing" and
|
|
81
96
|
* PATH issues, but we never burn tokens on speculative re-runs.
|
|
82
97
|
*/
|
|
83
98
|
export async function resolveProjectBackendWithFailover(config, projectAlias, sessionOverride, codexSessionIndex) {
|
|
@@ -88,30 +103,34 @@ export async function resolveProjectBackendWithFailover(config, projectAlias, se
|
|
|
88
103
|
name: primaryName,
|
|
89
104
|
};
|
|
90
105
|
}
|
|
91
|
-
const
|
|
106
|
+
const primaryDef = requireBackendDefinition(primaryName);
|
|
107
|
+
const primaryProbe = await probeBackend(primaryName, primaryDef.probeSpec(config));
|
|
92
108
|
if (primaryProbe.ok) {
|
|
93
109
|
return {
|
|
94
|
-
backend:
|
|
110
|
+
backend: primaryDef.create(config, toDeps(codexSessionIndex)),
|
|
95
111
|
name: primaryName,
|
|
96
112
|
};
|
|
97
113
|
}
|
|
98
|
-
const
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
114
|
+
const chain = resolveFallbackChain(config, projectAlias, primaryName);
|
|
115
|
+
for (const candidate of chain) {
|
|
116
|
+
const def = requireBackendDefinition(candidate);
|
|
117
|
+
const probe = await probeBackend(candidate, def.probeSpec(config));
|
|
118
|
+
if (probe.ok) {
|
|
119
|
+
return {
|
|
120
|
+
backend: def.create(config, toDeps(codexSessionIndex)),
|
|
121
|
+
name: candidate,
|
|
122
|
+
failover: {
|
|
123
|
+
from: primaryName,
|
|
124
|
+
to: candidate,
|
|
125
|
+
reason: primaryProbe.reason ?? 'unknown',
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
}
|
|
106
129
|
}
|
|
130
|
+
// All probes failed — let the primary run and report the real error.
|
|
107
131
|
return {
|
|
108
|
-
backend:
|
|
109
|
-
name:
|
|
110
|
-
failover: {
|
|
111
|
-
from: primaryName,
|
|
112
|
-
to: alternateName,
|
|
113
|
-
reason: primaryProbe.reason ?? 'unknown',
|
|
114
|
-
},
|
|
132
|
+
backend: primaryDef.create(config, toDeps(codexSessionIndex)),
|
|
133
|
+
name: primaryName,
|
|
115
134
|
};
|
|
116
135
|
}
|
|
117
136
|
//# sourceMappingURL=factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/backend/factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/backend/factory.ts"],"names":[],"mappings":"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"}
|
package/dist/backend/probe.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { BridgeConfig } from '../config/schema.js';
|
|
2
1
|
import type { BackendName } from './types.js';
|
|
3
2
|
/**
|
|
4
3
|
* Lightweight pre-run probe for a backend CLI.
|
|
@@ -25,5 +24,4 @@ export interface ProbeSpec {
|
|
|
25
24
|
shell?: string | undefined;
|
|
26
25
|
preExec?: string | undefined;
|
|
27
26
|
}
|
|
28
|
-
export declare function extractProbeSpec(config: BridgeConfig, backend: BackendName): ProbeSpec;
|
|
29
27
|
export declare function probeBackend(backend: BackendName, spec: ProbeSpec): Promise<ProbeResult>;
|
package/dist/backend/probe.js
CHANGED
|
@@ -9,20 +9,6 @@ function cacheKey(backend, bin, shell, preExec) {
|
|
|
9
9
|
export function clearProbeCache() {
|
|
10
10
|
cache.clear();
|
|
11
11
|
}
|
|
12
|
-
export function extractProbeSpec(config, backend) {
|
|
13
|
-
if (backend === 'claude') {
|
|
14
|
-
return {
|
|
15
|
-
bin: config.claude?.bin ?? 'claude',
|
|
16
|
-
shell: config.claude?.shell ?? config.codex.shell,
|
|
17
|
-
preExec: config.claude?.pre_exec ?? config.codex.pre_exec,
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
return {
|
|
21
|
-
bin: config.codex.bin,
|
|
22
|
-
shell: config.codex.shell,
|
|
23
|
-
preExec: config.codex.pre_exec,
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
12
|
function buildProbeCommand(spec) {
|
|
27
13
|
if (!spec.preExec) {
|
|
28
14
|
return { command: spec.bin, args: ['--version'] };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../../src/backend/probe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../../src/backend/probe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AA4B3C,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,YAAY,GAAG,MAAM,CAAC;AAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;AAE5C,SAAS,QAAQ,CAAC,OAAoB,EAAE,GAAW,EAAE,KAAyB,EAAE,OAA2B;IACzG,OAAO,GAAG,OAAO,KAAK,GAAG,KAAK,KAAK,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,EAAE,CAAC;AAChE,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,eAAe;IAC7B,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAQD,SAAS,iBAAiB,CAAC,IAAe;IACxC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;IACpD,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC;IAC5D,oEAAoE;IACpE,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IAC3E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAe;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACjC,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;SACpC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACrD,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,gBAAgB,cAAc,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;QACtG,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACrB,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI;gBAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;YACnD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAChE,OAAO;YACT,CAAC;YACD,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,IAAI,IAAI,SAAS,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1D,OAAO,CAAC;gBACN,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,+BAA+B,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;aACvF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAoB,EAAE,IAAe;IACtE,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { Backend, BackendEvent, BackendRunOptions, BackendRunResult, IndexedSession } from './types.js';
|
|
2
|
+
import type { BackendDefinition } from './registry.js';
|
|
3
|
+
/**
|
|
4
|
+
* Qwen Code CLI backend. Near-identical event + arg surface to
|
|
5
|
+
* ClaudeBackend — both CLIs speak `--output-format stream-json` with
|
|
6
|
+
* `system/init → assistant → result` event frames. The main differences:
|
|
7
|
+
*
|
|
8
|
+
* 1. `--approval-mode plan|default|auto-edit|yolo` instead of
|
|
9
|
+
* `--permission-mode ...`
|
|
10
|
+
* 2. Session storage layout: qwen writes JSONL chats under
|
|
11
|
+
* `~/.qwen/projects/<encoded-cwd>/chats/<uuid>.jsonl`. The first
|
|
12
|
+
* line of each chat is a `type: system` frame with `cwd`, `version`,
|
|
13
|
+
* and `timestamp`, which we parse to drive session adoption.
|
|
14
|
+
* 3. No `--max-budget-usd` equivalent.
|
|
15
|
+
*
|
|
16
|
+
* Qwen Code version validated against: 0.14.1.
|
|
17
|
+
*/
|
|
18
|
+
export type QwenApprovalMode = 'plan' | 'default' | 'auto-edit' | 'yolo';
|
|
19
|
+
export interface QwenBackendConfig {
|
|
20
|
+
bin: string;
|
|
21
|
+
shell?: string;
|
|
22
|
+
preExec?: string;
|
|
23
|
+
defaultApprovalMode: QwenApprovalMode;
|
|
24
|
+
defaultModel?: string;
|
|
25
|
+
allowedTools?: string[];
|
|
26
|
+
systemPromptAppend?: string;
|
|
27
|
+
runTimeoutMs: number;
|
|
28
|
+
}
|
|
29
|
+
export interface QwenProjectConfig {
|
|
30
|
+
approvalMode?: QwenApprovalMode;
|
|
31
|
+
model?: string;
|
|
32
|
+
allowedTools?: string[];
|
|
33
|
+
systemPromptAppend?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare class QwenBackend implements Backend {
|
|
36
|
+
private readonly config;
|
|
37
|
+
private readonly qwenHomeDir;
|
|
38
|
+
readonly name: "qwen";
|
|
39
|
+
constructor(config: QwenBackendConfig, qwenHomeDir?: string);
|
|
40
|
+
run(options: BackendRunOptions & {
|
|
41
|
+
projectConfig?: QwenProjectConfig;
|
|
42
|
+
}): Promise<BackendRunResult>;
|
|
43
|
+
summarizeEvent(event: BackendEvent): string | null;
|
|
44
|
+
listProjectSessions(projectRoot: string, limit?: number): Promise<IndexedSession[]>;
|
|
45
|
+
findLatestSession(projectRoot: string): Promise<IndexedSession | null>;
|
|
46
|
+
findSessionById(projectRoot: string, sessionId: string): Promise<IndexedSession | null>;
|
|
47
|
+
private buildArgs;
|
|
48
|
+
private buildSpawnSpec;
|
|
49
|
+
/**
|
|
50
|
+
* Walk `~/.qwen/projects/<slug>/chats/*.jsonl` and parse the first
|
|
51
|
+
* line of each file to extract `sessionId` + `cwd` + `timestamp`.
|
|
52
|
+
*
|
|
53
|
+
* Qwen encodes the project directory as the slug (e.g. `/Users/dh` →
|
|
54
|
+
* `-Users-dh`). We don't depend on that mapping — we walk every slug
|
|
55
|
+
* and match by parsed `cwd`.
|
|
56
|
+
*/
|
|
57
|
+
private scanSessions;
|
|
58
|
+
}
|
|
59
|
+
export declare const qwenBackendDefinition: BackendDefinition;
|