@tom2012/cc-web 2026.6.17-b → 2026.9.6-c
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/CHANGELOG.json +96 -21
- package/backend/dist/adapters/claude-adapter.d.ts +4 -0
- package/backend/dist/adapters/claude-adapter.d.ts.map +1 -1
- package/backend/dist/adapters/claude-adapter.js +18 -2
- package/backend/dist/adapters/claude-adapter.js.map +1 -1
- package/backend/dist/adapters/types.d.ts +8 -0
- package/backend/dist/adapters/types.d.ts.map +1 -1
- package/backend/dist/auth.d.ts.map +0 -0
- package/backend/dist/config.d.ts +0 -0
- package/backend/dist/config.js +0 -0
- package/backend/dist/config.js.map +0 -0
- package/backend/dist/hooks-manager.d.ts +0 -1
- package/backend/dist/hooks-manager.d.ts.map +1 -1
- package/backend/dist/hooks-manager.js +19 -19
- package/backend/dist/hooks-manager.js.map +1 -1
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +76 -1
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/logger.d.ts.map +1 -1
- package/backend/dist/logger.js +3 -0
- package/backend/dist/logger.js.map +1 -1
- package/backend/dist/routes/auth.d.ts +0 -0
- package/backend/dist/routes/auth.d.ts.map +0 -0
- package/backend/dist/routes/auth.js.map +0 -0
- package/backend/dist/routes/projects.d.ts.map +0 -0
- package/backend/dist/routes/projects.js.map +0 -0
- package/backend/dist/session-manager.d.ts +0 -0
- package/backend/dist/session-manager.d.ts.map +0 -0
- package/backend/dist/session-manager.js +0 -0
- package/backend/dist/session-manager.js.map +0 -0
- package/backend/dist/terminal-manager.d.ts +10 -1
- package/backend/dist/terminal-manager.d.ts.map +1 -1
- package/backend/dist/terminal-manager.js +19 -2
- package/backend/dist/terminal-manager.js.map +1 -1
- package/backend/dist/types.d.ts +0 -0
- package/backend/dist/types.d.ts.map +0 -0
- package/backend/dist/types.js +0 -0
- package/backend/dist/types.js.map +0 -0
- package/frontend/dist/assets/{ChatOverlay-Dp1BzsYb.js → ChatOverlay-CymdKeQK.js} +1 -1
- package/frontend/dist/assets/{ClaudeMemPage-CpzMjJnb.js → ClaudeMemPage-BZ4UtUoz.js} +1 -1
- package/frontend/dist/assets/{GraphPreview-DDY1yVOX.js → GraphPreview-21EwV_e_.js} +1 -1
- package/frontend/dist/assets/{MobilePage-BnnE820D.js → MobilePage-99vv9cWh.js} +3 -3
- package/frontend/dist/assets/{NotebookPage-BOiYcs-l.js → NotebookPage-B-mcSRJm.js} +1 -1
- package/frontend/dist/assets/{OfficePreview-C5N2gr8-.js → OfficePreview-C3rHS2Te.js} +2 -2
- package/frontend/dist/assets/{PdfPreview-COG-9AQa.js → PdfPreview-B-toyaoA.js} +1 -1
- package/frontend/dist/assets/{ProjectPage-ARPH_J5o.js → ProjectPage-CShqyrUl.js} +4 -4
- package/frontend/dist/assets/{ProjectSettingsPage-CMWcT-5r.js → ProjectSettingsPage-FxkEGuUP.js} +1 -1
- package/frontend/dist/assets/{SettingsPage-BMrIDtg8.js → SettingsPage-B-bqNp6b.js} +1 -1
- package/frontend/dist/assets/{SkillHubPage-Bq93A7Rt.js → SkillHubPage-DN79j9Is.js} +1 -1
- package/frontend/dist/assets/{check-circle-2-BGT1eH1f.js → check-circle-2-DRT7EX5I.js} +1 -1
- package/frontend/dist/assets/{chevron-down-Bbg11n9i.js → chevron-down-DdtdiM4b.js} +1 -1
- package/frontend/dist/assets/{chevron-left-BmStQriC.js → chevron-left-Chv-EE6G.js} +1 -1
- package/frontend/dist/assets/{file-text-D9WjmbhK.js → file-text-D3ZDULSr.js} +1 -1
- package/frontend/dist/assets/{index-EFhMcMWk.js → index-BIGQ6n-i.js} +2 -2
- package/frontend/dist/assets/index-BpdaJxoa.css +1 -0
- package/frontend/dist/assets/{index-BRqvDxO6.js → index-CH1oLpmL.js} +1 -1
- package/frontend/dist/assets/{index-Bhp9CVTp.js → index-Dbm49BgL.js} +1 -1
- package/frontend/dist/assets/{index-COZnAgez.js → index-xJR85RJZ.js} +1 -1
- package/frontend/dist/assets/{jszip.min-Dyo__hKc.js → jszip.min-CMcZF4_M.js} +1 -1
- package/frontend/dist/assets/{save-CAjdgnp7.js → save-Dhw-I0uF.js} +1 -1
- package/frontend/dist/assets/{search-DmWhhICR.js → search-zoOED2R0.js} +1 -1
- package/frontend/dist/assets/{select-DAfsBGCS.js → select-B7xEE81_.js} +1 -1
- package/frontend/dist/assets/{tabs-zra46FZv.js → tabs-BCHX4LWy.js} +1 -1
- package/frontend/dist/assets/{textarea-BG4Tvy0e.js → textarea-CGPmR1Ae.js} +1 -1
- package/frontend/dist/index.html +2 -2
- package/package.json +36 -10
- package/backend/dist/backup/config.d.ts +0 -10
- package/backend/dist/backup/config.d.ts.map +0 -1
- package/backend/dist/backup/config.js +0 -128
- package/backend/dist/backup/config.js.map +0 -1
- package/backend/dist/backup/engine.d.ts +0 -22
- package/backend/dist/backup/engine.d.ts.map +0 -1
- package/backend/dist/backup/engine.js +0 -298
- package/backend/dist/backup/engine.js.map +0 -1
- package/backend/dist/backup/providers/dropbox.d.ts +0 -25
- package/backend/dist/backup/providers/dropbox.d.ts.map +0 -1
- package/backend/dist/backup/providers/dropbox.js +0 -320
- package/backend/dist/backup/providers/dropbox.js.map +0 -1
- package/backend/dist/backup/providers/google-drive.d.ts +0 -29
- package/backend/dist/backup/providers/google-drive.d.ts.map +0 -1
- package/backend/dist/backup/providers/google-drive.js +0 -303
- package/backend/dist/backup/providers/google-drive.js.map +0 -1
- package/backend/dist/backup/providers/index.d.ts +0 -3
- package/backend/dist/backup/providers/index.d.ts.map +0 -1
- package/backend/dist/backup/providers/index.js +0 -19
- package/backend/dist/backup/providers/index.js.map +0 -1
- package/backend/dist/backup/providers/onedrive.d.ts +0 -29
- package/backend/dist/backup/providers/onedrive.d.ts.map +0 -1
- package/backend/dist/backup/providers/onedrive.js +0 -317
- package/backend/dist/backup/providers/onedrive.js.map +0 -1
- package/backend/dist/backup/scheduler.d.ts +0 -6
- package/backend/dist/backup/scheduler.d.ts.map +0 -1
- package/backend/dist/backup/scheduler.js +0 -55
- package/backend/dist/backup/scheduler.js.map +0 -1
- package/backend/dist/backup/types.d.ts +0 -73
- package/backend/dist/backup/types.d.ts.map +0 -1
- package/backend/dist/backup/types.js +0 -4
- package/backend/dist/backup/types.js.map +0 -1
- package/backend/dist/chat-process-manager.d.ts +0 -45
- package/backend/dist/chat-process-manager.d.ts.map +0 -1
- package/backend/dist/chat-process-manager.js +0 -258
- package/backend/dist/chat-process-manager.js.map +0 -1
- package/backend/dist/flows/runner.d.ts +0 -37
- package/backend/dist/flows/runner.d.ts.map +0 -1
- package/backend/dist/flows/runner.js +0 -660
- package/backend/dist/flows/runner.js.map +0 -1
- package/backend/dist/flows/store.d.ts +0 -40
- package/backend/dist/flows/store.d.ts.map +0 -1
- package/backend/dist/flows/store.js +0 -284
- package/backend/dist/flows/store.js.map +0 -1
- package/backend/dist/flows/types.d.ts +0 -176
- package/backend/dist/flows/types.d.ts.map +0 -1
- package/backend/dist/flows/types.js +0 -25
- package/backend/dist/flows/types.js.map +0 -1
- package/backend/dist/information/condenser.d.ts +0 -12
- package/backend/dist/information/condenser.d.ts.map +0 -1
- package/backend/dist/information/condenser.js +0 -568
- package/backend/dist/information/condenser.js.map +0 -1
- package/backend/dist/information/conversation-sync.d.ts +0 -22
- package/backend/dist/information/conversation-sync.d.ts.map +0 -1
- package/backend/dist/information/conversation-sync.js +0 -500
- package/backend/dist/information/conversation-sync.js.map +0 -1
- package/backend/dist/information/types.d.ts +0 -36
- package/backend/dist/information/types.d.ts.map +0 -1
- package/backend/dist/information/types.js +0 -4
- package/backend/dist/information/types.js.map +0 -1
- package/backend/dist/memory-pool/buoyancy.d.ts +0 -2
- package/backend/dist/memory-pool/buoyancy.d.ts.map +0 -1
- package/backend/dist/memory-pool/buoyancy.js +0 -12
- package/backend/dist/memory-pool/buoyancy.js.map +0 -1
- package/backend/dist/memory-pool/global-pool-manager.d.ts +0 -12
- package/backend/dist/memory-pool/global-pool-manager.d.ts.map +0 -1
- package/backend/dist/memory-pool/global-pool-manager.js +0 -295
- package/backend/dist/memory-pool/global-pool-manager.js.map +0 -1
- package/backend/dist/memory-pool/pool-lock.d.ts +0 -2
- package/backend/dist/memory-pool/pool-lock.d.ts.map +0 -1
- package/backend/dist/memory-pool/pool-lock.js +0 -31
- package/backend/dist/memory-pool/pool-lock.js.map +0 -1
- package/backend/dist/memory-pool/pool-manager.d.ts +0 -57
- package/backend/dist/memory-pool/pool-manager.d.ts.map +0 -1
- package/backend/dist/memory-pool/pool-manager.js +0 -322
- package/backend/dist/memory-pool/pool-manager.js.map +0 -1
- package/backend/dist/memory-pool/templates.d.ts +0 -5
- package/backend/dist/memory-pool/templates.d.ts.map +0 -1
- package/backend/dist/memory-pool/templates.js +0 -234
- package/backend/dist/memory-pool/templates.js.map +0 -1
- package/backend/dist/memory-pool/types.d.ts +0 -61
- package/backend/dist/memory-pool/types.d.ts.map +0 -1
- package/backend/dist/memory-pool/types.js +0 -4
- package/backend/dist/memory-pool/types.js.map +0 -1
- package/backend/dist/plan-control/checker.d.ts +0 -3
- package/backend/dist/plan-control/checker.d.ts.map +0 -1
- package/backend/dist/plan-control/checker.js +0 -103
- package/backend/dist/plan-control/checker.js.map +0 -1
- package/backend/dist/plan-control/executor.d.ts +0 -93
- package/backend/dist/plan-control/executor.d.ts.map +0 -1
- package/backend/dist/plan-control/executor.js +0 -955
- package/backend/dist/plan-control/executor.js.map +0 -1
- package/backend/dist/plan-control/parser.d.ts +0 -12
- package/backend/dist/plan-control/parser.d.ts.map +0 -1
- package/backend/dist/plan-control/parser.js +0 -216
- package/backend/dist/plan-control/parser.js.map +0 -1
- package/backend/dist/plan-control/templates.d.ts +0 -4
- package/backend/dist/plan-control/templates.d.ts.map +0 -1
- package/backend/dist/plan-control/templates.js +0 -271
- package/backend/dist/plan-control/templates.js.map +0 -1
- package/backend/dist/plan-control/types.d.ts +0 -102
- package/backend/dist/plan-control/types.d.ts.map +0 -1
- package/backend/dist/plan-control/types.js +0 -12
- package/backend/dist/plan-control/types.js.map +0 -1
- package/backend/dist/routes/backup.d.ts +0 -4
- package/backend/dist/routes/backup.d.ts.map +0 -1
- package/backend/dist/routes/backup.js +0 -274
- package/backend/dist/routes/backup.js.map +0 -1
- package/backend/dist/routes/flows.d.ts +0 -5
- package/backend/dist/routes/flows.d.ts.map +0 -1
- package/backend/dist/routes/flows.js +0 -457
- package/backend/dist/routes/flows.js.map +0 -1
- package/backend/dist/routes/global-flows.d.ts +0 -3
- package/backend/dist/routes/global-flows.d.ts.map +0 -1
- package/backend/dist/routes/global-flows.js +0 -90
- package/backend/dist/routes/global-flows.js.map +0 -1
- package/backend/dist/routes/information.d.ts +0 -3
- package/backend/dist/routes/information.d.ts.map +0 -1
- package/backend/dist/routes/information.js +0 -159
- package/backend/dist/routes/information.js.map +0 -1
- package/backend/dist/routes/memory-pool.d.ts +0 -3
- package/backend/dist/routes/memory-pool.d.ts.map +0 -1
- package/backend/dist/routes/memory-pool.js +0 -837
- package/backend/dist/routes/memory-pool.js.map +0 -1
- package/backend/dist/routes/plan-control.d.ts +0 -15
- package/backend/dist/routes/plan-control.d.ts.map +0 -1
- package/backend/dist/routes/plan-control.js +0 -337
- package/backend/dist/routes/plan-control.js.map +0 -1
- package/backend/dist/routes/share.d.ts +0 -3
- package/backend/dist/routes/share.d.ts.map +0 -1
- package/backend/dist/routes/share.js +0 -167
- package/backend/dist/routes/share.js.map +0 -1
- package/backend/dist/routes/sounds.d.ts +0 -3
- package/backend/dist/routes/sounds.d.ts.map +0 -1
- package/backend/dist/routes/sounds.js +0 -285
- package/backend/dist/routes/sounds.js.map +0 -1
- package/backend/dist/tracks/__tests__/verify-starter-templates.d.ts +0 -24
- package/backend/dist/tracks/__tests__/verify-starter-templates.d.ts.map +0 -1
- package/backend/dist/tracks/__tests__/verify-starter-templates.js +0 -175
- package/backend/dist/tracks/__tests__/verify-starter-templates.js.map +0 -1
- package/backend/dist/tracks/__tests__/verify-track-cancel.d.ts +0 -23
- package/backend/dist/tracks/__tests__/verify-track-cancel.d.ts.map +0 -1
- package/backend/dist/tracks/__tests__/verify-track-cancel.js +0 -153
- package/backend/dist/tracks/__tests__/verify-track-cancel.js.map +0 -1
- package/backend/dist/tracks/__tests__/verify-track-t1.d.ts +0 -11
- package/backend/dist/tracks/__tests__/verify-track-t1.d.ts.map +0 -1
- package/backend/dist/tracks/__tests__/verify-track-t1.js +0 -293
- package/backend/dist/tracks/__tests__/verify-track-t1.js.map +0 -1
- package/backend/dist/tracks/__tests__/verify-track.d.ts +0 -20
- package/backend/dist/tracks/__tests__/verify-track.d.ts.map +0 -1
- package/backend/dist/tracks/__tests__/verify-track.js +0 -187
- package/backend/dist/tracks/__tests__/verify-track.js.map +0 -1
- package/backend/dist/tracks/registry.d.ts +0 -61
- package/backend/dist/tracks/registry.d.ts.map +0 -1
- package/backend/dist/tracks/registry.js +0 -202
- package/backend/dist/tracks/registry.js.map +0 -1
- package/backend/dist/tracks/track-runner.d.ts +0 -69
- package/backend/dist/tracks/track-runner.d.ts.map +0 -1
- package/backend/dist/tracks/track-runner.js +0 -158
- package/backend/dist/tracks/track-runner.js.map +0 -1
- package/backend/dist/tracks/train-loader.d.ts +0 -44
- package/backend/dist/tracks/train-loader.d.ts.map +0 -1
- package/backend/dist/tracks/train-loader.js +0 -32
- package/backend/dist/tracks/train-loader.js.map +0 -1
- package/backend/dist/tracks/types-train.d.ts +0 -12
- package/backend/dist/tracks/types-train.d.ts.map +0 -1
- package/backend/dist/tracks/types-train.js +0 -13
- package/backend/dist/tracks/types-train.js.map +0 -1
- package/backend/dist/usage-terminal.d.ts +0 -18
- package/backend/dist/usage-terminal.d.ts.map +0 -1
- package/backend/dist/usage-terminal.js +0 -191
- package/backend/dist/usage-terminal.js.map +0 -1
- package/frontend/dist/assets/index-GfCaMXPO.css +0 -1
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.check = check;
|
|
4
|
-
const parser_1 = require("./parser");
|
|
5
|
-
function check(ast) {
|
|
6
|
-
const errors = [];
|
|
7
|
-
const funcs = (0, parser_1.collectFuncs)(ast);
|
|
8
|
-
// Validate all nodes
|
|
9
|
-
walkCheck(ast, errors, funcs, { inLoop: false, inFunc: false });
|
|
10
|
-
// Check for recursion
|
|
11
|
-
checkRecursion(funcs, errors);
|
|
12
|
-
return errors;
|
|
13
|
-
}
|
|
14
|
-
function walkCheck(nodes, errors, funcs, ctx) {
|
|
15
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
16
|
-
const node = nodes[i];
|
|
17
|
-
// Skip blanks and comments
|
|
18
|
-
if (node.type === 'blank' || node.type === 'comment')
|
|
19
|
-
continue;
|
|
20
|
-
// Check predecessor-task rule for if/elif with status conditions
|
|
21
|
-
if ((node.type === 'if' || node.type === 'elif') && node.condition) {
|
|
22
|
-
const isStatusCondition = ['success', 'failed', 'blocked'].includes(node.condition);
|
|
23
|
-
if (isStatusCondition) {
|
|
24
|
-
const hasPrecedingTask = nodes.slice(0, i).some(n => (n.type === 'task' || n.type === 'task_assign') && n.indent === node.indent);
|
|
25
|
-
if (!hasPrecedingTask) {
|
|
26
|
-
errors.push({
|
|
27
|
-
line: node.line,
|
|
28
|
-
message: `if/elif 使用状态条件 "${node.condition}" 时,同级前方必须存在 task 语句`,
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
// break/continue must be inside a loop
|
|
34
|
-
if (node.type === 'break' || node.type === 'continue') {
|
|
35
|
-
if (!ctx.inLoop) {
|
|
36
|
-
errors.push({ line: node.line, message: `${node.type} 必须在 for 或 loop 循环体内` });
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
// return must be inside a function
|
|
40
|
-
if (node.type === 'return') {
|
|
41
|
-
if (!ctx.inFunc) {
|
|
42
|
-
errors.push({ line: node.line, message: 'return 必须在 func 函数体内' });
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
// call must reference a defined function
|
|
46
|
-
if (node.type === 'call' && node.funcName) {
|
|
47
|
-
if (!funcs.has(node.funcName)) {
|
|
48
|
-
errors.push({ line: node.line, message: `未定义的函数: ${node.funcName}` });
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
// Recurse into children with updated context
|
|
52
|
-
if (node.children.length > 0) {
|
|
53
|
-
const childCtx = {
|
|
54
|
-
inLoop: ctx.inLoop || node.type === 'for' || node.type === 'loop',
|
|
55
|
-
inFunc: ctx.inFunc || node.type === 'func',
|
|
56
|
-
};
|
|
57
|
-
walkCheck(node.children, errors, funcs, childCtx);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
/** Detect recursion (direct + mutual) via call graph DFS cycle detection. */
|
|
62
|
-
function checkRecursion(funcs, errors) {
|
|
63
|
-
// Build call graph: func name -> set of called func names
|
|
64
|
-
const callGraph = new Map();
|
|
65
|
-
for (const [name, node] of funcs) {
|
|
66
|
-
const calls = new Set();
|
|
67
|
-
collectCalls(node.children, calls);
|
|
68
|
-
callGraph.set(name, calls);
|
|
69
|
-
}
|
|
70
|
-
// DFS cycle detection
|
|
71
|
-
const visited = new Set();
|
|
72
|
-
const inStack = new Set();
|
|
73
|
-
function dfs(name) {
|
|
74
|
-
if (inStack.has(name))
|
|
75
|
-
return true; // cycle found
|
|
76
|
-
if (visited.has(name))
|
|
77
|
-
return false;
|
|
78
|
-
visited.add(name);
|
|
79
|
-
inStack.add(name);
|
|
80
|
-
for (const callee of callGraph.get(name) ?? []) {
|
|
81
|
-
if (callGraph.has(callee) && dfs(callee)) {
|
|
82
|
-
const funcNode = funcs.get(name);
|
|
83
|
-
errors.push({ line: funcNode.line, message: `检测到递归调用: ${name} → ${callee}` });
|
|
84
|
-
return true;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
inStack.delete(name);
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
for (const name of funcs.keys()) {
|
|
91
|
-
dfs(name);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
function collectCalls(nodes, calls) {
|
|
95
|
-
for (const node of nodes) {
|
|
96
|
-
if (node.type === 'call' && node.funcName) {
|
|
97
|
-
calls.add(node.funcName);
|
|
98
|
-
}
|
|
99
|
-
if (node.children.length > 0)
|
|
100
|
-
collectCalls(node.children, calls);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=checker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../src/plan-control/checker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from 'events';
|
|
2
|
-
import { ASTNode, PlanState, NodeRecord, PlanConfig } from './types';
|
|
3
|
-
interface ExecutorDeps {
|
|
4
|
-
/** Write text to the project's PTY stdin. */
|
|
5
|
-
writeToPty: (text: string) => void;
|
|
6
|
-
/** Get the PTY's last activity timestamp (epoch ms). */
|
|
7
|
-
getLastActivity: () => number | null;
|
|
8
|
-
/** Broadcast a WS event to all project clients. */
|
|
9
|
-
broadcast: (event: Record<string, unknown>) => void;
|
|
10
|
-
}
|
|
11
|
-
export declare class PlanExecutor extends EventEmitter {
|
|
12
|
-
private projectPath;
|
|
13
|
-
private pcDir;
|
|
14
|
-
private deps;
|
|
15
|
-
private config;
|
|
16
|
-
private state;
|
|
17
|
-
private ast;
|
|
18
|
-
private funcs;
|
|
19
|
-
private flatNodes;
|
|
20
|
-
private machineState;
|
|
21
|
-
private nodeCounter;
|
|
22
|
-
private currentNodeId;
|
|
23
|
-
private fileWatcher;
|
|
24
|
-
private pollTimer;
|
|
25
|
-
private nudgeTimer;
|
|
26
|
-
private idleWaitTimer;
|
|
27
|
-
private nudgeCount;
|
|
28
|
-
private preReplanLines;
|
|
29
|
-
private pendingPause;
|
|
30
|
-
/** Track if-chain matched state per chain (keyed by the `if` node's line number). */
|
|
31
|
-
private ifChainMatched;
|
|
32
|
-
constructor(projectPath: string, deps: ExecutorDeps, config?: Partial<PlanConfig>);
|
|
33
|
-
checkSyntax(): {
|
|
34
|
-
errors: {
|
|
35
|
-
line: number;
|
|
36
|
-
message: string;
|
|
37
|
-
}[];
|
|
38
|
-
ast: ASTNode[];
|
|
39
|
-
};
|
|
40
|
-
start(): void;
|
|
41
|
-
resume(): void;
|
|
42
|
-
pause(): void;
|
|
43
|
-
stop(): void;
|
|
44
|
-
getState(): PlanState | null;
|
|
45
|
-
getNodes(): NodeRecord[];
|
|
46
|
-
getNode(nodeId: string): NodeRecord | null;
|
|
47
|
-
isInitialized(): boolean;
|
|
48
|
-
hasMainPc(): boolean;
|
|
49
|
-
private tick;
|
|
50
|
-
private dispatchTask;
|
|
51
|
-
private processControlFlow;
|
|
52
|
-
private startFileWatch;
|
|
53
|
-
private checkNodeResult;
|
|
54
|
-
private processResult;
|
|
55
|
-
private startNudgeTimer;
|
|
56
|
-
private enterReplanning;
|
|
57
|
-
private handleReplanComplete;
|
|
58
|
-
tryRecoverState(): void;
|
|
59
|
-
private readMainPc;
|
|
60
|
-
private saveState;
|
|
61
|
-
private nextNodeId;
|
|
62
|
-
private getEffectiveVariables;
|
|
63
|
-
private setVariable;
|
|
64
|
-
private evaluateCondition;
|
|
65
|
-
private findNodeAtLine;
|
|
66
|
-
private flattenAst;
|
|
67
|
-
private findFirstExecutableLine;
|
|
68
|
-
private advanceLine;
|
|
69
|
-
private checkLoopEnd;
|
|
70
|
-
/** Implicit return: if current_line left the function body, pop the call frame. */
|
|
71
|
-
private checkCallEnd;
|
|
72
|
-
private isLoopDone;
|
|
73
|
-
private updateLoopVar;
|
|
74
|
-
private skipBlock;
|
|
75
|
-
/** Skip to the next elif/else sibling after a failed if/elif condition. */
|
|
76
|
-
private skipToNextBranch;
|
|
77
|
-
private skipIfChain;
|
|
78
|
-
/** Schedule cleanup of ifChainMatched entry after the if-block's last branch ends. */
|
|
79
|
-
private scheduleIfChainCleanup;
|
|
80
|
-
/** Find the `if` node's line that starts the chain containing this elif/else node. */
|
|
81
|
-
private findChainIfLine;
|
|
82
|
-
private findSiblings;
|
|
83
|
-
private findBlockEndLine;
|
|
84
|
-
private findNextLineAfter;
|
|
85
|
-
private processInitialVarAssigns;
|
|
86
|
-
private waitForIdle;
|
|
87
|
-
private buildPrompt;
|
|
88
|
-
private enterPaused;
|
|
89
|
-
private cleanup;
|
|
90
|
-
private broadcastStatus;
|
|
91
|
-
}
|
|
92
|
-
export {};
|
|
93
|
-
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/plan-control/executor.ts"],"names":[],"mappings":"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"}
|