@felan-ai/ext-prewalk 0.5.2 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/NOTICE CHANGED
@@ -9,3 +9,6 @@ Copyright (c) 2026 Milko Slavov
9
9
 
10
10
  The adapted source is licensed under the MIT License. The applicable MIT
11
11
  license text and copyright notices are reproduced in LICENSE.
12
+
13
+ This package uses @earendil-works/pi-tui 0.84.4 from
14
+ https://github.com/earendil-works/pi, licensed under the MIT License.
package/README.md CHANGED
@@ -1,6 +1,6 @@
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, optionally reviews that plan with the user, 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.
3
+ Same-session Prewalk for Felan's complex repository work: the current model explores and plans the work in the session task graph, optionally submits that plan for user review, then makes one focused mutation after approval. 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
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
 
@@ -36,19 +36,27 @@ enter_prewalk {} Enter Prewalk for complex repository work
36
36
 
37
37
  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 `allow` for unattended environments such as a cloud platform, or `deny` 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 and by itself. Conversation or repository activity from earlier requests does not prevent entry. Prefer entry before exploring the current task; if its complexity becomes clear after read-only exploration, call the tool before its first 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.
38
38
 
39
- 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.
39
+ The successful entry call and result are orchestration controls. They remain in the stored session transcript but are removed from model context. The `exit_plan_mode` call remains in context so the implementation model receives the approved plan argument. Current phase guidance is transient and replaced at the phase boundary, so the target receives the useful exploration, task graph, approved plan, and first valid change with implementation guidance rather than an instruction to keep planning.
40
40
 
41
41
  ## Plan review
42
42
 
43
- When plan review is active, the planner presents a concise numbered summary after preparing the task graph and asks the user to raise concerns by point number or explicitly approve. Discussion and revisions stay with the planner, which updates the task graph and re-presents the summary as needed. After explicit approval, the planner calls `approve_prewalk_plan`; Prewalk then allows the existing focused-mutation gate to trigger the model handoff. Mutation tools remain available during review, so the non-mutation boundary is guidance enforced rather than a security sandbox.
43
+ When plan review is active, the planner calls the following tool after preparing the task graph:
44
44
 
45
- In modes without interactive input, an `ask` review is auto-approved after the plan is presented. Prewalk emits a warning explaining the mode-based auto-approval, then continues through the same focused-mutation handoff.
45
+ ```text
46
+ exit_plan_mode { plan: "<complete concise plan>" }
47
+ ```
48
+
49
+ The plan must be non-empty and no longer than 32,000 characters. In the TUI, the tool opens a fullscreen review with a scrollable, theme-styled Markdown plan pane and fixed actions for approving, providing feedback, or cancelling Prewalk. Use the mouse wheel or trackpad, Page Up/Page Down, or Home/End to scroll the plan, and the select bindings to choose an action. The display copy is terminal-safe; the original plan argument remains in model context. RPC mode uses the host's select dialog. Approval returns control to the planner, whose first focused mutation triggers the existing model handoff. Feedback returns to planning so the planner can update the task graph and call `exit_plan_mode` again with the complete revised plan. Cancellation exits Prewalk without implementation. Dismissing the dialog leaves Prewalk in planning; Prewalk does not create a separate plan file or persisted plan record.
50
+
51
+ Mutation tools remain available during review, so the non-mutation boundary is guidance enforced rather than a security sandbox.
52
+
53
+ In modes without interactive input, `exit_plan_mode` auto-approves an `ask` review after receiving the plan argument. Prewalk emits a warning explaining the mode-based auto-approval, then continues through the same focused-mutation handoff.
46
54
 
47
55
  ## Lifecycle
48
56
 
49
57
  1. The planner explores the relevant repository surface and determines the complete implementation scope.
50
58
  2. When the task tools are available, the planner creates a concise graph of at most nine outcome-oriented tasks with `TaskCreate`, includes concrete validation in their acceptance criteria, links them with `blocked_by` dependencies that encode the execution order, and claims the first ready task with `TaskUpdate`.
51
- 3. When plan review is active, the planner presents a concise numbered summary, discusses concerns, revises the task graph as needed, and waits for explicit approval.
59
+ 3. When plan review is active, the planner passes a concise numbered plan to `exit_plan_mode`. The tool displays it and either records approval, returns feedback for another planning iteration, or cancels Prewalk.
52
60
  4. When both task tools are active, successful `TaskCreate` and `TaskUpdate`
53
61
  calls claiming `in_progress` work open the task gate. The planner then
54
62
  performs one focused successful `edit`, `write`, or `apply_patch`.
@@ -117,11 +125,11 @@ user intent.
117
125
  - A failed planner restoration clears Prewalk, reports the failure once, and keeps the current model.
118
126
  - A manual model change cancels Prewalk without restoring over the user's selection.
119
127
  - Repeated entry calls do not replace the active run or its planner snapshot.
120
- - Plan approval calls outside an active review are rejected without changing the run.
128
+ - `exit_plan_mode` calls outside active unapproved planning, with an empty plan, or before the required task gate is ready are rejected without changing the run.
121
129
  - A successful mutation before required plan approval does not trigger handoff; Prewalk relies on planner guidance rather than disabling mutation tools.
122
130
  - Exit requests during active target inference restore only after the run settles.
123
131
  - Session quit, reload, replacement, or fork while the target is active attempts planner restoration as a graceful shutdown backstop.
124
- - Reaching the automatic continuation limit lets the run settle normally.
132
+ - Reaching the automatic continuation limit lets the agent run settle. Required review remains in planning so a later `exit_plan_mode` call can recover; other incomplete planning clears normally.
125
133
 
126
134
  ## Attribution
127
135
 
@@ -149,8 +157,8 @@ target selection, and restoration lifecycle. Agent Core supplies model tiers and
149
157
  authenticated model scope, session lifecycle, and active tools. Prewalk does not
150
158
  inspect or execute the task graph beyond the successful TaskCreate/TaskUpdate
151
159
  handoff gate described above. Entry approval controls only whether a model may
152
- start Prewalk. Plan review is a conversational approval checkpoint, not a
153
- sandbox or a tool-level mutation restriction.
160
+ start Prewalk. Plan review is a tool-driven approval checkpoint, not a sandbox
161
+ or a tool-level mutation restriction.
154
162
 
155
163
  The package requires compatible Agent Core and Tasks peers plus an explicit
156
164
  `edit`, `write`, or Codex `apply_patch` tool in the composed session.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAeL,KAAK,cAAc,EAKpB,MAAM,sBAAsB,CAAC;AAsC9B,MAAM,MAAM,0BAA0B,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAClE,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AACjE,eAAO,MAAM,cAAc;;;;;;EAoBzB,CAAC;AA4xBH,eAAO,MAAM,sBAAsB,QAAO,cAAiC,CAAC;AA6N5E,QAAA,MAAM,gBAAgB,gBAA2B,CAAC;AAIlD,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAeL,KAAK,cAAc,EAKpB,MAAM,sBAAsB,CAAC;AA2C9B,MAAM,MAAM,0BAA0B,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAClE,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AACjE,eAAO,MAAM,cAAc;;;;;;EAoBzB,CAAC;AA85BH,eAAO,MAAM,sBAAsB,QAAO,cAAiC,CAAC;AA2N5E,QAAA,MAAM,gBAAgB,gBAA2B,CAAC;AAIlD,eAAe,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { associateExtensionConfig, configField, defineExtensionConfig, clampThinkingLevel, isFelanThinkingLevel, formatModelReference, isModelTier, parseModelReference, selectModelForTier, } from '@felan-ai/agent-core';
