@liangjie559567/ultrapower 7.0.3 → 7.0.5
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +4 -0
- package/bridge/mcp-server.cjs +117 -68
- package/dist/hooks/autopilot/cancel.d.ts.map +1 -1
- package/dist/hooks/autopilot/cancel.js +15 -15
- package/dist/hooks/autopilot/cancel.js.map +1 -1
- package/dist/hooks/autopilot/enforcement.js +12 -12
- package/dist/hooks/autopilot/enforcement.js.map +1 -1
- package/dist/hooks/autopilot/state.d.ts.map +1 -1
- package/dist/hooks/autopilot/state.js +28 -30
- package/dist/hooks/autopilot/state.js.map +1 -1
- package/dist/hooks/bridge-types.d.ts +2 -0
- package/dist/hooks/bridge-types.d.ts.map +1 -1
- package/dist/hooks/bridge-types.js.map +1 -1
- package/dist/hooks/handlers/route-map.d.ts.map +1 -1
- package/dist/hooks/handlers/route-map.js +15 -0
- package/dist/hooks/handlers/route-map.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/mode-cancel-sync.d.ts.map +1 -1
- package/dist/hooks/mode-cancel-sync.js +11 -12
- package/dist/hooks/mode-cancel-sync.js.map +1 -1
- package/dist/hooks/persistent-mode/index.js +2 -2
- package/dist/hooks/persistent-mode/index.js.map +1 -1
- package/dist/hooks/ralph/loop.d.ts.map +1 -1
- package/dist/hooks/ralph/loop.js +7 -8
- package/dist/hooks/ralph/loop.js.map +1 -1
- package/dist/hooks/ralph/verifier.js +11 -11
- package/dist/hooks/ralph/verifier.js.map +1 -1
- package/dist/hooks/ultrawork/index.d.ts.map +1 -1
- package/dist/hooks/ultrawork/index.js +7 -4
- package/dist/hooks/ultrawork/index.js.map +1 -1
- package/dist/hooks/validation.d.ts.map +1 -1
- package/dist/hooks/validation.js +2 -0
- package/dist/hooks/validation.js.map +1 -1
- package/dist/hooks/workflow-gate/index.d.ts +116 -0
- package/dist/hooks/workflow-gate/index.d.ts.map +1 -0
- package/dist/hooks/workflow-gate/index.js +352 -0
- package/dist/hooks/workflow-gate/index.js.map +1 -0
- package/dist/lib/state-cache.d.ts +8 -5
- package/dist/lib/state-cache.d.ts.map +1 -1
- package/dist/lib/state-cache.js +26 -16
- package/dist/lib/state-cache.js.map +1 -1
- package/dist/mcp/adapters/state-adapter.d.ts +8 -8
- package/dist/team/index.d.ts +1 -0
- package/dist/team/index.d.ts.map +1 -1
- package/dist/team/index.js +1 -0
- package/dist/team/index.js.map +1 -1
- package/dist/team/workflow-integration.d.ts +8 -0
- package/dist/team/workflow-integration.d.ts.map +1 -0
- package/dist/team/workflow-integration.js +62 -0
- package/dist/team/workflow-integration.js.map +1 -0
- package/dist/tools/lsp/client.d.ts +8 -2
- package/dist/tools/lsp/client.d.ts.map +1 -1
- package/dist/tools/lsp/client.js +114 -70
- package/dist/tools/lsp/client.js.map +1 -1
- package/dist/tools/lsp-tools.d.ts.map +1 -1
- package/dist/tools/lsp-tools.js +1 -4
- package/dist/tools/lsp-tools.js.map +1 -1
- package/docs/REFERENCE.md +3 -0
- package/package.json +1 -1
- package/skills/brainstorming/SKILL.md +57 -14
- package/skills/omc-doctor/SKILL.md +45 -0
- package/skills/team/SKILL.md +12 -0
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
{
|
|
9
9
|
"name": "ultrapower",
|
|
10
10
|
"description": "Disciplined multi-agent orchestration: workflow enforcement + parallel execution",
|
|
11
|
-
"version": "7.0.
|
|
11
|
+
"version": "7.0.5",
|
|
12
12
|
"source": {
|
|
13
13
|
"source": "npm",
|
|
14
14
|
"package": "@liangjie559567/ultrapower",
|
|
15
|
-
"version": "7.0.
|
|
15
|
+
"version": "7.0.5"
|
|
16
16
|
},
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "liangjie559567"
|
package/README.md
CHANGED
|
@@ -53,6 +53,8 @@ graph TB
|
|
|
53
53
|
/ultrapower:omc-setup
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
+
> **Windows 用户注意**:如果安装后 HUD 不显示,运行 `/ultrapower:omc-doctor` 检查路径格式。Claude Code 要求配置文件中使用正斜杠(`C:/Users/...`)而非反斜杠。
|
|
57
|
+
|
|
56
58
|
### 验证安装
|
|
57
59
|
|
|
58
60
|
```bash
|
|
@@ -79,6 +81,8 @@ autopilot "创建一个 hello world 函数"
|
|
|
79
81
|
|
|
80
82
|
## 基础工作流
|
|
81
83
|
|
|
84
|
+
> **🛡️ 工作流门禁系统**:ultrapower 自动强制执行 superpowers 工作流纪律。尝试跳过必要步骤时,系统会自动注入对应 skill 并显示警告。
|
|
85
|
+
|
|
82
86
|
1. **brainstorming** — 代码前必须先设计。通过对话细化需求,探索 2-3 种方案,呈现设计并获批准,保存设计文档。
|
|
83
87
|
|
|
84
88
|
1. **using-git-worktrees** — 设计批准后创建隔离工作区,新建分支,运行项目初始化,验证测试基线。
|
package/bridge/mcp-server.cjs
CHANGED
|
@@ -18084,6 +18084,47 @@ function getAllServers() {
|
|
|
18084
18084
|
|
|
18085
18085
|
// src/tools/lsp/client.ts
|
|
18086
18086
|
var MAX_BUFFER_BYTES = 64 * 1024 * 1024;
|
|
18087
|
+
var LANGUAGE_MAP = {
|
|
18088
|
+
"ts": "typescript",
|
|
18089
|
+
"tsx": "typescriptreact",
|
|
18090
|
+
"js": "javascript",
|
|
18091
|
+
"jsx": "javascriptreact",
|
|
18092
|
+
"mts": "typescript",
|
|
18093
|
+
"cts": "typescript",
|
|
18094
|
+
"mjs": "javascript",
|
|
18095
|
+
"cjs": "javascript",
|
|
18096
|
+
"py": "python",
|
|
18097
|
+
"rs": "rust",
|
|
18098
|
+
"go": "go",
|
|
18099
|
+
"c": "c",
|
|
18100
|
+
"h": "c",
|
|
18101
|
+
"cpp": "cpp",
|
|
18102
|
+
"cc": "cpp",
|
|
18103
|
+
"hpp": "cpp",
|
|
18104
|
+
"java": "java",
|
|
18105
|
+
"json": "json",
|
|
18106
|
+
"html": "html",
|
|
18107
|
+
"css": "css",
|
|
18108
|
+
"scss": "scss",
|
|
18109
|
+
"yaml": "yaml",
|
|
18110
|
+
"yml": "yaml",
|
|
18111
|
+
"php": "php",
|
|
18112
|
+
"phtml": "php",
|
|
18113
|
+
"rb": "ruby",
|
|
18114
|
+
"rake": "ruby",
|
|
18115
|
+
"gemspec": "ruby",
|
|
18116
|
+
"erb": "ruby",
|
|
18117
|
+
"lua": "lua",
|
|
18118
|
+
"kt": "kotlin",
|
|
18119
|
+
"kts": "kotlin",
|
|
18120
|
+
"ex": "elixir",
|
|
18121
|
+
"exs": "elixir",
|
|
18122
|
+
"heex": "elixir",
|
|
18123
|
+
"eex": "elixir",
|
|
18124
|
+
"cs": "csharp"
|
|
18125
|
+
};
|
|
18126
|
+
var workspaceRootCache = /* @__PURE__ */ new Map();
|
|
18127
|
+
var MAX_WORKSPACE_CACHE = 100;
|
|
18087
18128
|
function fileUri(filePath) {
|
|
18088
18129
|
return (0, import_url.pathToFileURL)((0, import_path2.resolve)(filePath)).href;
|
|
18089
18130
|
}
|
|
@@ -18091,9 +18132,11 @@ var LspClient = class {
|
|
|
18091
18132
|
process = null;
|
|
18092
18133
|
requestId = 0;
|
|
18093
18134
|
pendingRequests = /* @__PURE__ */ new Map();
|
|
18094
|
-
|
|
18135
|
+
bufferChunks = [];
|
|
18136
|
+
bufferOffset = 0;
|
|
18095
18137
|
openDocuments = /* @__PURE__ */ new Set();
|
|
18096
18138
|
diagnostics = /* @__PURE__ */ new Map();
|
|
18139
|
+
pendingDiagnostics = /* @__PURE__ */ new Map();
|
|
18097
18140
|
workspaceRoot;
|
|
18098
18141
|
serverConfig;
|
|
18099
18142
|
initialized = false;
|
|
@@ -18169,7 +18212,8 @@ Install with: ${this.serverConfig.installHint}`
|
|
|
18169
18212
|
* Handle incoming data from the server
|
|
18170
18213
|
*/
|
|
18171
18214
|
handleData(data) {
|
|
18172
|
-
|
|
18215
|
+
const totalLength = this.bufferChunks.reduce((sum, chunk) => sum + chunk.length, 0) - this.bufferOffset + data.length;
|
|
18216
|
+
if (totalLength > MAX_BUFFER_BYTES) {
|
|
18173
18217
|
console.error(
|
|
18174
18218
|
`[ultrapower] \u9519\u8BEF\uFF1ALSP \u7F13\u51B2\u533A\u8D85\u8FC7 ${MAX_BUFFER_BYTES} \u5B57\u8282\uFF0864MB\uFF09\u4E0A\u9650\uFF0C\u6B63\u5728\u65AD\u5F00\u8FDE\u63A5`
|
|
18175
18219
|
);
|
|
@@ -18177,24 +18221,27 @@ Install with: ${this.serverConfig.installHint}`
|
|
|
18177
18221
|
});
|
|
18178
18222
|
return;
|
|
18179
18223
|
}
|
|
18180
|
-
this.
|
|
18224
|
+
this.bufferChunks.push(data);
|
|
18181
18225
|
while (true) {
|
|
18182
|
-
const
|
|
18226
|
+
const buffer = this.bufferChunks.join("").slice(this.bufferOffset);
|
|
18227
|
+
const headerEnd = buffer.indexOf("\r\n\r\n");
|
|
18183
18228
|
if (headerEnd === -1) break;
|
|
18184
|
-
const header =
|
|
18229
|
+
const header = buffer.slice(0, headerEnd);
|
|
18185
18230
|
const contentLengthMatch = header.match(/Content-Length: (\d+)/i);
|
|
18186
18231
|
if (!contentLengthMatch) {
|
|
18187
|
-
this.
|
|
18232
|
+
this.bufferOffset += headerEnd + 4;
|
|
18188
18233
|
continue;
|
|
18189
18234
|
}
|
|
18190
18235
|
const contentLength = parseInt(contentLengthMatch[1], 10);
|
|
18191
18236
|
const messageStart = headerEnd + 4;
|
|
18192
18237
|
const messageEnd = messageStart + contentLength;
|
|
18193
|
-
if (
|
|
18194
|
-
|
|
18238
|
+
if (buffer.length < messageEnd) break;
|
|
18239
|
+
const messageJson = buffer.slice(messageStart, messageEnd);
|
|
18240
|
+
this.bufferOffset += messageEnd;
|
|
18241
|
+
if (this.bufferOffset > 8192) {
|
|
18242
|
+
this.bufferChunks = [buffer.slice(messageEnd)];
|
|
18243
|
+
this.bufferOffset = 0;
|
|
18195
18244
|
}
|
|
18196
|
-
const messageJson = this.buffer.slice(messageStart, messageEnd);
|
|
18197
|
-
this.buffer = this.buffer.slice(messageEnd);
|
|
18198
18245
|
try {
|
|
18199
18246
|
const message = JSON.parse(messageJson);
|
|
18200
18247
|
this.handleMessage(message);
|
|
@@ -18228,6 +18275,12 @@ Install with: ${this.serverConfig.installHint}`
|
|
|
18228
18275
|
if (notification.method === "textDocument/publishDiagnostics") {
|
|
18229
18276
|
const params = notification.params;
|
|
18230
18277
|
this.diagnostics.set(params.uri, params.diagnostics);
|
|
18278
|
+
const pending = this.pendingDiagnostics.get(params.uri);
|
|
18279
|
+
if (pending) {
|
|
18280
|
+
clearTimeout(pending.timeout);
|
|
18281
|
+
this.pendingDiagnostics.delete(params.uri);
|
|
18282
|
+
pending.resolve(params.diagnostics);
|
|
18283
|
+
}
|
|
18231
18284
|
}
|
|
18232
18285
|
}
|
|
18233
18286
|
/**
|
|
@@ -18323,7 +18376,7 @@ ${content}`;
|
|
|
18323
18376
|
}
|
|
18324
18377
|
});
|
|
18325
18378
|
this.openDocuments.add(uri);
|
|
18326
|
-
|
|
18379
|
+
return this.waitForDiagnostics(uri, 500);
|
|
18327
18380
|
}
|
|
18328
18381
|
/**
|
|
18329
18382
|
* Close a document
|
|
@@ -18341,46 +18394,25 @@ ${content}`;
|
|
|
18341
18394
|
*/
|
|
18342
18395
|
getLanguageId(filePath) {
|
|
18343
18396
|
const ext = filePath.split(".").pop()?.toLowerCase() || "";
|
|
18344
|
-
|
|
18345
|
-
|
|
18346
|
-
|
|
18347
|
-
|
|
18348
|
-
|
|
18349
|
-
|
|
18350
|
-
|
|
18351
|
-
|
|
18352
|
-
|
|
18353
|
-
|
|
18354
|
-
|
|
18355
|
-
|
|
18356
|
-
|
|
18357
|
-
|
|
18358
|
-
|
|
18359
|
-
|
|
18360
|
-
|
|
18361
|
-
|
|
18362
|
-
|
|
18363
|
-
"html": "html",
|
|
18364
|
-
"css": "css",
|
|
18365
|
-
"scss": "scss",
|
|
18366
|
-
"yaml": "yaml",
|
|
18367
|
-
"yml": "yaml",
|
|
18368
|
-
"php": "php",
|
|
18369
|
-
"phtml": "php",
|
|
18370
|
-
"rb": "ruby",
|
|
18371
|
-
"rake": "ruby",
|
|
18372
|
-
"gemspec": "ruby",
|
|
18373
|
-
"erb": "ruby",
|
|
18374
|
-
"lua": "lua",
|
|
18375
|
-
"kt": "kotlin",
|
|
18376
|
-
"kts": "kotlin",
|
|
18377
|
-
"ex": "elixir",
|
|
18378
|
-
"exs": "elixir",
|
|
18379
|
-
"heex": "elixir",
|
|
18380
|
-
"eex": "elixir",
|
|
18381
|
-
"cs": "csharp"
|
|
18382
|
-
};
|
|
18383
|
-
return langMap[ext] || ext;
|
|
18397
|
+
return LANGUAGE_MAP[ext] || ext;
|
|
18398
|
+
}
|
|
18399
|
+
/**
|
|
18400
|
+
* Wait for diagnostics to be published for a URI
|
|
18401
|
+
*/
|
|
18402
|
+
waitForDiagnostics(uri, timeout) {
|
|
18403
|
+
return new Promise((resolve6) => {
|
|
18404
|
+
const timeoutHandle = setTimeout(() => {
|
|
18405
|
+
this.pendingDiagnostics.delete(uri);
|
|
18406
|
+
resolve6();
|
|
18407
|
+
}, timeout);
|
|
18408
|
+
this.pendingDiagnostics.set(uri, {
|
|
18409
|
+
resolve: () => {
|
|
18410
|
+
clearTimeout(timeoutHandle);
|
|
18411
|
+
resolve6();
|
|
18412
|
+
},
|
|
18413
|
+
timeout: timeoutHandle
|
|
18414
|
+
});
|
|
18415
|
+
});
|
|
18384
18416
|
}
|
|
18385
18417
|
/**
|
|
18386
18418
|
* Convert file path to URI and ensure document is open
|
|
@@ -18592,25 +18624,38 @@ var LspClientManager = class {
|
|
|
18592
18624
|
}
|
|
18593
18625
|
}
|
|
18594
18626
|
/**
|
|
18595
|
-
* Find the workspace root for a file
|
|
18627
|
+
* Find the workspace root for a file (with LRU cache)
|
|
18596
18628
|
*/
|
|
18597
18629
|
findWorkspaceRoot(filePath) {
|
|
18598
|
-
|
|
18630
|
+
const resolved = (0, import_path2.resolve)(filePath);
|
|
18631
|
+
if (workspaceRootCache.has(resolved)) {
|
|
18632
|
+
const cached2 = workspaceRootCache.get(resolved);
|
|
18633
|
+
workspaceRootCache.delete(resolved);
|
|
18634
|
+
workspaceRootCache.set(resolved, cached2);
|
|
18635
|
+
return cached2;
|
|
18636
|
+
}
|
|
18637
|
+
let dir = (0, import_path2.dirname)(resolved);
|
|
18599
18638
|
const markers = ["package.json", "tsconfig.json", "pyproject.toml", "Cargo.toml", "go.mod", ".git"];
|
|
18600
18639
|
while (true) {
|
|
18601
18640
|
const parsed = (0, import_path2.parse)(dir);
|
|
18602
|
-
if (parsed.root === dir)
|
|
18603
|
-
break;
|
|
18604
|
-
}
|
|
18641
|
+
if (parsed.root === dir) break;
|
|
18605
18642
|
for (const marker of markers) {
|
|
18606
|
-
|
|
18607
|
-
|
|
18643
|
+
if ((0, import_fs.existsSync)((0, import_path2.join)(dir, marker))) {
|
|
18644
|
+
if (workspaceRootCache.size >= MAX_WORKSPACE_CACHE) {
|
|
18645
|
+
const firstKey = workspaceRootCache.keys().next().value;
|
|
18646
|
+
if (firstKey !== void 0) {
|
|
18647
|
+
workspaceRootCache.delete(firstKey);
|
|
18648
|
+
}
|
|
18649
|
+
}
|
|
18650
|
+
workspaceRootCache.set(resolved, dir);
|
|
18608
18651
|
return dir;
|
|
18609
18652
|
}
|
|
18610
18653
|
}
|
|
18611
18654
|
dir = (0, import_path2.dirname)(dir);
|
|
18612
18655
|
}
|
|
18613
|
-
|
|
18656
|
+
const fallback = (0, import_path2.dirname)(resolved);
|
|
18657
|
+
workspaceRootCache.set(resolved, fallback);
|
|
18658
|
+
return fallback;
|
|
18614
18659
|
}
|
|
18615
18660
|
/**
|
|
18616
18661
|
* Start periodic idle check
|
|
@@ -19225,7 +19270,6 @@ var lspDiagnosticsTool = {
|
|
|
19225
19270
|
const { file, severity } = args;
|
|
19226
19271
|
return withLspClient(file, "diagnostics", async (client) => {
|
|
19227
19272
|
await client.openDocument(file);
|
|
19228
|
-
await new Promise((resolve6) => setTimeout(resolve6, LSP_DIAGNOSTICS_WAIT_MS));
|
|
19229
19273
|
let diagnostics = client.getDiagnostics(file);
|
|
19230
19274
|
if (severity) {
|
|
19231
19275
|
const severityMap = {
|
|
@@ -22102,17 +22146,22 @@ function assertValidMode(mode) {
|
|
|
22102
22146
|
var import_fs8 = require("fs");
|
|
22103
22147
|
var stateCache = /* @__PURE__ */ new Map();
|
|
22104
22148
|
function readStateWithCache(path13, data, ttl = 5e3) {
|
|
22149
|
+
const now = Date.now();
|
|
22150
|
+
const cached2 = stateCache.get(path13);
|
|
22151
|
+
if (cached2 && now - cached2.cachedAt < ttl) {
|
|
22152
|
+
if (now - cached2.mtimeCheckedAt < 1e3) {
|
|
22153
|
+
return Object.freeze(cached2.data);
|
|
22154
|
+
}
|
|
22155
|
+
}
|
|
22105
22156
|
try {
|
|
22106
22157
|
const mtime = (0, import_fs8.statSync)(path13).mtimeMs;
|
|
22107
|
-
|
|
22108
|
-
|
|
22109
|
-
|
|
22110
|
-
return { ...cached2.data };
|
|
22111
|
-
}
|
|
22112
|
-
return cached2.data;
|
|
22158
|
+
if (cached2 && cached2.mtime === mtime) {
|
|
22159
|
+
cached2.mtimeCheckedAt = now;
|
|
22160
|
+
return Object.freeze(cached2.data);
|
|
22113
22161
|
}
|
|
22114
|
-
|
|
22115
|
-
|
|
22162
|
+
const frozenData = Object.freeze(data);
|
|
22163
|
+
stateCache.set(path13, { data: frozenData, mtime, cachedAt: now, mtimeCheckedAt: now });
|
|
22164
|
+
return frozenData;
|
|
22116
22165
|
} catch {
|
|
22117
22166
|
return data;
|
|
22118
22167
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../../src/hooks/autopilot/cancel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../../src/hooks/autopilot/cancel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAkElG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CA+ClF;AAED,qEAAqE;AACrE,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AAKrD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG;IACzE,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAqCA;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpF,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB,CAAC,CAwCD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAyBhE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAoClE"}
|
|
@@ -62,16 +62,15 @@ export async function cancelAutopilot(directory, sessionId) {
|
|
|
62
62
|
}
|
|
63
63
|
cleanedUp.push('ultraqa');
|
|
64
64
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
await writeAutopilotState(directory, state, sessionId);
|
|
65
|
+
const mutableState = { ...state, active: false };
|
|
66
|
+
await writeAutopilotState(directory, mutableState, sessionId);
|
|
68
67
|
const cleanupMsg = cleanedUp.length > 0
|
|
69
68
|
? ` Cleaned up: ${cleanedUp.join(', ')}.`
|
|
70
69
|
: '';
|
|
71
70
|
return {
|
|
72
71
|
success: true,
|
|
73
|
-
message: `Autopilot cancelled at phase: ${
|
|
74
|
-
preservedState:
|
|
72
|
+
message: `Autopilot cancelled at phase: ${mutableState.phase}.${cleanupMsg} Progress preserved for resume.`,
|
|
73
|
+
preservedState: mutableState
|
|
75
74
|
};
|
|
76
75
|
}
|
|
77
76
|
/**
|
|
@@ -188,15 +187,16 @@ export async function resumeAutopilot(directory, sessionId) {
|
|
|
188
187
|
message: `Max iterations (${state.max_iterations}) reached, cannot resume`
|
|
189
188
|
};
|
|
190
189
|
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
190
|
+
const mutableState = {
|
|
191
|
+
...state,
|
|
192
|
+
active: true,
|
|
193
|
+
iteration: state.iteration + 1,
|
|
194
|
+
...(wasInterrupted && {
|
|
195
|
+
was_interrupted: true,
|
|
196
|
+
resumed_at: new Date().toISOString()
|
|
197
|
+
})
|
|
198
|
+
};
|
|
199
|
+
if (!(await writeAutopilotState(directory, mutableState, sessionId))) {
|
|
200
200
|
return {
|
|
201
201
|
success: false,
|
|
202
202
|
message: 'Failed to update autopilot state'
|
|
@@ -205,7 +205,7 @@ export async function resumeAutopilot(directory, sessionId) {
|
|
|
205
205
|
return {
|
|
206
206
|
success: true,
|
|
207
207
|
message: `Resuming autopilot at phase: ${state.phase}`,
|
|
208
|
-
state
|
|
208
|
+
state: mutableState
|
|
209
209
|
};
|
|
210
210
|
}
|
|
211
211
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/hooks/autopilot/cancel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAS1E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAiB,EAAE,SAAkB;IACzE,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,mCAAmC;SAC7C,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,mCAAmC;SAC7C,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,kCAAkC;IAClC,MAAM,UAAU,GAAG,SAAS;QAC1B,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC;QACtC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC9B,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;QACvB,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAChC,IAAI,SAAS,EAAE,CAAC;gBACd,yBAAyB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,yBAAyB,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,oCAAoC;IACpC,MAAM,YAAY,GAAG,SAAS;QAC5B,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC;QACxC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,YAAY,EAAE,MAAM,EAAE,CAAC;QACzB,IAAI,SAAS,EAAE,CAAC;YACd,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/hooks/autopilot/cancel.ts"],"names":[],"mappings":"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"}
|
|
@@ -184,16 +184,16 @@ function generateContinuationPrompt(state, directory, sessionId) {
|
|
|
184
184
|
const toolError = readLastToolError(directory);
|
|
185
185
|
const errorGuidance = getToolErrorRetryGuidance(toolError);
|
|
186
186
|
// Increment iteration
|
|
187
|
-
state.iteration
|
|
188
|
-
writeAutopilotState(directory,
|
|
189
|
-
const phasePrompt = getPhasePrompt(
|
|
190
|
-
idea:
|
|
191
|
-
specPath:
|
|
192
|
-
planPath:
|
|
187
|
+
const updatedState = { ...state, iteration: state.iteration + 1 };
|
|
188
|
+
writeAutopilotState(directory, updatedState, sessionId);
|
|
189
|
+
const phasePrompt = getPhasePrompt(updatedState.phase, {
|
|
190
|
+
idea: updatedState.originalIdea,
|
|
191
|
+
specPath: updatedState.expansion.spec_path || `${OmcPaths.AUTOPILOT}/spec.md`,
|
|
192
|
+
planPath: updatedState.planning.plan_path || `${OmcPaths.PLANS}/autopilot-impl.md`
|
|
193
193
|
});
|
|
194
194
|
const continuationPrompt = `<autopilot-continuation>
|
|
195
195
|
${errorGuidance ? errorGuidance + '\n' : ''}
|
|
196
|
-
[AUTOPILOT - PHASE: ${
|
|
196
|
+
[AUTOPILOT - PHASE: ${updatedState.phase.toUpperCase()} | ITERATION ${updatedState.iteration}/${updatedState.max_iterations}]
|
|
197
197
|
|
|
198
198
|
Your previous response did not signal phase completion. Continue working on the current phase.
|
|
199
199
|
|
|
@@ -214,12 +214,12 @@ IMPORTANT: When the phase is complete, output the appropriate signal:
|
|
|
214
214
|
return {
|
|
215
215
|
shouldBlock: true,
|
|
216
216
|
message: continuationPrompt,
|
|
217
|
-
phase:
|
|
217
|
+
phase: updatedState.phase,
|
|
218
218
|
metadata: {
|
|
219
|
-
iteration:
|
|
220
|
-
maxIterations:
|
|
221
|
-
tasksCompleted:
|
|
222
|
-
tasksTotal:
|
|
219
|
+
iteration: updatedState.iteration,
|
|
220
|
+
maxIterations: updatedState.max_iterations,
|
|
221
|
+
tasksCompleted: updatedState.execution.tasks_completed,
|
|
222
|
+
tasksTotal: updatedState.execution.tasks_total,
|
|
223
223
|
toolError: toolError || undefined
|
|
224
224
|
}
|
|
225
225
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enforcement.js","sourceRoot":"","sources":["../../../src/hooks/autopilot/enforcement.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"enforcement.js","sourceRoot":"","sources":["../../../src/hooks/autopilot/enforcement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/hooks/autopilot/state.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/hooks/autopilot/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -144,21 +144,20 @@ export async function transitionPhase(directory, newPhase, sessionId) {
|
|
|
144
144
|
}
|
|
145
145
|
const now = new Date().toISOString();
|
|
146
146
|
const oldPhase = state.phase;
|
|
147
|
-
|
|
147
|
+
const mutableState = { ...state, phase_durations: { ...state.phase_durations } };
|
|
148
148
|
const phaseStartKey = `${oldPhase}_start_ms`;
|
|
149
|
-
if (
|
|
150
|
-
const duration = Date.now() -
|
|
151
|
-
|
|
149
|
+
if (mutableState.phase_durations[phaseStartKey] !== undefined) {
|
|
150
|
+
const duration = Date.now() - mutableState.phase_durations[phaseStartKey];
|
|
151
|
+
mutableState.phase_durations[oldPhase] = duration;
|
|
152
152
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
state.phase_durations[`${newPhase}_start_ms`] = Date.now();
|
|
153
|
+
mutableState.phase = newPhase;
|
|
154
|
+
mutableState.phase_durations[`${newPhase}_start_ms`] = Date.now();
|
|
156
155
|
if (newPhase === 'complete' || newPhase === 'failed') {
|
|
157
|
-
|
|
158
|
-
|
|
156
|
+
mutableState.completed_at = now;
|
|
157
|
+
mutableState.active = false;
|
|
159
158
|
}
|
|
160
|
-
await writeAutopilotState(directory,
|
|
161
|
-
return
|
|
159
|
+
await writeAutopilotState(directory, mutableState, sessionId);
|
|
160
|
+
return mutableState;
|
|
162
161
|
}
|
|
163
162
|
/**
|
|
164
163
|
* Increment the agent spawn counter
|
|
@@ -177,8 +176,8 @@ export async function updateExpansion(directory, updates, sessionId) {
|
|
|
177
176
|
const state = readAutopilotState(directory, sessionId);
|
|
178
177
|
if (!state)
|
|
179
178
|
return false;
|
|
180
|
-
|
|
181
|
-
return await writeAutopilotState(directory,
|
|
179
|
+
const mutableState = { ...state, expansion: { ...state.expansion, ...updates } };
|
|
180
|
+
return await writeAutopilotState(directory, mutableState, sessionId);
|
|
182
181
|
}
|
|
183
182
|
/**
|
|
184
183
|
* Update planning phase data
|
|
@@ -187,8 +186,8 @@ export async function updatePlanning(directory, updates, sessionId) {
|
|
|
187
186
|
const state = readAutopilotState(directory, sessionId);
|
|
188
187
|
if (!state)
|
|
189
188
|
return false;
|
|
190
|
-
|
|
191
|
-
return await writeAutopilotState(directory,
|
|
189
|
+
const mutableState = { ...state, planning: { ...state.planning, ...updates } };
|
|
190
|
+
return await writeAutopilotState(directory, mutableState, sessionId);
|
|
192
191
|
}
|
|
193
192
|
/**
|
|
194
193
|
* Update execution phase data
|
|
@@ -197,8 +196,8 @@ export async function updateExecution(directory, updates, sessionId) {
|
|
|
197
196
|
const state = readAutopilotState(directory, sessionId);
|
|
198
197
|
if (!state)
|
|
199
198
|
return false;
|
|
200
|
-
|
|
201
|
-
return await writeAutopilotState(directory,
|
|
199
|
+
const mutableState = { ...state, execution: { ...state.execution, ...updates } };
|
|
200
|
+
return await writeAutopilotState(directory, mutableState, sessionId);
|
|
202
201
|
}
|
|
203
202
|
/**
|
|
204
203
|
* Update QA phase data
|
|
@@ -207,8 +206,8 @@ export async function updateQA(directory, updates, sessionId) {
|
|
|
207
206
|
const state = readAutopilotState(directory, sessionId);
|
|
208
207
|
if (!state)
|
|
209
208
|
return false;
|
|
210
|
-
|
|
211
|
-
return await writeAutopilotState(directory,
|
|
209
|
+
const mutableState = { ...state, qa: { ...state.qa, ...updates } };
|
|
210
|
+
return await writeAutopilotState(directory, mutableState, sessionId);
|
|
212
211
|
}
|
|
213
212
|
/**
|
|
214
213
|
* Update validation phase data
|
|
@@ -217,8 +216,8 @@ export async function updateValidation(directory, updates, sessionId) {
|
|
|
217
216
|
const state = readAutopilotState(directory, sessionId);
|
|
218
217
|
if (!state)
|
|
219
218
|
return false;
|
|
220
|
-
|
|
221
|
-
return await writeAutopilotState(directory,
|
|
219
|
+
const mutableState = { ...state, validation: { ...state.validation, ...updates } };
|
|
220
|
+
return await writeAutopilotState(directory, mutableState, sessionId);
|
|
222
221
|
}
|
|
223
222
|
/**
|
|
224
223
|
* Get the spec file path
|
|
@@ -449,13 +448,12 @@ export async function appendCompletedStep(directory, step, sessionId) {
|
|
|
449
448
|
const state = readAutopilotState(directory, sessionId);
|
|
450
449
|
if (!state)
|
|
451
450
|
return false;
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
return await writeAutopilotState(directory, state, sessionId);
|
|
451
|
+
const completedSteps = state.completed_steps || [];
|
|
452
|
+
const mutableState = {
|
|
453
|
+
...state,
|
|
454
|
+
completed_steps: completedSteps.includes(step) ? completedSteps : [...completedSteps, step]
|
|
455
|
+
};
|
|
456
|
+
return await writeAutopilotState(directory, mutableState, sessionId);
|
|
459
457
|
}
|
|
460
458
|
/**
|
|
461
459
|
* Record a failure reason in the state.
|
|
@@ -464,7 +462,7 @@ export async function recordFailureReason(directory, reason, sessionId) {
|
|
|
464
462
|
const state = readAutopilotState(directory, sessionId);
|
|
465
463
|
if (!state)
|
|
466
464
|
return false;
|
|
467
|
-
state
|
|
468
|
-
return await writeAutopilotState(directory,
|
|
465
|
+
const mutableState = { ...state, failure_reason: reason };
|
|
466
|
+
return await writeAutopilotState(directory, mutableState, sessionId);
|
|
469
467
|
}
|
|
470
468
|
//# sourceMappingURL=state.js.map
|