@felan-ai/ext-prewalk 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -13
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -51
- package/dist/index.js.map +1 -1
- package/dist/prompts.d.ts +2 -4
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +5 -16
- package/dist/prompts.js.map +1 -1
- package/dist/state.d.ts +3 -13
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +13 -163
- package/dist/state.js.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
# @felan-ai/ext-prewalk
|
|
2
2
|
|
|
3
|
-
Same-session Prewalk for Felan: the current model explores and plans the work
|
|
3
|
+
Same-session Prewalk for Felan: the current model explores and plans the work in the session task graph, then makes one focused mutation. Felan switches the next model request to the `low` model tier, which finishes and verifies the task with the full conversation and tool history intact. Tier resolution prefers the planner's provider and model family before falling back to another authenticated provider.
|
|
4
4
|
|
|
5
5
|
After the run settles, Prewalk restores the original planner model and thinking level by default.
|
|
6
6
|
|
|
7
7
|
## Requirements
|
|
8
8
|
|
|
9
|
-
- An authenticated target model
|
|
10
|
-
-
|
|
11
|
-
- At least one active mutation tool: `edit`, `write`, or `apply_patch`
|
|
9
|
+
- An authenticated model in the configured target tier, or an authenticated exact target model
|
|
10
|
+
- At least one explicit mutation tool: Pi's `edit` or `write`, or the Codex extension's `apply_patch`
|
|
12
11
|
|
|
13
|
-
|
|
12
|
+
Prewalk refuses to arm when no explicit mutation tool is active. Shell tools such as `bash` and Codex `exec_command` do not qualify because they are also used for exploration and verification. The planning and verification prompts direct the models to use the Tasks workflow, but Prewalk does not inspect task activity at runtime.
|
|
14
13
|
|
|
15
14
|
## Commands
|
|
16
15
|
|
|
@@ -26,13 +25,13 @@ When `/prewalk` is armed, it probes the current working directory with `bd statu
|
|
|
26
25
|
## Lifecycle
|
|
27
26
|
|
|
28
27
|
1. The planner explores the relevant repository surface and determines the complete implementation scope.
|
|
29
|
-
2. The planner
|
|
30
|
-
3. The planner performs one focused successful `edit`, `write`, or `apply_patch
|
|
31
|
-
4. At that turn boundary, Felan switches to the configured target model.
|
|
32
|
-
5. The target model completes the existing
|
|
28
|
+
2. The planner creates outcome-oriented implementation and validation tasks with `TaskCreate`, links them with `blocked_by` dependencies that encode the execution order, and claims the first ready task with `TaskUpdate`.
|
|
29
|
+
3. The planner performs one focused successful `edit`, `write`, or `apply_patch`.
|
|
30
|
+
4. At that turn boundary, Felan resolves and switches to the configured target tier or exact model.
|
|
31
|
+
5. The target model completes the existing session task graph and runs the relevant verification.
|
|
33
32
|
6. Once the agent run has fully settled, Felan restores the planner model and thinking level.
|
|
34
33
|
|
|
35
|
-
|
|
34
|
+
A successful mutation qualifies the turn for handoff regardless of Tasks activity. Failed mutation calls do not qualify. If the planner stops after prose or partial tool progress, Prewalk can queue a bounded hidden continuation, with a maximum of three per run.
|
|
36
35
|
|
|
37
36
|
The handoff does not fork, summarize, or replace the session. Planning guidance and implementation guidance are transient context messages; user messages, assistant responses, task-tracking results, mutations, and verification results remain in one trajectory.
|
|
38
37
|
|
|
@@ -45,16 +44,16 @@ remain transient context messages.
|
|
|
45
44
|
Prewalk uses Pi's namespaced extension flags and does not read a configuration file.
|
|
46
45
|
|
|
47
46
|
```text
|
|
48
|
-
--prewalk-target-model <provider/model-id>
|
|
47
|
+
--prewalk-target-model <high|medium|low|provider/model-id>
|
|
49
48
|
--prewalk-restore-planner
|
|
50
49
|
--no-prewalk-restore-planner
|
|
51
50
|
```
|
|
52
51
|
|
|
53
|
-
`prewalk-target-model` defaults to `
|
|
52
|
+
`prewalk-target-model` defaults to `low`. Tier selection uses the authenticated models allowed by the current session, preferring the planner's provider and model family. An exact `provider/model-id` overrides tier selection. `prewalk-restore-planner` defaults to `true`.
|
|
54
53
|
|
|
55
54
|
## Failure behavior
|
|
56
55
|
|
|
57
|
-
-
|
|
56
|
+
- A target tier with no authenticated candidate, or a missing exact target model or authentication, clears the handoff and keeps the existing trajectory.
|
|
58
57
|
- A failed target-model switch clears Prewalk and reports the failure once.
|
|
59
58
|
- A failed planner restoration clears Prewalk, reports the failure once, and keeps the current model.
|
|
60
59
|
- A manual model change cancels Prewalk without restoring over the user's selection.
|
package/dist/index.d.ts
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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,cAAc,EAEpB,MAAM,sBAAsB,CAAC;AA8C9B,QAAA,MAAM,gBAAgB,EAAE,cAuWvB,CAAC;AAmFF,eAAe,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { formatModelReference, isModelTier, parseModelReference, selectModelForTier, } from '@felan-ai/agent-core';
|
|
2
|
+
import { CONTINUATION_MESSAGE_TYPE, CONTROL_MESSAGE_PREFIX, IMPLEMENTATION_MESSAGE_TYPE, PLANNING_INSTRUCTION, PLANNING_MESSAGE_TYPE, VERIFICATION_INSTRUCTION, } from './prompts.js';
|
|
3
|
+
import { beginTurn, createRunState, recordToolCall, reduceTurn, validateArmingTools, } from './state.js';
|
|
3
4
|
const DEFAULT_CONFIG = {
|
|
4
|
-
targetModel: '
|
|
5
|
+
targetModel: 'low',
|
|
5
6
|
restorePlanner: true,
|
|
6
7
|
};
|
|
7
8
|
const TARGET_MODEL_FLAG = 'prewalk-target-model';
|
|
@@ -13,7 +14,7 @@ const prewalkExtension = (pi) => {
|
|
|
13
14
|
instructions: 'Prewalk can coordinate a same-session planning-to-implementation handoff when the user invokes /prewalk. During an active run, follow the phase-specific planning, task-tracking, implementation, and verification guidance injected into the conversation.',
|
|
14
15
|
});
|
|
15
16
|
pi.registerFlag(TARGET_MODEL_FLAG, {
|
|
16
|
-
description: 'Model used to implement a planned Prewalk task
|
|
17
|
+
description: 'Model tier or exact provider/model-id used to implement a planned Prewalk task',
|
|
17
18
|
type: 'string',
|
|
18
19
|
default: DEFAULT_CONFIG.targetModel,
|
|
19
20
|
});
|
|
@@ -29,7 +30,6 @@ const prewalkExtension = (pi) => {
|
|
|
29
30
|
let state = { phase: 'idle' };
|
|
30
31
|
let plannerSnapshot;
|
|
31
32
|
let expectedModelKey;
|
|
32
|
-
let useBeads = false;
|
|
33
33
|
function refreshConfig() {
|
|
34
34
|
loadedConfig = loadConfig(pi);
|
|
35
35
|
config = loadedConfig.config;
|
|
@@ -69,7 +69,6 @@ const prewalkExtension = (pi) => {
|
|
|
69
69
|
state = { phase: 'idle' };
|
|
70
70
|
plannerSnapshot = undefined;
|
|
71
71
|
expectedModelKey = undefined;
|
|
72
|
-
useBeads = false;
|
|
73
72
|
updateStatus(ctx);
|
|
74
73
|
}
|
|
75
74
|
function failAutomation(ctx, message) {
|
|
@@ -86,16 +85,14 @@ const prewalkExtension = (pi) => {
|
|
|
86
85
|
notify(ctx, 'Prewalk can only be armed while the agent is idle.', 'warning');
|
|
87
86
|
return false;
|
|
88
87
|
}
|
|
89
|
-
|
|
90
|
-
const validation = validateArmingTools(pi.getActiveTools(), useBeads);
|
|
88
|
+
const validation = validateArmingTools(pi.getActiveTools());
|
|
91
89
|
if (!validation.ok) {
|
|
92
90
|
notify(ctx, validation.reason, 'error');
|
|
93
91
|
return false;
|
|
94
92
|
}
|
|
95
93
|
state = { phase: 'armed' };
|
|
96
94
|
updateStatus(ctx);
|
|
97
|
-
|
|
98
|
-
notify(ctx, `Prewalk armed with ${tracking}. The next task will plan, make one mutation, then hand off to ${targetModel.key}.`);
|
|
95
|
+
notify(ctx, `Prewalk armed. The next task will plan, make one mutation, then hand off to ${targetModel.key}.`);
|
|
99
96
|
return true;
|
|
100
97
|
}
|
|
101
98
|
function beginRun(ctx) {
|
|
@@ -120,35 +117,53 @@ const prewalkExtension = (pi) => {
|
|
|
120
117
|
const snapshot = plannerSnapshot;
|
|
121
118
|
state = { phase: 'handoff', run };
|
|
122
119
|
updateStatus(ctx);
|
|
123
|
-
|
|
124
|
-
if (
|
|
125
|
-
|
|
126
|
-
|
|
120
|
+
let target;
|
|
121
|
+
if (targetModel.kind === 'tier') {
|
|
122
|
+
const availableModels = ctx.scopedModels.length > 0
|
|
123
|
+
? ctx.scopedModels.map(({ model }) => model)
|
|
124
|
+
: ctx.modelRegistry.getAvailable();
|
|
125
|
+
const selected = selectModelForTier(targetModel.tier, availableModels, {
|
|
126
|
+
preferredModel: snapshot.model,
|
|
127
|
+
});
|
|
128
|
+
if (!selected) {
|
|
129
|
+
failAutomation(ctx, `Prewalk has no authenticated model for the ${targetModel.tier} tier.`);
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
target = selected.model;
|
|
127
133
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
134
|
+
else {
|
|
135
|
+
const exactTarget = ctx.modelRegistry.find(targetModel.model.provider, targetModel.model.id);
|
|
136
|
+
if (!exactTarget) {
|
|
137
|
+
failAutomation(ctx, `Prewalk target model is unavailable: ${targetModel.key}.`);
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
if (!ctx.modelRegistry.hasConfiguredAuth(exactTarget)) {
|
|
141
|
+
failAutomation(ctx, `Prewalk target model is not authenticated: ${targetModel.key}.`);
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
target = exactTarget;
|
|
131
145
|
}
|
|
146
|
+
const targetKey = formatModelReference(target);
|
|
132
147
|
try {
|
|
133
|
-
expectedModelKey =
|
|
148
|
+
expectedModelKey = targetKey;
|
|
134
149
|
const switched = await pi.setModel(target);
|
|
135
150
|
if (state.phase !== 'handoff' || plannerSnapshot !== snapshot)
|
|
136
151
|
return;
|
|
137
152
|
if (!switched) {
|
|
138
|
-
failAutomation(ctx, `Prewalk could not switch to ${
|
|
153
|
+
failAutomation(ctx, `Prewalk could not switch to ${targetKey}.`);
|
|
139
154
|
return;
|
|
140
155
|
}
|
|
141
156
|
state = { phase: 'implementing', run };
|
|
142
157
|
updateStatus(ctx);
|
|
143
|
-
notify(ctx, `Prewalk handed implementation to ${
|
|
158
|
+
notify(ctx, `Prewalk handed implementation to ${targetKey}.`);
|
|
144
159
|
}
|
|
145
160
|
catch (error) {
|
|
146
161
|
if (state.phase === 'handoff' && plannerSnapshot === snapshot) {
|
|
147
|
-
failAutomation(ctx, `Prewalk could not switch to ${
|
|
162
|
+
failAutomation(ctx, `Prewalk could not switch to ${targetKey}: ${errorMessage(error)}`);
|
|
148
163
|
}
|
|
149
164
|
}
|
|
150
165
|
finally {
|
|
151
|
-
if (expectedModelKey ===
|
|
166
|
+
if (expectedModelKey === targetKey)
|
|
152
167
|
expectedModelKey = undefined;
|
|
153
168
|
}
|
|
154
169
|
}
|
|
@@ -247,7 +262,7 @@ const prewalkExtension = (pi) => {
|
|
|
247
262
|
beginRun(ctx);
|
|
248
263
|
});
|
|
249
264
|
pi.on('context', (event) => {
|
|
250
|
-
return { messages: buildContextMessages(event.messages, state.phase
|
|
265
|
+
return { messages: buildContextMessages(event.messages, state.phase) };
|
|
251
266
|
});
|
|
252
267
|
pi.on('turn_start', () => {
|
|
253
268
|
if (state.phase !== 'planning' || !state.run)
|
|
@@ -257,14 +272,9 @@ const prewalkExtension = (pi) => {
|
|
|
257
272
|
pi.on('tool_call', (event) => {
|
|
258
273
|
if (state.phase !== 'planning' || !state.run)
|
|
259
274
|
return;
|
|
260
|
-
if (!useBeads && event.toolName === 'todo_write') {
|
|
261
|
-
const validation = validateTodoWriteInput(event.input);
|
|
262
|
-
if (!validation.ok)
|
|
263
|
-
return { block: true, reason: validation.reason };
|
|
264
|
-
}
|
|
265
275
|
state = {
|
|
266
276
|
phase: 'planning',
|
|
267
|
-
run: recordToolCall(state.run, { toolCallId: event.toolCallId, toolName: event.toolName
|
|
277
|
+
run: recordToolCall(state.run, { toolCallId: event.toolCallId, toolName: event.toolName }),
|
|
268
278
|
};
|
|
269
279
|
});
|
|
270
280
|
pi.on('turn_end', async (event, ctx) => {
|
|
@@ -328,14 +338,14 @@ const prewalkExtension = (pi) => {
|
|
|
328
338
|
}
|
|
329
339
|
});
|
|
330
340
|
};
|
|
331
|
-
function buildContextMessages(messages, phase
|
|
341
|
+
function buildContextMessages(messages, phase) {
|
|
332
342
|
const filtered = structuredClone(messages).filter((message) => !isControlMessage(message));
|
|
333
343
|
const instruction = phase === 'planning'
|
|
334
|
-
? { customType: PLANNING_MESSAGE_TYPE, content:
|
|
344
|
+
? { customType: PLANNING_MESSAGE_TYPE, content: PLANNING_INSTRUCTION }
|
|
335
345
|
: phase === 'implementing'
|
|
336
346
|
? {
|
|
337
347
|
customType: IMPLEMENTATION_MESSAGE_TYPE,
|
|
338
|
-
content:
|
|
348
|
+
content: VERIFICATION_INSTRUCTION,
|
|
339
349
|
}
|
|
340
350
|
: undefined;
|
|
341
351
|
if (!instruction)
|
|
@@ -351,15 +361,6 @@ function buildContextMessages(messages, phase, useBeads) {
|
|
|
351
361
|
},
|
|
352
362
|
];
|
|
353
363
|
}
|
|
354
|
-
async function hasBeadsWorkspace(pi, cwd) {
|
|
355
|
-
try {
|
|
356
|
-
const result = await pi.exec('bd', ['-C', cwd, '--readonly', '--json', 'status', '--no-activity'], { timeout: 5_000 });
|
|
357
|
-
return result.code === 0;
|
|
358
|
-
}
|
|
359
|
-
catch {
|
|
360
|
-
return false;
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
364
|
function isTextOnlyCompletion(message) {
|
|
364
365
|
return isRecord(message)
|
|
365
366
|
&& message.role === 'assistant'
|
|
@@ -377,21 +378,19 @@ function modelKey(model) {
|
|
|
377
378
|
return model ? `${model.provider}/${model.id}` : 'none';
|
|
378
379
|
}
|
|
379
380
|
function parseTargetModel(value) {
|
|
380
|
-
const
|
|
381
|
-
if (
|
|
382
|
-
return
|
|
383
|
-
const
|
|
384
|
-
|
|
385
|
-
if (!provider || !modelId)
|
|
386
|
-
return undefined;
|
|
387
|
-
return { provider, modelId, key: `${provider}/${modelId}` };
|
|
381
|
+
const normalized = value.trim();
|
|
382
|
+
if (isModelTier(normalized))
|
|
383
|
+
return { kind: 'tier', tier: normalized, key: normalized };
|
|
384
|
+
const model = parseModelReference(normalized);
|
|
385
|
+
return model ? { kind: 'model', model, key: formatModelReference(model) } : undefined;
|
|
388
386
|
}
|
|
389
387
|
function loadConfig(pi) {
|
|
390
388
|
const targetModel = pi.getFlag(TARGET_MODEL_FLAG);
|
|
391
389
|
const restorePlanner = pi.getFlag(RESTORE_PLANNER_FLAG);
|
|
392
390
|
const parsedTarget = typeof targetModel === 'string' ? parseTargetModel(targetModel) : undefined;
|
|
393
|
-
if (!parsedTarget)
|
|
394
|
-
return invalidConfig(`${TARGET_MODEL_FLAG} must
|
|
391
|
+
if (!parsedTarget) {
|
|
392
|
+
return invalidConfig(`${TARGET_MODEL_FLAG} must be high, medium, low, or an exact provider/model-id`);
|
|
393
|
+
}
|
|
395
394
|
if (typeof restorePlanner !== 'boolean')
|
|
396
395
|
return invalidConfig(`${RESTORE_PLANNER_FLAG} must be a boolean`);
|
|
397
396
|
return {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,GAMnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,UAAU,EACV,mBAAmB,GAGpB,MAAM,YAAY,CAAC;AAqBpB,MAAM,cAAc,GAAkB;IACpC,WAAW,EAAE,KAAK;IAClB,cAAc,EAAE,IAAI;CACrB,CAAC;AACF,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AACjD,MAAM,oBAAoB,GAAG,yBAAyB,CAAC;AACvD,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;AAErD,MAAM,gBAAgB,GAAmB,CAAC,EAAE,EAAQ,EAAE;IACpD,EAAE,CAAC,kBAAkB,CAAC;QACpB,EAAE,EAAE,SAAS;QACb,YAAY,EAAE,6PAA6P;KAC5Q,CAAC,CAAC;IAEH,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE;QACjC,WAAW,EAAE,gFAAgF;QAC7F,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,cAAc,CAAC,WAAW;KACpC,CAAC,CAAC;IACH,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE;QACpC,WAAW,EAAE,mEAAmE;QAChF,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,cAAc,CAAC,cAAc;KACvC,CAAC,CAAC;IAEH,IAAI,YAAY,GAAkC,EAAE,MAAM,EAAE,EAAE,GAAG,cAAc,EAAE,EAAE,CAAC;IACpF,IAAI,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IACjC,IAAI,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAE,CAAC;IACxD,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,KAAK,GAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC5C,IAAI,eAA4C,CAAC;IACjD,IAAI,gBAAoC,CAAC;IAEzC,SAAS,aAAa;QACpB,YAAY,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAC7B,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAE,CAAC;IACtD,CAAC;IAED,SAAS,MAAM,CAAC,GAAqB,EAAE,OAAe,EAAE,OAAyB,MAAM;QACrF,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,SAAS,oBAAoB,CAAC,GAAqB;QACjD,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,kBAAkB;YAAE,OAAO;QACxD,kBAAkB,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,GAAG,EAAE,yBAAyB,YAAY,CAAC,OAAO,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAC1F,CAAC;IAED,SAAS,YAAY,CAAC,GAAqB;QACzC,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC3B,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,GAAG,EAAE,iBAAiB,IAAI,CAAC,CAAC;QAC5D,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,iBAAiB,GAAG,CAAC;YAC1E,CAAC,CAAC,MAAM,iBAAiB,IAAI;YAC7B,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,KAAK,CAAC,KAAK,GAAG,gBAAgB,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,SAAS,aAAa,CAAC,GAAqB;QAC1C,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,cAAc,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,MAAM,CACJ,GAAG,EACH,YAAY,KAAK,CAAC,KAAK,aAAa,WAAW,CAAC,GAAG,sBAAsB,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,EAAE,CAC1H,CAAC;IACJ,CAAC;IAED,SAAS,eAAe,CAAC,GAAqB;QAC5C,KAAK,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC1B,eAAe,GAAG,SAAS,CAAC;QAC5B,gBAAgB,GAAG,SAAS,CAAC;QAC7B,YAAY,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,SAAS,cAAc,CAAC,GAAqB,EAAE,OAAe;QAC5D,eAAe,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,UAAU,GAAG,CAAC,GAAqB;QACtC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,EAAE,sBAAsB,KAAK,CAAC,KAAK,iDAAiD,EAAE,SAAS,CAAC,CAAC;YAC3G,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,EAAE,oDAAoD,EAAE,SAAS,CAAC,CAAC;YAC7E,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC3B,YAAY,CAAC,GAAG,CAAC,CAAC;QAClB,MAAM,CAAC,GAAG,EAAE,+EAA+E,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;QAC/G,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,QAAQ,CAAC,GAAqB;QACrC,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO;YAAE,OAAO;QACpC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,GAAG,EAAE,4CAA4C,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,eAAe,GAAG;YAChB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;YAC7B,aAAa,EAAE,EAAE,CAAC,gBAAgB,EAAE;SACrC,CAAC;QACF,KAAK,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,CAAC;QACrD,YAAY,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,GAAqB;QACjD,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,eAAe;YAAE,OAAO;QAEzE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACtB,MAAM,QAAQ,GAAG,eAAe,CAAC;QACjC,KAAK,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QAClC,YAAY,CAAC,GAAG,CAAC,CAAC;QAElB,IAAI,MAAoB,CAAC;QACzB,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBACjD,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC;gBAC5C,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE;gBACrE,cAAc,EAAE,QAAQ,CAAC,KAAK;aAC/B,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,cAAc,CAAC,GAAG,EAAE,8CAA8C,WAAW,CAAC,IAAI,QAAQ,CAAC,CAAC;gBAC5F,OAAO;YACT,CAAC;YACD,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7F,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,cAAc,CAAC,GAAG,EAAE,wCAAwC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;gBAChF,OAAO;YACT,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtD,cAAc,CAAC,GAAG,EAAE,8CAA8C,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;gBACtF,OAAO;YACT,CAAC;YACD,MAAM,GAAG,WAAW,CAAC;QACvB,CAAC;QACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC;YACH,gBAAgB,GAAG,SAAS,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,eAAe,KAAK,QAAQ;gBAAE,OAAO;YACtE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,cAAc,CAAC,GAAG,EAAE,+BAA+B,SAAS,GAAG,CAAC,CAAC;gBACjE,OAAO;YACT,CAAC;YAED,KAAK,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;YACvC,YAAY,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,EAAE,oCAAoC,SAAS,GAAG,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;gBAC9D,cAAc,CAAC,GAAG,EAAE,+BAA+B,SAAS,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,gBAAgB,KAAK,SAAS;gBAAE,gBAAgB,GAAG,SAAS,CAAC;QACnE,CAAC;IACH,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,GAAqB;QACjD,MAAM,QAAQ,GAAG,eAAe,CAAC;QACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,eAAe,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,GAAI,EAAE,CAAC;QAChD,YAAY,CAAC,GAAG,CAAC,CAAC;QAElB,IAAI,CAAC;YACH,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAC9C,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACrC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACnD,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,IAAI,eAAe,KAAK,QAAQ;oBAAE,OAAO,KAAK,CAAC;gBAC9E,IAAI,CAAC,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,CAAC,QAAQ,uBAAuB,CAAC,CAAC;YACpF,CAAC;YAED,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,IAAI,eAAe,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC9E,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC5C,eAAe,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC3B,eAAe,CAAC,GAAG,CAAC,CAAC;gBACrB,MAAM,CAAC,GAAG,EAAE,6BAA6B,QAAQ,CAAC,QAAQ,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACjG,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,IAAI,gBAAgB,KAAK,QAAQ,CAAC,QAAQ;gBAAE,gBAAgB,GAAG,SAAS,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,GAAqB;QAC1C,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS;eAC3C,KAAK,CAAC,KAAK,KAAK,cAAc;eAC9B,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC;QACjC,IAAI,cAAc,IAAI,MAAM,CAAC,cAAc,IAAI,eAAe,EAAE,CAAC;YAC/D,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,QAAQ;gBAAE,MAAM,CAAC,GAAG,EAAE,yDAAyD,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QAED,eAAe,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACjC,CAAC;IAED,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE;QAC5B,WAAW,EAAE,8EAA8E;QAC3F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM;gBAAE,aAAa,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzB,aAAa,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO;YAC9B,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACd,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU;oBAAE,OAAO;gBACvC,EAAE,CAAC,WAAW,CACZ;oBACE,UAAU,EAAE,0BAA0B;oBACtC,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,IAAI;iBACd,EACD,EAAE,WAAW,EAAE,IAAI,EAAE,CACtB,CAAC;gBACF,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACrC,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM;YAAE,aAAa,EAAE,CAAC;QAC5C,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC1B,YAAY,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAC1C,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QACzB,OAAO,EAAE,QAAQ,EAAE,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAA0B,EAAE,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;QACvB,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,OAAO;QACrD,KAAK,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,OAAO;QAErD,KAAK,GAAG;YACN,KAAK,EAAE,UAAU;YACjB,GAAG,EAAE,cAAc,CACjB,KAAK,CAAC,GAAG,EACT,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAC3D;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrC,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,OAAO;QAErD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,EAAE;YACxD,iBAAiB,EAAE,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC;SACvD,CAAC,CAAC;QACH,KAAK,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnD,YAAY,CAAC,GAAG,CAAC,CAAC;QAElB,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5B,EAAE,CAAC,WAAW,CACZ;gBACE,UAAU,EAAE,yBAAyB;gBACrC,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,KAAK;aACf,EACD,EAAE,SAAS,EAAE,UAAU,EAAE,CAC1B,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACnC,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO;QAEnC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,gBAAgB,KAAK,gBAAgB,EAAE,CAAC;YAC1C,gBAAgB,GAAG,SAAS,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,eAAe,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,EAAE,gDAAgD,gBAAgB,GAAG,EAAE,SAAS,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC3C,IAAI,KAAK,CAAC,KAAK,KAAK,cAAc,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChE,IAAI,MAAM,CAAC,cAAc,IAAI,eAAe,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC;gBACjC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC3C,IAAI,QAAQ;oBAAE,MAAM,CAAC,GAAG,EAAE,oBAAoB,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,eAAe,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC/B,eAAe,CAAC,GAAG,CAAC,CAAC;YACrB,MAAM,CAAC,GAAG,EAAE,mDAAmD,EAAE,SAAS,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC9C,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS;eAC3C,KAAK,CAAC,KAAK,KAAK,cAAc;eAC9B,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC;QACjC,IAAI,cAAc,IAAI,MAAM,CAAC,cAAc,IAAI,eAAe,EAAE,CAAC;YAC/D,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAClC,eAAe,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,SAAS,oBAAoB,CAAC,QAA4B,EAAE,KAAmB;IAC7E,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3F,MAAM,WAAW,GAAG,KAAK,KAAK,UAAU;QACtC,CAAC,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,OAAO,EAAE,oBAAoB,EAAE;QACtE,CAAC,CAAC,KAAK,KAAK,cAAc;YACxB,CAAC,CAAC;gBACE,UAAU,EAAE,2BAA2B;gBACvC,OAAO,EAAE,wBAAwB;aAClC;YACH,CAAC,CAAC,SAAS,CAAC;IAEhB,IAAI,CAAC,WAAW;QAAE,OAAO,QAAQ,CAAC;IAElC,OAAO;QACL,GAAG,QAAQ;QACX;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,OAAO,QAAQ,CAAC,OAAO,CAAC;WACnB,OAAO,CAAC,IAAI,KAAK,WAAW;WAC5B,OAAO,CAAC,UAAU,KAAK,MAAM;WAC7B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;WAC9B,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgB;IACxC,OAAO,QAAQ,CAAC,OAAO,CAAC;WACnB,OAAO,CAAC,IAAI,KAAK,QAAQ;WACzB,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ;WACtC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,QAAQ,CAAC,KAAgC;IAChD,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AAC1D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,WAAW,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;IACxF,MAAM,KAAK,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxF,CAAC;AAED,SAAS,UAAU,CAAC,EAAqB;IACvC,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC,GAAG,iBAAiB,2DAA2D,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,OAAO,cAAc,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC,GAAG,oBAAoB,oBAAoB,CAAC,CAAC;IAE3G,OAAO;QACL,MAAM,EAAE;YACN,WAAW,EAAE,YAAY,CAAC,GAAG;YAC7B,cAAc;SACf;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,eAAe,gBAAgB,CAAC"}
|
package/dist/prompts.d.ts
CHANGED
|
@@ -3,8 +3,6 @@ export declare const PLANNING_MESSAGE_TYPE = "pi-prewalk:planning";
|
|
|
3
3
|
export declare const IMPLEMENTATION_MESSAGE_TYPE = "pi-prewalk:implementation";
|
|
4
4
|
export declare const CONTINUATION_MESSAGE_TYPE = "pi-prewalk:continuation";
|
|
5
5
|
export declare const MAX_AUTOMATIC_CONTINUATIONS = 3;
|
|
6
|
-
export declare const PLANNING_INSTRUCTION = "Explore the repository thoroughly and determine the complete work required for the user's request.\n\nFollow this order:\n1. Inspect the relevant source, tests, configuration, documentation, and constraints.\n2. Determine the full implementation scope, affected files and symbols, risks, and verification required.\n3.
|
|
7
|
-
export declare const VERIFICATION_INSTRUCTION = "Continue implementing the existing
|
|
8
|
-
export declare const BEADS_PLANNING_INSTRUCTION = "Explore the repository thoroughly and determine the complete work required for the user's request.\n\nUse the beads skill and direct bd CLI commands for task tracking. Track the work with Beads instead of todo_write.\n\nFollow this order:\n1. Inspect the relevant source, tests, configuration, documentation, and constraints.\n2. Determine the full implementation scope, affected files and symbols, risks, and verification required.\n3. Create detailed Beads tasks for all implementation and validation work. Give each task a concrete scope and acceptance criteria, add dependencies that represent the required execution order, and mark the first ready task in_progress.\n4. Start implementing immediately. Work through ready Beads while honoring their dependencies, keep task statuses current, validate each completed task, and continue until every task for the request is complete.\n\nKeep the implementation focused on the requested scope and update the Beads graph when repository evidence changes the plan.";
|
|
9
|
-
export declare const BEADS_VERIFICATION_INSTRUCTION = "Continue implementing the existing Beads task graph. Honor task dependencies, work through ready Beads in execution order, and keep their statuses current with direct bd CLI commands instead of todo_write. Validate and close each completed Bead, keep the changes limited to the requested scope, run the full relevant test module or suite, resolve failures, and continue until every task is complete.";
|
|
6
|
+
export declare const PLANNING_INSTRUCTION = "Explore the repository thoroughly and determine the complete work required for the user's request.\n\nFollow this order:\n1. Inspect the relevant source, tests, configuration, documentation, and constraints.\n2. Determine the full implementation scope, affected files and symbols, risks, and verification required.\n3. Use TaskCreate to record detailed, outcome-oriented implementation and validation tasks. Link them with blocked_by dependencies that encode the required implementation and validation order, so the next ready task is unambiguous at each step.\n4. Use TaskUpdate to claim the first ready task by setting it in_progress.\n5. Start implementing immediately. Work through ready tasks in dependency order, keep task statuses current, record verified results when completing them, and continue until the request is complete.\n\nKeep the implementation focused on the requested scope and revise the task graph when repository evidence changes the plan.";
|
|
7
|
+
export declare const VERIFICATION_INSTRUCTION = "Continue implementing the existing session task graph. Honor task dependencies, claim ready work with TaskUpdate, keep statuses current, and complete every remaining task with a verified result. Keep the changes limited to the requested scope, run the full relevant test module or suite, resolve failures, and continue until every task is complete.";
|
|
10
8
|
//# sourceMappingURL=prompts.d.ts.map
|
package/dist/prompts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AACpD,eAAO,MAAM,qBAAqB,wBAAsC,CAAC;AACzE,eAAO,MAAM,2BAA2B,8BAA4C,CAAC;AACrF,eAAO,MAAM,yBAAyB,4BAA0C,CAAC;AACjF,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AACpD,eAAO,MAAM,qBAAqB,wBAAsC,CAAC;AACzE,eAAO,MAAM,2BAA2B,8BAA4C,CAAC;AACrF,eAAO,MAAM,yBAAyB,4BAA0C,CAAC;AACjF,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,eAAO,MAAM,oBAAoB,w8BAS2F,CAAC;AAE7H,eAAO,MAAM,wBAAwB,iWAAiW,CAAC"}
|
package/dist/prompts.js
CHANGED
|
@@ -8,21 +8,10 @@ export const PLANNING_INSTRUCTION = `Explore the repository thoroughly and deter
|
|
|
8
8
|
Follow this order:
|
|
9
9
|
1. Inspect the relevant source, tests, configuration, documentation, and constraints.
|
|
10
10
|
2. Determine the full implementation scope, affected files and symbols, risks, and verification required.
|
|
11
|
-
3.
|
|
12
|
-
4.
|
|
11
|
+
3. Use TaskCreate to record detailed, outcome-oriented implementation and validation tasks. Link them with blocked_by dependencies that encode the required implementation and validation order, so the next ready task is unambiguous at each step.
|
|
12
|
+
4. Use TaskUpdate to claim the first ready task by setting it in_progress.
|
|
13
|
+
5. Start implementing immediately. Work through ready tasks in dependency order, keep task statuses current, record verified results when completing them, and continue until the request is complete.
|
|
13
14
|
|
|
14
|
-
Keep the implementation focused on the requested scope and revise the
|
|
15
|
-
export const VERIFICATION_INSTRUCTION = `Continue implementing the existing
|
|
16
|
-
export const BEADS_PLANNING_INSTRUCTION = `Explore the repository thoroughly and determine the complete work required for the user's request.
|
|
17
|
-
|
|
18
|
-
Use the beads skill and direct bd CLI commands for task tracking. Track the work with Beads instead of todo_write.
|
|
19
|
-
|
|
20
|
-
Follow this order:
|
|
21
|
-
1. Inspect the relevant source, tests, configuration, documentation, and constraints.
|
|
22
|
-
2. Determine the full implementation scope, affected files and symbols, risks, and verification required.
|
|
23
|
-
3. Create detailed Beads tasks for all implementation and validation work. Give each task a concrete scope and acceptance criteria, add dependencies that represent the required execution order, and mark the first ready task in_progress.
|
|
24
|
-
4. Start implementing immediately. Work through ready Beads while honoring their dependencies, keep task statuses current, validate each completed task, and continue until every task for the request is complete.
|
|
25
|
-
|
|
26
|
-
Keep the implementation focused on the requested scope and update the Beads graph when repository evidence changes the plan.`;
|
|
27
|
-
export const BEADS_VERIFICATION_INSTRUCTION = `Continue implementing the existing Beads task graph. Honor task dependencies, work through ready Beads in execution order, and keep their statuses current with direct bd CLI commands instead of todo_write. Validate and close each completed Bead, keep the changes limited to the requested scope, run the full relevant test module or suite, resolve failures, and continue until every task is complete.`;
|
|
15
|
+
Keep the implementation focused on the requested scope and revise the task graph when repository evidence changes the plan.`;
|
|
16
|
+
export const VERIFICATION_INSTRUCTION = `Continue implementing the existing session task graph. Honor task dependencies, claim ready work with TaskUpdate, keep statuses current, and complete every remaining task with a verified result. Keep the changes limited to the requested scope, run the full relevant test module or suite, resolve failures, and continue until every task is complete.`;
|
|
28
17
|
//# sourceMappingURL=prompts.js.map
|
package/dist/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,sBAAsB,UAAU,CAAC;AACzE,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,sBAAsB,gBAAgB,CAAC;AACrF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,sBAAsB,cAAc,CAAC;AACjF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,oBAAoB,GAAG
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,sBAAsB,UAAU,CAAC;AACzE,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,sBAAsB,gBAAgB,CAAC;AACrF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,sBAAsB,cAAc,CAAC;AACjF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;4HASwF,CAAC;AAE7H,MAAM,CAAC,MAAM,wBAAwB,GAAG,8VAA8V,CAAC"}
|
package/dist/state.d.ts
CHANGED
|
@@ -4,16 +4,13 @@ export interface PrewalkState {
|
|
|
4
4
|
run?: PrewalkRunState;
|
|
5
5
|
}
|
|
6
6
|
export interface PrewalkRunState {
|
|
7
|
-
|
|
8
|
-
toolCalls: RecordedToolCall[];
|
|
9
|
-
nextOrdinal: number;
|
|
7
|
+
mutationCallIds: string[];
|
|
10
8
|
continuationCount: number;
|
|
11
9
|
continuationArmed: boolean;
|
|
12
10
|
}
|
|
13
11
|
export interface ToolCallSummary {
|
|
14
12
|
toolCallId: string;
|
|
15
13
|
toolName: string;
|
|
16
|
-
input?: unknown;
|
|
17
14
|
}
|
|
18
15
|
export interface ToolResultSummary {
|
|
19
16
|
toolCallId: string;
|
|
@@ -30,19 +27,12 @@ export type ValidationResult = {
|
|
|
30
27
|
ok: false;
|
|
31
28
|
reason: string;
|
|
32
29
|
};
|
|
33
|
-
type RecordedToolCall = {
|
|
34
|
-
toolCallId: string;
|
|
35
|
-
kind: 'tracking' | 'mutation';
|
|
36
|
-
ordinal: number;
|
|
37
|
-
};
|
|
38
30
|
export declare const MUTATION_TOOL_NAMES: ReadonlySet<string>;
|
|
39
|
-
export declare function validateArmingTools(activeTools: readonly string[]
|
|
40
|
-
export declare function validateTodoWriteInput(input: unknown): ValidationResult;
|
|
31
|
+
export declare function validateArmingTools(activeTools: readonly string[]): ValidationResult;
|
|
41
32
|
export declare function createRunState(): PrewalkRunState;
|
|
42
33
|
export declare function beginTurn(state: PrewalkRunState): PrewalkRunState;
|
|
43
|
-
export declare function recordToolCall(state: PrewalkRunState, call: ToolCallSummary
|
|
34
|
+
export declare function recordToolCall(state: PrewalkRunState, call: ToolCallSummary): PrewalkRunState;
|
|
44
35
|
export declare function reduceTurn(state: PrewalkRunState, results: readonly ToolResultSummary[], options?: {
|
|
45
36
|
allowContinuation?: boolean;
|
|
46
37
|
}): TurnDecision;
|
|
47
|
-
export {};
|
|
48
38
|
//# sourceMappingURL=state.d.ts.map
|
package/dist/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,WAAW,CAAC;AAEpG,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,WAAW,CAAC;AAEpG,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,eAAe,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAI5E,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAA2B,CAAC;AAEhF,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,CAIpF;AAED,wBAAgB,cAAc,IAAI,eAAe,CAMhD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAKjE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,eAAe,CAO7F;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,OAAO,GAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC5C,YAAY,CA6Bd"}
|
package/dist/state.js
CHANGED
|
@@ -1,65 +1,14 @@
|
|
|
1
1
|
import { MAX_AUTOMATIC_CONTINUATIONS } from './prompts.js';
|
|
2
2
|
const MUTATION_TOOLS = ['edit', 'write', 'apply_patch'];
|
|
3
|
-
const TODO_STATUSES = new Set(['pending', 'in_progress', 'completed']);
|
|
4
|
-
const BEADS_MUTATIONS = new Set([
|
|
5
|
-
'create',
|
|
6
|
-
'new',
|
|
7
|
-
'q',
|
|
8
|
-
'update',
|
|
9
|
-
'close',
|
|
10
|
-
'done',
|
|
11
|
-
'link',
|
|
12
|
-
'dep',
|
|
13
|
-
'reopen',
|
|
14
|
-
'assign',
|
|
15
|
-
'priority',
|
|
16
|
-
'tag',
|
|
17
|
-
'label',
|
|
18
|
-
'note',
|
|
19
|
-
'comment',
|
|
20
|
-
'edit',
|
|
21
|
-
'set-state',
|
|
22
|
-
]);
|
|
23
3
|
export const MUTATION_TOOL_NAMES = new Set(MUTATION_TOOLS);
|
|
24
|
-
export function validateArmingTools(activeTools
|
|
25
|
-
|
|
26
|
-
?
|
|
27
|
-
:
|
|
28
|
-
const missingMutation = !activeTools.some((toolName) => MUTATION_TOOL_NAMES.has(toolName));
|
|
29
|
-
if (!missingTracking && !missingMutation)
|
|
30
|
-
return { ok: true };
|
|
31
|
-
const requirements = [];
|
|
32
|
-
if (missingTracking) {
|
|
33
|
-
requirements.push(useBeads ? 'an active shell tool (bash or exec_command)' : 'the active todo_write tool');
|
|
34
|
-
}
|
|
35
|
-
if (missingMutation)
|
|
36
|
-
requirements.push('an active mutation tool (edit, write, or apply_patch)');
|
|
37
|
-
return {
|
|
38
|
-
ok: false,
|
|
39
|
-
reason: `Prewalk requires ${requirements.join(' and ')}.`,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
export function validateTodoWriteInput(input) {
|
|
43
|
-
if (!isRecord(input) || !Array.isArray(input.todos)) {
|
|
44
|
-
return { ok: false, reason: 'Prewalk requires todo_write input with a todos array.' };
|
|
45
|
-
}
|
|
46
|
-
if (input.todos.length < 5 || input.todos.length > 9) {
|
|
47
|
-
return { ok: false, reason: 'Prewalk requires 5-9 todo items before the first mutation.' };
|
|
48
|
-
}
|
|
49
|
-
if (input.todos.some((todo) => !isRecord(todo) || !TODO_STATUSES.has(String(todo.status)))) {
|
|
50
|
-
return { ok: false, reason: 'Every Prewalk todo must have a valid pending, in_progress, or completed status.' };
|
|
51
|
-
}
|
|
52
|
-
const inProgressCount = input.todos.filter((todo) => todo.status === 'in_progress').length;
|
|
53
|
-
if (inProgressCount !== 1) {
|
|
54
|
-
return { ok: false, reason: 'Prewalk requires exactly one in_progress todo item.' };
|
|
55
|
-
}
|
|
56
|
-
return { ok: true };
|
|
4
|
+
export function validateArmingTools(activeTools) {
|
|
5
|
+
return activeTools.some((toolName) => MUTATION_TOOL_NAMES.has(toolName))
|
|
6
|
+
? { ok: true }
|
|
7
|
+
: { ok: false, reason: 'Prewalk requires an active mutation tool (edit, write, or apply_patch).' };
|
|
57
8
|
}
|
|
58
9
|
export function createRunState() {
|
|
59
10
|
return {
|
|
60
|
-
|
|
61
|
-
toolCalls: [],
|
|
62
|
-
nextOrdinal: 0,
|
|
11
|
+
mutationCallIds: [],
|
|
63
12
|
continuationCount: 0,
|
|
64
13
|
continuationArmed: true,
|
|
65
14
|
};
|
|
@@ -67,32 +16,20 @@ export function createRunState() {
|
|
|
67
16
|
export function beginTurn(state) {
|
|
68
17
|
return {
|
|
69
18
|
...state,
|
|
70
|
-
|
|
71
|
-
nextOrdinal: 0,
|
|
19
|
+
mutationCallIds: [],
|
|
72
20
|
};
|
|
73
21
|
}
|
|
74
|
-
export function recordToolCall(state, call
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
const kind = isTrackingCall(call, useBeads)
|
|
78
|
-
? 'tracking'
|
|
79
|
-
: MUTATION_TOOL_NAMES.has(call.toolName)
|
|
80
|
-
? 'mutation'
|
|
81
|
-
: undefined;
|
|
82
|
-
if (!kind)
|
|
83
|
-
return nextState;
|
|
22
|
+
export function recordToolCall(state, call) {
|
|
23
|
+
if (!MUTATION_TOOL_NAMES.has(call.toolName))
|
|
24
|
+
return state;
|
|
84
25
|
return {
|
|
85
|
-
...
|
|
86
|
-
|
|
26
|
+
...state,
|
|
27
|
+
mutationCallIds: [...state.mutationCallIds, call.toolCallId],
|
|
87
28
|
};
|
|
88
29
|
}
|
|
89
30
|
export function reduceTurn(state, results, options = {}) {
|
|
90
31
|
const successfulIds = new Set(results.filter((result) => !result.isError).map((result) => result.toolCallId));
|
|
91
|
-
const
|
|
92
|
-
const successfulMutations = state.toolCalls.filter((call) => call.kind === 'mutation' && successfulIds.has(call.toolCallId));
|
|
93
|
-
const shouldHandoff = state.trackingGateOpen
|
|
94
|
-
? successfulMutations.length > 0
|
|
95
|
-
: successfulMutations.some((mutation) => successfulTracking.some((tracking) => tracking.ordinal < mutation.ordinal));
|
|
32
|
+
const shouldHandoff = state.mutationCallIds.some((toolCallId) => successfulIds.has(toolCallId));
|
|
96
33
|
let continuationArmed = results.some((result) => !result.isError) || state.continuationArmed;
|
|
97
34
|
let continuationCount = state.continuationCount;
|
|
98
35
|
let shouldContinue = false;
|
|
@@ -107,9 +44,7 @@ export function reduceTurn(state, results, options = {}) {
|
|
|
107
44
|
}
|
|
108
45
|
return {
|
|
109
46
|
state: {
|
|
110
|
-
|
|
111
|
-
toolCalls: [],
|
|
112
|
-
nextOrdinal: 0,
|
|
47
|
+
mutationCallIds: [],
|
|
113
48
|
continuationCount,
|
|
114
49
|
continuationArmed,
|
|
115
50
|
},
|
|
@@ -117,89 +52,4 @@ export function reduceTurn(state, results, options = {}) {
|
|
|
117
52
|
shouldContinue,
|
|
118
53
|
};
|
|
119
54
|
}
|
|
120
|
-
function isTrackingCall(call, useBeads) {
|
|
121
|
-
if (!useBeads)
|
|
122
|
-
return call.toolName === 'todo_write';
|
|
123
|
-
if (call.toolName !== 'bash' && call.toolName !== 'exec_command')
|
|
124
|
-
return false;
|
|
125
|
-
if (!isRecord(call.input))
|
|
126
|
-
return false;
|
|
127
|
-
const command = call.input.command ?? call.input.cmd;
|
|
128
|
-
return typeof command === 'string' && shellCommandSegments(command).some(isBeadsMutationSegment);
|
|
129
|
-
}
|
|
130
|
-
function isBeadsMutationSegment(argv) {
|
|
131
|
-
const commandIndex = argv.findIndex((argument) => !/^[A-Za-z_][A-Za-z0-9_]*=/.test(argument));
|
|
132
|
-
if (commandIndex === -1 || argv[commandIndex] !== 'bd')
|
|
133
|
-
return false;
|
|
134
|
-
return BEADS_MUTATIONS.has(argv[commandIndex + 1] ?? '');
|
|
135
|
-
}
|
|
136
|
-
function shellCommandSegments(command) {
|
|
137
|
-
const segments = [];
|
|
138
|
-
let argv = [];
|
|
139
|
-
let token = '';
|
|
140
|
-
let tokenStarted = false;
|
|
141
|
-
let quote;
|
|
142
|
-
const finishToken = () => {
|
|
143
|
-
if (!tokenStarted)
|
|
144
|
-
return;
|
|
145
|
-
argv.push(token);
|
|
146
|
-
token = '';
|
|
147
|
-
tokenStarted = false;
|
|
148
|
-
};
|
|
149
|
-
const finishSegment = () => {
|
|
150
|
-
finishToken();
|
|
151
|
-
if (argv.length > 0)
|
|
152
|
-
segments.push(argv);
|
|
153
|
-
argv = [];
|
|
154
|
-
};
|
|
155
|
-
for (let index = 0; index < command.length; index += 1) {
|
|
156
|
-
const character = command[index];
|
|
157
|
-
if (quote !== undefined) {
|
|
158
|
-
if (character === quote) {
|
|
159
|
-
quote = undefined;
|
|
160
|
-
}
|
|
161
|
-
else if (character === '\\' && quote !== "'" && index + 1 < command.length) {
|
|
162
|
-
token += command[index + 1];
|
|
163
|
-
index += 1;
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
token += character;
|
|
167
|
-
}
|
|
168
|
-
continue;
|
|
169
|
-
}
|
|
170
|
-
if (character === "'" || character === '"' || character === '`') {
|
|
171
|
-
quote = character;
|
|
172
|
-
tokenStarted = true;
|
|
173
|
-
continue;
|
|
174
|
-
}
|
|
175
|
-
if (character === '\\' && index + 1 < command.length) {
|
|
176
|
-
token += command[index + 1];
|
|
177
|
-
tokenStarted = true;
|
|
178
|
-
index += 1;
|
|
179
|
-
continue;
|
|
180
|
-
}
|
|
181
|
-
if (character === '#' && !tokenStarted) {
|
|
182
|
-
while (index + 1 < command.length && command[index + 1] !== '\n')
|
|
183
|
-
index += 1;
|
|
184
|
-
continue;
|
|
185
|
-
}
|
|
186
|
-
if (character === ';' || character === '&' || character === '|' || character === '\n') {
|
|
187
|
-
finishSegment();
|
|
188
|
-
if ((character === '&' || character === '|') && command[index + 1] === character)
|
|
189
|
-
index += 1;
|
|
190
|
-
continue;
|
|
191
|
-
}
|
|
192
|
-
if (/\s/.test(character)) {
|
|
193
|
-
finishToken();
|
|
194
|
-
continue;
|
|
195
|
-
}
|
|
196
|
-
token += character;
|
|
197
|
-
tokenStarted = true;
|
|
198
|
-
}
|
|
199
|
-
finishSegment();
|
|
200
|
-
return segments;
|
|
201
|
-
}
|
|
202
|
-
function isRecord(value) {
|
|
203
|
-
return typeof value === 'object' && value !== null;
|
|
204
|
-
}
|
|
205
55
|
//# sourceMappingURL=state.js.map
|
package/dist/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAiC3D,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAU,CAAC;AAEjE,MAAM,CAAC,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;AAEhF,MAAM,UAAU,mBAAmB,CAAC,WAA8B;IAChE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE;QACd,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yEAAyE,EAAE,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO;QACL,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,IAAI;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAsB;IAC9C,OAAO;QACL,GAAG,KAAK;QACR,eAAe,EAAE,EAAE;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAsB,EAAE,IAAqB;IAC1E,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAE1D,OAAO;QACL,GAAG,KAAK;QACR,eAAe,EAAE,CAAC,GAAG,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAsB,EACtB,OAAqC,EACrC,UAA2C,EAAE;IAE7C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9G,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhG,IAAI,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC;IAC7F,IAAI,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAChD,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,IACE,CAAC,aAAa;WACX,OAAO,CAAC,iBAAiB,KAAK,KAAK;WACnC,OAAO,CAAC,MAAM,KAAK,CAAC;WACpB,iBAAiB;WACjB,iBAAiB,GAAG,2BAA2B,EAClD,CAAC;QACD,cAAc,GAAG,IAAI,CAAC;QACtB,iBAAiB,IAAI,CAAC,CAAC;QACvB,iBAAiB,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,KAAK,EAAE;YACL,eAAe,EAAE,EAAE;YACnB,iBAAiB;YACjB,iBAAiB;SAClB;QACD,aAAa;QACb,cAAc;KACf,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@felan-ai/ext-prewalk",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Same-session planner-to-implementation model handoff for Felan",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -25,10 +25,11 @@
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
|
-
"@felan-ai/agent-core": "^0.4.
|
|
28
|
+
"@felan-ai/agent-core": "^0.4.3",
|
|
29
|
+
"@felan-ai/ext-tasks": "^0.1.0"
|
|
29
30
|
},
|
|
30
31
|
"devDependencies": {
|
|
31
|
-
"@felan-ai/agent-core": "0.4.
|
|
32
|
+
"@felan-ai/agent-core": "0.4.3"
|
|
32
33
|
},
|
|
33
34
|
"publishConfig": {
|
|
34
35
|
"access": "public",
|