2
2
  import { Type } from 'typebox';
3
- import { CONTINUATION_INSTRUCTION, CONTINUATION_MESSAGE_TYPE, CONTROL_MESSAGE_PREFIX, IMPLEMENTATION_MESSAGE_TYPE, PLAN_APPROVED_INSTRUCTION, PLAN_APPROVED_MESSAGE_TYPE, PLAN_REVIEW_INSTRUCTION, PLAN_REVIEW_MESSAGE_TYPE, PLAN_REVIEW_PLANNING_INSTRUCTION, PLANNING_INSTRUCTION, PLANNING_MESSAGE_TYPE, VERIFICATION_INSTRUCTION, } from './prompts.js';
3
+ import { CONTINUATION_INSTRUCTION, CONTINUATION_MESSAGE_TYPE, CONTROL_MESSAGE_PREFIX, IMPLEMENTATION_MESSAGE_TYPE, PLAN_APPROVED_INSTRUCTION, PLAN_APPROVED_MESSAGE_TYPE, PLAN_REVIEW_MESSAGE_TYPE, PLAN_REVIEW_PLANNING_INSTRUCTION, PLANNING_INSTRUCTION, PLANNING_MESSAGE_TYPE, VERIFICATION_INSTRUCTION, } from './prompts.js';
4
4
  import { beginTurn, createRunState, recordToolCall, reduceTurn, validateArmingTools, } from './state.js';
