baxian 2.0.18 → 2.0.20
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/dist/agent/branch.d.ts.map +1 -1
- package/dist/agent/branch.js +1 -1
- package/dist/agent/branch.js.map +1 -1
- package/dist/agent/detect/classify.d.ts +7 -0
- package/dist/agent/detect/classify.d.ts.map +1 -0
- package/dist/agent/detect/classify.js +42 -0
- package/dist/agent/detect/classify.js.map +1 -0
- package/dist/agent/detect/gate.d.ts +2 -2
- package/dist/agent/detect/gate.d.ts.map +1 -1
- package/dist/agent/detect/gate.js +17 -63
- package/dist/agent/detect/gate.js.map +1 -1
- package/dist/agent/detect/manifest.d.ts +3 -2
- package/dist/agent/detect/manifest.d.ts.map +1 -1
- package/dist/agent/detect/manifest.js +36 -63
- package/dist/agent/detect/manifest.js.map +1 -1
- package/dist/agent/detect/manifests/claude-code.json +387 -153
- package/dist/agent/detect/manifests/codex.json +137 -63
- package/dist/agent/detect/manifests/opencode.json +69 -17
- package/dist/agent/detect/manifests/qodercli.json +84 -25
- package/dist/agent/detect/region.d.ts +2 -2
- package/dist/agent/detect/region.d.ts.map +1 -1
- package/dist/agent/detect/region.js +122 -101
- package/dist/agent/detect/region.js.map +1 -1
- package/dist/agent/manager.d.ts +2 -0
- package/dist/agent/manager.d.ts.map +1 -1
- package/dist/agent/manager.js +147 -60
- package/dist/agent/manager.js.map +1 -1
- package/dist/agent/prompt.js +4 -5
- package/dist/agent/prompt.js.map +1 -1
- package/dist/agent/repo-store.d.ts +2 -0
- package/dist/agent/repo-store.d.ts.map +1 -1
- package/dist/agent/repo-store.js +41 -6
- package/dist/agent/repo-store.js.map +1 -1
- package/dist/agent/tmux-probe-poller.d.ts +0 -1
- package/dist/agent/tmux-probe-poller.d.ts.map +1 -1
- package/dist/agent/tmux-probe-poller.js +11 -34
- package/dist/agent/tmux-probe-poller.js.map +1 -1
- package/dist/agent/tmux.d.ts +3 -14
- package/dist/agent/tmux.d.ts.map +1 -1
- package/dist/agent/tmux.js +37 -236
- package/dist/agent/tmux.js.map +1 -1
- package/dist/web/assets/{index-BFjlgPUQ.js → index-DzkRM7gR.js} +13 -13
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../src/agent/branch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9C;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAI/E;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,uBAAwB,SAAQ,KAAK;aAE9B,MAAM,EAAE,MAAM;aACd,eAAe,EAAE,MAAM;aACvB,aAAa,EAAE,MAAM;gBAFrB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM;CAKxC;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEnC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../src/agent/branch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9C;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAI/E;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,uBAAwB,SAAQ,KAAK;aAE9B,MAAM,EAAE,MAAM;aACd,eAAe,EAAE,MAAM;aACvB,aAAa,EAAE,MAAM;gBAFrB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM;CAKxC;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEnC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3C,kBAAkB,CACtB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,qBAAqB,EAAE,OAAO,EAC9B,IAAI,GAAE;QAAE,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAO,GACzE,OAAO,CAAC,IAAI,CAAC;YA8CF,2BAA2B;IA6BnC,4BAA4B,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC;IAoBV,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvD,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,iBAAiB,CACrB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,kBAAkB,EAC5B,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC/B,OAAO,CAAC,mBAAmB,CAAC;YAkHjB,mBAAmB;YAiFnB,iBAAiB;YAmCjB,UAAU;IAclB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOnD,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAc7C,wBAAwB;YAMxB,kBAAkB;YAYlB,uBAAuB;YAQvB,wBAAwB;YAaxB,YAAY;YAYZ,cAAc;YAad,sBAAsB;YAYtB,KAAK;YAQL,MAAM;YAKN,cAAc;YAMd,aAAa;YAWb,SAAS;CAKxB"}
|
package/dist/agent/branch.js
CHANGED
|
@@ -39,6 +39,7 @@ export class BranchManager {
|
|
|
39
39
|
if (result.stdout.length > 0)
|
|
40
40
|
throw new DirtyWorkdirError(workdir);
|
|
41
41
|
}
|
|
42
|
+
// 前置条件:调用方已刷新远端(RepoStore.ensure 的 30s 节流窗口),所以这里不自己 fetch
|
|
42
43
|
async switchToTaskBranch(workdir, taskId, branch, branchCreatedByBaxian, opts = {}) {
|
|
43
44
|
if (!isValidBranchName(branch))
|
|
44
45
|
throw new Error(`Invalid task branch: ${branch}`);
|
|
@@ -46,7 +47,6 @@ export class BranchManager {
|
|
|
46
47
|
throw new Error(`baxian task ${taskId} must use exact branch ${BRANCH_PREFIX}${taskId}`);
|
|
47
48
|
}
|
|
48
49
|
await this.assertClean(workdir);
|
|
49
|
-
await this.fetch(workdir);
|
|
50
50
|
const localRef = `refs/heads/${branch}`;
|
|
51
51
|
const local = await this.runner.exec(`git -C ${shellQuote(workdir)} show-ref --verify --quiet ${shellQuote(localRef)}`);
|
|
52
52
|
if (local.exitCode === 0) {
|
package/dist/agent/branch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch.js","sourceRoot":"","sources":["../../src/agent/branch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"branch.js","sourceRoot":"","sources":["../../src/agent/branch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type AgentManifest, type AgentRuntimeKind, type ManifestDetection } from './manifest.js';
|
|
2
|
+
export declare const manifests: Record<AgentRuntimeKind, AgentManifest>;
|
|
3
|
+
export declare function classifyScreen(runtime: AgentRuntimeKind, screen: string, oscTitle?: string, oscProgress?: string): ManifestDetection;
|
|
4
|
+
export declare const MENU_RULE_IDS: Record<AgentRuntimeKind, ReadonlySet<string>>;
|
|
5
|
+
export declare function isMenuRule(runtime: AgentRuntimeKind, ruleId: string | undefined): boolean;
|
|
6
|
+
export declare function isTrustedIdleRule(runtime: AgentRuntimeKind, ruleId: string | undefined): boolean;
|
|
7
|
+
//# sourceMappingURL=classify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../../src/agent/detect/classify.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAC;AAgBvB,eAAO,MAAM,SAAS,yCAAkB,CAAC;AAEzC,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,EACd,QAAQ,SAAK,EACb,WAAW,SAAK,GACf,iBAAiB,CAEnB;AAGD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAKvE,CAAC;AAUF,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEzF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAGhG"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { join, dirname } from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import { compileManifest, evaluateManifest, } from './manifest.js';
|
|
5
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
function loadManifests() {
|
|
7
|
+
const dir = join(__dirname, 'manifests');
|
|
8
|
+
const read = (name) => compileManifest(JSON.parse(readFileSync(join(dir, `${name}.json`), 'utf-8')));
|
|
9
|
+
return {
|
|
10
|
+
'claude-code': read('claude-code'),
|
|
11
|
+
codex: read('codex'),
|
|
12
|
+
opencode: read('opencode'),
|
|
13
|
+
qodercli: read('qodercli'),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export const manifests = loadManifests();
|
|
17
|
+
export function classifyScreen(runtime, screen, oscTitle = '', oscProgress = '') {
|
|
18
|
+
return evaluateManifest(manifests[runtime], { screen, oscTitle, oscProgress });
|
|
19
|
+
}
|
|
20
|
+
// 门控策略按 manifest rule id 取信,集中放在规则本体旁边,同步性由 detect 测试守护
|
|
21
|
+
export const MENU_RULE_IDS = {
|
|
22
|
+
'claude-code': new Set(['live_blocked_form', 'dynamic_workflow_prompt', 'model_picker_menu']),
|
|
23
|
+
codex: new Set(),
|
|
24
|
+
opencode: new Set(),
|
|
25
|
+
qodercli: new Set(),
|
|
26
|
+
};
|
|
27
|
+
// 只有 claude 的 ✳ 标题是稳定 idle 契约,其余 runtime 的标题不足以判就绪
|
|
28
|
+
const TITLE_IDLE_TRUSTED = {
|
|
29
|
+
'claude-code': true,
|
|
30
|
+
codex: false,
|
|
31
|
+
opencode: false,
|
|
32
|
+
qodercli: false,
|
|
33
|
+
};
|
|
34
|
+
export function isMenuRule(runtime, ruleId) {
|
|
35
|
+
return ruleId !== undefined && MENU_RULE_IDS[runtime].has(ruleId);
|
|
36
|
+
}
|
|
37
|
+
export function isTrustedIdleRule(runtime, ruleId) {
|
|
38
|
+
if (ruleId === undefined)
|
|
39
|
+
return false;
|
|
40
|
+
return ruleId !== 'osc_title_idle' || TITLE_IDLE_TRUSTED[runtime];
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=classify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../../src/agent/detect/classify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,eAAe,EACf,gBAAgB,GAIjB,MAAM,eAAe,CAAC;AAEvB,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,SAAS,aAAa;IACpB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAiB,EAAE,CAC3C,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,EAAE,OAAO,CAAC,CAAkB,CAAC,CAAC;IACjG,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC;QAClC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;AAEzC,MAAM,UAAU,cAAc,CAC5B,OAAyB,EACzB,MAAc,EACd,QAAQ,GAAG,EAAE,EACb,WAAW,GAAG,EAAE;IAEhB,OAAO,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,MAAM,aAAa,GAAkD;IAC1E,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,mBAAmB,CAAC,CAAC;IAC7F,KAAK,EAAE,IAAI,GAAG,EAAE;IAChB,QAAQ,EAAE,IAAI,GAAG,EAAE;IACnB,QAAQ,EAAE,IAAI,GAAG,EAAE;CACpB,CAAC;AAEF,mDAAmD;AACnD,MAAM,kBAAkB,GAAsC;IAC5D,aAAa,EAAE,IAAI;IACnB,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,OAAyB,EAAE,MAA0B;IAC9E,OAAO,MAAM,KAAK,SAAS,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAyB,EAAE,MAA0B;IACrF,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,MAAM,KAAK,gBAAgB,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -5,7 +5,7 @@ export interface Gate {
|
|
|
5
5
|
all?: Gate[];
|
|
6
6
|
any?: Gate[];
|
|
7
7
|
not?: Gate[];
|
|
8
|
-
notAfter?: Gate[];
|
|
9
8
|
}
|
|
10
|
-
export declare function
|
|
9
|
+
export declare function compileGate(gate: Gate): void;
|
|
10
|
+
export declare function evaluateGate(gate: Gate, text: string, lowerText?: string): boolean;
|
|
11
11
|
//# sourceMappingURL=gate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../../src/agent/detect/gate.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACb,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACb,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../../src/agent/detect/gate.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACb,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACb,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;CACd;AAoBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAM5C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,SAAqB,GAAG,OAAO,CA+C9F"}
|
|
@@ -1,60 +1,26 @@
|
|
|
1
1
|
const regexCache = new Map();
|
|
2
|
+
const INLINE_FLAGS_RE = /^\(\?([ims]+)\)/;
|
|
2
3
|
function getCachedRegExp(pattern) {
|
|
3
4
|
let re = regexCache.get(pattern);
|
|
4
5
|
if (!re) {
|
|
5
|
-
|
|
6
|
+
// 规则用 Rust regex 方言:Unicode 默认开启,行首内联 flag 需转成 JS flags
|
|
7
|
+
const inline = INLINE_FLAGS_RE.exec(pattern);
|
|
8
|
+
const flags = inline ? inline[1] : '';
|
|
9
|
+
// Rust 走 DFA,前导 .* 不要钱;JS 回溯引擎下它让每行退化成 O(L²),而 test() 本就不锚定行首
|
|
10
|
+
const body = (inline ? pattern.slice(inline[0].length) : pattern).replace(/^\.\*(?![?*+])/, '');
|
|
11
|
+
re = new RegExp(body, `${flags}u`);
|
|
6
12
|
regexCache.set(pattern, re);
|
|
7
13
|
}
|
|
8
14
|
return re;
|
|
9
15
|
}
|
|
10
|
-
function
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (lines[i].toLowerCase().includes(lower)) {
|
|
17
|
-
last = Math.max(last, i);
|
|
18
|
-
break;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
if (gate.lineRegex) {
|
|
24
|
-
for (const pattern of gate.lineRegex) {
|
|
25
|
-
const re = getCachedRegExp(pattern);
|
|
26
|
-
for (let i = lines.length - 1; i >= 0; i--) {
|
|
27
|
-
if (re.test(lines[i])) {
|
|
28
|
-
last = Math.max(last, i);
|
|
29
|
-
break;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
if (gate.regex) {
|
|
35
|
-
for (const pattern of gate.regex) {
|
|
36
|
-
const re = getCachedRegExp(pattern);
|
|
37
|
-
for (let i = lines.length - 1; i >= 0; i--) {
|
|
38
|
-
if (re.test(lines[i])) {
|
|
39
|
-
last = Math.max(last, i);
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
if (gate.any) {
|
|
46
|
-
for (const nested of gate.any) {
|
|
47
|
-
last = Math.max(last, findLastPositiveMatchLine(nested, lines));
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
if (gate.all) {
|
|
51
|
-
for (const nested of gate.all) {
|
|
52
|
-
last = Math.max(last, findLastPositiveMatchLine(nested, lines));
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return last;
|
|
16
|
+
export function compileGate(gate) {
|
|
17
|
+
gate.regex?.forEach(getCachedRegExp);
|
|
18
|
+
gate.lineRegex?.forEach(getCachedRegExp);
|
|
19
|
+
gate.all?.forEach(compileGate);
|
|
20
|
+
gate.any?.forEach(compileGate);
|
|
21
|
+
gate.not?.forEach(compileGate);
|
|
56
22
|
}
|
|
57
|
-
export function evaluateGate(gate, text) {
|
|
23
|
+
export function evaluateGate(gate, text, lowerText = text.toLowerCase()) {
|
|
58
24
|
const hasMatcher = (gate.contains && gate.contains.length > 0)
|
|
59
25
|
|| (gate.regex && gate.regex.length > 0)
|
|
60
26
|
|| (gate.lineRegex && gate.lineRegex.length > 0)
|
|
@@ -64,7 +30,6 @@ export function evaluateGate(gate, text) {
|
|
|
64
30
|
if (!hasMatcher)
|
|
65
31
|
return false;
|
|
66
32
|
if (gate.contains) {
|
|
67
|
-
const lowerText = text.toLowerCase();
|
|
68
33
|
for (const needle of gate.contains) {
|
|
69
34
|
if (!lowerText.includes(needle.toLowerCase()))
|
|
70
35
|
return false;
|
|
@@ -85,31 +50,20 @@ export function evaluateGate(gate, text) {
|
|
|
85
50
|
}
|
|
86
51
|
if (gate.all) {
|
|
87
52
|
for (const nested of gate.all) {
|
|
88
|
-
if (!evaluateGate(nested, text))
|
|
53
|
+
if (!evaluateGate(nested, text, lowerText))
|
|
89
54
|
return false;
|
|
90
55
|
}
|
|
91
56
|
}
|
|
92
57
|
if (gate.any && gate.any.length > 0) {
|
|
93
|
-
if (!gate.any.some(nested => evaluateGate(nested, text)))
|
|
58
|
+
if (!gate.any.some(nested => evaluateGate(nested, text, lowerText)))
|
|
94
59
|
return false;
|
|
95
60
|
}
|
|
96
61
|
if (gate.not) {
|
|
97
62
|
for (const nested of gate.not) {
|
|
98
|
-
if (evaluateGate(nested, text))
|
|
63
|
+
if (evaluateGate(nested, text, lowerText))
|
|
99
64
|
return false;
|
|
100
65
|
}
|
|
101
66
|
}
|
|
102
|
-
if (gate.notAfter && gate.notAfter.length > 0) {
|
|
103
|
-
const lines = text.split('\n');
|
|
104
|
-
const anchor = findLastPositiveMatchLine(gate, lines);
|
|
105
|
-
if (anchor >= 0 && anchor < lines.length - 1) {
|
|
106
|
-
const suffix = lines.slice(anchor + 1).join('\n');
|
|
107
|
-
for (const nested of gate.notAfter) {
|
|
108
|
-
if (evaluateGate(nested, suffix))
|
|
109
|
-
return false;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
67
|
return true;
|
|
114
68
|
}
|
|
115
69
|
//# sourceMappingURL=gate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../../../src/agent/detect/gate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../../../src/agent/detect/gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Gate } from './gate.js';
|
|
2
2
|
import { type DetectionInput } from './region.js';
|
|
3
|
+
export type AgentRuntimeKind = 'claude-code' | 'codex' | 'opencode' | 'qodercli';
|
|
3
4
|
export type DetectedState = 'idle' | 'working' | 'pending' | 'unknown';
|
|
4
|
-
interface ManifestRule extends Gate {
|
|
5
|
+
export interface ManifestRule extends Gate {
|
|
5
6
|
id: string;
|
|
6
7
|
state: DetectedState;
|
|
7
8
|
priority: number;
|
|
@@ -23,6 +24,6 @@ export interface ManifestDetection {
|
|
|
23
24
|
visibleWorking: boolean;
|
|
24
25
|
skipStateUpdate: boolean;
|
|
25
26
|
}
|
|
27
|
+
export declare function compileManifest(manifest: AgentManifest): AgentManifest;
|
|
26
28
|
export declare function evaluateManifest(manifest: AgentManifest, input: DetectionInput): ManifestDetection;
|
|
27
|
-
export {};
|
|
28
29
|
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/agent/detect/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/agent/detect/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhF,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;AAEjF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEvE,MAAM,WAAW,YAAa,SAAQ,IAAI;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,aAAa,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAWtE;AAcD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,cAAc,GACpB,iBAAiB,CAoBnB"}
|
|
@@ -1,75 +1,48 @@
|
|
|
1
|
-
import { evaluateGate } from './gate.js';
|
|
2
|
-
import { extractRegion } from './region.js';
|
|
3
|
-
export function
|
|
4
|
-
let matched;
|
|
5
|
-
let bestScreenBlocker;
|
|
6
|
-
let bestScreenEvidence;
|
|
7
|
-
let bestScreenSkip;
|
|
1
|
+
import { compileGate, evaluateGate } from './gate.js';
|
|
2
|
+
import { extractRegion, isKnownRegion } from './region.js';
|
|
3
|
+
export function compileManifest(manifest) {
|
|
8
4
|
for (const rule of manifest.rules) {
|
|
9
|
-
const
|
|
10
|
-
if (!
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
const where = `manifest ${manifest.id} rule ${rule.id}`;
|
|
6
|
+
if (!isKnownRegion(rule.region))
|
|
7
|
+
throw new Error(`${where} uses unknown region: ${rule.region}`);
|
|
8
|
+
try {
|
|
9
|
+
compileGate(rule);
|
|
14
10
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (!bestScreenSkip || rule.priority > bestScreenSkip.priority) {
|
|
18
|
-
bestScreenSkip = rule;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
if (rule.visibleBlocker && rule.state === 'pending') {
|
|
23
|
-
if (!bestScreenBlocker || rule.priority > bestScreenBlocker.priority) {
|
|
24
|
-
bestScreenBlocker = rule;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
if ((rule.visibleWorking && rule.state === 'working') || (rule.visibleIdle && rule.state === 'idle')) {
|
|
28
|
-
if (!bestScreenEvidence || rule.priority > bestScreenEvidence.priority) {
|
|
29
|
-
bestScreenEvidence = rule;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
11
|
+
catch (err) {
|
|
12
|
+
throw new Error(`${where} has an uncompilable pattern: ${err instanceof Error ? err.message : String(err)}`);
|
|
33
13
|
}
|
|
34
14
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
else if (matched.state === 'working' && bestScreenEvidence && bestScreenEvidence.state === 'idle') {
|
|
46
|
-
matched = bestScreenEvidence;
|
|
47
|
-
}
|
|
48
|
-
else if (matched.state === 'pending') {
|
|
49
|
-
if (bestScreenBlocker) {
|
|
50
|
-
matched = bestScreenBlocker;
|
|
51
|
-
}
|
|
52
|
-
else if (bestScreenEvidence) {
|
|
53
|
-
matched = bestScreenEvidence;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
15
|
+
return manifest;
|
|
16
|
+
}
|
|
17
|
+
const rulesByPriority = new WeakMap();
|
|
18
|
+
// 稳定降序 = 上游"取最高优先级、同分取先出现者",于是首个命中即最终结果
|
|
19
|
+
function orderedRules(manifest) {
|
|
20
|
+
let ordered = rulesByPriority.get(manifest);
|
|
21
|
+
if (!ordered) {
|
|
22
|
+
ordered = [...manifest.rules].sort((a, b) => b.priority - a.priority);
|
|
23
|
+
rulesByPriority.set(manifest, ordered);
|
|
56
24
|
}
|
|
57
|
-
|
|
25
|
+
return ordered;
|
|
26
|
+
}
|
|
27
|
+
export function evaluateManifest(manifest, input) {
|
|
28
|
+
for (const rule of orderedRules(manifest)) {
|
|
29
|
+
if (!evaluateGate(rule, extractRegion(input, rule.region)))
|
|
30
|
+
continue;
|
|
58
31
|
return {
|
|
59
|
-
state:
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
32
|
+
state: rule.state,
|
|
33
|
+
matchedRuleId: rule.id,
|
|
34
|
+
visibleBlocker: !!(rule.visibleBlocker && rule.state === 'pending'),
|
|
35
|
+
visibleIdle: !!(rule.visibleIdle && rule.state === 'idle'),
|
|
36
|
+
visibleWorking: !!(rule.visibleWorking && rule.state === 'working'),
|
|
37
|
+
skipStateUpdate: !!rule.skipStateUpdate,
|
|
64
38
|
};
|
|
65
39
|
}
|
|
66
40
|
return {
|
|
67
|
-
state:
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
skipStateUpdate: !!matched.skipStateUpdate,
|
|
41
|
+
state: 'idle',
|
|
42
|
+
visibleBlocker: false,
|
|
43
|
+
visibleIdle: false,
|
|
44
|
+
visibleWorking: false,
|
|
45
|
+
skipStateUpdate: false,
|
|
73
46
|
};
|
|
74
47
|
}
|
|
75
48
|
//# sourceMappingURL=manifest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/agent/detect/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/agent/detect/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAuB,MAAM,aAAa,CAAC;AA+BhF,MAAM,UAAU,eAAe,CAAC,QAAuB;IACrD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,YAAY,QAAQ,CAAC,EAAE,SAAS,IAAI,CAAC,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,yBAAyB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACjG,IAAI,CAAC;YACH,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,OAAO,EAAiC,CAAC;AAErE,wCAAwC;AACxC,SAAS,YAAY,CAAC,QAAuB;IAC3C,IAAI,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QACtE,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAuB,EACvB,KAAqB;IAErB,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAAE,SAAS;QACrE,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,aAAa,EAAE,IAAI,CAAC,EAAE;YACtB,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;YACnE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;YAC1D,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;YACnE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe;SACxC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,KAAK;QAClB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;KACvB,CAAC;AACJ,CAAC"}
|