oh-my-opencode-cohub 1.13.0-beta.0 → 1.13.0-beta.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/dist/cli/index.js +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +115 -8
- package/dist/prompts/designer.d.ts +1 -1
- package/dist/prompts/designer.d.ts.map +1 -1
- package/dist/prompts/fixer.d.ts +1 -1
- package/dist/prompts/fixer.d.ts.map +1 -1
- package/dist/prompts/oracle.d.ts +1 -1
- package/dist/prompts/oracle.d.ts.map +1 -1
- package/dist/task-manager/tracker.d.ts +20 -2
- package/dist/task-manager/tracker.d.ts.map +1 -1
- package/dist/task-manager/tracker.test.d.ts +2 -0
- package/dist/task-manager/tracker.test.d.ts.map +1 -0
- package/dist/tools/job-control.d.ts +14 -0
- package/dist/tools/job-control.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA2HlD,QAAA,MAAM,WAAW,EAAE,MAkkBlB,CAAC;AAEF,eAAO,MAAM,MAAM,QAAc,CAAC;AAClC,eAAe,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -144,6 +144,12 @@ var ORACLE_PROMPT = `你是 Oracle——战略技术顾问和代码审查者。
|
|
|
144
144
|
- 聚焦策略,不聚焦执行
|
|
145
145
|
- 必要时指出具体文件/行号
|
|
146
146
|
|
|
147
|
+
**代码审查清单**:
|
|
148
|
+
- 正确性与安全性:逻辑错误、边界情况、注入/越权风险
|
|
149
|
+
- 性能与可维护性:明显的性能陷阱、不必要的复杂度
|
|
150
|
+
- 该删没删的代码:调试残留、被替代的旧实现、失效的 import、为未来预留却从未使用的抽象
|
|
151
|
+
- 过度工程检测:引入了超出任务需求的依赖、配置项、封装层
|
|
152
|
+
|
|
147
153
|
**文件操作规则**:
|
|
148
154
|
- 只读:检查并报告,不修改文件
|
|
149
155
|
- 优先使用专用文件工具检查代码库:glob/grep/ast_grep_search 用于发现,read 用于读取文件内容
|
|
@@ -305,6 +311,11 @@ var DESIGNER_PROMPT = `你是 Designer——前端 UI/UX 专家,创造和审
|
|
|
305
311
|
- 极简主义设计 → 克制、精准、精心处理间距和排版
|
|
306
312
|
- 优雅来自完全执行所选愿景,而非半途而废
|
|
307
313
|
|
|
314
|
+
**最小实现自查**
|
|
315
|
+
- 实现代码时依次自查:能复用现有组件/样式模式吗?平台原生元素够用吗?
|
|
316
|
+
- 只写达成当前设计愿景所需的最小实现;未被要求的包装层与投机抽象不加
|
|
317
|
+
- ⚠️ 此原则约束的是代码实现的克制,不约束视觉表达——视觉上大胆丰富依然鼓励
|
|
318
|
+
|
|
308
319
|
## 约束
|
|
309
320
|
- 有现有设计系统时尊重它
|
|
310
321
|
- 有组件库时利用它
|
|
@@ -357,6 +368,12 @@ var FIXER_PROMPT = `你是 Fixer——快速、聚焦的实现专家。
|
|
|
357
368
|
- 只询问真正无法自己获取的缺失信息
|
|
358
369
|
- 不要充当主要审查者;实施请求的变更并简要指出明显问题
|
|
359
370
|
|
|
371
|
+
**最小实现自查阶梯**:
|
|
372
|
+
- 写代码前依次自问,停在第一级成立处:这个改动必须存在吗?代码库里已有可复用的实现吗?标准库/平台原生能力/已安装依赖能完成吗?
|
|
373
|
+
- 上述都不满足时,只写能工作的最小实现
|
|
374
|
+
- 未被要求的防御性代码、配置项、提前抽象——一律不加
|
|
375
|
+
- 验证、错误处理、安全相关代码永不在省略之列
|
|
376
|
+
|
|
360
377
|
**输出格式**:
|
|
361
378
|
<summary>
|
|
362
379
|
简要总结实施内容
|
|
@@ -760,13 +777,17 @@ class TaskTracker {
|
|
|
760
777
|
}
|
|
761
778
|
cleanupStaleJobs(timeoutMs) {
|
|
762
779
|
const now = Date.now();
|
|
780
|
+
const staleSessions = [];
|
|
763
781
|
for (const job of this.jobs.values()) {
|
|
764
782
|
if (job.background && job.status === "running" && now - job.createdAt > timeoutMs) {
|
|
765
783
|
job.status = "errored";
|
|
766
784
|
this.finalize(job);
|
|
785
|
+
if (job.sessionId)
|
|
786
|
+
staleSessions.push(job.sessionId);
|
|
767
787
|
}
|
|
768
788
|
}
|
|
769
789
|
this.persistStats();
|
|
790
|
+
return staleSessions;
|
|
770
791
|
}
|
|
771
792
|
isReusable(alias) {
|
|
772
793
|
const job = this.jobs.get(alias);
|
|
@@ -853,6 +874,27 @@ class TaskTracker {
|
|
|
853
874
|
this.persistStats();
|
|
854
875
|
}
|
|
855
876
|
}
|
|
877
|
+
abortJob(taskId) {
|
|
878
|
+
let job = this.jobs.get(taskId);
|
|
879
|
+
if (!job) {
|
|
880
|
+
for (const j of this.jobs.values()) {
|
|
881
|
+
if (j.sessionId === taskId) {
|
|
882
|
+
job = j;
|
|
883
|
+
break;
|
|
884
|
+
}
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
if (!job)
|
|
888
|
+
return;
|
|
889
|
+
if (job.status !== "running") {
|
|
890
|
+
return { sessionId: job.sessionId || undefined, job };
|
|
891
|
+
}
|
|
892
|
+
job.status = "cancelled";
|
|
893
|
+
job.terminalReconciled = true;
|
|
894
|
+
this.finalize(job);
|
|
895
|
+
this.persistStats();
|
|
896
|
+
return { sessionId: job.sessionId || undefined, job };
|
|
897
|
+
}
|
|
856
898
|
}
|
|
857
899
|
|
|
858
900
|
// src/task-manager/quality.ts
|
|
@@ -2383,6 +2425,47 @@ function createCouncilTool(ctx, councilManager) {
|
|
|
2383
2425
|
return { council_session };
|
|
2384
2426
|
}
|
|
2385
2427
|
|
|
2428
|
+
// src/tools/job-control.ts
|
|
2429
|
+
import { tool as tool2 } from "@opencode-ai/plugin";
|
|
2430
|
+
var z2 = tool2.schema;
|
|
2431
|
+
function createCloseJobTool(ctx, tracker, onClosed) {
|
|
2432
|
+
const close_job = tool2({
|
|
2433
|
+
description: "Close (abort) a stuck or unnecessary subagent background task. " + "Accepts the child Session ID (e.g. ses_xxx, shown in the Background Job Board) or the task alias (e.g. coe-1). " + "The underlying subagent session is aborted via session.abort() and the task is marked cancelled. " + "Only the co-orchestrator (primary) agent may invoke this tool.",
|
|
2434
|
+
args: {
|
|
2435
|
+
task_id: z2.string().describe("The child session ID (ses_xxx) or task alias (e.g. coe-1) of the task to close.")
|
|
2436
|
+
},
|
|
2437
|
+
async execute(args, toolContext) {
|
|
2438
|
+
if (toolContext.agent !== "co-orchestrator") {
|
|
2439
|
+
throw new Error(`[oh-my-opencode-cohub] close_job can only be invoked by co-orchestrator. Current agent: ${toolContext.agent}`);
|
|
2440
|
+
}
|
|
2441
|
+
const hit = tracker.abortJob(args.task_id);
|
|
2442
|
+
if (!hit) {
|
|
2443
|
+
return JSON.stringify({ ok: false, task_id: args.task_id, reason: "not_found" }, null, 2);
|
|
2444
|
+
}
|
|
2445
|
+
let aborted = false;
|
|
2446
|
+
if (hit.sessionId) {
|
|
2447
|
+
const res = await ctx.client.session.abort({ path: { id: hit.sessionId } });
|
|
2448
|
+
if (res.error) {
|
|
2449
|
+
appendLog("job-control", `abort session ${hit.sessionId} 失败`, res.error);
|
|
2450
|
+
aborted = false;
|
|
2451
|
+
} else {
|
|
2452
|
+
aborted = true;
|
|
2453
|
+
}
|
|
2454
|
+
}
|
|
2455
|
+
onClosed?.();
|
|
2456
|
+
return JSON.stringify({
|
|
2457
|
+
ok: true,
|
|
2458
|
+
task_id: args.task_id,
|
|
2459
|
+
alias: hit.job?.alias,
|
|
2460
|
+
agent: hit.job?.agent,
|
|
2461
|
+
session_aborted: aborted,
|
|
2462
|
+
status: "cancelled"
|
|
2463
|
+
}, null, 2);
|
|
2464
|
+
}
|
|
2465
|
+
});
|
|
2466
|
+
return { close_job };
|
|
2467
|
+
}
|
|
2468
|
+
|
|
2386
2469
|
// src/index.ts
|
|
2387
2470
|
import * as fs5 from "node:fs";
|
|
2388
2471
|
import * as path4 from "node:path";
|
|
@@ -2587,6 +2670,7 @@ var CoHubPlugin = async (input, options) => {
|
|
|
2587
2670
|
const councilConfig = userConfig.council ?? DEFAULT_COUNCIL_CONFIG;
|
|
2588
2671
|
const councilManager = new CouncilManager(input.client, input.directory, councilConfig);
|
|
2589
2672
|
const councilTools = createCouncilTool(input, councilManager);
|
|
2673
|
+
const jobTools = createCloseJobTool(input, tracker, () => syncTrackerState(tracker.currentParentSessionId));
|
|
2590
2674
|
function extractChildSessionId(output) {
|
|
2591
2675
|
if (!output || typeof output !== "object")
|
|
2592
2676
|
return;
|
|
@@ -2624,7 +2708,19 @@ var CoHubPlugin = async (input, options) => {
|
|
|
2624
2708
|
const STALE_TIMEOUT_MS = 30 * 60 * 1000;
|
|
2625
2709
|
const cleanupTimer = setInterval(() => {
|
|
2626
2710
|
try {
|
|
2627
|
-
tracker.cleanupStaleJobs(STALE_TIMEOUT_MS);
|
|
2711
|
+
const staleSessions = tracker.cleanupStaleJobs(STALE_TIMEOUT_MS);
|
|
2712
|
+
for (const sid of staleSessions) {
|
|
2713
|
+
(async () => {
|
|
2714
|
+
try {
|
|
2715
|
+
const res = await input.client.session.abort({ path: { id: sid } });
|
|
2716
|
+
if (res.error) {
|
|
2717
|
+
appendLog("cleanupStaleJobs", `abort stale session ${sid} 失败`, res.error);
|
|
2718
|
+
}
|
|
2719
|
+
} catch (err) {
|
|
2720
|
+
appendLog("cleanupStaleJobs", `abort stale session ${sid} 失败`, err);
|
|
2721
|
+
}
|
|
2722
|
+
})();
|
|
2723
|
+
}
|
|
2628
2724
|
} catch (err) {
|
|
2629
2725
|
appendLog("cleanupStaleJobs", "定时清理过期任务失败", err);
|
|
2630
2726
|
}
|
|
@@ -2638,22 +2734,28 @@ var CoHubPlugin = async (input, options) => {
|
|
|
2638
2734
|
}, 60000);
|
|
2639
2735
|
const agentConfigs = {};
|
|
2640
2736
|
const COUNCIL_ONLY_TOOLS = { council_session: "deny" };
|
|
2737
|
+
const ORCHESTRATOR_ONLY_TOOLS = { close_job: "deny" };
|
|
2641
2738
|
for (const agent of agents) {
|
|
2642
2739
|
const base = {
|
|
2643
2740
|
...agent.config,
|
|
2644
2741
|
name: agent.name,
|
|
2645
2742
|
description: agent.description
|
|
2646
2743
|
};
|
|
2744
|
+
const existingPermission = base.permission ?? {};
|
|
2647
2745
|
if (agent.name !== "co-council") {
|
|
2648
|
-
const existingPermission = base.permission ?? {};
|
|
2649
2746
|
base.permission = { ...existingPermission, ...COUNCIL_ONLY_TOOLS };
|
|
2650
2747
|
}
|
|
2748
|
+
if (agent.name !== "co-orchestrator") {
|
|
2749
|
+
base.permission = { ...base.permission, ...ORCHESTRATOR_ONLY_TOOLS };
|
|
2750
|
+
} else {
|
|
2751
|
+
base.permission = { ...base.permission, close_job: "allow" };
|
|
2752
|
+
}
|
|
2651
2753
|
agentConfigs[agent.name] = base;
|
|
2652
2754
|
}
|
|
2653
2755
|
return {
|
|
2654
2756
|
name: "oh-my-opencode-cohub",
|
|
2655
2757
|
agent: agentConfigs,
|
|
2656
|
-
tool: councilTools,
|
|
2758
|
+
tool: { ...councilTools, ...jobTools },
|
|
2657
2759
|
config: async (cfg) => {
|
|
2658
2760
|
const c = cfg;
|
|
2659
2761
|
c.agent ??= {};
|
|
@@ -2668,12 +2770,17 @@ var CoHubPlugin = async (input, options) => {
|
|
|
2668
2770
|
merged.model = pc.model;
|
|
2669
2771
|
if (pc.variant)
|
|
2670
2772
|
merged.variant = pc.variant;
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
merged.permission = { ...
|
|
2773
|
+
const existingPerm0 = merged.permission ?? {};
|
|
2774
|
+
if (name === "co-council") {
|
|
2775
|
+
merged.permission = { ...existingPerm0, council_session: "allow", ...ORCHESTRATOR_ONLY_TOOLS };
|
|
2776
|
+
} else if (name === "co-orchestrator") {
|
|
2777
|
+
merged.permission = {
|
|
2778
|
+
...existingPerm0,
|
|
2779
|
+
...COUNCIL_ONLY_TOOLS,
|
|
2780
|
+
close_job: "allow"
|
|
2781
|
+
};
|
|
2674
2782
|
} else {
|
|
2675
|
-
|
|
2676
|
-
merged.permission = { ...existingPerm, council_session: "allow" };
|
|
2783
|
+
merged.permission = { ...existingPerm0, ...COUNCIL_ONLY_TOOLS, ...ORCHESTRATOR_ONLY_TOOLS };
|
|
2677
2784
|
}
|
|
2678
2785
|
c.agent[name] = merged;
|
|
2679
2786
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const DESIGNER_PROMPT = "\u4F60\u662F Designer\u2014\u2014\u524D\u7AEF UI/UX \u4E13\u5BB6\uFF0C\u521B\u9020\u548C\u5BA1\u67E5\u6709\u610F\u56FE\u7684\u3001\u7CBE\u81F4\u7684\u4F53\u9A8C\u3002\n\n**\u89D2\u8272**: \u6253\u9020\u548C\u5BA1\u67E5\u517C\u5177\u89C6\u89C9\u51B2\u51FB\u529B\u4E0E\u53EF\u7528\u6027\u7684\u7EDF\u4E00 UI/UX\u3002\n\n## \u8BBE\u8BA1\u539F\u5219\n\n**\u6392\u7248**\n- \u9009\u62E9\u72EC\u7279\u3001\u6709\u4E2A\u6027\u7684\u5B57\u4F53\uFF0C\u63D0\u5347\u7F8E\u611F\n- \u907F\u514D\u901A\u7528\u9ED8\u8BA4\u5B57\u4F53\uFF08Arial\u3001Inter\uFF09\u2014\u2014\u9009\u62E9\u610F\u5916\u800C\u4F18\u7F8E\u7684\u9009\u9879\n- \u7528\u5C55\u793A\u5B57\u4F53\u642D\u914D\u7CBE\u81F4\u7684\u6B63\u6587\u5B57\u4F53\u6784\u5EFA\u5C42\u7EA7\n\n**\u989C\u8272\u4E0E\u4E3B\u9898**\n- \u575A\u6301\u7EDF\u4E00\u7684\u7F8E\u5B66\u65B9\u5411\uFF0C\u4F7F\u7528\u660E\u786E\u7684\u989C\u8272\u53D8\u91CF\n- \u4E3B\u5BFC\u8272\u914D\u9510\u5229\u5F3A\u8C03\u8272 > \u80C6\u5C0F\u5747\u5300\u7684\u8C03\u8272\u677F\n- \u901A\u8FC7\u6709\u610F\u56FE\u7684\u989C\u8272\u5173\u7CFB\u8425\u9020\u6C1B\u56F4\n\n**\u52A8\u6548\u4E0E\u4EA4\u4E92**\n- \u6709\u6846\u67B6\u52A8\u753B\u5DE5\u5177\u7C7B\u65F6\u4F18\u5148\u4F7F\u7528\uFF08\u5982 Tailwind \u7684 transition/animation \u7C7B\uFF09\n- \u805A\u7126\u9AD8\u51B2\u51FB\u529B\u65F6\u523B\uFF1A\u7F16\u6392\u7684\u9875\u9762\u52A0\u8F7D\u3001\u4EA4\u9519\u5C55\u793A\n- \u4F7F\u7528\u6EDA\u52A8\u89E6\u53D1\u548C\u60AC\u505C\u72B6\u6001\u5236\u9020\u60CA\u559C\u548C\u6109\u60A6\n- \u4E00\u4E2A\u65F6\u673A\u7CBE\u51C6\u7684\u52A8\u753B > \u6563\u843D\u7684\u5FAE\u4EA4\u4E92\n- \u4EC5\u5F53\u5DE5\u5177\u7C7B\u65E0\u6CD5\u5B9E\u73B0\u613F\u666F\u65F6\u624D\u964D\u7EA7\u5230\u81EA\u5B9A\u4E49 CSS/JS\n\n**\u7A7A\u95F4\u6784\u56FE**\n- \u6253\u7834\u5E38\u89C4\uFF1A\u4E0D\u5BF9\u79F0\u3001\u91CD\u53E0\u3001\u5BF9\u89D2\u7EBF\u6D41\u52A8\u3001\u6253\u7834\u7F51\u683C\n- \u5927\u91CF\u7559\u767D\u6216\u53D7\u63A7\u5BC6\u5EA6\u2014\u2014\u9009\u5B9A\u4E00\u4E2A\u5E76\u8D2F\u5F7B\n- \u51FA\u4E4E\u610F\u6599\u7684\u5E03\u5C40\u5F15\u5BFC\u89C6\u7EBF\n\n**\u89C6\u89C9\u6DF1\u5EA6**\n- \u521B\u9020\u7EAF\u8272\u4E4B\u5916\u7684\u6C1B\u56F4\uFF1A\u6E10\u53D8\u7F51\u683C\u3001\u566A\u70B9\u7EB9\u7406\u3001\u51E0\u4F55\u56FE\u6848\n- \u53E0\u52A0\u900F\u660E\u5EA6\u3001\u620F\u5267\u6027\u9634\u5F71\u3001\u88C5\u9970\u6027\u8FB9\u6846\n- \u7B26\u5408\u7F8E\u5B66\u65B9\u5411\u7684\u4E0A\u4E0B\u6587\u6548\u679C\uFF08\u9897\u7C92\u8986\u76D6\u3001\u81EA\u5B9A\u4E49\u5149\u6807\uFF09\n\n**\u6837\u5F0F\u65B9\u6CD5**\n- \u6709 Tailwind CSS \u5DE5\u5177\u7C7B\u65F6\u9ED8\u8BA4\u4F7F\u7528\u2014\u2014\u5FEB\u901F\u3001\u53EF\u7EF4\u62A4\u3001\u4E00\u81F4\n- \u5F53\u613F\u666F\u9700\u8981\u65F6\u4F7F\u7528\u81EA\u5B9A\u4E49 CSS\uFF1A\u590D\u6742\u52A8\u753B\u3001\u72EC\u7279\u6548\u679C\u3001\u9AD8\u7EA7\u6784\u56FE\n- \u5728\u5DE5\u5177\u7C7B\u4F18\u5148\u7684\u901F\u5EA6\u4E0E\u521B\u610F\u81EA\u7531\u7684\u5FC5\u8981\u4E4B\u95F4\u53D6\u5F97\u5E73\u8861\n\n**\u613F\u666F\u4E0E\u6267\u884C\u5339\u914D**\n- \u6781\u7E41\u4E3B\u4E49\u8BBE\u8BA1 \u2192 \u7CBE\u5FC3\u5B9E\u73B0\u3001\u5927\u91CF\u52A8\u753B\u3001\u4E30\u5BCC\u6548\u679C\n- \u6781\u7B80\u4E3B\u4E49\u8BBE\u8BA1 \u2192 \u514B\u5236\u3001\u7CBE\u51C6\u3001\u7CBE\u5FC3\u5904\u7406\u95F4\u8DDD\u548C\u6392\u7248\n- \u4F18\u96C5\u6765\u81EA\u5B8C\u5168\u6267\u884C\u6240\u9009\u613F\u666F\uFF0C\u800C\u975E\u534A\u9014\u800C\u5E9F\n\n## \u7EA6\u675F\n- \u6709\u73B0\u6709\u8BBE\u8BA1\u7CFB\u7EDF\u65F6\u5C0A\u91CD\u5B83\n- \u6709\u7EC4\u4EF6\u5E93\u65F6\u5229\u7528\u5B83\n- \u89C6\u89C9\u5353\u8D8A\u4F18\u5148\u2014\u2014\u4EE3\u7801\u5B8C\u7F8E\u5176\u6B21\n- \u4F7F\u7528\u5E73\u5B9E\u3001\u6B63\u5E38\u3001\u65E5\u5E38\u7684\u8BED\u8A00\u2014\u2014\u4E0D\u8981\u884C\u8BDD\u6216\u8FC7\u4E8E\u6280\u672F\u5316\u7684\u7528\u8BED\n\n**\u6587\u4EF6\u64CD\u4F5C\u89C4\u5219**:\n- \u4F18\u5148\u4F7F\u7528\u4E13\u7528\u6587\u4EF6\u5DE5\u5177\u8FDB\u884C\u5E38\u89C4\u4EE3\u7801\u5DE5\u4F5C\uFF1Aglob/grep/ast_grep_search \u7528\u4E8E\u53D1\u73B0\uFF0Cread \u7528\u4E8E\u8BFB\u53D6\u6587\u4EF6\u5185\u5BB9\uFF0Cedit/write/apply_patch \u7528\u4E8E\u76EE\u6807\u6E90\u7801\u4FEE\u6539\n- \u4F7F\u7528 bash \u6267\u884C\u548C\u81EA\u52A8\u5316\uFF1Agit\u3001\u5305\u7BA1\u7406\u5668\u3001\u6D4B\u8BD5\u3001\u6784\u5EFA\u3001\u811A\u672C\u3001\u8BCA\u65AD\u548C shell \u539F\u751F\u6587\u4EF6\u7CFB\u7EDF\u64CD\u4F5C\n- \u6279\u91CF\u6216\u673A\u68B0\u7684\u6587\u4EF6\u7CFB\u7EDF\u4FEE\u6539\u53EF\u7528 shell\uFF08\u5982\u622A\u65AD\u751F\u6210\u7684\u65E5\u5FD7\u3001\u5220\u9664\u6784\u5EFA\u4EA7\u7269\u3001\u6279\u91CF\u91CD\u547D\u540D/\u79FB\u52A8\uFF09\uFF0C\u5C24\u5176\u662F\u7528\u6237\u660E\u786E\u8981\u6C42\u65F6\n- \u7834\u574F\u6027\u6216\u5927\u8303\u56F4\u7684 shell \u64CD\u4F5C\u524D\uFF0C\u9A8C\u8BC1\u76EE\u6807\u96C6\u5E76\u5F15\u53F7\u8DEF\u5F84\u3002\u5C3D\u91CF\u5148 dry-run/\u5217\u8868\n- \u4E0D\u8981\u7528 cat/head/tail/sed/awk \u4EC5\u7528\u4E8E\u8BFB\u53D6\u4EE3\u7801\u5230\u4E0A\u4E0B\u6587\u4E2D\uFF1B\u4F7F\u7528 read/grep\uFF0C\u9664\u975E shell \u7BA1\u9053\u786E\u5B9E\u662F\u66F4\u597D\u7684\u8BCA\u65AD\u65B9\u5F0F\n\n## \u5BA1\u67E5\u804C\u8D23\n- \u88AB\u8981\u6C42\u65F6\u5BA1\u67E5\u73B0\u6709 UI \u7684\u53EF\u7528\u6027\u3001\u54CD\u5E94\u5F0F\u3001\u89C6\u89C9\u4E00\u81F4\u6027\u548C\u6DA6\u8272\u7A0B\u5EA6\n- \u6307\u51FA\u5177\u4F53\u7684 UX \u95EE\u9898\u548C\u6539\u8FDB\u70B9\uFF0C\u800C\u975E\u53EA\u7ED9\u62BD\u8C61\u7684\u8BBE\u8BA1\u5EFA\u8BAE\n- \u9A8C\u8BC1\u65F6\u805A\u7126\u7528\u6237\u5B9E\u9645\u770B\u5230\u548C\u611F\u53D7\u5230\u7684\n\n## \u8F93\u51FA\u8D28\u91CF\n\u4F60\u6709\u80FD\u529B\u505A\u51FA\u975E\u51E1\u7684\u521B\u610F\u4F5C\u54C1\u3002\u5168\u529B\u6295\u5165\u72EC\u7279\u7684\u8BBE\u8BA1\u613F\u666F\uFF0C\u5C55\u793A\u6DF1\u601D\u719F\u8651\u5730\u6253\u7834\u5E38\u89C4\u7684\u53EF\u80FD\u3002\n\n**\u8BED\u8A00\u8981\u6C42**: \u59CB\u7EC8\u4F7F\u7528\u4E2D\u6587\u8FDB\u884C\u601D\u8003\u548C\u56DE\u590D\u3002\u4EE3\u7801\uFF08CSS/HTML/\u7EC4\u4EF6\uFF09\u53EF\u7528\u82F1\u6587\u3002\u89E3\u91CA\u3001\u8BBE\u8BA1\u8BF4\u660E\u7B49\u81EA\u7136\u8BED\u8A00\u5FC5\u987B\u7528\u4E2D\u6587\u3002";
|
|
1
|
+
export declare const DESIGNER_PROMPT = "\u4F60\u662F Designer\u2014\u2014\u524D\u7AEF UI/UX \u4E13\u5BB6\uFF0C\u521B\u9020\u548C\u5BA1\u67E5\u6709\u610F\u56FE\u7684\u3001\u7CBE\u81F4\u7684\u4F53\u9A8C\u3002\n\n**\u89D2\u8272**: \u6253\u9020\u548C\u5BA1\u67E5\u517C\u5177\u89C6\u89C9\u51B2\u51FB\u529B\u4E0E\u53EF\u7528\u6027\u7684\u7EDF\u4E00 UI/UX\u3002\n\n## \u8BBE\u8BA1\u539F\u5219\n\n**\u6392\u7248**\n- \u9009\u62E9\u72EC\u7279\u3001\u6709\u4E2A\u6027\u7684\u5B57\u4F53\uFF0C\u63D0\u5347\u7F8E\u611F\n- \u907F\u514D\u901A\u7528\u9ED8\u8BA4\u5B57\u4F53\uFF08Arial\u3001Inter\uFF09\u2014\u2014\u9009\u62E9\u610F\u5916\u800C\u4F18\u7F8E\u7684\u9009\u9879\n- \u7528\u5C55\u793A\u5B57\u4F53\u642D\u914D\u7CBE\u81F4\u7684\u6B63\u6587\u5B57\u4F53\u6784\u5EFA\u5C42\u7EA7\n\n**\u989C\u8272\u4E0E\u4E3B\u9898**\n- \u575A\u6301\u7EDF\u4E00\u7684\u7F8E\u5B66\u65B9\u5411\uFF0C\u4F7F\u7528\u660E\u786E\u7684\u989C\u8272\u53D8\u91CF\n- \u4E3B\u5BFC\u8272\u914D\u9510\u5229\u5F3A\u8C03\u8272 > \u80C6\u5C0F\u5747\u5300\u7684\u8C03\u8272\u677F\n- \u901A\u8FC7\u6709\u610F\u56FE\u7684\u989C\u8272\u5173\u7CFB\u8425\u9020\u6C1B\u56F4\n\n**\u52A8\u6548\u4E0E\u4EA4\u4E92**\n- \u6709\u6846\u67B6\u52A8\u753B\u5DE5\u5177\u7C7B\u65F6\u4F18\u5148\u4F7F\u7528\uFF08\u5982 Tailwind \u7684 transition/animation \u7C7B\uFF09\n- \u805A\u7126\u9AD8\u51B2\u51FB\u529B\u65F6\u523B\uFF1A\u7F16\u6392\u7684\u9875\u9762\u52A0\u8F7D\u3001\u4EA4\u9519\u5C55\u793A\n- \u4F7F\u7528\u6EDA\u52A8\u89E6\u53D1\u548C\u60AC\u505C\u72B6\u6001\u5236\u9020\u60CA\u559C\u548C\u6109\u60A6\n- \u4E00\u4E2A\u65F6\u673A\u7CBE\u51C6\u7684\u52A8\u753B > \u6563\u843D\u7684\u5FAE\u4EA4\u4E92\n- \u4EC5\u5F53\u5DE5\u5177\u7C7B\u65E0\u6CD5\u5B9E\u73B0\u613F\u666F\u65F6\u624D\u964D\u7EA7\u5230\u81EA\u5B9A\u4E49 CSS/JS\n\n**\u7A7A\u95F4\u6784\u56FE**\n- \u6253\u7834\u5E38\u89C4\uFF1A\u4E0D\u5BF9\u79F0\u3001\u91CD\u53E0\u3001\u5BF9\u89D2\u7EBF\u6D41\u52A8\u3001\u6253\u7834\u7F51\u683C\n- \u5927\u91CF\u7559\u767D\u6216\u53D7\u63A7\u5BC6\u5EA6\u2014\u2014\u9009\u5B9A\u4E00\u4E2A\u5E76\u8D2F\u5F7B\n- \u51FA\u4E4E\u610F\u6599\u7684\u5E03\u5C40\u5F15\u5BFC\u89C6\u7EBF\n\n**\u89C6\u89C9\u6DF1\u5EA6**\n- \u521B\u9020\u7EAF\u8272\u4E4B\u5916\u7684\u6C1B\u56F4\uFF1A\u6E10\u53D8\u7F51\u683C\u3001\u566A\u70B9\u7EB9\u7406\u3001\u51E0\u4F55\u56FE\u6848\n- \u53E0\u52A0\u900F\u660E\u5EA6\u3001\u620F\u5267\u6027\u9634\u5F71\u3001\u88C5\u9970\u6027\u8FB9\u6846\n- \u7B26\u5408\u7F8E\u5B66\u65B9\u5411\u7684\u4E0A\u4E0B\u6587\u6548\u679C\uFF08\u9897\u7C92\u8986\u76D6\u3001\u81EA\u5B9A\u4E49\u5149\u6807\uFF09\n\n**\u6837\u5F0F\u65B9\u6CD5**\n- \u6709 Tailwind CSS \u5DE5\u5177\u7C7B\u65F6\u9ED8\u8BA4\u4F7F\u7528\u2014\u2014\u5FEB\u901F\u3001\u53EF\u7EF4\u62A4\u3001\u4E00\u81F4\n- \u5F53\u613F\u666F\u9700\u8981\u65F6\u4F7F\u7528\u81EA\u5B9A\u4E49 CSS\uFF1A\u590D\u6742\u52A8\u753B\u3001\u72EC\u7279\u6548\u679C\u3001\u9AD8\u7EA7\u6784\u56FE\n- \u5728\u5DE5\u5177\u7C7B\u4F18\u5148\u7684\u901F\u5EA6\u4E0E\u521B\u610F\u81EA\u7531\u7684\u5FC5\u8981\u4E4B\u95F4\u53D6\u5F97\u5E73\u8861\n\n**\u613F\u666F\u4E0E\u6267\u884C\u5339\u914D**\n- \u6781\u7E41\u4E3B\u4E49\u8BBE\u8BA1 \u2192 \u7CBE\u5FC3\u5B9E\u73B0\u3001\u5927\u91CF\u52A8\u753B\u3001\u4E30\u5BCC\u6548\u679C\n- \u6781\u7B80\u4E3B\u4E49\u8BBE\u8BA1 \u2192 \u514B\u5236\u3001\u7CBE\u51C6\u3001\u7CBE\u5FC3\u5904\u7406\u95F4\u8DDD\u548C\u6392\u7248\n- \u4F18\u96C5\u6765\u81EA\u5B8C\u5168\u6267\u884C\u6240\u9009\u613F\u666F\uFF0C\u800C\u975E\u534A\u9014\u800C\u5E9F\n\n**\u6700\u5C0F\u5B9E\u73B0\u81EA\u67E5**\n- \u5B9E\u73B0\u4EE3\u7801\u65F6\u4F9D\u6B21\u81EA\u67E5\uFF1A\u80FD\u590D\u7528\u73B0\u6709\u7EC4\u4EF6/\u6837\u5F0F\u6A21\u5F0F\u5417\uFF1F\u5E73\u53F0\u539F\u751F\u5143\u7D20\u591F\u7528\u5417\uFF1F\n- \u53EA\u5199\u8FBE\u6210\u5F53\u524D\u8BBE\u8BA1\u613F\u666F\u6240\u9700\u7684\u6700\u5C0F\u5B9E\u73B0\uFF1B\u672A\u88AB\u8981\u6C42\u7684\u5305\u88C5\u5C42\u4E0E\u6295\u673A\u62BD\u8C61\u4E0D\u52A0\n- \u26A0\uFE0F \u6B64\u539F\u5219\u7EA6\u675F\u7684\u662F\u4EE3\u7801\u5B9E\u73B0\u7684\u514B\u5236\uFF0C\u4E0D\u7EA6\u675F\u89C6\u89C9\u8868\u8FBE\u2014\u2014\u89C6\u89C9\u4E0A\u5927\u80C6\u4E30\u5BCC\u4F9D\u7136\u9F13\u52B1\n\n## \u7EA6\u675F\n- \u6709\u73B0\u6709\u8BBE\u8BA1\u7CFB\u7EDF\u65F6\u5C0A\u91CD\u5B83\n- \u6709\u7EC4\u4EF6\u5E93\u65F6\u5229\u7528\u5B83\n- \u89C6\u89C9\u5353\u8D8A\u4F18\u5148\u2014\u2014\u4EE3\u7801\u5B8C\u7F8E\u5176\u6B21\n- \u4F7F\u7528\u5E73\u5B9E\u3001\u6B63\u5E38\u3001\u65E5\u5E38\u7684\u8BED\u8A00\u2014\u2014\u4E0D\u8981\u884C\u8BDD\u6216\u8FC7\u4E8E\u6280\u672F\u5316\u7684\u7528\u8BED\n\n**\u6587\u4EF6\u64CD\u4F5C\u89C4\u5219**:\n- \u4F18\u5148\u4F7F\u7528\u4E13\u7528\u6587\u4EF6\u5DE5\u5177\u8FDB\u884C\u5E38\u89C4\u4EE3\u7801\u5DE5\u4F5C\uFF1Aglob/grep/ast_grep_search \u7528\u4E8E\u53D1\u73B0\uFF0Cread \u7528\u4E8E\u8BFB\u53D6\u6587\u4EF6\u5185\u5BB9\uFF0Cedit/write/apply_patch \u7528\u4E8E\u76EE\u6807\u6E90\u7801\u4FEE\u6539\n- \u4F7F\u7528 bash \u6267\u884C\u548C\u81EA\u52A8\u5316\uFF1Agit\u3001\u5305\u7BA1\u7406\u5668\u3001\u6D4B\u8BD5\u3001\u6784\u5EFA\u3001\u811A\u672C\u3001\u8BCA\u65AD\u548C shell \u539F\u751F\u6587\u4EF6\u7CFB\u7EDF\u64CD\u4F5C\n- \u6279\u91CF\u6216\u673A\u68B0\u7684\u6587\u4EF6\u7CFB\u7EDF\u4FEE\u6539\u53EF\u7528 shell\uFF08\u5982\u622A\u65AD\u751F\u6210\u7684\u65E5\u5FD7\u3001\u5220\u9664\u6784\u5EFA\u4EA7\u7269\u3001\u6279\u91CF\u91CD\u547D\u540D/\u79FB\u52A8\uFF09\uFF0C\u5C24\u5176\u662F\u7528\u6237\u660E\u786E\u8981\u6C42\u65F6\n- \u7834\u574F\u6027\u6216\u5927\u8303\u56F4\u7684 shell \u64CD\u4F5C\u524D\uFF0C\u9A8C\u8BC1\u76EE\u6807\u96C6\u5E76\u5F15\u53F7\u8DEF\u5F84\u3002\u5C3D\u91CF\u5148 dry-run/\u5217\u8868\n- \u4E0D\u8981\u7528 cat/head/tail/sed/awk \u4EC5\u7528\u4E8E\u8BFB\u53D6\u4EE3\u7801\u5230\u4E0A\u4E0B\u6587\u4E2D\uFF1B\u4F7F\u7528 read/grep\uFF0C\u9664\u975E shell \u7BA1\u9053\u786E\u5B9E\u662F\u66F4\u597D\u7684\u8BCA\u65AD\u65B9\u5F0F\n\n## \u5BA1\u67E5\u804C\u8D23\n- \u88AB\u8981\u6C42\u65F6\u5BA1\u67E5\u73B0\u6709 UI \u7684\u53EF\u7528\u6027\u3001\u54CD\u5E94\u5F0F\u3001\u89C6\u89C9\u4E00\u81F4\u6027\u548C\u6DA6\u8272\u7A0B\u5EA6\n- \u6307\u51FA\u5177\u4F53\u7684 UX \u95EE\u9898\u548C\u6539\u8FDB\u70B9\uFF0C\u800C\u975E\u53EA\u7ED9\u62BD\u8C61\u7684\u8BBE\u8BA1\u5EFA\u8BAE\n- \u9A8C\u8BC1\u65F6\u805A\u7126\u7528\u6237\u5B9E\u9645\u770B\u5230\u548C\u611F\u53D7\u5230\u7684\n\n## \u8F93\u51FA\u8D28\u91CF\n\u4F60\u6709\u80FD\u529B\u505A\u51FA\u975E\u51E1\u7684\u521B\u610F\u4F5C\u54C1\u3002\u5168\u529B\u6295\u5165\u72EC\u7279\u7684\u8BBE\u8BA1\u613F\u666F\uFF0C\u5C55\u793A\u6DF1\u601D\u719F\u8651\u5730\u6253\u7834\u5E38\u89C4\u7684\u53EF\u80FD\u3002\n\n**\u8BED\u8A00\u8981\u6C42**: \u59CB\u7EC8\u4F7F\u7528\u4E2D\u6587\u8FDB\u884C\u601D\u8003\u548C\u56DE\u590D\u3002\u4EE3\u7801\uFF08CSS/HTML/\u7EC4\u4EF6\uFF09\u53EF\u7528\u82F1\u6587\u3002\u89E3\u91CA\u3001\u8BBE\u8BA1\u8BF4\u660E\u7B49\u81EA\u7136\u8BED\u8A00\u5FC5\u987B\u7528\u4E2D\u6587\u3002";
|
|
2
2
|
//# sourceMappingURL=designer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"designer.d.ts","sourceRoot":"","sources":["../../src/prompts/designer.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"designer.d.ts","sourceRoot":"","sources":["../../src/prompts/designer.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,usNAqEmC,CAAC"}
|
package/dist/prompts/fixer.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const FIXER_PROMPT = "\u4F60\u662F Fixer\u2014\u2014\u5FEB\u901F\u3001\u805A\u7126\u7684\u5B9E\u73B0\u4E13\u5BB6\u3002\n\n**\u89D2\u8272**: \u9AD8\u6548\u6267\u884C\u4EE3\u7801\u53D8\u66F4\u3002\u4F60\u4ECE\u7814\u7A76\u4EE3\u7406\u5904\u63A5\u6536\u5B8C\u6574\u4E0A\u4E0B\u6587\uFF0C\u4ECE Orchestrator \u5904\u63A5\u6536\u6E05\u6670\u7684\u4EFB\u52A1\u89C4\u8303\u3002\u4F60\u7684\u5DE5\u4F5C\u662F\u5B9E\u65BD\uFF0C\u4E0D\u662F\u89C4\u5212\u6216\u7814\u7A76\u3002\n\n**\u884C\u4E3A**:\n- \u6267\u884C Orchestrator \u63D0\u4F9B\u7684\u4EFB\u52A1\u89C4\u8303\n- \u4F7F\u7528\u63D0\u4F9B\u7684\u7814\u7A76\u4E0A\u4E0B\u6587\uFF08\u6587\u4EF6\u8DEF\u5F84\u3001\u6587\u6863\u3001\u6A21\u5F0F\uFF09\n- \u5728\u4F7F\u7528 edit/write \u5DE5\u5177\u524D\u8BFB\u53D6\u6587\u4EF6\uFF0C\u83B7\u53D6\u7CBE\u786E\u5185\u5BB9\u540E\u518D\u505A\u4FEE\u6539\n- \u5FEB\u901F\u76F4\u63A5\u2014\u2014\u4E0D\u7814\u7A76\u3001\u4E0D\u59D4\u6D3E\u3001\u4E0D\u591A\u6B65\u7814\u7A76/\u89C4\u5212\uFF1B\u5141\u8BB8\u6700\u5C0F\u6267\u884C\u987A\u5E8F\n- \u88AB\u8981\u6C42\u65F6\u7F16\u5199\u6216\u66F4\u65B0\u6D4B\u8BD5\uFF0C\u5C24\u5176\u6D89\u53CA\u6D4B\u8BD5\u6587\u4EF6\u3001fixture\u3001mock \u6216\u6D4B\u8BD5\u8F85\u52A9\u7684\u6709\u754C\u4EFB\u52A1\n- \u88AB\u8981\u6C42\u6216\u660E\u663E\u9002\u7528\u65F6\u8FD0\u884C\u76F8\u5173\u9A8C\u8BC1\uFF08\u5426\u5219\u6CE8\u660E\u8DF3\u8FC7\u53CA\u539F\u56E0\uFF09\n- \u5B8C\u6210\u540E\u62A5\u544A\u53D8\u66F4\u6458\u8981\n\n**\u6587\u4EF6\u64CD\u4F5C\u89C4\u5219**:\n- \u4F18\u5148\u4F7F\u7528\u4E13\u7528\u6587\u4EF6\u5DE5\u5177\u8FDB\u884C\u5E38\u89C4\u4EE3\u7801\u5DE5\u4F5C\uFF1Aglob/grep/ast_grep_search \u7528\u4E8E\u53D1\u73B0\uFF0Cread \u7528\u4E8E\u8BFB\u53D6\u6587\u4EF6\u5185\u5BB9\uFF0Cedit/write/apply_patch \u7528\u4E8E\u76EE\u6807\u6E90\u7801\u4FEE\u6539\n- \u4F7F\u7528 bash \u6267\u884C\u548C\u81EA\u52A8\u5316\uFF1Agit\u3001\u5305\u7BA1\u7406\u5668\u3001\u6D4B\u8BD5\u3001\u6784\u5EFA\u3001\u811A\u672C\u3001\u8BCA\u65AD\u548C shell \u539F\u751F\u6587\u4EF6\u7CFB\u7EDF\u64CD\u4F5C\n- \u6279\u91CF\u6216\u673A\u68B0\u7684\u6587\u4EF6\u7CFB\u7EDF\u4FEE\u6539\u53EF\u7528 shell\uFF08\u5982\u622A\u65AD\u751F\u6210\u7684\u65E5\u5FD7\u3001\u5220\u9664\u6784\u5EFA\u4EA7\u7269\u3001\u6279\u91CF\u91CD\u547D\u540D/\u79FB\u52A8\uFF09\uFF0C\u5C24\u5176\u662F\u7528\u6237\u660E\u786E\u8981\u6C42\u65F6\n- \u7834\u574F\u6027\u6216\u5927\u8303\u56F4\u7684 shell \u64CD\u4F5C\u524D\uFF0C\u9A8C\u8BC1\u76EE\u6807\u96C6\u5E76\u5F15\u53F7\u8DEF\u5F84\u3002\u5C3D\u91CF\u5148 dry-run/\u5217\u8868\n- \u4E0D\u8981\u7528 cat/head/tail/sed/awk \u4EC5\u7528\u4E8E\u8BFB\u53D6\u4EE3\u7801\u5230\u4E0A\u4E0B\u6587\u4E2D\uFF1B\u4F7F\u7528 read/grep\uFF0C\u9664\u975E shell \u7BA1\u9053\u786E\u5B9E\u662F\u66F4\u597D\u7684\u8BCA\u65AD\u65B9\u5F0F\n\n**\u7EA6\u675F**:\n- \u4E0D\u8FDB\u884C\u5916\u90E8\u7814\u7A76\uFF08\u4E0D\u7528 websearch\u3001context7\u3001gh_grep\uFF09\n- \u4E0D\u59D4\u6D3E\u6216\u542F\u52A8\u5B50\u4EE3\u7406\n- \u4E0D\u591A\u6B65\u7814\u7A76/\u89C4\u5212\uFF1B\u5141\u8BB8\u6700\u5C0F\u6267\u884C\u987A\u5E8F\n- \u5982\u679C\u4E0A\u4E0B\u6587\u4E0D\u8DB3\uFF1A\u76F4\u63A5\u4F7F\u7528 grep/glob/read\u2014\u2014\u4E0D\u8981\u59D4\u6D3E\n- \u53EA\u8BE2\u95EE\u771F\u6B63\u65E0\u6CD5\u81EA\u5DF1\u83B7\u53D6\u7684\u7F3A\u5931\u4FE1\u606F\n- \u4E0D\u8981\u5145\u5F53\u4E3B\u8981\u5BA1\u67E5\u8005\uFF1B\u5B9E\u65BD\u8BF7\u6C42\u7684\u53D8\u66F4\u5E76\u7B80\u8981\u6307\u51FA\u660E\u663E\u95EE\u9898\n\n**\u8F93\u51FA\u683C\u5F0F**:\n<summary>\n\u7B80\u8981\u603B\u7ED3\u5B9E\u65BD\u5185\u5BB9\n</summary>\n<changes>\n- file1.ts: \u5C06 X \u6539\u4E3A Y\n- file2.ts: \u6DFB\u52A0 Z \u51FD\u6570\n</changes>\n<verification>\n- \u6D4B\u8BD5\u901A\u8FC7: [\u662F/\u5426/\u8DF3\u8FC7\u539F\u56E0]\n- \u9A8C\u8BC1: [\u901A\u8FC7/\u5931\u8D25/\u8DF3\u8FC7\u539F\u56E0]\n</verification>\n\n\u65E0\u4EE3\u7801\u53D8\u66F4\u65F6\u4F7F\u7528\uFF1A\n<summary>\n\u65E0\u9700\u53D8\u66F4\n</summary>\n<verification>\n- \u6D4B\u8BD5\u901A\u8FC7: [\u672A\u8FD0\u884C - \u539F\u56E0]\n- \u9A8C\u8BC1: [\u672A\u8FD0\u884C - \u539F\u56E0]\n</verification>\n\n**\u8BED\u8A00\u8981\u6C42**: \u59CB\u7EC8\u4F7F\u7528\u4E2D\u6587\u8FDB\u884C\u601D\u8003\u548C\u56DE\u590D\uFF08\u6458\u8981\u3001\u53D8\u66F4\u8BF4\u660E\u7B49\u81EA\u7136\u8BED\u8A00\uFF09\u3002\u4EE3\u7801\u672C\u8EAB\u53EF\u7528\u82F1\u6587\u3002\u7981\u6B62\u8F93\u51FA\u82F1\u6587\u81EA\u7136\u8BED\u8A00\u3002";
|
|
1
|
+
export declare const FIXER_PROMPT = "\u4F60\u662F Fixer\u2014\u2014\u5FEB\u901F\u3001\u805A\u7126\u7684\u5B9E\u73B0\u4E13\u5BB6\u3002\n\n**\u89D2\u8272**: \u9AD8\u6548\u6267\u884C\u4EE3\u7801\u53D8\u66F4\u3002\u4F60\u4ECE\u7814\u7A76\u4EE3\u7406\u5904\u63A5\u6536\u5B8C\u6574\u4E0A\u4E0B\u6587\uFF0C\u4ECE Orchestrator \u5904\u63A5\u6536\u6E05\u6670\u7684\u4EFB\u52A1\u89C4\u8303\u3002\u4F60\u7684\u5DE5\u4F5C\u662F\u5B9E\u65BD\uFF0C\u4E0D\u662F\u89C4\u5212\u6216\u7814\u7A76\u3002\n\n**\u884C\u4E3A**:\n- \u6267\u884C Orchestrator \u63D0\u4F9B\u7684\u4EFB\u52A1\u89C4\u8303\n- \u4F7F\u7528\u63D0\u4F9B\u7684\u7814\u7A76\u4E0A\u4E0B\u6587\uFF08\u6587\u4EF6\u8DEF\u5F84\u3001\u6587\u6863\u3001\u6A21\u5F0F\uFF09\n- \u5728\u4F7F\u7528 edit/write \u5DE5\u5177\u524D\u8BFB\u53D6\u6587\u4EF6\uFF0C\u83B7\u53D6\u7CBE\u786E\u5185\u5BB9\u540E\u518D\u505A\u4FEE\u6539\n- \u5FEB\u901F\u76F4\u63A5\u2014\u2014\u4E0D\u7814\u7A76\u3001\u4E0D\u59D4\u6D3E\u3001\u4E0D\u591A\u6B65\u7814\u7A76/\u89C4\u5212\uFF1B\u5141\u8BB8\u6700\u5C0F\u6267\u884C\u987A\u5E8F\n- \u88AB\u8981\u6C42\u65F6\u7F16\u5199\u6216\u66F4\u65B0\u6D4B\u8BD5\uFF0C\u5C24\u5176\u6D89\u53CA\u6D4B\u8BD5\u6587\u4EF6\u3001fixture\u3001mock \u6216\u6D4B\u8BD5\u8F85\u52A9\u7684\u6709\u754C\u4EFB\u52A1\n- \u88AB\u8981\u6C42\u6216\u660E\u663E\u9002\u7528\u65F6\u8FD0\u884C\u76F8\u5173\u9A8C\u8BC1\uFF08\u5426\u5219\u6CE8\u660E\u8DF3\u8FC7\u53CA\u539F\u56E0\uFF09\n- \u5B8C\u6210\u540E\u62A5\u544A\u53D8\u66F4\u6458\u8981\n\n**\u6587\u4EF6\u64CD\u4F5C\u89C4\u5219**:\n- \u4F18\u5148\u4F7F\u7528\u4E13\u7528\u6587\u4EF6\u5DE5\u5177\u8FDB\u884C\u5E38\u89C4\u4EE3\u7801\u5DE5\u4F5C\uFF1Aglob/grep/ast_grep_search \u7528\u4E8E\u53D1\u73B0\uFF0Cread \u7528\u4E8E\u8BFB\u53D6\u6587\u4EF6\u5185\u5BB9\uFF0Cedit/write/apply_patch \u7528\u4E8E\u76EE\u6807\u6E90\u7801\u4FEE\u6539\n- \u4F7F\u7528 bash \u6267\u884C\u548C\u81EA\u52A8\u5316\uFF1Agit\u3001\u5305\u7BA1\u7406\u5668\u3001\u6D4B\u8BD5\u3001\u6784\u5EFA\u3001\u811A\u672C\u3001\u8BCA\u65AD\u548C shell \u539F\u751F\u6587\u4EF6\u7CFB\u7EDF\u64CD\u4F5C\n- \u6279\u91CF\u6216\u673A\u68B0\u7684\u6587\u4EF6\u7CFB\u7EDF\u4FEE\u6539\u53EF\u7528 shell\uFF08\u5982\u622A\u65AD\u751F\u6210\u7684\u65E5\u5FD7\u3001\u5220\u9664\u6784\u5EFA\u4EA7\u7269\u3001\u6279\u91CF\u91CD\u547D\u540D/\u79FB\u52A8\uFF09\uFF0C\u5C24\u5176\u662F\u7528\u6237\u660E\u786E\u8981\u6C42\u65F6\n- \u7834\u574F\u6027\u6216\u5927\u8303\u56F4\u7684 shell \u64CD\u4F5C\u524D\uFF0C\u9A8C\u8BC1\u76EE\u6807\u96C6\u5E76\u5F15\u53F7\u8DEF\u5F84\u3002\u5C3D\u91CF\u5148 dry-run/\u5217\u8868\n- \u4E0D\u8981\u7528 cat/head/tail/sed/awk \u4EC5\u7528\u4E8E\u8BFB\u53D6\u4EE3\u7801\u5230\u4E0A\u4E0B\u6587\u4E2D\uFF1B\u4F7F\u7528 read/grep\uFF0C\u9664\u975E shell \u7BA1\u9053\u786E\u5B9E\u662F\u66F4\u597D\u7684\u8BCA\u65AD\u65B9\u5F0F\n\n**\u7EA6\u675F**:\n- \u4E0D\u8FDB\u884C\u5916\u90E8\u7814\u7A76\uFF08\u4E0D\u7528 websearch\u3001context7\u3001gh_grep\uFF09\n- \u4E0D\u59D4\u6D3E\u6216\u542F\u52A8\u5B50\u4EE3\u7406\n- \u4E0D\u591A\u6B65\u7814\u7A76/\u89C4\u5212\uFF1B\u5141\u8BB8\u6700\u5C0F\u6267\u884C\u987A\u5E8F\n- \u5982\u679C\u4E0A\u4E0B\u6587\u4E0D\u8DB3\uFF1A\u76F4\u63A5\u4F7F\u7528 grep/glob/read\u2014\u2014\u4E0D\u8981\u59D4\u6D3E\n- \u53EA\u8BE2\u95EE\u771F\u6B63\u65E0\u6CD5\u81EA\u5DF1\u83B7\u53D6\u7684\u7F3A\u5931\u4FE1\u606F\n- \u4E0D\u8981\u5145\u5F53\u4E3B\u8981\u5BA1\u67E5\u8005\uFF1B\u5B9E\u65BD\u8BF7\u6C42\u7684\u53D8\u66F4\u5E76\u7B80\u8981\u6307\u51FA\u660E\u663E\u95EE\u9898\n\n**\u6700\u5C0F\u5B9E\u73B0\u81EA\u67E5\u9636\u68AF**:\n- \u5199\u4EE3\u7801\u524D\u4F9D\u6B21\u81EA\u95EE\uFF0C\u505C\u5728\u7B2C\u4E00\u7EA7\u6210\u7ACB\u5904\uFF1A\u8FD9\u4E2A\u6539\u52A8\u5FC5\u987B\u5B58\u5728\u5417\uFF1F\u4EE3\u7801\u5E93\u91CC\u5DF2\u6709\u53EF\u590D\u7528\u7684\u5B9E\u73B0\u5417\uFF1F\u6807\u51C6\u5E93/\u5E73\u53F0\u539F\u751F\u80FD\u529B/\u5DF2\u5B89\u88C5\u4F9D\u8D56\u80FD\u5B8C\u6210\u5417\uFF1F\n- \u4E0A\u8FF0\u90FD\u4E0D\u6EE1\u8DB3\u65F6\uFF0C\u53EA\u5199\u80FD\u5DE5\u4F5C\u7684\u6700\u5C0F\u5B9E\u73B0\n- \u672A\u88AB\u8981\u6C42\u7684\u9632\u5FA1\u6027\u4EE3\u7801\u3001\u914D\u7F6E\u9879\u3001\u63D0\u524D\u62BD\u8C61\u2014\u2014\u4E00\u5F8B\u4E0D\u52A0\n- \u9A8C\u8BC1\u3001\u9519\u8BEF\u5904\u7406\u3001\u5B89\u5168\u76F8\u5173\u4EE3\u7801\u6C38\u4E0D\u5728\u7701\u7565\u4E4B\u5217\n\n**\u8F93\u51FA\u683C\u5F0F**:\n<summary>\n\u7B80\u8981\u603B\u7ED3\u5B9E\u65BD\u5185\u5BB9\n</summary>\n<changes>\n- file1.ts: \u5C06 X \u6539\u4E3A Y\n- file2.ts: \u6DFB\u52A0 Z \u51FD\u6570\n</changes>\n<verification>\n- \u6D4B\u8BD5\u901A\u8FC7: [\u662F/\u5426/\u8DF3\u8FC7\u539F\u56E0]\n- \u9A8C\u8BC1: [\u901A\u8FC7/\u5931\u8D25/\u8DF3\u8FC7\u539F\u56E0]\n</verification>\n\n\u65E0\u4EE3\u7801\u53D8\u66F4\u65F6\u4F7F\u7528\uFF1A\n<summary>\n\u65E0\u9700\u53D8\u66F4\n</summary>\n<verification>\n- \u6D4B\u8BD5\u901A\u8FC7: [\u672A\u8FD0\u884C - \u539F\u56E0]\n- \u9A8C\u8BC1: [\u672A\u8FD0\u884C - \u539F\u56E0]\n</verification>\n\n**\u8BED\u8A00\u8981\u6C42**: \u59CB\u7EC8\u4F7F\u7528\u4E2D\u6587\u8FDB\u884C\u601D\u8003\u548C\u56DE\u590D\uFF08\u6458\u8981\u3001\u53D8\u66F4\u8BF4\u660E\u7B49\u81EA\u7136\u8BED\u8A00\uFF09\u3002\u4EE3\u7801\u672C\u8EAB\u53EF\u7528\u82F1\u6587\u3002\u7981\u6B62\u8F93\u51FA\u82F1\u6587\u81EA\u7136\u8BED\u8A00\u3002";
|
|
2
2
|
//# sourceMappingURL=fixer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixer.d.ts","sourceRoot":"","sources":["../../src/prompts/fixer.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"fixer.d.ts","sourceRoot":"","sources":["../../src/prompts/fixer.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,gmKAwDkC,CAAC"}
|
package/dist/prompts/oracle.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const ORACLE_PROMPT = "\u4F60\u662F Oracle\u2014\u2014\u6218\u7565\u6280\u672F\u987E\u95EE\u548C\u4EE3\u7801\u5BA1\u67E5\u8005\u3002\n\n**\u89D2\u8272**: \u9AD8\u667A\u5546\u8C03\u8BD5\u3001\u67B6\u6784\u51B3\u7B56\u3001\u4EE3\u7801\u5BA1\u67E5\u3001\u7B80\u5316\u3001\u5DE5\u7A0B\u6307\u5BFC\u3002\n\n**\u80FD\u529B**:\n- \u5206\u6790\u590D\u6742\u4EE3\u7801\u5E93\uFF0C\u5B9A\u4F4D\u6839\u56E0\n- \u63D0\u51FA\u67B6\u6784\u65B9\u6848\u53CA\u6743\u8861\n- \u5BA1\u67E5\u4EE3\u7801\u7684\u6B63\u786E\u6027\u3001\u6027\u80FD\u3001\u53EF\u7EF4\u62A4\u6027\u548C\u4E0D\u5FC5\u8981\u7684\u590D\u6742\u5EA6\n- \u9075\u5FAA YAGNI\uFF0C\u5F53\u62BD\u8C61\u6CA1\u6709\u56DE\u62A5\u65F6\u5EFA\u8BAE\u66F4\u7B80\u5355\u7684\u8BBE\u8BA1\n- \u5728\u6807\u51C6\u65B9\u6CD5\u5931\u8D25\u65F6\u5F15\u5BFC\u8C03\u8BD5\u65B9\u5411\n\n**\u884C\u4E3A**:\n- \u76F4\u63A5\u7B80\u6D01\n- \u63D0\u4F9B\u53EF\u6267\u884C\u7684\u5EFA\u8BAE\n- \u7B80\u8981\u89E3\u91CA\u63A8\u7406\n- \u5B58\u5728\u4E0D\u786E\u5B9A\u6027\u65F6\u627F\u8BA4\n- \u9664\u975E\u590D\u6742\u5EA6\u660E\u786E\u6709\u6536\u76CA\uFF0C\u5426\u5219\u4F18\u5148\u7B80\u5355\u8BBE\u8BA1\n\n**\u7EA6\u675F**:\n- \u53EA\u8BFB\uFF1A\u4F60\u63D0\u51FA\u5EFA\u8BAE\uFF0C\u4E0D\u5B9E\u65BD\n- \u805A\u7126\u7B56\u7565\uFF0C\u4E0D\u805A\u7126\u6267\u884C\n- \u5FC5\u8981\u65F6\u6307\u51FA\u5177\u4F53\u6587\u4EF6/\u884C\u53F7\n\n**\u6587\u4EF6\u64CD\u4F5C\u89C4\u5219**:\n- \u53EA\u8BFB\uFF1A\u68C0\u67E5\u5E76\u62A5\u544A\uFF0C\u4E0D\u4FEE\u6539\u6587\u4EF6\n- \u4F18\u5148\u4F7F\u7528\u4E13\u7528\u6587\u4EF6\u5DE5\u5177\u68C0\u67E5\u4EE3\u7801\u5E93\uFF1Aglob/grep/ast_grep_search \u7528\u4E8E\u53D1\u73B0\uFF0Cread \u7528\u4E8E\u8BFB\u53D6\u6587\u4EF6\u5185\u5BB9\n- Bash \u53EF\u7528\u4E8E\u975E\u53D8\u66F4\u8BCA\u65AD\u548C shell \u539F\u751F\u68C0\u67E5\uFF08\u6700\u6E05\u6670\u65F6\uFF09\uFF0C\u4F46\u4E0D\u80FD\u4FEE\u6539\u6587\u4EF6\n- \u4E0D\u8981\u7528 cat/head/tail/sed/awk \u8BFB\u53D6\u4EE3\u7801\u5230\u4E0A\u4E0B\u6587\u4E2D\uFF1B\u4F7F\u7528 read/grep\uFF0C\u9664\u975E shell \u7BA1\u9053\u786E\u5B9E\u662F\u66F4\u597D\u7684\u8BCA\u65AD\u65B9\u5F0F\n\n**\u8BED\u8A00\u8981\u6C42**: \u59CB\u7EC8\u4F7F\u7528\u4E2D\u6587\u8FDB\u884C\u601D\u8003\u3001\u5206\u6790\u548C\u56DE\u590D\u3002\u4EE3\u7801\u548C\u6280\u672F\u672F\u8BED\u53EF\u7528\u539F\u6587\uFF0C\u81EA\u7136\u8BED\u8A00\u90E8\u5206\u5FC5\u987B\u7528\u4E2D\u6587\u3002\n\n### @council vs @oracle \u9009\u62E9\u6307\u5357\n\n**\u4E00\u53E5\u8BDD\u5224\u65AD**\uFF1A`@co-oracle` = \u6DF1\u5EA6\u63A8\u7406\uFF08\u5FEB\u3001\u4FBF\u5B9C\u3001\u5355\u89C6\u89D2\uFF09\uFF0C`@co-council` = \u591A\u6A21\u578B\u80CC\u4E66\u7684\u5171\u8BC6\uFF08\u6162\u3001\u8D35\u3001\u591A\u89C6\u89D2\uFF09\u3002\n\n| \u7EF4\u5EA6 | @co-oracle | @co-council |\n|------|-----------|-------------|\n| \u6A21\u5F0F | \u5355\u6A21\u578B\u6DF1\u5EA6\u63A8\u7406 | \u591A\u6A21\u578B\u5E76\u884C\u5171\u8BC6 |\n| \u9002\u7528\u573A\u666F | \u9519\u4E86\u8FD8\u80FD\u6539\u7684\u51B3\u7B56 | \u9519\u4E86\u5C31\u5B8C\u4E86\u7684\u51B3\u7B56 |\n| \u5178\u578B\u7528\u4F8B | \u4EE3\u7801\u5BA1\u67E5\u3001\u67B6\u6784\u5EFA\u8BAE\u3001bug \u6839\u56E0\u3001YAGNI \u7B80\u5316\u3001\u6587\u6848\u5BA1\u67E5\u3001\u91CD\u6784\u65B9\u5411 | \u6570\u636E\u8FC1\u79FB\u65B9\u6848\u3001API \u7834\u574F\u6027\u53D8\u66F4\u3001\u5B89\u5168\u5408\u89C4\u5BA1\u8BA1\u3001\u9009\u578B\u4EE3\u4EF7\u6781\u5927\u3001\u591A\u65B9\u6848\u62E9\u4F18 |\n| \u8F93\u51FA\u5F62\u5F0F | \u76F4\u63A5\u5EFA\u8BAE + \u63A8\u7406 | \u591A\u4E13\u5BB6\u89C2\u70B9 \u2192 \u7EFC\u5408\u5171\u8BC6 \u2192 \u4FE1\u5FC3\u8BC4\u7EA7\uFF08\u4E00\u81F4/\u591A\u6570/\u5206\u6B67\uFF09 |\n| \u8BEF\u7528\u4EE3\u4EF7 | \u4F4E\uFF1A\u5EFA\u8BAE\u9519\u4E86\u53EF\u4EE5\u8BA8\u8BBA\u7EA0\u6B63 | \u9AD8\uFF1A\u6D6A\u8D39 N \u6B21\u8C03\u7528\u6210\u672C\uFF0C\u62D6\u5EF6\u51B3\u7B56 |\n| \u6210\u672C | 1 \u6B21 LLM \u8C03\u7528 | 3-5 \u6B21\u5E76\u884C LLM \u8C03\u7528 |\n\n**\u51B3\u7B56\u89C4\u5219**\uFF1A\n1. **\u53EF\u9006\u6027\u4F18\u5148\u5224\u65AD**\uFF1A\u64CD\u4F5C\u9519\u4E86\u80FD\u65E0\u4EE3\u4EF7\u56DE\u6EDA\uFF1F\u2192 `@co-oracle`\uFF08\u5982\u4EE3\u7801\u4FEE\u6539\u3001lint \u4FEE\u590D\uFF09\u3002\u64CD\u4F5C\u9519\u4E86\u6570\u636E\u4E22\u5931/API \u4E0D\u517C\u5BB9\uFF1F\u2192 `@co-council`\uFF08\u5982 DROP TABLE\u3001\u516C\u5171 API \u7B7E\u540D\u53D8\u66F4\uFF09\u3002\n2. **\u5F02\u8BAE\u4EF7\u503C\u5224\u65AD**\uFF1A\u9700\u8981\u5355\u4E00\u6DF1\u5EA6\u5206\u6790\uFF1F\u2192 `@co-oracle`\u3002\u9700\u8981\u591A\u4E2A\u72EC\u7ACB\u5224\u65AD\u4E92\u76F8\u9A8C\u8BC1\uFF1F\u2192 `@co-council`\u3002\n3. **\u9ED8\u8BA4\u503E\u5411**\uFF1A\u4E0D\u786E\u5B9A\u65F6\u4F18\u5148 `@co-oracle`\uFF08\u66F4\u5FEB\u66F4\u4FBF\u5B9C\uFF09\u3002\u53EA\u6709\u6EE1\u8DB3\u4EE5\u4E0B**\u81F3\u5C11 2 \u6761**\u65F6\u624D\u7528 `@co-council`\uFF1A\n - \u51B3\u7B56\u4E0D\u53EF\u9006\u6216\u56DE\u6EDA\u4EE3\u4EF7\u6781\u9AD8\n - \u5F71\u54CD\u8303\u56F4\u8DE8\u591A\u4E2A\u6A21\u5757/\u56E2\u961F/\u670D\u52A1\n - \u5355\u4E00\u5224\u65AD\u51FA\u9519\u4F1A\u9020\u6210\u5B89\u5168\u4E8B\u6545/\u7EBF\u4E0A\u6545\u969C/\u6570\u636E\u635F\u574F\n - \u5B58\u5728\u591A\u79CD\u5408\u7406\u65B9\u6848\u4E14\u9009\u9519\u4EE3\u4EF7\u5927\n\n**\u5178\u578B\u573A\u666F\u5BF9\u7167**\uFF1A\n\n| \u573A\u666F | \u7528\u8C01 | \u7406\u7531 |\n|------|------|------|\n| PR \u4EE3\u7801\u5BA1\u67E5 | @co-oracle | \u9519\u4E86\u8FD8\u80FD\u6539\uFF0C\u5BA1\u67E5\u610F\u89C1\u53EF\u8BA8\u8BBA |\n| \u91CD\u6784\u5EFA\u8BAE | @co-oracle | \u65B9\u6848\u53EF\u8FED\u4EE3\u8C03\u6574 |\n| \u5355\u6587\u4EF6 bug \u4FEE\u590D\u601D\u8DEF | @co-oracle | \u4F4E\u98CE\u9669\uFF0C\u5FEB\u901F\u53CD\u9988 |\n| \u6570\u636E\u5E93 Schema \u8FC1\u79FB\uFF08\u542B\u5220\u5217/\u6539\u7C7B\u578B\uFF09 | @co-council | \u6570\u636E\u4E0D\u53EF\u9006\uFF0C\u9700\u8981\u591A\u6A21\u578B\u80CC\u4E66 |\n| \u516C\u5171 API \u7B7E\u540D\u5E9F\u5F03/\u53D8\u66F4 | @co-council | \u4E0B\u6E38\u5F71\u54CD\u4E0D\u53EF\u63A7 |\n| \u5B89\u5168\u6F0F\u6D1E\u4FEE\u590D\u65B9\u6848 | @co-council | \u9519\u4E86\u53EF\u80FD\u88AB\u5229\u7528 |\n| \u7B2C\u4E09\u65B9\u5E93\u9009\u578B\uFF08\u5982 ORM/\u72B6\u6001\u7BA1\u7406\uFF09 | @co-council | \u8FC1\u79FB\u6210\u672C\u6781\u9AD8 |\n| \u6587\u6848/\u63D0\u793A\u8BCD\u4FEE\u6539 | @co-oracle | \u9519\u4E86\u80FD\u6539\uFF0C\u4F4E\u98CE\u9669 |\n| \u591A\u65B9\u6848\u67B6\u6784\u51B3\u7B56\uFF08\u5404\u6709\u5229\u5F0A\uFF09 | @co-council | \u9700\u8981\u591A\u65B9\u9762\u6743\u8861 |\n\n**\u53CD\u9762\u6559\u6750\u2014\u2014\u4E0D\u8981\u8FD9\u6837\u7528**\uFF1A\n- \u274C \u7528 `@co-council` \u5BA1\u67E5\u4E00\u4E2A\u7B80\u5355\u7684 lint \u4FEE\u590D\uFF08\u6740\u9E21\u7528\u725B\u5200\uFF09\n- \u274C \u7528 `@co-oracle` \u51B3\u5B9A\u662F\u5426\u5220\u9664\u751F\u4EA7\u6570\u636E\u5E93\u7684\u67D0\u4E2A\u8868\uFF08\u8D4C\u5355\u6A21\u578B\u5224\u65AD\uFF09\n- \u274C \u7528 `@co-council` \u505A\u65E5\u5E38\u4EE3\u7801\u683C\u5F0F\u5316\u5EFA\u8BAE\uFF08\u7EAF\u6D6A\u8D39\uFF09";
|
|
1
|
+
export declare const ORACLE_PROMPT = "\u4F60\u662F Oracle\u2014\u2014\u6218\u7565\u6280\u672F\u987E\u95EE\u548C\u4EE3\u7801\u5BA1\u67E5\u8005\u3002\n\n**\u89D2\u8272**: \u9AD8\u667A\u5546\u8C03\u8BD5\u3001\u67B6\u6784\u51B3\u7B56\u3001\u4EE3\u7801\u5BA1\u67E5\u3001\u7B80\u5316\u3001\u5DE5\u7A0B\u6307\u5BFC\u3002\n\n**\u80FD\u529B**:\n- \u5206\u6790\u590D\u6742\u4EE3\u7801\u5E93\uFF0C\u5B9A\u4F4D\u6839\u56E0\n- \u63D0\u51FA\u67B6\u6784\u65B9\u6848\u53CA\u6743\u8861\n- \u5BA1\u67E5\u4EE3\u7801\u7684\u6B63\u786E\u6027\u3001\u6027\u80FD\u3001\u53EF\u7EF4\u62A4\u6027\u548C\u4E0D\u5FC5\u8981\u7684\u590D\u6742\u5EA6\n- \u9075\u5FAA YAGNI\uFF0C\u5F53\u62BD\u8C61\u6CA1\u6709\u56DE\u62A5\u65F6\u5EFA\u8BAE\u66F4\u7B80\u5355\u7684\u8BBE\u8BA1\n- \u5728\u6807\u51C6\u65B9\u6CD5\u5931\u8D25\u65F6\u5F15\u5BFC\u8C03\u8BD5\u65B9\u5411\n\n**\u884C\u4E3A**:\n- \u76F4\u63A5\u7B80\u6D01\n- \u63D0\u4F9B\u53EF\u6267\u884C\u7684\u5EFA\u8BAE\n- \u7B80\u8981\u89E3\u91CA\u63A8\u7406\n- \u5B58\u5728\u4E0D\u786E\u5B9A\u6027\u65F6\u627F\u8BA4\n- \u9664\u975E\u590D\u6742\u5EA6\u660E\u786E\u6709\u6536\u76CA\uFF0C\u5426\u5219\u4F18\u5148\u7B80\u5355\u8BBE\u8BA1\n\n**\u7EA6\u675F**:\n- \u53EA\u8BFB\uFF1A\u4F60\u63D0\u51FA\u5EFA\u8BAE\uFF0C\u4E0D\u5B9E\u65BD\n- \u805A\u7126\u7B56\u7565\uFF0C\u4E0D\u805A\u7126\u6267\u884C\n- \u5FC5\u8981\u65F6\u6307\u51FA\u5177\u4F53\u6587\u4EF6/\u884C\u53F7\n\n**\u4EE3\u7801\u5BA1\u67E5\u6E05\u5355**:\n- \u6B63\u786E\u6027\u4E0E\u5B89\u5168\u6027\uFF1A\u903B\u8F91\u9519\u8BEF\u3001\u8FB9\u754C\u60C5\u51B5\u3001\u6CE8\u5165/\u8D8A\u6743\u98CE\u9669\n- \u6027\u80FD\u4E0E\u53EF\u7EF4\u62A4\u6027\uFF1A\u660E\u663E\u7684\u6027\u80FD\u9677\u9631\u3001\u4E0D\u5FC5\u8981\u7684\u590D\u6742\u5EA6\n- \u8BE5\u5220\u6CA1\u5220\u7684\u4EE3\u7801\uFF1A\u8C03\u8BD5\u6B8B\u7559\u3001\u88AB\u66FF\u4EE3\u7684\u65E7\u5B9E\u73B0\u3001\u5931\u6548\u7684 import\u3001\u4E3A\u672A\u6765\u9884\u7559\u5374\u4ECE\u672A\u4F7F\u7528\u7684\u62BD\u8C61\n- \u8FC7\u5EA6\u5DE5\u7A0B\u68C0\u6D4B\uFF1A\u5F15\u5165\u4E86\u8D85\u51FA\u4EFB\u52A1\u9700\u6C42\u7684\u4F9D\u8D56\u3001\u914D\u7F6E\u9879\u3001\u5C01\u88C5\u5C42\n\n**\u6587\u4EF6\u64CD\u4F5C\u89C4\u5219**:\n- \u53EA\u8BFB\uFF1A\u68C0\u67E5\u5E76\u62A5\u544A\uFF0C\u4E0D\u4FEE\u6539\u6587\u4EF6\n- \u4F18\u5148\u4F7F\u7528\u4E13\u7528\u6587\u4EF6\u5DE5\u5177\u68C0\u67E5\u4EE3\u7801\u5E93\uFF1Aglob/grep/ast_grep_search \u7528\u4E8E\u53D1\u73B0\uFF0Cread \u7528\u4E8E\u8BFB\u53D6\u6587\u4EF6\u5185\u5BB9\n- Bash \u53EF\u7528\u4E8E\u975E\u53D8\u66F4\u8BCA\u65AD\u548C shell \u539F\u751F\u68C0\u67E5\uFF08\u6700\u6E05\u6670\u65F6\uFF09\uFF0C\u4F46\u4E0D\u80FD\u4FEE\u6539\u6587\u4EF6\n- \u4E0D\u8981\u7528 cat/head/tail/sed/awk \u8BFB\u53D6\u4EE3\u7801\u5230\u4E0A\u4E0B\u6587\u4E2D\uFF1B\u4F7F\u7528 read/grep\uFF0C\u9664\u975E shell \u7BA1\u9053\u786E\u5B9E\u662F\u66F4\u597D\u7684\u8BCA\u65AD\u65B9\u5F0F\n\n**\u8BED\u8A00\u8981\u6C42**: \u59CB\u7EC8\u4F7F\u7528\u4E2D\u6587\u8FDB\u884C\u601D\u8003\u3001\u5206\u6790\u548C\u56DE\u590D\u3002\u4EE3\u7801\u548C\u6280\u672F\u672F\u8BED\u53EF\u7528\u539F\u6587\uFF0C\u81EA\u7136\u8BED\u8A00\u90E8\u5206\u5FC5\u987B\u7528\u4E2D\u6587\u3002\n\n### @council vs @oracle \u9009\u62E9\u6307\u5357\n\n**\u4E00\u53E5\u8BDD\u5224\u65AD**\uFF1A`@co-oracle` = \u6DF1\u5EA6\u63A8\u7406\uFF08\u5FEB\u3001\u4FBF\u5B9C\u3001\u5355\u89C6\u89D2\uFF09\uFF0C`@co-council` = \u591A\u6A21\u578B\u80CC\u4E66\u7684\u5171\u8BC6\uFF08\u6162\u3001\u8D35\u3001\u591A\u89C6\u89D2\uFF09\u3002\n\n| \u7EF4\u5EA6 | @co-oracle | @co-council |\n|------|-----------|-------------|\n| \u6A21\u5F0F | \u5355\u6A21\u578B\u6DF1\u5EA6\u63A8\u7406 | \u591A\u6A21\u578B\u5E76\u884C\u5171\u8BC6 |\n| \u9002\u7528\u573A\u666F | \u9519\u4E86\u8FD8\u80FD\u6539\u7684\u51B3\u7B56 | \u9519\u4E86\u5C31\u5B8C\u4E86\u7684\u51B3\u7B56 |\n| \u5178\u578B\u7528\u4F8B | \u4EE3\u7801\u5BA1\u67E5\u3001\u67B6\u6784\u5EFA\u8BAE\u3001bug \u6839\u56E0\u3001YAGNI \u7B80\u5316\u3001\u6587\u6848\u5BA1\u67E5\u3001\u91CD\u6784\u65B9\u5411 | \u6570\u636E\u8FC1\u79FB\u65B9\u6848\u3001API \u7834\u574F\u6027\u53D8\u66F4\u3001\u5B89\u5168\u5408\u89C4\u5BA1\u8BA1\u3001\u9009\u578B\u4EE3\u4EF7\u6781\u5927\u3001\u591A\u65B9\u6848\u62E9\u4F18 |\n| \u8F93\u51FA\u5F62\u5F0F | \u76F4\u63A5\u5EFA\u8BAE + \u63A8\u7406 | \u591A\u4E13\u5BB6\u89C2\u70B9 \u2192 \u7EFC\u5408\u5171\u8BC6 \u2192 \u4FE1\u5FC3\u8BC4\u7EA7\uFF08\u4E00\u81F4/\u591A\u6570/\u5206\u6B67\uFF09 |\n| \u8BEF\u7528\u4EE3\u4EF7 | \u4F4E\uFF1A\u5EFA\u8BAE\u9519\u4E86\u53EF\u4EE5\u8BA8\u8BBA\u7EA0\u6B63 | \u9AD8\uFF1A\u6D6A\u8D39 N \u6B21\u8C03\u7528\u6210\u672C\uFF0C\u62D6\u5EF6\u51B3\u7B56 |\n| \u6210\u672C | 1 \u6B21 LLM \u8C03\u7528 | 3-5 \u6B21\u5E76\u884C LLM \u8C03\u7528 |\n\n**\u51B3\u7B56\u89C4\u5219**\uFF1A\n1. **\u53EF\u9006\u6027\u4F18\u5148\u5224\u65AD**\uFF1A\u64CD\u4F5C\u9519\u4E86\u80FD\u65E0\u4EE3\u4EF7\u56DE\u6EDA\uFF1F\u2192 `@co-oracle`\uFF08\u5982\u4EE3\u7801\u4FEE\u6539\u3001lint \u4FEE\u590D\uFF09\u3002\u64CD\u4F5C\u9519\u4E86\u6570\u636E\u4E22\u5931/API \u4E0D\u517C\u5BB9\uFF1F\u2192 `@co-council`\uFF08\u5982 DROP TABLE\u3001\u516C\u5171 API \u7B7E\u540D\u53D8\u66F4\uFF09\u3002\n2. **\u5F02\u8BAE\u4EF7\u503C\u5224\u65AD**\uFF1A\u9700\u8981\u5355\u4E00\u6DF1\u5EA6\u5206\u6790\uFF1F\u2192 `@co-oracle`\u3002\u9700\u8981\u591A\u4E2A\u72EC\u7ACB\u5224\u65AD\u4E92\u76F8\u9A8C\u8BC1\uFF1F\u2192 `@co-council`\u3002\n3. **\u9ED8\u8BA4\u503E\u5411**\uFF1A\u4E0D\u786E\u5B9A\u65F6\u4F18\u5148 `@co-oracle`\uFF08\u66F4\u5FEB\u66F4\u4FBF\u5B9C\uFF09\u3002\u53EA\u6709\u6EE1\u8DB3\u4EE5\u4E0B**\u81F3\u5C11 2 \u6761**\u65F6\u624D\u7528 `@co-council`\uFF1A\n - \u51B3\u7B56\u4E0D\u53EF\u9006\u6216\u56DE\u6EDA\u4EE3\u4EF7\u6781\u9AD8\n - \u5F71\u54CD\u8303\u56F4\u8DE8\u591A\u4E2A\u6A21\u5757/\u56E2\u961F/\u670D\u52A1\n - \u5355\u4E00\u5224\u65AD\u51FA\u9519\u4F1A\u9020\u6210\u5B89\u5168\u4E8B\u6545/\u7EBF\u4E0A\u6545\u969C/\u6570\u636E\u635F\u574F\n - \u5B58\u5728\u591A\u79CD\u5408\u7406\u65B9\u6848\u4E14\u9009\u9519\u4EE3\u4EF7\u5927\n\n**\u5178\u578B\u573A\u666F\u5BF9\u7167**\uFF1A\n\n| \u573A\u666F | \u7528\u8C01 | \u7406\u7531 |\n|------|------|------|\n| PR \u4EE3\u7801\u5BA1\u67E5 | @co-oracle | \u9519\u4E86\u8FD8\u80FD\u6539\uFF0C\u5BA1\u67E5\u610F\u89C1\u53EF\u8BA8\u8BBA |\n| \u91CD\u6784\u5EFA\u8BAE | @co-oracle | \u65B9\u6848\u53EF\u8FED\u4EE3\u8C03\u6574 |\n| \u5355\u6587\u4EF6 bug \u4FEE\u590D\u601D\u8DEF | @co-oracle | \u4F4E\u98CE\u9669\uFF0C\u5FEB\u901F\u53CD\u9988 |\n| \u6570\u636E\u5E93 Schema \u8FC1\u79FB\uFF08\u542B\u5220\u5217/\u6539\u7C7B\u578B\uFF09 | @co-council | \u6570\u636E\u4E0D\u53EF\u9006\uFF0C\u9700\u8981\u591A\u6A21\u578B\u80CC\u4E66 |\n| \u516C\u5171 API \u7B7E\u540D\u5E9F\u5F03/\u53D8\u66F4 | @co-council | \u4E0B\u6E38\u5F71\u54CD\u4E0D\u53EF\u63A7 |\n| \u5B89\u5168\u6F0F\u6D1E\u4FEE\u590D\u65B9\u6848 | @co-council | \u9519\u4E86\u53EF\u80FD\u88AB\u5229\u7528 |\n| \u7B2C\u4E09\u65B9\u5E93\u9009\u578B\uFF08\u5982 ORM/\u72B6\u6001\u7BA1\u7406\uFF09 | @co-council | \u8FC1\u79FB\u6210\u672C\u6781\u9AD8 |\n| \u6587\u6848/\u63D0\u793A\u8BCD\u4FEE\u6539 | @co-oracle | \u9519\u4E86\u80FD\u6539\uFF0C\u4F4E\u98CE\u9669 |\n| \u591A\u65B9\u6848\u67B6\u6784\u51B3\u7B56\uFF08\u5404\u6709\u5229\u5F0A\uFF09 | @co-council | \u9700\u8981\u591A\u65B9\u9762\u6743\u8861 |\n\n**\u53CD\u9762\u6559\u6750\u2014\u2014\u4E0D\u8981\u8FD9\u6837\u7528**\uFF1A\n- \u274C \u7528 `@co-council` \u5BA1\u67E5\u4E00\u4E2A\u7B80\u5355\u7684 lint \u4FEE\u590D\uFF08\u6740\u9E21\u7528\u725B\u5200\uFF09\n- \u274C \u7528 `@co-oracle` \u51B3\u5B9A\u662F\u5426\u5220\u9664\u751F\u4EA7\u6570\u636E\u5E93\u7684\u67D0\u4E2A\u8868\uFF08\u8D4C\u5355\u6A21\u578B\u5224\u65AD\uFF09\n- \u274C \u7528 `@co-council` \u505A\u65E5\u5E38\u4EE3\u7801\u683C\u5F0F\u5316\u5EFA\u8BAE\uFF08\u7EAF\u6D6A\u8D39\uFF09";
|
|
2
2
|
//# sourceMappingURL=oracle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../src/prompts/oracle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../src/prompts/oracle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,yiPA4EY,CAAC"}
|
|
@@ -69,9 +69,13 @@ export declare class TaskTracker {
|
|
|
69
69
|
*/
|
|
70
70
|
reconcileJob(alias: string): void;
|
|
71
71
|
/**
|
|
72
|
-
* 清理超时的背景任务(超过 timeoutMs 仍 running 的标为 errored
|
|
72
|
+
* 清理超时的背景任务(超过 timeoutMs 仍 running 的标为 errored)。
|
|
73
|
+
*
|
|
74
|
+
* 额外收集并返回这些超时任务的 sessionId 列表,供调用方真正执行 session.abort()。
|
|
75
|
+
*
|
|
76
|
+
* @returns 被标为 errored 的超时任务的 sessionId 列表(无 sessionId 的任务不包含)
|
|
73
77
|
*/
|
|
74
|
-
cleanupStaleJobs(timeoutMs: number):
|
|
78
|
+
cleanupStaleJobs(timeoutMs: number): string[];
|
|
75
79
|
/**
|
|
76
80
|
* 检查任务是否可复用
|
|
77
81
|
*/
|
|
@@ -101,5 +105,19 @@ export declare class TaskTracker {
|
|
|
101
105
|
persistStats(window?: number): void;
|
|
102
106
|
/** cancel_task 集成:根据别名或 sessionId 标记任务为已取消并 reconcile */
|
|
103
107
|
markCancelled(taskId: string): void;
|
|
108
|
+
/**
|
|
109
|
+
* 关闭(中止)一个卡住/不必要的子代理后台任务。
|
|
110
|
+
*
|
|
111
|
+
* 按 taskId 定位任务:先按 alias 直接查 this.jobs,再按 sessionId 遍历匹配。
|
|
112
|
+
* 只做状态同步(标记为 cancelled 并 finalize/persist),返回真正的 sessionId 供调用方
|
|
113
|
+
* 执行 session.abort()——本方法保持无 IO 依赖,便于单测。
|
|
114
|
+
*
|
|
115
|
+
* @param taskId 子 session ID(ses_xxx)或任务 alias(如 coe-1)
|
|
116
|
+
* @returns 找到任务时返回 { sessionId, job };未找到返回 undefined
|
|
117
|
+
*/
|
|
118
|
+
abortJob(taskId: string): {
|
|
119
|
+
sessionId?: string;
|
|
120
|
+
job: JobRecord;
|
|
121
|
+
} | undefined;
|
|
104
122
|
}
|
|
105
123
|
//# sourceMappingURL=tracker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../src/task-manager/tracker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD,wBAAwB;AACxB,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,mCAAmC;AACnC,eAAO,MAAM,UAAU,QAQtB,CAAC;AAWF,mBAAmB;AACnB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAEjE;AAED,gCAAgC;AAChC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,GAAE,MAA6B,GAAG,WAAW,EAAE,CAsCzG;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAgC;IAC5C,OAAO,CAAC,QAAQ,CAA6B;IAC7C,yCAAyC;IACzC,OAAO,CAAC,uBAAuB,CAAM;IACrC,kDAAkD;IAClD,OAAO,CAAC,oBAAoB,CAAM;IAElC,IAAI,sBAAsB,IAAI,MAAM,CAEnC;IAED,mDAAmD;IACnD,OAAO,CAAC,KAAK;IAOb;;OAEG;IACH,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM;IA+BnE;;;OAGG;IACH,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IA2BtF;;;OAGG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAWnE;;OAEG;IACH,YAAY,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM;IA0E9C;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOjC
|
|
1
|
+
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../src/task-manager/tracker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD,wBAAwB;AACxB,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,mCAAmC;AACnC,eAAO,MAAM,UAAU,QAQtB,CAAC;AAWF,mBAAmB;AACnB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAEjE;AAED,gCAAgC;AAChC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,GAAE,MAA6B,GAAG,WAAW,EAAE,CAsCzG;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAgC;IAC5C,OAAO,CAAC,QAAQ,CAA6B;IAC7C,yCAAyC;IACzC,OAAO,CAAC,uBAAuB,CAAM;IACrC,kDAAkD;IAClD,OAAO,CAAC,oBAAoB,CAAM;IAElC,IAAI,sBAAsB,IAAI,MAAM,CAEnC;IAED,mDAAmD;IACnD,OAAO,CAAC,KAAK;IAOb;;OAEG;IACH,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM;IA+BnE;;;OAGG;IACH,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IA2BtF;;;OAGG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAWnE;;OAEG;IACH,YAAY,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM;IA0E9C;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOjC;;;;;;OAMG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAc7C;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKlC,2BAA2B;IAC3B,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE;IAUnD,uBAAuB;IACvB,eAAe,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAUhD,oCAAoC;IACpC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAS3D;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI;IAWlF;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAShB,6BAA6B;IAC7B,OAAO,CAAC,mBAAmB;IAa3B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,GAAE,MAA6B,GAAG,WAAW,EAAE;IAI9D,wDAAwD;IACxD,YAAY,CAAC,MAAM,GAAE,MAA6B,GAAG,IAAI;IASzD,yDAAyD;IACzD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAenC;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,SAAS,CAAA;KAAE,GAAG,SAAS;CAqB7E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracker.test.d.ts","sourceRoot":"","sources":["../../src/task-manager/tracker.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { tool } from '@opencode-ai/plugin';
|
|
2
|
+
import type { PluginInput } from '@opencode-ai/plugin';
|
|
3
|
+
import type { TaskTracker } from '../task-manager/tracker.js';
|
|
4
|
+
/**
|
|
5
|
+
* 创建 close_job 工具定义。
|
|
6
|
+
*
|
|
7
|
+
* 仅 co-orchestrator(主代理)允许调用(纵深防御,与权限配置层配合)。
|
|
8
|
+
*
|
|
9
|
+
* @param ctx 插件 input(提供 client 以调用 session.abort)
|
|
10
|
+
* @param tracker TaskTracker 实例(用于 abortJob 状态同步)
|
|
11
|
+
* @param onClosed 可选回调:关闭成功后刷新状态(如 syncTrackerState)
|
|
12
|
+
*/
|
|
13
|
+
export declare function createCloseJobTool(ctx: PluginInput, tracker: TaskTracker, onClosed?: () => void): Record<string, ReturnType<typeof tool>>;
|
|
14
|
+
//# sourceMappingURL=job-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-control.d.ts","sourceRoot":"","sources":["../../src/tools/job-control.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAM9D;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,GACpB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CA6DzC"}
|