5
+ import { APPROVE_PLAN_OPTION, CANCEL_PREWALK_OPTION, FEEDBACK_PLAN_OPTION, presentPlanReview, } from './plan-review.js';
5
6
  export const PREWALK_CONFIG = defineExtensionConfig({
6
7
  id: 'prewalk',
7
8
  title: 'Prewalk',
@@ -25,10 +26,17 @@ export const PREWALK_CONFIG = defineExtensionConfig({
25
26
  });
26
27
  const HEADLESS_TASK_MESSAGE_TYPE = 'pi-prewalk-task';
27
28
  const ENTER_PREWALK_TOOL = 'enter_prewalk';
28
- const APPROVE_PREWALK_PLAN_TOOL = 'approve_prewalk_plan';
29
+ const EXIT_PLAN_MODE_TOOL = 'exit_plan_mode';
30
+ const MAX_PLAN_LENGTH = 32_000;
29
31
  const IMPLEMENTATION_BASELINE_RATIO = 2 / 3;
30
32
  const EnterPrewalkParams = Type.Object({}, { additionalProperties: false });
31
- const ApprovePrewalkPlanParams = Type.Object({}, { additionalProperties: false });
33
+ const ExitPlanModeParams = Type.Object({
34
+ plan: Type.String({
35
+ minLength: 1,
36
+ maxLength: MAX_PLAN_LENGTH,
37
+ description: 'The complete plan to present to the user for review.',
38
+ }),
39
+ }, { additionalProperties: false });
32
40
  function registerPrewalk(pi) {
33
41
  pi.registerCapability({
34
42
  id: 'prewalk',
@@ -385,24 +393,45 @@ function registerPrewalk(pi) {
385
393
  reason: 'The user declined Prewalk entry. Continue the current task without Prewalk.',
386
394
  };
387
395
  }
388
- function approvePlan(ctx) {
389
- if (state.phase !== 'reviewing' || !state.run)
396
+ function beginPlanReview(ctx) {
397
+ if (state.phase !== 'planning'
398
+ || !state.run
399
+ || !state.run.reviewRequired
400
+ || state.run.reviewApproved)
401
+ return undefined;
402
+ if (state.run.taskGateRequired && !state.run.taskGraphReady)
403
+ return undefined;
404
+ const reviewRun = { ...state.run };
405
+ state = {
406
+ phase: 'reviewing',
407
+ run: reviewRun,
408
+ };
409
+ phaseContextAnchor = undefined;
410
+ updateStatus(ctx);
411
+ return reviewRun;
412
+ }
413
+ function resumePlanningAfterReview(ctx, reviewRun, approved) {
414
+ if (state.phase !== 'reviewing' || state.run !== reviewRun)
390
415
  return false;
391
416
  state = {
392
417
  phase: 'planning',
393
418
  run: {
394
- ...state.run,
419
+ ...reviewRun,
395
420
  mutationCallIds: [],
396
421
  taskCreateCallIds: [],
397
422
  taskClaimCallIds: [],
398
423
  handoffArmed: false,
399
- reviewApproved: true,
424
+ reviewRequired: true,
425
+ reviewApproved: approved,
400
426
  },
401
427
  };
402
428
  phaseContextAnchor = undefined;
403
429
  updateStatus(ctx);
404
430
  return true;
405
431
  }
432
+ function isActivePlanReview(reviewRun) {
433
+ return state.phase === 'reviewing' && state.run === reviewRun;
434
+ }
406
435
  pi.registerTool({
407
436
  name: ENTER_PREWALK_TOOL,
408
437
  label: 'Enter Prewalk',
@@ -427,7 +456,7 @@ function registerPrewalk(pi) {
427
456
  return prewalkToolError(approval.reason);
428
457
  startRun(ctx, false);
429
458
  const reviewText = effectivePlanReview(config) === 'ask'
430
- ? ' present the plan for explicit user approval,'
459
+ ? ` submit the plan through ${EXIT_PLAN_MODE_TOOL} for user review,`
431
460
  : '';
432
461
  return {
433
462
  content: [{
@@ -443,23 +472,93 @@ function registerPrewalk(pi) {
443
472
  },
444
473
  });
445
474
  pi.registerTool({
446
- name: APPROVE_PREWALK_PLAN_TOOL,
447
- label: 'Approve Prewalk Plan',
448
- description: 'Record explicit user approval of the plan currently under Prewalk review. Call only after the user explicitly approves, and call it as the only tool in the response.',
449
- promptSnippet: 'Approve the reviewed Prewalk plan after explicit user approval',
475
+ name: EXIT_PLAN_MODE_TOOL,
476
+ label: 'Exit Plan Mode',
477
+ description: 'Present the completed Prewalk plan for user review. Pass the full plan and call this as the only tool in the response. Approval returns to planning so the first focused mutation can trigger the implementation-model handoff. Feedback keeps planning active; cancellation exits Prewalk.',
478
+ promptSnippet: 'Present a completed Prewalk plan for approval, feedback, or cancellation',
450
479
  executionMode: 'sequential',
451
- parameters: ApprovePrewalkPlanParams,
452
- async execute(_toolCallId, _params, _signal, _onUpdate, ctx) {
453
- if (!approvePlan(ctx)) {
454
- return prewalkToolError('No Prewalk plan is awaiting approval. Continue the current phase without calling approve_prewalk_plan.');
480
+ parameters: ExitPlanModeParams,
481
+ async execute(_toolCallId, params, signal, _onUpdate, ctx) {
482
+ if (params.plan.trim().length === 0) {
483
+ return prewalkToolError('exit_plan_mode requires a non-empty plan.');
484
+ }
485
+ if (params.plan.length > MAX_PLAN_LENGTH) {
486
+ return prewalkToolError(`exit_plan_mode plan must not exceed ${MAX_PLAN_LENGTH} characters.`);
487
+ }
488
+ if (state.phase !== 'planning' || !state.run) {
489
+ return prewalkToolError(`exit_plan_mode requires an active Prewalk planning run; current phase is ${state.phase}.`);
490
+ }
491
+ if (state.run.reviewApproved) {
492
+ return prewalkToolError('The Prewalk plan is already approved. Make the focused mutation that triggers implementation handoff.');
493
+ }
494
+ if (!state.run.reviewRequired) {
495
+ return prewalkToolError('Plan review is disabled for the active Prewalk run. Continue the configured focused-mutation flow.');
496
+ }
497
+ if (state.run.taskGateRequired && !state.run.taskGraphReady) {
498
+ return prewalkToolError('Complete the required TaskCreate and in-progress TaskUpdate calls before presenting the Prewalk plan.');
499
+ }
500
+ const reviewRun = beginPlanReview(ctx);
501
+ if (!reviewRun) {
502
+ return prewalkToolError('Prewalk could not enter plan review from the current state.');
503
+ }
504
+ if (!ctx.hasUI) {
505
+ notify(ctx, `Prewalk auto-approved plan review because interactive input is unavailable in ${ctx.mode} mode.`, 'warning');
506
+ if (!resumePlanningAfterReview(ctx, reviewRun, true)) {
507
+ return stalePlanReviewResult(state.phase);
508
+ }
509
+ return approvedPlanResult();
510
+ }
511
+ try {
512
+ const action = await presentPlanReview(ctx, params.plan, signal);
513
+ if (action === APPROVE_PLAN_OPTION) {
514
+ if (!resumePlanningAfterReview(ctx, reviewRun, true)) {
515
+ return stalePlanReviewResult(state.phase);
516
+ }
517
+ return approvedPlanResult();
518
+ }
519
+ if (action === FEEDBACK_PLAN_OPTION) {
520
+ if (!isActivePlanReview(reviewRun)) {
521
+ return stalePlanReviewResult(state.phase);
522
+ }
523
+ const feedback = await ctx.ui.input('Feedback on Prewalk plan', 'Tell the planner what to change...', signal ? { signal } : undefined);
524
+ if (!resumePlanningAfterReview(ctx, reviewRun, false)) {
525
+ return stalePlanReviewResult(state.phase);
526
+ }
527
+ const normalizedFeedback = feedback?.trim();
528
+ if (normalizedFeedback) {
529
+ return {
530
+ content: [{
531
+ type: 'text',
532
+ text: `The user requested plan changes:\n\n${normalizedFeedback}\n\nRevise the plan and call exit_plan_mode again with the complete updated plan. Do not modify the repository before approval.`,
533
+ }],
534
+ details: { phase: 'planning', decision: 'feedback', feedback: normalizedFeedback },
535
+ };
536
+ }
537
+ return dismissedPlanResult();
538
+ }
539
+ if (action === CANCEL_PREWALK_OPTION) {
540
+ if (!isActivePlanReview(reviewRun)) {
541
+ return stalePlanReviewResult(state.phase);
542
+ }
543
+ await turnOff(ctx);
544
+ return {
545
+ content: [{ type: 'text', text: 'The user cancelled Prewalk. Stop this run and wait for new instructions.' }],
546
+ details: { phase: 'idle', decision: 'cancelled' },
547
+ terminate: true,
548
+ };
549
+ }
550
+ if (!resumePlanningAfterReview(ctx, reviewRun, false)) {
551
+ return stalePlanReviewResult(state.phase);
552
+ }
553
+ return dismissedPlanResult();
554
+ }
555
+ catch (error) {
556
+ if (!isActivePlanReview(reviewRun)) {
557
+ return stalePlanReviewResult(state.phase);
558
+ }
559
+ resumePlanningAfterReview(ctx, reviewRun, false);
560
+ throw error;
455
561
  }
456
- return {
457
- content: [{
458
- type: 'text',
459
- text: 'The Prewalk plan is approved. On the next model turn, make one focused mutation that establishes the implementation direction before handoff.',
460
- }],
461
- details: { phase: 'planning', approved: true },
462
- };
463
562
  },
464
563
  });
465
564
  pi.registerCommand('prewalk', {
@@ -534,25 +633,9 @@ function registerPrewalk(pi) {
534
633
  const textOnlyCompletion = isTextOnlyCompletion(event.message);
535
634
  const decision = reduceTurn(state.run, event.toolResults, {
536
635
  allowContinuation: textOnlyCompletion,
537
- planPresented: textOnlyCompletion,
538
636
  });
539
637
  state = { phase: 'planning', run: decision.state };
540
638
  updateStatus(ctx);
541
- if (decision.shouldReview) {
542
- state = { phase: 'reviewing', run: decision.state };
543
- phaseContextAnchor = undefined;
544
- updateStatus(ctx);
545
- if (!ctx.hasUI) {
546
- notify(ctx, `Prewalk auto-approved plan review because interactive input is unavailable in ${ctx.mode} mode.`, 'warning');
547
- approvePlan(ctx);
548
- pi.sendMessage({
549
- customType: PLAN_APPROVED_MESSAGE_TYPE,
550
- content: PLAN_APPROVED_INSTRUCTION,
551
- display: false,
552
- }, { deliverAs: 'followUp' });
553
- }
554
- return;
555
- }
556
639
  if (decision.shouldHandoff) {
557
640
  const handoff = switchToTarget(ctx).finally(() => {
558
641
  if (handoffPromise === handoff)
@@ -630,6 +713,8 @@ function registerPrewalk(pi) {
630
713
  if (state.phase === 'reviewing')
631
714
  return;
632
715
  if (state.phase === 'planning') {
716
+ if (state.run?.reviewRequired && !state.run.reviewApproved)
717
+ return;
633
718
  clearAutomation(ctx);
634
719
  notify(ctx, 'Prewalk ended before a qualifying first mutation.', 'warning');
635
720
  }
@@ -646,6 +731,35 @@ function registerPrewalk(pi) {
646
731
  }
647
732
  });
648
733
  }
734
+ function approvedPlanResult() {
735
+ return {
736
+ content: [{
737
+ type: 'text',
738
+ text: 'The user approved the Prewalk plan. On the next model turn, make one focused mutation that establishes the implementation direction before handoff.',
739
+ }],
740
+ details: { phase: 'planning', decision: 'approved' },
741
+ };
742
+ }
743
+ function dismissedPlanResult() {
744
+ return {
745
+ content: [{
746
+ type: 'text',
747
+ text: 'Plan review was dismissed. Prewalk remains in planning; wait for the user or call exit_plan_mode again with the complete plan.',
748
+ }],
749
+ details: { phase: 'planning', decision: 'dismissed' },
750
+ terminate: true,
751
+ };
752
+ }
753
+ function stalePlanReviewResult(phase) {
754
+ return {
755
+ content: [{
756
+ type: 'text',
757
+ text: `The plan review is no longer active; Prewalk is ${phase}. Ignore the stale selection and stop this tool turn.`,
758
+ }],
759
+ details: { phase, decision: 'stale' },
760
+ terminate: true,
761
+ };
762
+ }
649
763
  async function reportImplementationSavings(reporter, models, message) {
650
764
  if (!reporter || !models)
651
765
  return;
@@ -720,7 +834,7 @@ function buildContextMessages(messages, state, currentAnchor) {
720
834
  if (stripped !== undefined)
721
835
  filtered.push(stripped);
722
836
  }
723
- const guidedPhase = phase === 'planning' || phase === 'reviewing' || phase === 'implementing'
837
+ const guidedPhase = phase === 'planning' || phase === 'implementing'
724
838
  ? phase
725
839
  : undefined;
726
840
  const instruction = guidedPhase === 'planning'
@@ -729,14 +843,12 @@ function buildContextMessages(messages, state, currentAnchor) {
729
843
  : state.run?.reviewApproved
730
844
  ? { customType: PLAN_APPROVED_MESSAGE_TYPE, content: PLAN_APPROVED_INSTRUCTION }
731
845
  : { customType: PLANNING_MESSAGE_TYPE, content: PLANNING_INSTRUCTION }
732
- : guidedPhase === 'reviewing'
733
- ? { customType: PLAN_REVIEW_MESSAGE_TYPE, content: PLAN_REVIEW_INSTRUCTION }
734
- : guidedPhase === 'implementing'
735
- ? {
736
- customType: IMPLEMENTATION_MESSAGE_TYPE,
737
- content: VERIFICATION_INSTRUCTION,
738
- }
739
- : undefined;
846
+ : guidedPhase === 'implementing'
847
+ ? {
848
+ customType: IMPLEMENTATION_MESSAGE_TYPE,
849
+ content: VERIFICATION_INSTRUCTION,
850
+ }
851
+ : undefined;
740
852
  if (guidedPhase === undefined || instruction === undefined)
741
853
  return { messages: filtered };
742
854
  const { anchor, index } = resolvePhaseContextAnchor(filtered, guidedPhase, currentAnchor);
@@ -810,7 +922,7 @@ function successfulControlCallIds(messages) {
810
922
  for (const message of messages) {
811
923
  if (isRecord(message)
812
924
  && message.role === 'toolResult'
813
- && (message.toolName === ENTER_PREWALK_TOOL || message.toolName === APPROVE_PREWALK_PLAN_TOOL)
925
+ && message.toolName === ENTER_PREWALK_TOOL
814
926
  && message.isError !== true
815
927
  && typeof message.toolCallId === 'string') {
816
928
  const ids = callIds.get(message.toolName) ?? new Set();
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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"}
@@ -0,0 +1,25 @@
1
+ import type { ExtensionContext } from '@felan-ai/agent-core';
2
+ import { type Component, type KeybindingsManager, type OverlayOptions, type TUI } from '@earendil-works/pi-tui';
3
+ type Theme = ExtensionContext['ui']['theme'];
4
+ export declare const APPROVE_PLAN_OPTION = "Approve plan";
5
+ export declare const FEEDBACK_PLAN_OPTION = "Provide feedback";
6
+ export declare const CANCEL_PREWALK_OPTION = "Cancel Prewalk";
7
+ export declare const PLAN_REVIEW_OPTIONS: readonly ["Approve plan", "Provide feedback", "Cancel Prewalk"];
8
+ export type PlanReviewAction = (typeof PLAN_REVIEW_OPTIONS)[number];
9
+ export declare const PLAN_REVIEW_OVERLAY_OPTIONS: OverlayOptions;
10
+ export declare function presentPlanReview(ctx: ExtensionContext, plan: string, signal?: AbortSignal): Promise<PlanReviewAction | undefined>;
11
+ export declare class PlanReview implements Component {
12
+ #private;
13
+ private readonly tui;
14
+ private readonly theme;
15
+ private readonly keybindings;
16
+ private readonly done;
17
+ constructor(tui: TUI, theme: Theme, keybindings: KeybindingsManager, plan: string, done: (action: PlanReviewAction | undefined) => void);
18
+ handleInput(data: string): void;
19
+ render(width: number): string[];
20
+ invalidate(): void;
21
+ dispose(): void;
22
+ }
23
+ export declare function sanitizePlanForDisplay(plan: string): string;
24
+ export {};
25
+ //# sourceMappingURL=plan-review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-review.d.ts","sourceRoot":"","sources":["../src/plan-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAOL,KAAK,SAAS,EAEd,KAAK,kBAAkB,EAEvB,KAAK,cAAc,EACnB,KAAK,GAAG,EACT,MAAM,wBAAwB,CAAC;AAEhC,KAAK,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AAE7C,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAClD,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AAEtD,eAAO,MAAM,mBAAmB,iEAItB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,2BAA2B,EAAE,cAKzC,CAAC;AAIF,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAiCvC;AAED,qBAAa,UAAW,YAAW,SAAS;;IAUxC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAJJ,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,kBAAkB,EAChD,IAAI,EAAE,MAAM,EACK,IAAI,EAAE,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,KAAK,IAAI;IAYvE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA8C/B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAuC/B,UAAU,IAAI,IAAI;IAIlB,OAAO,IAAI,IAAI;CA+EhB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI3D"}
@@ -0,0 +1,295 @@
1
+ import { Key, Markdown, matchesKey, stripTerminalSequences, truncateToWidth, visibleWidth, } from '@earendil-works/pi-tui';
2
+ export const APPROVE_PLAN_OPTION = 'Approve plan';
3
+ export const FEEDBACK_PLAN_OPTION = 'Provide feedback';
4
+ export const CANCEL_PREWALK_OPTION = 'Cancel Prewalk';
5
+ export const PLAN_REVIEW_OPTIONS = [
6
+ APPROVE_PLAN_OPTION,
7
+ FEEDBACK_PLAN_OPTION,
8
+ CANCEL_PREWALK_OPTION,
9
+ ];
10
+ export const PLAN_REVIEW_OVERLAY_OPTIONS = {
11
+ anchor: 'top-left',
12
+ width: '100%',
13
+ maxHeight: '100%',
14
+ margin: 0,
15
+ };
16
+ const UNSAFE_CONTROL_CHARACTERS = /[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F-\u009F]/gu;
17
+ export async function presentPlanReview(ctx, plan, signal) {
18
+ if (ctx.mode !== 'tui') {
19
+ const action = await ctx.ui.select(`Review Prewalk plan\n\n${plan}`, [...PLAN_REVIEW_OPTIONS], signal ? { signal } : undefined);
20
+ return isPlanReviewAction(action) ? action : undefined;
21
+ }
22
+ let removeAbortListener;
23
+ try {
24
+ return await ctx.ui.custom((tui, theme, keybindings, done) => {
25
+ let settled = false;
26
+ const finish = (action) => {
27
+ if (settled)
28
+ return;
29
+ settled = true;
30
+ done(action);
31
+ };
32
+ const onAbort = () => finish(undefined);
33
+ if (signal?.aborted)
34
+ queueMicrotask(onAbort);
35
+ else if (signal) {
36
+ signal.addEventListener('abort', onAbort, { once: true });
37
+ removeAbortListener = () => signal.removeEventListener('abort', onAbort);
38
+ }
39
+ return new PlanReview(tui, theme, keybindings, plan, finish);
40
+ }, { overlay: true, overlayOptions: PLAN_REVIEW_OVERLAY_OPTIONS });
41
+ }
42
+ finally {
43
+ removeAbortListener?.();
44
+ }
45
+ }
46
+ export class PlanReview {
47
+ tui;
48
+ theme;
49
+ keybindings;
50
+ done;
51
+ #markdown;
52
+ #selectedIndex = 0;
53
+ #scrollOffset = 0;
54
+ #contentLength = 0;
55
+ #viewportHeight = 1;
56
+ #anchoredToEnd = false;
57
+ #closed = false;
58
+ constructor(tui, theme, keybindings, plan, done) {
59
+ this.tui = tui;
60
+ this.theme = theme;
61
+ this.keybindings = keybindings;
62
+ this.done = done;
63
+ this.#markdown = new Markdown(sanitizePlanForDisplay(plan), 0, 0, createPlanMarkdownTheme(theme), undefined, { preserveOrderedListMarkers: true });
64
+ }
65
+ handleInput(data) {
66
+ if (this.#closed)
67
+ return;
68
+ const wheelDirection = parseWheelDirection(data);
69
+ if (wheelDirection !== undefined) {
70
+ this.#scrollBy(wheelDirection);
71
+ return;
72
+ }
73
+ if (this.keybindings.matches(data, 'tui.select.cancel')) {
74
+ this.#finish(undefined);
75
+ return;
76
+ }
77
+ if (this.keybindings.matches(data, 'tui.select.pageUp')
78
+ || matchesKey(data, Key.ctrl('u'))) {
79
+ this.#scrollBy(-this.#viewportHeight);
80
+ return;
81
+ }
82
+ if (this.keybindings.matches(data, 'tui.select.pageDown')
83
+ || matchesKey(data, Key.ctrl('d'))) {
84
+ this.#scrollBy(this.#viewportHeight);
85
+ return;
86
+ }
87
+ if (matchesKey(data, Key.home)) {
88
+ this.#scrollToStart();
89
+ return;
90
+ }
91
+ if (matchesKey(data, Key.end)) {
92
+ this.#scrollToEnd();
93
+ return;
94
+ }
95
+ if (this.keybindings.matches(data, 'tui.select.up') || data === 'k') {
96
+ this.#select(-1);
97
+ return;
98
+ }
99
+ if (this.keybindings.matches(data, 'tui.select.down') || data === 'j') {
100
+ this.#select(1);
101
+ return;
102
+ }
103
+ if (this.keybindings.matches(data, 'tui.select.confirm') || matchesKey(data, Key.enter)) {
104
+ this.#finish(PLAN_REVIEW_OPTIONS[this.#selectedIndex]);
105
+ }
106
+ }
107
+ render(width) {
108
+ const renderWidth = normalizeDimension(width);
109
+ const rows = normalizeDimension(this.tui.terminal.rows);
110
+ if (rows === 1)
111
+ return [fitLine(this.theme.fg('border', '─'.repeat(renderWidth)), renderWidth)];
112
+ const innerWidth = renderWidth >= 3 ? renderWidth - 2 : 0;
113
+ const innerRows = Math.max(0, rows - 2);
114
+ const actionRows = Math.min(PLAN_REVIEW_OPTIONS.length, innerRows);
115
+ let viewportHeight = Math.max(0, innerRows - actionRows);
116
+ const showHeader = viewportHeight >= 2;
117
+ if (showHeader)
118
+ viewportHeight -= 1;
119
+ const showDivider = viewportHeight >= 2;
120
+ if (showDivider)
121
+ viewportHeight -= 1;
122
+ const showHints = viewportHeight >= 2;
123
+ if (showHints)
124
+ viewportHeight -= 1;
125
+ const content = innerWidth > 0 ? this.#markdown.render(innerWidth) : [];
126
+ const previousMaxScroll = Math.max(0, this.#contentLength - this.#viewportHeight);
127
+ const wasAtEnd = this.#anchoredToEnd && this.#scrollOffset === previousMaxScroll;
128
+ this.#contentLength = content.length;
129
+ this.#viewportHeight = Math.max(1, viewportHeight);
130
+ const maxScroll = this.#maxScroll();
131
+ this.#scrollOffset = wasAtEnd
132
+ ? maxScroll
133
+ : Math.max(0, Math.min(this.#scrollOffset, maxScroll));
134
+ const body = [];
135
+ if (showHeader)
136
+ body.push(this.#renderHeader());
137
+ const visiblePlan = content.slice(this.#scrollOffset, this.#scrollOffset + viewportHeight);
138
+ body.push(...visiblePlan);
139
+ while (body.length < Number(showHeader) + viewportHeight)
140
+ body.push('');
141
+ if (showDivider)
142
+ body.push(this.theme.fg('border', '─'.repeat(innerWidth)));
143
+ body.push(...this.#renderActions(innerWidth, actionRows));
144
+ if (showHints)
145
+ body.push(this.#renderHints());
146
+ while (body.length < innerRows)
147
+ body.unshift('');
148
+ return frameLines(body.slice(-innerRows), renderWidth, this.theme);
149
+ }
150
+ invalidate() {
151
+ this.#markdown.invalidate();
152
+ }
153
+ dispose() {
154
+ this.#closed = true;
155
+ }
156
+ #finish(action) {
157
+ if (this.#closed)
158
+ return;
159
+ this.#closed = true;
160
+ this.done(action);
161
+ }
162
+ #select(delta) {
163
+ const next = Math.max(0, Math.min(PLAN_REVIEW_OPTIONS.length - 1, this.#selectedIndex + delta));
164
+ if (next === this.#selectedIndex)
165
+ return;
166
+ this.#selectedIndex = next;
167
+ this.tui.requestRender();
168
+ }
169
+ #scrollBy(delta) {
170
+ const next = Math.max(0, Math.min(this.#maxScroll(), this.#scrollOffset + delta));
171
+ if (next === this.#scrollOffset)
172
+ return;
173
+ this.#scrollOffset = next;
174
+ this.#anchoredToEnd = next === this.#maxScroll();
175
+ this.tui.requestRender();
176
+ }
177
+ #scrollToStart() {
178
+ if (this.#scrollOffset === 0 && !this.#anchoredToEnd)
179
+ return;
180
+ this.#scrollOffset = 0;
181
+ this.#anchoredToEnd = false;
182
+ this.tui.requestRender();
183
+ }
184
+ #scrollToEnd() {
185
+ const maxScroll = this.#maxScroll();
186
+ if (this.#scrollOffset === maxScroll && this.#anchoredToEnd)
187
+ return;
188
+ this.#scrollOffset = maxScroll;
189
+ this.#anchoredToEnd = true;
190
+ this.tui.requestRender();
191
+ }
192
+ #maxScroll() {
193
+ return Math.max(0, this.#contentLength - this.#viewportHeight);
194
+ }
195
+ #renderHeader() {
196
+ const start = this.#contentLength === 0 ? 0 : this.#scrollOffset + 1;
197
+ const end = Math.min(this.#contentLength, this.#scrollOffset + this.#viewportHeight);
198
+ return this.theme.fg('accent', this.theme.bold('Review Prewalk plan'))
199
+ + this.theme.fg('dim', ` lines ${start}-${end}/${this.#contentLength}`);
200
+ }
201
+ #renderActions(width, maxRows) {
202
+ if (maxRows <= 0)
203
+ return [];
204
+ const start = Math.max(0, Math.min(this.#selectedIndex - maxRows + 1, PLAN_REVIEW_OPTIONS.length - maxRows));
205
+ return PLAN_REVIEW_OPTIONS.slice(start, start + maxRows).map((option, offset) => {
206
+ const selected = start + offset === this.#selectedIndex;
207
+ const marker = selected ? this.theme.fg('accent', '→ ') : ' ';
208
+ const label = selected
209
+ ? this.theme.fg('accent', this.theme.bold(option))
210
+ : this.theme.fg('text', option);
211
+ return fitLine(`${marker}${label}`, width);
212
+ });
213
+ }
214
+ #renderHints() {
215
+ const pageUp = bindingLabel(this.keybindings, 'tui.select.pageUp', 'pageUp');
216
+ const pageDown = bindingLabel(this.keybindings, 'tui.select.pageDown', 'pageDown');
217
+ const selectUp = bindingLabel(this.keybindings, 'tui.select.up', 'up');
218
+ const selectDown = bindingLabel(this.keybindings, 'tui.select.down', 'down');
219
+ const confirm = bindingLabel(this.keybindings, 'tui.select.confirm', 'enter');
220
+ const cancel = bindingLabel(this.keybindings, 'tui.select.cancel', 'escape');
221
+ return this.theme.fg('dim', `wheel or ${pageUp}/${pageDown} scroll · home/end limits · ${selectUp}/${selectDown} choose · ${confirm} select · ${cancel} dismiss`);
222
+ }
223
+ }
224
+ export function sanitizePlanForDisplay(plan) {
225
+ return stripTerminalSequences(plan)
226
+ .replace(/\r\n?/gu, '\n')
227
+ .replace(UNSAFE_CONTROL_CHARACTERS, ' ');
228
+ }
229
+ function createPlanMarkdownTheme(theme) {
230
+ return {
231
+ heading: (text) => theme.fg('mdHeading', text),
232
+ link: (text) => theme.fg('mdLink', text),
233
+ linkUrl: (text) => theme.fg('mdLinkUrl', text),
234
+ code: (text) => theme.fg('mdCode', text),
235
+ codeBlock: (text) => theme.fg('mdCodeBlock', text),
236
+ codeBlockBorder: (text) => theme.fg('mdCodeBlockBorder', text),
237
+ quote: (text) => theme.fg('mdQuote', text),
238
+ quoteBorder: (text) => theme.fg('mdQuoteBorder', text),
239
+ hr: (text) => theme.fg('mdHr', text),
240
+ listBullet: (text) => theme.fg('mdListBullet', text),
241
+ bold: (text) => theme.bold(text),
242
+ italic: (text) => theme.italic(text),
243
+ underline: (text) => theme.underline(text),
244
+ strikethrough: (text) => theme.strikethrough(text),
245
+ };
246
+ }
247
+ function bindingLabel(keybindings, binding, fallback) {
248
+ const keys = keybindings.getKeys(binding);
249
+ return keys.length > 0 ? keys.join('/') : fallback;
250
+ }
251
+ function isPlanReviewAction(action) {
252
+ return PLAN_REVIEW_OPTIONS.some((option) => option === action);
253
+ }
254
+ function normalizeDimension(value) {
255
+ return Number.isFinite(value) ? Math.max(1, Math.floor(value)) : 1;
256
+ }
257
+ function parseWheelDirection(data) {
258
+ const sgr = /^\x1b\[<(\d+);\d+;\d+[Mm]$/u.exec(data);
259
+ const button = sgr?.[1];
260
+ if (button !== undefined)
261
+ return wheelDirection(Number.parseInt(button, 10));
262
+ if (data.length === 6 && data.startsWith('\x1b[M')) {
263
+ return wheelDirection(data.charCodeAt(3) - 32);
264
+ }
265
+ return undefined;
266
+ }
267
+ function wheelDirection(button) {
268
+ if ((button & 64) === 0)
269
+ return undefined;
270
+ const direction = button & 3;
271
+ if (direction === 0)
272
+ return -1;
273
+ if (direction === 1)
274
+ return 1;
275
+ return undefined;
276
+ }
277
+ function fitLine(line, width) {
278
+ if (width <= 0)
279
+ return '';
280
+ const truncated = truncateToWidth(line, width, '', true);
281
+ return truncated + ' '.repeat(Math.max(0, width - visibleWidth(truncated)));
282
+ }
283
+ function frameLines(lines, width, theme) {
284
+ const border = (text) => theme.fg('border', text);
285
+ if (width === 1) {
286
+ return [border('╭'), ...lines.map((line) => fitLine(line, 1)), border('╰')];
287
+ }
288
+ const innerWidth = Math.max(0, width - 2);
289
+ return [
290
+ border(`╭${'─'.repeat(innerWidth)}╮`),
291
+ ...lines.map((line) => `${border('│')}${fitLine(line, innerWidth)}${border('│')}`),
292
+ border(`╰${'─'.repeat(innerWidth)}╯`),
293
+ ];
294
+ }
295
+ //# sourceMappingURL=plan-review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-review.js","sourceRoot":"","sources":["../src/plan-review.ts"],"names":[],"mappings":"AACA,OAAO,EACL,GAAG,EACH,QAAQ,EACR,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,YAAY,GAOb,MAAM,wBAAwB,CAAC;AAIhC,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAClD,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAEtD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,mBAAmB;IACnB,oBAAoB;IACpB,qBAAqB;CACb,CAAC;AAIX,MAAM,CAAC,MAAM,2BAA2B,GAAmB;IACzD,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,CAAC;CACV,CAAC;AAEF,MAAM,yBAAyB,GAAG,yDAAyD,CAAC;AAE5F,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAqB,EACrB,IAAY,EACZ,MAAoB;IAEpB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAChC,0BAA0B,IAAI,EAAE,EAChC,CAAC,GAAG,mBAAmB,CAAC,EACxB,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAChC,CAAC;QACF,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,IAAI,mBAA6C,CAAC;IAClD,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CACxB,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;YAChC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,MAAoC,EAAQ,EAAE;gBAC5D,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,CAAC;YACf,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,MAAM,EAAE,OAAO;gBAAE,cAAc,CAAC,OAAO,CAAC,CAAC;iBACxC,IAAI,MAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1D,mBAAmB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/D,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,2BAA2B,EAAE,CAC/D,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,mBAAmB,EAAE,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,OAAO,UAAU;IAUF;IACA;IACA;IAEA;IAbV,SAAS,CAAW;IAC7B,cAAc,GAAG,CAAC,CAAC;IACnB,aAAa,GAAG,CAAC,CAAC;IAClB,cAAc,GAAG,CAAC,CAAC;IACnB,eAAe,GAAG,CAAC,CAAC;IACpB,cAAc,GAAG,KAAK,CAAC;IACvB,OAAO,GAAG,KAAK,CAAC;IAEhB,YACmB,GAAQ,EACR,KAAY,EACZ,WAA+B,EAChD,IAAY,EACK,IAAoD;QAJpD,QAAG,GAAH,GAAG,CAAK;QACR,UAAK,GAAL,KAAK,CAAO;QACZ,gBAAW,GAAX,WAAW,CAAoB;QAE/B,SAAI,GAAJ,IAAI,CAAgD;QAErE,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAC3B,sBAAsB,CAAC,IAAI,CAAC,EAC5B,CAAC,EACD,CAAC,EACD,uBAAuB,CAAC,KAAK,CAAC,EAC9B,SAAS,EACT,EAAE,0BAA0B,EAAE,IAAI,EAAE,CACrC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IACE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC;eAChD,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAClC,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,IACE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,qBAAqB,CAAC;eAClD,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAClC,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACpE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACxF,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;QAEhG,MAAM,UAAU,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACnE,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,cAAc,IAAI,CAAC,CAAC;QACvC,IAAI,UAAU;YAAE,cAAc,IAAI,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,cAAc,IAAI,CAAC,CAAC;QACxC,IAAI,WAAW;YAAE,cAAc,IAAI,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,cAAc,IAAI,CAAC,CAAC;QACtC,IAAI,SAAS;YAAE,cAAc,IAAI,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,KAAK,iBAAiB,CAAC;QACjF,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,QAAQ;YAC3B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,UAAU;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,CAAC;QAC3F,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,cAAc;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,IAAI,WAAW;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAC1D,IAAI,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,MAAM,GAAG,SAAS;YAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEjD,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,UAAU;QACR,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,MAAoC;QAC1C,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC;QAChG,IAAI,IAAI,KAAK,IAAI,CAAC,cAAc;YAAE,OAAO;QACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC;QAClF,IAAI,IAAI,KAAK,IAAI,CAAC,aAAa;YAAE,OAAO;QACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC3B,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QAC7D,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QACpE,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;IACjE,CAAC;IAED,aAAa;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;cAClE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,OAAe;QAC3C,IAAI,OAAO,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,OAAO,GAAG,CAAC,EAAE,mBAAmB,CAAC,MAAM,GAAG,OAAO,CAAC,CAClF,CAAC;QACF,OAAO,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC9E,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC;YACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/D,MAAM,KAAK,GAAG,QAAQ;gBACpB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClC,OAAO,OAAO,CAAC,GAAG,MAAM,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,CAAC,CAAC;QACnF,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAClB,KAAK,EACL,YAAY,MAAM,IAAI,QAAQ,+BAA+B,QAAQ,IAAI,UAAU,aAAa,OAAO,aAAa,MAAM,UAAU,CACrI,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,sBAAsB,CAAC,IAAI,CAAC;SAChC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;SACxB,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAY;IAC3C,OAAO;QACL,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;QAC9C,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;QACxC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;QAC9C,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;QACxC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC;QAClD,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC;QAC9D,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;QAC1C,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC;QACtD,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;QACpC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC;QACpD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAChC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1C,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,WAA+B,EAC/B,OAAmB,EACnB,QAAgB;IAEhB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA0B;IACpD,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,GAAG,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC;IAC7B,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAC/B,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;IAC1C,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACzD,OAAO,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,UAAU,CAAC,KAAwB,EAAE,KAAa,EAAE,KAAY;IACvE,MAAM,MAAM,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClE,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC1C,OAAO;QACL,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QACrC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAClF,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;KACtC,CAAC;AACJ,CAAC"}
package/dist/prompts.d.ts CHANGED
@@ -5,10 +5,9 @@ export declare const PLAN_REVIEW_MESSAGE_TYPE = "pi-prewalk:plan-review";
5
5
  export declare const PLAN_APPROVED_MESSAGE_TYPE = "pi-prewalk:plan-approved";
6
6
  export declare const CONTINUATION_MESSAGE_TYPE = "pi-prewalk:continuation";
7
7
  export declare const MAX_AUTOMATIC_CONTINUATIONS = 3;
8
- export declare const CONTINUATION_INSTRUCTION = "Continue from the existing findings and task progress without repeating prior analysis. Take the next required tool action and proceed toward the focused mutation.";
8
+ export declare const CONTINUATION_INSTRUCTION = "Continue from the existing findings and task progress without repeating prior analysis. Take the next required tool action and follow the current phase guidance.";
9
9
  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 a concise graph of no more than 9 outcome-oriented tasks. Put concrete validation in each task's acceptance criteria, using a dedicated validation task only when it covers multiple changes. Link tasks 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 with one focused change. 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.";
10
- export declare const PLAN_REVIEW_PLANNING_INSTRUCTION = "Explore the repository thoroughly and determine the complete work required for the user's request without modifying the repository.\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 a concise graph of no more than 9 outcome-oriented tasks. Put concrete validation in each task's acceptance criteria, using a dedicated validation task only when it covers multiple changes. Link tasks 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. Present a concise numbered summary of the plan rather than every implementation detail. Ask the user to raise concerns or questions by point number, or explicitly approve the plan. Do not edit files or otherwise mutate the repository before approval.\n\nKeep the plan focused on the requested scope and revise the task graph when repository evidence changes the plan.";
11
- export declare const PLAN_REVIEW_INSTRUCTION = "Discuss the proposed plan with the user without modifying the repository. Address concerns by numbered plan point, update the session task graph when the agreed plan changes, and then present a refreshed concise numbered summary. Ask the user to raise further concerns or explicitly approve the plan. Call approve_prewalk_plan only after the user has explicitly approved, and call it as the only tool in that response.";
12
- export declare const PLAN_APPROVED_INSTRUCTION = "The user approved the existing plan. Continue from the claimed task and make one focused repository mutation that establishes the implementation direction. Keep the task graph current and proceed with the approved scope.";
10
+ export declare const PLAN_REVIEW_PLANNING_INSTRUCTION = "Explore the repository thoroughly and determine the complete work required for the user's request without modifying the repository.\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 a concise graph of no more than 9 outcome-oriented tasks. Put concrete validation in each task's acceptance criteria, using a dedicated validation task only when it covers multiple changes. Link tasks 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. Call exit_plan_mode with the concise numbered plan as its plan argument. Call it as the only tool in the response and do not print the plan separately. The tool will present the plan and collect approval, feedback, or cancellation. Do not edit files or otherwise mutate the repository before approval.\n\nKeep the plan focused on the requested scope and revise the task graph when repository evidence changes the plan.";
11
+ export declare const PLAN_APPROVED_INSTRUCTION = "The user approved the plan supplied to exit_plan_mode. Continue from the claimed task and make one focused repository mutation that establishes the implementation direction. Keep the task graph current and proceed with the approved scope.";
13
12
  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.";
14
13
  //# sourceMappingURL=prompts.d.ts.map
@@ -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,wBAAwB,2BAAyC,CAAC;AAC/E,eAAO,MAAM,0BAA0B,6BAA2C,CAAC;AACnF,eAAO,MAAM,yBAAyB,4BAA0C,CAAC;AACjF,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,eAAO,MAAM,wBAAwB,wKAAwK,CAAC;AAE9M,eAAO,MAAM,oBAAoB,+lCAS2F,CAAC;AAE7H,eAAO,MAAM,gCAAgC,qpCASqE,CAAC;AAEnH,eAAO,MAAM,uBAAuB,uaAAua,CAAC;AAE5c,eAAO,MAAM,yBAAyB,iOAAiO,CAAC;AAExQ,eAAO,MAAM,wBAAwB,iWAAiW,CAAC"}
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,wBAAwB,2BAAyC,CAAC;AAC/E,eAAO,MAAM,0BAA0B,6BAA2C,CAAC;AACnF,eAAO,MAAM,yBAAyB,4BAA0C,CAAC;AACjF,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,eAAO,MAAM,wBAAwB,sKAAsK,CAAC;AAE5M,eAAO,MAAM,oBAAoB,+lCAS2F,CAAC;AAE7H,eAAO,MAAM,gCAAgC,wsCASqE,CAAC;AAEnH,eAAO,MAAM,yBAAyB,mPAAmP,CAAC;AAE1R,eAAO,MAAM,wBAAwB,iWAAiW,CAAC"}
package/dist/prompts.js CHANGED
@@ -5,7 +5,7 @@ export const PLAN_REVIEW_MESSAGE_TYPE = `${CONTROL_MESSAGE_PREFIX}plan-review`;
5
5
  export const PLAN_APPROVED_MESSAGE_TYPE = `${CONTROL_MESSAGE_PREFIX}plan-approved`;
6
6
  export const CONTINUATION_MESSAGE_TYPE = `${CONTROL_MESSAGE_PREFIX}continuation`;
7
7
  export const MAX_AUTOMATIC_CONTINUATIONS = 3;
8
- export const CONTINUATION_INSTRUCTION = `Continue from the existing findings and task progress without repeating prior analysis. Take the next required tool action and proceed toward the focused mutation.`;
8
+ export const CONTINUATION_INSTRUCTION = `Continue from the existing findings and task progress without repeating prior analysis. Take the next required tool action and follow the current phase guidance.`;
9
9
  export const PLANNING_INSTRUCTION = `Explore the repository thoroughly and determine the complete work required for the user's request.
10
10
 
11
11
  Follow this order:
@@ -23,10 +23,9 @@ Follow this order:
23
23
  2. Determine the full implementation scope, affected files and symbols, risks, and verification required.
24
24
  3. Use TaskCreate to record a concise graph of no more than 9 outcome-oriented tasks. Put concrete validation in each task's acceptance criteria, using a dedicated validation task only when it covers multiple changes. Link tasks with blocked_by dependencies that encode the required implementation and validation order, so the next ready task is unambiguous at each step.
25
25
  4. Use TaskUpdate to claim the first ready task by setting it in_progress.
26
- 5. Present a concise numbered summary of the plan rather than every implementation detail. Ask the user to raise concerns or questions by point number, or explicitly approve the plan. Do not edit files or otherwise mutate the repository before approval.
26
+ 5. Call exit_plan_mode with the concise numbered plan as its plan argument. Call it as the only tool in the response and do not print the plan separately. The tool will present the plan and collect approval, feedback, or cancellation. Do not edit files or otherwise mutate the repository before approval.
27
27
 
28
28
  Keep the plan focused on the requested scope and revise the task graph when repository evidence changes the plan.`;
29
- export const PLAN_REVIEW_INSTRUCTION = `Discuss the proposed plan with the user without modifying the repository. Address concerns by numbered plan point, update the session task graph when the agreed plan changes, and then present a refreshed concise numbered summary. Ask the user to raise further concerns or explicitly approve the plan. Call approve_prewalk_plan only after the user has explicitly approved, and call it as the only tool in that response.`;
30
- export const PLAN_APPROVED_INSTRUCTION = `The user approved the existing plan. Continue from the claimed task and make one focused repository mutation that establishes the implementation direction. Keep the task graph current and proceed with the approved scope.`;
29
+ export const PLAN_APPROVED_INSTRUCTION = `The user approved the plan supplied to exit_plan_mode. Continue from the claimed task and make one focused repository mutation that establishes the implementation direction. Keep the task graph current and proceed with the approved scope.`;
31
30
  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.`;
32
31
  //# sourceMappingURL=prompts.js.map
@@ -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,wBAAwB,GAAG,GAAG,sBAAsB,aAAa,CAAC;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,sBAAsB,eAAe,CAAC;AACnF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,sBAAsB,cAAc,CAAC;AACjF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,qKAAqK,CAAC;AAE9M,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;4HASwF,CAAC;AAE7H,MAAM,CAAC,MAAM,gCAAgC,GAAG;;;;;;;;;kHASkE,CAAC;AAEnH,MAAM,CAAC,MAAM,uBAAuB,GAAG,oaAAoa,CAAC;AAE5c,MAAM,CAAC,MAAM,yBAAyB,GAAG,8NAA8N,CAAC;AAExQ,MAAM,CAAC,MAAM,wBAAwB,GAAG,8VAA8V,CAAC"}
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,wBAAwB,GAAG,GAAG,sBAAsB,aAAa,CAAC;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,sBAAsB,eAAe,CAAC;AACnF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,sBAAsB,cAAc,CAAC;AACjF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,mKAAmK,CAAC;AAE5M,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;4HASwF,CAAC;AAE7H,MAAM,CAAC,MAAM,gCAAgC,GAAG;;;;;;;;;kHASkE,CAAC;AAEnH,MAAM,CAAC,MAAM,yBAAyB,GAAG,gPAAgP,CAAC;AAE1R,MAAM,CAAC,MAAM,wBAAwB,GAAG,8VAA8V,CAAC"}
package/dist/state.d.ts CHANGED
@@ -30,7 +30,6 @@ export interface TurnDecision {
30
30
  state: PrewalkRunState;
31
31
  shouldHandoff: boolean;
32
32
  shouldContinue: boolean;
33
- shouldReview: boolean;
34
33
  }
35
34
  export type ValidationResult = {
36
35
  ok: true;
@@ -49,6 +48,5 @@ export declare function beginTurn(state: PrewalkRunState): PrewalkRunState;
49
48
  export declare function recordToolCall(state: PrewalkRunState, call: ToolCallSummary): PrewalkRunState;
50
49
  export declare function reduceTurn(state: PrewalkRunState, results: readonly ToolResultSummary[], options?: {
51
50
  allowContinuation?: boolean;
52
- planPresented?: boolean;
53
51
  }): TurnDecision;
54
52
  //# sourceMappingURL=state.d.ts.map
@@ -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,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,WAAW,CAAC;AAElH,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,EAAE,CAAC;IAC5B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;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;IACxB,YAAY,EAAE,OAAO,CAAC;CACvB;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,CAAC,OAAO,GAAE;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,eAAe,CAgBvB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAQjE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,eAAe,CAkB7F;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,OAAO,GAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GACrE,YAAY,CAoDd"}
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,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,WAAW,CAAC;AAElH,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,EAAE,CAAC;IAC5B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;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,CAAC,OAAO,GAAE;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,eAAe,CAgBvB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAQjE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,eAAe,CAkB7F;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,CA6Cd"}
package/dist/state.js CHANGED
@@ -62,15 +62,10 @@ export function reduceTurn(state, results, options = {}) {
62
62
  && taskGraphReady
63
63
  && (!state.reviewRequired || state.reviewApproved)
64
64
  && state.mutationCallIds.some((toolCallId) => successfulIds.has(toolCallId));
65
- const shouldReview = state.reviewRequired
66
- && !state.reviewApproved
67
- && taskGraphReady
68
- && options.planPresented === true;
69
65
  let continuationArmed = results.some((result) => !result.isError) || state.continuationArmed;
70
66
  let continuationCount = state.continuationCount;
71
67
  let shouldContinue = false;
72
68
  if (!shouldHandoff
73
- && !shouldReview
74
69
  && options.allowContinuation !== false
75
70
  && results.length === 0
76
71
  && continuationArmed
@@ -96,7 +91,6 @@ export function reduceTurn(state, results, options = {}) {
96
91
  },
97
92
  shouldHandoff,
98
93
  shouldContinue,
99
- shouldReview,
100
94
  };
101
95
  }
102
96
  function hasSuccessfulCall(callIds, successfulIds) {
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.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.5.2",
3
+ "version": "0.6.1",
4
4
  "description": "Same-session planner-to-implementation model handoff for Felan",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -25,6 +25,7 @@
25
25
  }
26
26
  },
27
27
  "dependencies": {
28
+ "@earendil-works/pi-tui": "0.84.4",
28
29
  "typebox": "1.1.38"
29
30
  },
30
31
  "peerDependencies": {