@felan-ai/ext-prewalk 0.3.4 → 0.3.6
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 +39 -12
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +187 -36
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# @felan-ai/ext-prewalk
|
|
2
2
|
|
|
3
|
-
Same-session Prewalk for Felan's complex repository work: 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.
|
|
3
|
+
Same-session Prewalk for Felan's complex repository work: 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 at exact `medium` thinking by default, 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
|
-
After the run settles, Prewalk restores the original planner model and thinking level by default.
|
|
5
|
+
After the run settles, Prewalk restores the original planner model and thinking level by default. All of these automated changes are scoped to the active session and do not change the user's or project's default model or thinking preference.
|
|
6
6
|
|
|
7
|
-
For complex repository work that benefits from substantial exploration, coordinated multi-file changes, dependency-aware planning, or broad verification, the model can
|
|
7
|
+
For complex repository work that benefits from substantial exploration, coordinated multi-file changes, dependency-aware planning, or broad verification, the model can request Prewalk by calling `enter_prewalk` before it explores or mutates the repository. Model-requested entry asks for user approval by default. Small localized edits and routine one-file fixes should normally stay on the regular path. `/prewalk` remains available when the user wants to enter explicitly and does not ask for redundant approval. Read-only requests do not use Prewalk.
|
|
8
8
|
|
|
9
9
|
## Requirements
|
|
10
10
|
|
|
@@ -32,7 +32,7 @@ Prewalk refuses to arm when no explicit mutation tool is active. Shell tools suc
|
|
|
32
32
|
enter_prewalk {} Enter Prewalk for complex repository work
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
The no-argument tool
|
|
35
|
+
The no-argument tool requests a transition of the current run into planning, so it works while the agent is active. With the default `ask` policy, dialog-capable hosts ask the user before entering. A denial returns a tool error that directs the model to continue normally. JSON and print modes deny `ask` rather than blocking for unavailable input. Hosts can initialize the extension with `always` for unattended environments such as a cloud platform, or `never` to reject model-requested entry. Use the tool for complex repository work rather than small localized edits or routine one-file fixes. It must be called once, by itself, before repository exploration or mutation. A mutation in the same model turn as a successful entry call cannot trigger handoff; the planning guidance must reach a later model turn first.
|
|
36
36
|
|
|
37
37
|
The successful entry call and result are orchestration controls. They remain in the stored session transcript but are removed from model context. Current phase guidance is transient and replaced at the phase boundary, so the target receives the useful exploration, task graph, and first valid change with implementation guidance rather than an instruction to keep planning.
|
|
38
38
|
|
|
@@ -59,9 +59,15 @@ remain transient, stable-position context messages.
|
|
|
59
59
|
|
|
60
60
|
## Thinking levels
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
The planner keeps its current thinking level while exploring. The implementation
|
|
63
|
+
handoff requests exact `medium` thinking by default, rather than carrying a
|
|
64
|
+
planner's potentially expensive `max` effort to the cheaper target. The request
|
|
65
|
+
is clamped by Pi to the target model's supported levels, so a non-reasoning
|
|
66
|
+
model receives `off`. Configure another target level when the task needs a
|
|
67
|
+
different quality/cost balance. A same-model target with a different effective
|
|
68
|
+
level is still a real effort handoff; only matching model and effective effort
|
|
69
|
+
are a no-op. After the run settles, Prewalk restores the planner model before
|
|
70
|
+
restoring its exact original thinking level.
|
|
65
71
|
|
|
66
72
|
## Subagents
|
|
67
73
|
|
|
@@ -69,20 +75,38 @@ The referenced Prewalk design requires deep planning and a cheaper executor, but
|
|
|
69
75
|
|
|
70
76
|
## Flags
|
|
71
77
|
|
|
72
|
-
Prewalk
|
|
78
|
+
Prewalk accepts a host initialization default plus Pi's namespaced extension
|
|
79
|
+
flags and does not read a configuration file.
|
|
73
80
|
|
|
74
81
|
```text
|
|
75
82
|
--prewalk-target-model <high|medium|low|provider/model-id>
|
|
83
|
+
--prewalk-target-thinking <off|low|medium|high|xhigh|max>
|
|
76
84
|
--prewalk-restore-planner
|
|
77
85
|
--no-prewalk-restore-planner
|
|
86
|
+
--prewalk-entry-approval <ask|always|never>
|
|
78
87
|
```
|
|
79
88
|
|
|
80
|
-
`prewalk-target-model` defaults to `low
|
|
89
|
+
`prewalk-target-model` defaults to `low` and `prewalk-target-thinking` defaults
|
|
90
|
+
to exact `medium`. Tier selection uses the authenticated models allowed by the
|
|
91
|
+
current session, preferring the planner's provider and model family. An exact
|
|
92
|
+
`provider/model-id` overrides tier selection but must remain inside a nonempty
|
|
93
|
+
session model scope. `prewalk-restore-planner` defaults to `true`.
|
|
94
|
+
`prewalk-entry-approval` defaults to the extension initialization policy, which
|
|
95
|
+
is `ask` unless the host supplies another value. The flag overrides that host
|
|
96
|
+
default. This policy applies only to model-called `enter_prewalk`; `/prewalk`
|
|
97
|
+
is already explicit user intent.
|
|
98
|
+
|
|
99
|
+
Host initialization is validated immediately: passing an `entryApproval`
|
|
100
|
+
value other than `ask`, `always`, or `never` makes
|
|
101
|
+
`createPrewalkExtension()` throw during extension construction. Invalid
|
|
102
|
+
`--prewalk-entry-approval` flag values follow the normal flag behavior instead:
|
|
103
|
+
Prewalk reports a warning and falls back to the host initialization defaults.
|
|
81
104
|
|
|
82
105
|
## Failure behavior
|
|
83
106
|
|
|
84
107
|
- A target tier with no authenticated candidate, or a missing exact target model or authentication, clears the handoff and keeps the existing trajectory.
|
|
85
|
-
- A target that already matches the active planner model clears Prewalk without performing a
|
|
108
|
+
- A target that already matches the active planner model and effective target thinking clears Prewalk without performing a handoff.
|
|
109
|
+
- A same-model target with a different effective thinking level changes effort without changing models and then enters implementation.
|
|
86
110
|
- An exact target outside a nonempty session model scope is rejected before switching.
|
|
87
111
|
- A failed target-model switch clears Prewalk and reports the failure once.
|
|
88
112
|
- A failed planner restoration clears Prewalk, reports the failure once, and keeps the current model.
|
|
@@ -99,9 +123,10 @@ This package adapts the MIT-licensed `packages/pi-prewalk` implementation from `
|
|
|
99
123
|
## Composition and package boundary
|
|
100
124
|
|
|
101
125
|
```ts
|
|
102
|
-
import prewalkExtension from '@felan-ai/ext-prewalk';
|
|
126
|
+
import prewalkExtension, { createPrewalkExtension } from '@felan-ai/ext-prewalk';
|
|
103
127
|
|
|
104
128
|
const extension = prewalkExtension;
|
|
129
|
+
const cloudExtension = createPrewalkExtension({ entryApproval: 'always' });
|
|
105
130
|
```
|
|
106
131
|
|
|
107
132
|
The extension owns the same-session state machine, explicit mutation
|
|
@@ -109,7 +134,9 @@ qualification, stable-position transient planning/implementation guidance,
|
|
|
109
134
|
target selection, and restoration lifecycle. Agent Core supplies model tiers and the host supplies
|
|
110
135
|
authenticated model scope, session lifecycle, and active tools. Prewalk does not
|
|
111
136
|
inspect or execute the task graph beyond the successful TaskCreate/TaskUpdate
|
|
112
|
-
handoff gate described above
|
|
137
|
+
handoff gate described above. Entry approval controls only whether a model may
|
|
138
|
+
start Prewalk; it is not a sandbox, non-mutating plan mode, or approval
|
|
139
|
+
checkpoint before edits.
|
|
113
140
|
|
|
114
141
|
The package requires compatible Agent Core and Tasks peers plus an explicit
|
|
115
142
|
`edit`, `write`, or Codex `apply_patch` tool in the composed session.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { type FelanExtension } from '@felan-ai/agent-core';
|
|
2
|
+
export type PrewalkEntryApprovalPolicy = 'ask' | 'always' | 'never';
|
|
3
|
+
export interface PrewalkExtensionOptions {
|
|
4
|
+
readonly entryApproval?: PrewalkEntryApprovalPolicy;
|
|
5
|
+
}
|
|
6
|
+
export declare function createPrewalkExtension(options?: PrewalkExtensionOptions): FelanExtension;
|
|
2
7
|
declare const prewalkExtension: FelanExtension;
|
|
3
8
|
export default prewalkExtension;
|
|
4
9
|
//# sourceMappingURL=index.d.ts.map
|
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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,cAAc,EAEpB,MAAM,sBAAsB,CAAC;AAgC9B,MAAM,MAAM,0BAA0B,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,0BAA0B,CAAC;CACrD;AAsDD,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,uBAA4B,GACpC,cAAc,CAUhB;AAw2BD,QAAA,MAAM,gBAAgB,gBAA2B,CAAC;AAElD,eAAe,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,32 +1,56 @@
|
|
|
1
|
-
import { formatModelReference, isModelTier, parseModelReference, selectModelForTier, } from '@felan-ai/agent-core';
|
|
1
|
+
import { clampThinkingLevel, isFelanThinkingLevel, formatModelReference, isModelTier, parseModelReference, selectModelForTier, } from '@felan-ai/agent-core';
|
|
2
2
|
import { Type } from 'typebox';
|
|
3
3
|
import { CONTINUATION_INSTRUCTION, CONTINUATION_MESSAGE_TYPE, CONTROL_MESSAGE_PREFIX, IMPLEMENTATION_MESSAGE_TYPE, PLANNING_INSTRUCTION, PLANNING_MESSAGE_TYPE, VERIFICATION_INSTRUCTION, } from './prompts.js';
|
|
4
4
|
import { beginTurn, createRunState, recordToolCall, reduceTurn, validateArmingTools, } from './state.js';
|
|
5
5
|
const DEFAULT_CONFIG = {
|
|
6
6
|
targetModel: 'low',
|
|
7
|
+
targetThinking: 'medium',
|
|
7
8
|
restorePlanner: true,
|
|
9
|
+
entryApproval: 'ask',
|
|
8
10
|
};
|
|
9
11
|
const TARGET_MODEL_FLAG = 'prewalk-target-model';
|
|
12
|
+
const TARGET_THINKING_FLAG = 'prewalk-target-thinking';
|
|
10
13
|
const RESTORE_PLANNER_FLAG = 'prewalk-restore-planner';
|
|
14
|
+
const ENTRY_APPROVAL_FLAG = 'prewalk-entry-approval';
|
|
11
15
|
const HEADLESS_TASK_MESSAGE_TYPE = 'pi-prewalk-task';
|
|
12
16
|
const ENTER_PREWALK_TOOL = 'enter_prewalk';
|
|
13
17
|
const EnterPrewalkParams = Type.Object({}, { additionalProperties: false });
|
|
14
|
-
|
|
18
|
+
export function createPrewalkExtension(options = {}) {
|
|
19
|
+
if (options.entryApproval !== undefined && !isEntryApprovalPolicy(options.entryApproval)) {
|
|
20
|
+
throw new Error('Prewalk entryApproval must be ask, always, or never');
|
|
21
|
+
}
|
|
22
|
+
const defaultConfig = {
|
|
23
|
+
...DEFAULT_CONFIG,
|
|
24
|
+
...(options.entryApproval === undefined ? {} : { entryApproval: options.entryApproval }),
|
|
25
|
+
};
|
|
26
|
+
return (pi) => registerPrewalk(pi, defaultConfig);
|
|
27
|
+
}
|
|
28
|
+
function registerPrewalk(pi, defaultConfig) {
|
|
15
29
|
pi.registerCapability({
|
|
16
30
|
id: 'prewalk',
|
|
17
|
-
instructions: 'Use Prewalk for complex repository work that benefits from substantial exploration, coordinated multi-file changes, dependency-aware planning, or broad verification. Do not use it for small localized edits, routine one-file fixes, read-only requests, or when injected planning or implementation guidance is already present. When a complex file-changing task begins without that guidance, call enter_prewalk as the first and only tool call before repository exploration or mutation. The tool is available in the root session and mutation-capable subagents. During an active run, follow the injected planning, task-tracking, implementation, and verification guidance. The user can exit with /prewalk exit (or /prewalk off).',
|
|
31
|
+
instructions: 'Use Prewalk for complex repository work that benefits from substantial exploration, coordinated multi-file changes, dependency-aware planning, or broad verification. Do not use it for small localized edits, routine one-file fixes, read-only requests, or when injected planning or implementation guidance is already present. When a complex file-changing task begins without that guidance, call enter_prewalk as the first and only tool call before repository exploration or mutation. Depending on the configured entry policy, the tool may ask the user for approval or decline model-requested entry; if declined, continue on the regular path. The tool is available in the root session and mutation-capable subagents. During an active run, follow the injected planning, task-tracking, implementation, and verification guidance. The user can enter explicitly with /prewalk or exit with /prewalk exit (or /prewalk off).',
|
|
18
32
|
});
|
|
19
33
|
pi.registerFlag(TARGET_MODEL_FLAG, {
|
|
20
34
|
description: 'Model tier or exact provider/model-id used to implement a planned Prewalk task',
|
|
21
35
|
type: 'string',
|
|
22
36
|
default: DEFAULT_CONFIG.targetModel,
|
|
23
37
|
});
|
|
38
|
+
pi.registerFlag(TARGET_THINKING_FLAG, {
|
|
39
|
+
description: 'Thinking level used by the Prewalk implementation model',
|
|
40
|
+
type: 'string',
|
|
41
|
+
default: DEFAULT_CONFIG.targetThinking,
|
|
42
|
+
});
|
|
24
43
|
pi.registerFlag(RESTORE_PLANNER_FLAG, {
|
|
25
44
|
description: 'Restore the planner model and thinking level after implementation',
|
|
26
45
|
type: 'boolean',
|
|
27
46
|
default: DEFAULT_CONFIG.restorePlanner,
|
|
28
47
|
});
|
|
29
|
-
|
|
48
|
+
pi.registerFlag(ENTRY_APPROVAL_FLAG, {
|
|
49
|
+
description: 'Approval policy for model-called Prewalk entry: ask, always, or never',
|
|
50
|
+
type: 'string',
|
|
51
|
+
default: defaultConfig.entryApproval,
|
|
52
|
+
});
|
|
53
|
+
let loadedConfig = { config: { ...defaultConfig } };
|
|
30
54
|
let config = loadedConfig.config;
|
|
31
55
|
let targetModel = parseTargetModel(config.targetModel);
|
|
32
56
|
let configWarningShown = false;
|
|
@@ -37,8 +61,9 @@ const prewalkExtension = (pi) => {
|
|
|
37
61
|
let handoffPromise;
|
|
38
62
|
let restorationPromise;
|
|
39
63
|
let phaseContextAnchor;
|
|
64
|
+
let internalThinkingChange = false;
|
|
40
65
|
function refreshConfig() {
|
|
41
|
-
loadedConfig = loadConfig(pi);
|
|
66
|
+
loadedConfig = loadConfig(pi, defaultConfig);
|
|
42
67
|
config = loadedConfig.config;
|
|
43
68
|
targetModel = parseTargetModel(config.targetModel);
|
|
44
69
|
}
|
|
@@ -72,7 +97,7 @@ const prewalkExtension = (pi) => {
|
|
|
72
97
|
publishConfigWarning(ctx);
|
|
73
98
|
const planner = plannerSnapshot ? ` | planner ${plannerSnapshot.modelKey}` : '';
|
|
74
99
|
const exit = exitRequested ? ' | exit pending' : '';
|
|
75
|
-
notify(ctx, `Prewalk: ${state.phase} | target ${targetModel.key} | restore planner ${config.restorePlanner ? 'on' : 'off'}${planner}${exit}`);
|
|
100
|
+
notify(ctx, `Prewalk: ${state.phase} | target ${targetModel.key} | target thinking ${config.targetThinking} | restore planner ${config.restorePlanner ? 'on' : 'off'} | model entry ${config.entryApproval}${planner}${exit}`);
|
|
76
101
|
}
|
|
77
102
|
function clearAutomation(ctx) {
|
|
78
103
|
state = { phase: 'idle' };
|
|
@@ -102,7 +127,7 @@ const prewalkExtension = (pi) => {
|
|
|
102
127
|
}
|
|
103
128
|
state = { phase: 'armed' };
|
|
104
129
|
updateStatus(ctx);
|
|
105
|
-
notify(ctx, `Prewalk armed. The next task will plan, initialize Tasks when both task tools are active, make one mutation, then hand off to ${targetModel.key}.`);
|
|
130
|
+
notify(ctx, `Prewalk armed. The next task will plan, initialize Tasks when both task tools are active, make one mutation, then hand off to ${targetModel.key} at ${config.targetThinking} thinking.`);
|
|
106
131
|
return true;
|
|
107
132
|
}
|
|
108
133
|
function startRun(ctx, handoffArmed = true) {
|
|
@@ -174,22 +199,40 @@ const prewalkExtension = (pi) => {
|
|
|
174
199
|
}
|
|
175
200
|
}
|
|
176
201
|
const targetKey = formatModelReference(target);
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
202
|
+
const targetThinkingLevel = effectiveThinkingLevel(target, config.targetThinking);
|
|
203
|
+
const modelAlreadyActive = sameModel(ctx.model, target);
|
|
204
|
+
const plannerThinkingLevel = pi.getThinkingLevel();
|
|
182
205
|
try {
|
|
183
|
-
const
|
|
206
|
+
const transition = modelAlreadyActive
|
|
207
|
+
? { switched: true }
|
|
208
|
+
: await setModelPreservingExternalSelection(target, ctx);
|
|
184
209
|
if (state.phase !== 'handoff' || plannerSnapshot !== snapshot)
|
|
185
210
|
return;
|
|
186
|
-
if (!switched) {
|
|
211
|
+
if (!transition.switched) {
|
|
187
212
|
failAutomation(ctx, `Prewalk could not switch to ${targetKey}.`);
|
|
188
213
|
return;
|
|
189
214
|
}
|
|
215
|
+
if (transition.externalModel || transition.externalThinkingLevel !== undefined) {
|
|
216
|
+
clearAutomation(ctx);
|
|
217
|
+
if (transition.externalModel) {
|
|
218
|
+
notify(ctx, `Prewalk cancelled after the model changed to ${modelKey(transition.externalModel)}.`, 'warning');
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
notify(ctx, `Prewalk cancelled after the thinking level changed to ${transition.externalThinkingLevel}.`, 'warning');
|
|
222
|
+
}
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
if (modelAlreadyActive && targetThinkingLevel === plannerThinkingLevel) {
|
|
226
|
+
clearAutomation(ctx);
|
|
227
|
+
notify(ctx, `Prewalk target ${targetKey} at ${targetThinkingLevel} thinking already matches the planner; continuing without a handoff.`);
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
setThinkingLevelInternally(targetThinkingLevel);
|
|
231
|
+
const effectiveThinkingLevel = pi.getThinkingLevel();
|
|
190
232
|
state = { phase: 'implementing', run };
|
|
191
233
|
updateStatus(ctx);
|
|
192
|
-
|
|
234
|
+
const modelText = modelAlreadyActive ? ' without changing models' : '';
|
|
235
|
+
notify(ctx, `Prewalk handed implementation to ${targetKey} at ${effectiveThinkingLevel} thinking${modelText}.`);
|
|
193
236
|
}
|
|
194
237
|
catch (error) {
|
|
195
238
|
if (state.phase === 'handoff' && plannerSnapshot === snapshot) {
|
|
@@ -219,15 +262,19 @@ const prewalkExtension = (pi) => {
|
|
|
219
262
|
updateStatus(ctx);
|
|
220
263
|
try {
|
|
221
264
|
if (modelKey(ctx.model) !== snapshot.modelKey) {
|
|
222
|
-
const
|
|
265
|
+
const transition = await setModelPreservingExternalSelection(snapshot.model, ctx);
|
|
223
266
|
if (state.phase !== 'restoring' || plannerSnapshot !== snapshot)
|
|
224
267
|
return false;
|
|
225
|
-
if (!
|
|
268
|
+
if (!transition.switched)
|
|
226
269
|
throw new Error(`model ${snapshot.modelKey} is not authenticated`);
|
|
270
|
+
if (transition.externalModel || transition.externalThinkingLevel !== undefined) {
|
|
271
|
+
clearAutomation(ctx);
|
|
272
|
+
return true;
|
|
273
|
+
}
|
|
227
274
|
}
|
|
228
275
|
if (state.phase !== 'restoring' || plannerSnapshot !== snapshot)
|
|
229
276
|
return false;
|
|
230
|
-
|
|
277
|
+
setThinkingLevelInternally(snapshot.thinkingLevel);
|
|
231
278
|
clearAutomation(ctx);
|
|
232
279
|
return true;
|
|
233
280
|
}
|
|
@@ -242,17 +289,27 @@ const prewalkExtension = (pi) => {
|
|
|
242
289
|
async function setModelPreservingExternalSelection(model, ctx) {
|
|
243
290
|
if (modelTransition)
|
|
244
291
|
throw new Error('another Prewalk model transition is already active');
|
|
245
|
-
const transition = {
|
|
292
|
+
const transition = {
|
|
293
|
+
expectedModelKey: modelKey(model),
|
|
294
|
+
initialThinkingLevel: pi.getThinkingLevel(),
|
|
295
|
+
modelSelectObserved: false,
|
|
296
|
+
};
|
|
246
297
|
modelTransition = transition;
|
|
247
298
|
try {
|
|
248
299
|
let switched;
|
|
249
300
|
try {
|
|
250
|
-
switched = await pi.setModel(model);
|
|
301
|
+
switched = await pi.setModel(model, { updateDefault: false });
|
|
251
302
|
}
|
|
252
303
|
finally {
|
|
253
304
|
await reapplyExternalModel(ctx, transition);
|
|
254
305
|
}
|
|
255
|
-
return
|
|
306
|
+
return {
|
|
307
|
+
switched,
|
|
308
|
+
...(transition.externalModel === undefined ? {} : { externalModel: transition.externalModel }),
|
|
309
|
+
...(transition.externalThinkingLevel === undefined
|
|
310
|
+
? {}
|
|
311
|
+
: { externalThinkingLevel: transition.externalThinkingLevel }),
|
|
312
|
+
};
|
|
256
313
|
}
|
|
257
314
|
finally {
|
|
258
315
|
if (modelTransition === transition)
|
|
@@ -264,14 +321,24 @@ const prewalkExtension = (pi) => {
|
|
|
264
321
|
&& modelKey(ctx.model) !== modelKey(transition.externalModel)) {
|
|
265
322
|
const externalModel = transition.externalModel;
|
|
266
323
|
transition.expectedModelKey = modelKey(externalModel);
|
|
267
|
-
|
|
324
|
+
transition.initialThinkingLevel = pi.getThinkingLevel();
|
|
325
|
+
transition.modelSelectObserved = false;
|
|
326
|
+
const restored = await pi.setModel(externalModel, { updateDefault: false });
|
|
268
327
|
if (!restored)
|
|
269
328
|
throw new Error(`could not retain manual model ${modelKey(externalModel)}`);
|
|
270
329
|
}
|
|
271
|
-
if (transition.
|
|
272
|
-
&& transition.
|
|
273
|
-
|
|
274
|
-
|
|
330
|
+
if (transition.externalThinkingLevel !== undefined
|
|
331
|
+
&& (transition.externalModel === undefined || modelKey(ctx.model) === modelKey(transition.externalModel))) {
|
|
332
|
+
setThinkingLevelInternally(transition.externalThinkingLevel);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
function setThinkingLevelInternally(level) {
|
|
336
|
+
internalThinkingChange = true;
|
|
337
|
+
try {
|
|
338
|
+
pi.setThinkingLevel(level, { updateDefault: false });
|
|
339
|
+
}
|
|
340
|
+
finally {
|
|
341
|
+
internalThinkingChange = false;
|
|
275
342
|
}
|
|
276
343
|
}
|
|
277
344
|
async function turnOff(ctx) {
|
|
@@ -307,6 +374,29 @@ const prewalkExtension = (pi) => {
|
|
|
307
374
|
clearAutomation(ctx);
|
|
308
375
|
notify(ctx, 'Prewalk is off.');
|
|
309
376
|
}
|
|
377
|
+
async function approveModelEntry(ctx) {
|
|
378
|
+
if (config.entryApproval === 'always')
|
|
379
|
+
return { approved: true };
|
|
380
|
+
if (config.entryApproval === 'never') {
|
|
381
|
+
return {
|
|
382
|
+
approved: false,
|
|
383
|
+
reason: 'Model-requested Prewalk entry is disabled. Continue the current task without Prewalk.',
|
|
384
|
+
};
|
|
385
|
+
}
|
|
386
|
+
if (!ctx.hasUI) {
|
|
387
|
+
return {
|
|
388
|
+
approved: false,
|
|
389
|
+
reason: `Prewalk entry requires user approval, but interactive approval is unavailable in ${ctx.mode} mode. Continue the current task without Prewalk.`,
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
const approved = await ctx.ui.confirm('Enter Prewalk?', `The model wants to enter Prewalk for this task. Prewalk will plan in the current session and may hand implementation to ${targetModel.key} at ${config.targetThinking} thinking.`);
|
|
393
|
+
return approved
|
|
394
|
+
? { approved: true }
|
|
395
|
+
: {
|
|
396
|
+
approved: false,
|
|
397
|
+
reason: 'The user declined Prewalk entry. Continue the current task without Prewalk.',
|
|
398
|
+
};
|
|
399
|
+
}
|
|
310
400
|
pi.registerTool({
|
|
311
401
|
name: ENTER_PREWALK_TOOL,
|
|
312
402
|
label: 'Enter Prewalk',
|
|
@@ -326,13 +416,20 @@ const prewalkExtension = (pi) => {
|
|
|
326
416
|
return prewalkToolError(validation.reason, state.phase);
|
|
327
417
|
if (!ctx.model)
|
|
328
418
|
return prewalkToolError('Prewalk requires a selected planner model.', state.phase);
|
|
419
|
+
const approval = await approveModelEntry(ctx);
|
|
420
|
+
if (!approval.approved)
|
|
421
|
+
return prewalkToolError(approval.reason, state.phase);
|
|
329
422
|
startRun(ctx, false);
|
|
330
423
|
return {
|
|
331
424
|
content: [{
|
|
332
425
|
type: 'text',
|
|
333
|
-
text: `Prewalk entered for the current task. Follow the injected planning guidance, initialize Tasks when both task tools are active, keep the task graph concise, and make one focused mutation before the handoff to ${targetModel.key}.`,
|
|
426
|
+
text: `Prewalk entered for the current task. Follow the injected planning guidance, initialize Tasks when both task tools are active, keep the task graph concise, and make one focused mutation before the handoff to ${targetModel.key} at ${config.targetThinking} thinking.`,
|
|
334
427
|
}],
|
|
335
|
-
details: {
|
|
428
|
+
details: {
|
|
429
|
+
phase: 'planning',
|
|
430
|
+
targetModel: targetModel.key,
|
|
431
|
+
targetThinking: config.targetThinking,
|
|
432
|
+
},
|
|
336
433
|
};
|
|
337
434
|
},
|
|
338
435
|
});
|
|
@@ -423,8 +520,10 @@ const prewalkExtension = (pi) => {
|
|
|
423
520
|
});
|
|
424
521
|
pi.on('model_select', (event, ctx) => {
|
|
425
522
|
const selectedModelKey = modelKey(event.model);
|
|
426
|
-
if (modelTransition?.expectedModelKey === selectedModelKey)
|
|
523
|
+
if (modelTransition?.expectedModelKey === selectedModelKey) {
|
|
524
|
+
modelTransition.modelSelectObserved = true;
|
|
427
525
|
return;
|
|
526
|
+
}
|
|
428
527
|
if (modelTransition) {
|
|
429
528
|
modelTransition.externalModel = event.model;
|
|
430
529
|
modelTransition.externalThinkingLevel = pi.getThinkingLevel();
|
|
@@ -434,6 +533,35 @@ const prewalkExtension = (pi) => {
|
|
|
434
533
|
clearAutomation(ctx);
|
|
435
534
|
notify(ctx, `Prewalk cancelled after the model changed to ${selectedModelKey}.`, 'warning');
|
|
436
535
|
});
|
|
536
|
+
pi.on('thinking_level_select', (event, ctx) => {
|
|
537
|
+
if (internalThinkingChange)
|
|
538
|
+
return;
|
|
539
|
+
if (modelTransition
|
|
540
|
+
&& modelKey(ctx.model) === modelTransition.expectedModelKey
|
|
541
|
+
&& !modelTransition.modelSelectObserved) {
|
|
542
|
+
const transition = modelTransition;
|
|
543
|
+
// Pi's setModel clamps the carried effort before emitting model_select.
|
|
544
|
+
// The canonical clamp lets us recognize that event even when a manual
|
|
545
|
+
// effort change wins the race and arrives before Pi's own clamp event.
|
|
546
|
+
const internalClamp = clampPiThinkingLevel(ctx.model, transition.initialThinkingLevel);
|
|
547
|
+
// Pi's event has no source field, so a manual selection of exactly the
|
|
548
|
+
// same level as the automatic clamp is observationally indistinguishable
|
|
549
|
+
// from that clamp; preserve the canonical internal interpretation.
|
|
550
|
+
if (internalClamp === transition.initialThinkingLevel
|
|
551
|
+
|| event.level !== internalClamp) {
|
|
552
|
+
transition.externalThinkingLevel = event.level;
|
|
553
|
+
}
|
|
554
|
+
return;
|
|
555
|
+
}
|
|
556
|
+
if (modelTransition) {
|
|
557
|
+
modelTransition.externalThinkingLevel = event.level;
|
|
558
|
+
return;
|
|
559
|
+
}
|
|
560
|
+
if (state.phase === 'idle')
|
|
561
|
+
return;
|
|
562
|
+
clearAutomation(ctx);
|
|
563
|
+
notify(ctx, `Prewalk cancelled after the thinking level changed to ${event.level}.`, 'warning');
|
|
564
|
+
});
|
|
437
565
|
pi.on('agent_settled', async (_event, ctx) => {
|
|
438
566
|
if (state.phase === 'implementing' || state.phase === 'handoff') {
|
|
439
567
|
if (config.restorePlanner && plannerSnapshot) {
|
|
@@ -463,7 +591,7 @@ const prewalkExtension = (pi) => {
|
|
|
463
591
|
clearAutomation(ctx);
|
|
464
592
|
}
|
|
465
593
|
});
|
|
466
|
-
}
|
|
594
|
+
}
|
|
467
595
|
function buildContextMessages(messages, phase, currentAnchor) {
|
|
468
596
|
const successfulEntries = successfulEntryCallIds(messages);
|
|
469
597
|
const filtered = [];
|
|
@@ -608,24 +736,46 @@ function parseTargetModel(value) {
|
|
|
608
736
|
const model = parseModelReference(normalized);
|
|
609
737
|
return model ? { kind: 'model', model, key: formatModelReference(model) } : undefined;
|
|
610
738
|
}
|
|
611
|
-
function
|
|
739
|
+
function effectiveThinkingLevel(model, targetThinking) {
|
|
740
|
+
return clampPiThinkingLevel(model, targetThinking);
|
|
741
|
+
}
|
|
742
|
+
function clampPiThinkingLevel(model, level) {
|
|
743
|
+
if (level === 'off')
|
|
744
|
+
return 'off';
|
|
745
|
+
return clampThinkingLevel(model, level);
|
|
746
|
+
}
|
|
747
|
+
function loadConfig(pi, defaultConfig) {
|
|
612
748
|
const targetModel = pi.getFlag(TARGET_MODEL_FLAG);
|
|
749
|
+
const targetThinking = pi.getFlag(TARGET_THINKING_FLAG);
|
|
613
750
|
const restorePlanner = pi.getFlag(RESTORE_PLANNER_FLAG);
|
|
751
|
+
const entryApproval = pi.getFlag(ENTRY_APPROVAL_FLAG);
|
|
614
752
|
const parsedTarget = typeof targetModel === 'string' ? parseTargetModel(targetModel) : undefined;
|
|
615
753
|
if (!parsedTarget) {
|
|
616
|
-
return invalidConfig(`${TARGET_MODEL_FLAG} must be high, medium, low, or an exact provider/model-id`);
|
|
754
|
+
return invalidConfig(defaultConfig, `${TARGET_MODEL_FLAG} must be high, medium, low, or an exact provider/model-id`);
|
|
755
|
+
}
|
|
756
|
+
if (typeof targetThinking !== 'string' || !isFelanThinkingLevel(targetThinking)) {
|
|
757
|
+
return invalidConfig(defaultConfig, `${TARGET_THINKING_FLAG} must be off, low, medium, high, xhigh, or max`);
|
|
758
|
+
}
|
|
759
|
+
if (typeof restorePlanner !== 'boolean') {
|
|
760
|
+
return invalidConfig(defaultConfig, `${RESTORE_PLANNER_FLAG} must be a boolean`);
|
|
761
|
+
}
|
|
762
|
+
if (!isEntryApprovalPolicy(entryApproval)) {
|
|
763
|
+
return invalidConfig(defaultConfig, `${ENTRY_APPROVAL_FLAG} must be ask, always, or never`);
|
|
617
764
|
}
|
|
618
|
-
if (typeof restorePlanner !== 'boolean')
|
|
619
|
-
return invalidConfig(`${RESTORE_PLANNER_FLAG} must be a boolean`);
|
|
620
765
|
return {
|
|
621
766
|
config: {
|
|
622
767
|
targetModel: parsedTarget.key,
|
|
768
|
+
targetThinking,
|
|
623
769
|
restorePlanner,
|
|
770
|
+
entryApproval,
|
|
624
771
|
},
|
|
625
772
|
};
|
|
626
773
|
}
|
|
627
|
-
function invalidConfig(reason) {
|
|
628
|
-
return { config: { ...
|
|
774
|
+
function invalidConfig(defaultConfig, reason) {
|
|
775
|
+
return { config: { ...defaultConfig }, warning: `${reason}.` };
|
|
776
|
+
}
|
|
777
|
+
function isEntryApprovalPolicy(value) {
|
|
778
|
+
return value === 'ask' || value === 'always' || value === 'never';
|
|
629
779
|
}
|
|
630
780
|
function errorMessage(error) {
|
|
631
781
|
return error instanceof Error ? error.message : String(error);
|
|
@@ -640,5 +790,6 @@ function prewalkToolError(message, phase) {
|
|
|
640
790
|
function isRecord(value) {
|
|
641
791
|
return typeof value === 'object' && value !== null;
|
|
642
792
|
}
|
|
793
|
+
const prewalkExtension = createPrewalkExtension();
|
|
643
794
|
export default prewalkExtension;
|
|
644
795
|
//# sourceMappingURL=index.js.map
|
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":"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"}
|
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.6",
|
|
4
4
|
"description": "Same-session planner-to-implementation model handoff for Felan",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
"typebox": "1.1.38"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
|
-
"@felan-ai/agent-core": "^0.4.
|
|
31
|
+
"@felan-ai/agent-core": "^0.4.12",
|
|
32
32
|
"@felan-ai/ext-tasks": "^0.1.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@felan-ai/agent-core": "0.4.
|
|
35
|
+
"@felan-ai/agent-core": "0.4.12"
|
|
36
36
|
},
|
|
37
37
|
"publishConfig": {
|
|
38
38
|
"access": "public",
|