@kenkaiiii/ggcoder 4.3.184 → 4.3.185
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/dist/cli.js +1 -2
- package/dist/cli.js.map +1 -1
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +5 -4
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/prompt-commands.d.ts.map +1 -1
- package/dist/core/prompt-commands.js +16 -5
- package/dist/core/prompt-commands.js.map +1 -1
- package/dist/core/prompt-commands.test.d.ts +2 -0
- package/dist/core/prompt-commands.test.d.ts.map +1 -0
- package/dist/core/prompt-commands.test.js +16 -0
- package/dist/core/prompt-commands.test.js.map +1 -0
- package/dist/core/style-packs/index.d.ts.map +1 -1
- package/dist/core/style-packs/index.js +8 -9
- package/dist/core/style-packs/index.js.map +1 -1
- package/dist/interactive.d.ts.map +1 -1
- package/dist/interactive.js +8 -4
- package/dist/interactive.js.map +1 -1
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +102 -108
- package/dist/system-prompt.js.map +1 -1
- package/dist/system-prompt.test.d.ts +2 -0
- package/dist/system-prompt.test.d.ts.map +1 -0
- package/dist/system-prompt.test.js +104 -0
- package/dist/system-prompt.test.js.map +1 -0
- package/dist/tools/prompt-hints.js +4 -4
- package/dist/tools/prompt-hints.js.map +1 -1
- package/dist/ui/App.d.ts.map +1 -1
- package/dist/ui/App.js +71 -42
- package/dist/ui/App.js.map +1 -1
- package/package.json +3 -3
package/dist/ui/App.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,aAAa,EAGnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAmBjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AA8BjE,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAML,KAAK,QAAQ,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA8C3D,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,uFAAuF;IACvF,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7B,iFAAiF;IACjF,aAAa,EAAE,OAAO,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;GAIG;AACH,UAAU,aAAa;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,mBAAmB;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,mBAAmB;IAC3B,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,mBAAmB;IAC3B,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IAC7C,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAKD,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,aAAa,GACb,YAAY,GACZ,mBAAmB,GACnB,kBAAkB,GAClB,SAAS,GACT,QAAQ,GACR,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,UAAU,GACV,cAAc,GACd,aAAa,GACb,YAAY,GACZ,UAAU,GACV,iBAAiB,GACjB,aAAa,GACb,kBAAkB,GAClB,sBAAsB,GACtB,mBAAmB,GACnB,mBAAmB,GACnB,aAAa,GACb,WAAW,GACX,aAAa,GACb,YAAY,CAAC;AA6LjB,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3D,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAC5B,MAAM,EACN;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAC9D,CAAC;IACF,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACnC,cAAc,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;IACxD,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IACnE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;IAClD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;QACnB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE;YACd,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,SAAS,CAAC,EAAE;gBAAE,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;gBAAC,MAAM,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SAC/E,CAAC;KACH,KAAK,IAAI,CAAC;IACX;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE;QAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,QAAQ,CAAC,EAAE,aAAa,CAAC;KAC1B,KAAK,IAAI,CAAC;IACX;;;;;OAKG;IACH,YAAY,CAAC,EAAE;QACb,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,aAAa,EAAE,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,SAAS,EAAE,QAAQ,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,qBAAqB,EAAE,OAAO,CAAC;QAC/B,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;QACpF,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,aAAa,CAAC,EAAE;YACd,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,SAAS,CAAC,EAAE;gBAAE,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;gBAAC,MAAM,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SAC/E,CAAC;QACF,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AAID,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,2CA29FlC"}
|
package/dist/ui/App.js
CHANGED
|
@@ -334,12 +334,14 @@ export function App(props) {
|
|
|
334
334
|
const [currentModel, setCurrentModel] = useState(props.model);
|
|
335
335
|
const [currentProvider, setCurrentProvider] = useState(props.provider);
|
|
336
336
|
const [currentTools, setCurrentTools] = useState(props.tools);
|
|
337
|
+
const currentToolsRef = useRef(props.tools);
|
|
337
338
|
const [thinkingEnabled, setThinkingEnabled] = useState(!!props.thinking);
|
|
338
339
|
const messagesRef = useRef(props.sessionStore?.messages ?? props.messages);
|
|
339
340
|
const [planAutoExpand, setPlanAutoExpand] = useState(props.sessionStore?.planAutoExpand ?? false);
|
|
340
341
|
const approvedPlanPathRef = useRef(props.sessionStore?.approvedPlanPath);
|
|
341
342
|
const planStepsRef = useRef(props.sessionStore?.planSteps ?? []);
|
|
342
343
|
const [planSteps, setPlanSteps] = useState(props.sessionStore?.planSteps ?? []);
|
|
344
|
+
const planModeStateRef = useRef(planMode);
|
|
343
345
|
// Stuck-guard for the plan-continuation follow-up nudge. Tracks how many
|
|
344
346
|
// times we've nudged the agent to continue the same step. Reset whenever a
|
|
345
347
|
// new [DONE:n] marker advances progress (see onTurnText). Caps at 2 nudges
|
|
@@ -466,13 +468,30 @@ export function App(props) {
|
|
|
466
468
|
useEffect(() => {
|
|
467
469
|
reloadCustomCommands();
|
|
468
470
|
}, [reloadCustomCommands]);
|
|
471
|
+
useEffect(() => {
|
|
472
|
+
currentToolsRef.current = currentTools;
|
|
473
|
+
}, [currentTools]);
|
|
469
474
|
// ── Plan mode wiring ─────────────────────────────────────
|
|
470
475
|
// Sync planModeRef with React state
|
|
471
476
|
useEffect(() => {
|
|
477
|
+
planModeStateRef.current = planMode;
|
|
472
478
|
if (props.planModeRef) {
|
|
473
479
|
props.planModeRef.current = planMode;
|
|
474
480
|
}
|
|
475
481
|
}, [planMode, props.planModeRef]);
|
|
482
|
+
const rebuildSystemPrompt = useCallback(async (options) => {
|
|
483
|
+
const approvedPlanPath = options?.clearApprovedPlan
|
|
484
|
+
? undefined
|
|
485
|
+
: (options?.approvedPlanPath ?? approvedPlanPathRef.current);
|
|
486
|
+
return buildSystemPrompt(options?.cwd ?? cwdRef.current, props.skills, options?.planMode ?? planModeStateRef.current, approvedPlanPath, (options?.tools ?? currentToolsRef.current).map((tool) => tool.name), options?.activeLanguages ?? injectedLanguagesRef.current);
|
|
487
|
+
}, [props.skills]);
|
|
488
|
+
const replaceSystemPrompt = useCallback(async (options) => {
|
|
489
|
+
const newPrompt = await rebuildSystemPrompt(options);
|
|
490
|
+
if (messagesRef.current[0]?.role === "system") {
|
|
491
|
+
messagesRef.current[0] = { role: "system", content: newPrompt };
|
|
492
|
+
}
|
|
493
|
+
return newPrompt;
|
|
494
|
+
}, [rebuildSystemPrompt]);
|
|
476
495
|
/**
|
|
477
496
|
* Unified "apply detection result" pipeline. Called from three sites:
|
|
478
497
|
* 1. Initial mount (existing project at startup).
|
|
@@ -515,10 +534,7 @@ export function App(props) {
|
|
|
515
534
|
}
|
|
516
535
|
injectedLanguagesRef.current = detected;
|
|
517
536
|
try {
|
|
518
|
-
|
|
519
|
-
if (messagesRef.current[0]?.role === "system") {
|
|
520
|
-
messagesRef.current[0] = { role: "system", content: newPrompt };
|
|
521
|
-
}
|
|
537
|
+
await replaceSystemPrompt({ cwd, activeLanguages: detected });
|
|
522
538
|
const verifyCmds = detectVerifyCommands(cwd, detected);
|
|
523
539
|
const tag = source === "initial" ? "Initial style packs" : "Style pack(s) loaded";
|
|
524
540
|
log("INFO", "language", `${tag}: ${added.join(", ")}`, {
|
|
@@ -562,16 +578,8 @@ export function App(props) {
|
|
|
562
578
|
}, []);
|
|
563
579
|
// Rebuild system prompt when plan mode changes
|
|
564
580
|
useEffect(() => {
|
|
565
|
-
void (
|
|
566
|
-
|
|
567
|
-
if (messagesRef.current[0]?.role === "system") {
|
|
568
|
-
messagesRef.current[0] = {
|
|
569
|
-
role: "system",
|
|
570
|
-
content: newPrompt,
|
|
571
|
-
};
|
|
572
|
-
}
|
|
573
|
-
})();
|
|
574
|
-
}, [planMode, props.cwd, props.skills]);
|
|
581
|
+
void replaceSystemPrompt({ planMode });
|
|
582
|
+
}, [planMode, replaceSystemPrompt]);
|
|
575
583
|
// Wire onEnterPlan callback ref
|
|
576
584
|
useEffect(() => {
|
|
577
585
|
if (props.onEnterPlanRef) {
|
|
@@ -590,8 +598,10 @@ export function App(props) {
|
|
|
590
598
|
if (props.onExitPlanRef) {
|
|
591
599
|
props.onExitPlanRef.current = async (planPath) => {
|
|
592
600
|
// Deactivate plan mode, store approved plan path, open pane
|
|
601
|
+
planModeStateRef.current = false;
|
|
593
602
|
setPlanMode(false);
|
|
594
603
|
approvedPlanPathRef.current = planPath;
|
|
604
|
+
await replaceSystemPrompt({ planMode: false, approvedPlanPath: planPath });
|
|
595
605
|
// Use setTimeout to open pane after the current tool execution completes,
|
|
596
606
|
// so the turn can finish and the UI transitions cleanly
|
|
597
607
|
// Flag that the plan overlay is about to open — suppresses the
|
|
@@ -620,7 +630,7 @@ export function App(props) {
|
|
|
620
630
|
planPath);
|
|
621
631
|
};
|
|
622
632
|
}
|
|
623
|
-
}, [props.onExitPlanRef, stdout]);
|
|
633
|
+
}, [props.onExitPlanRef, replaceSystemPrompt, stdout]);
|
|
624
634
|
const persistNewMessages = useCallback(async () => {
|
|
625
635
|
const sm = sessionManagerRef.current;
|
|
626
636
|
const sp = sessionPathRef.current;
|
|
@@ -826,12 +836,7 @@ export function App(props) {
|
|
|
826
836
|
setPlanSteps([]);
|
|
827
837
|
approvedPlanPathRef.current = undefined;
|
|
828
838
|
// Rebuild system prompt to remove the completed plan from context
|
|
829
|
-
void (
|
|
830
|
-
const newPrompt = await buildSystemPrompt(props.cwd, props.skills, planMode, undefined, undefined, injectedLanguagesRef.current);
|
|
831
|
-
if (messagesRef.current[0]?.role === "system") {
|
|
832
|
-
messagesRef.current[0] = { role: "system", content: newPrompt };
|
|
833
|
-
}
|
|
834
|
-
})();
|
|
839
|
+
void replaceSystemPrompt({ clearApprovedPlan: true });
|
|
835
840
|
}
|
|
836
841
|
// Generate session title after the first turn (background, best-effort)
|
|
837
842
|
if (!sessionTitleGeneratedRef.current) {
|
|
@@ -1584,7 +1589,7 @@ export function App(props) {
|
|
|
1584
1589
|
// external changes between turns and ensures non-writing prompts still
|
|
1585
1590
|
// surface the badge when packs are newly applicable. No-op if the set
|
|
1586
1591
|
// has not grown.
|
|
1587
|
-
|
|
1592
|
+
await applyLanguageDetectionRef.current("input");
|
|
1588
1593
|
}
|
|
1589
1594
|
// Handle /model directly — open inline selector
|
|
1590
1595
|
if (trimmed === "/model" || trimmed === "/m") {
|
|
@@ -1616,7 +1621,7 @@ export function App(props) {
|
|
|
1616
1621
|
if (trimmed === "/clear") {
|
|
1617
1622
|
if (props.resetUI) {
|
|
1618
1623
|
void (async () => {
|
|
1619
|
-
const newPrompt = await
|
|
1624
|
+
const newPrompt = await rebuildSystemPrompt({ clearApprovedPlan: true });
|
|
1620
1625
|
props.resetUI?.({
|
|
1621
1626
|
wipeSession: true,
|
|
1622
1627
|
messages: [{ role: "system", content: newPrompt }],
|
|
@@ -1635,7 +1640,7 @@ export function App(props) {
|
|
|
1635
1640
|
planStepsRef.current = [];
|
|
1636
1641
|
setPlanSteps([]);
|
|
1637
1642
|
void (async () => {
|
|
1638
|
-
const newPrompt = await
|
|
1643
|
+
const newPrompt = await rebuildSystemPrompt({ clearApprovedPlan: true });
|
|
1639
1644
|
messagesRef.current = [{ role: "system", content: newPrompt }];
|
|
1640
1645
|
persistedIndexRef.current = messagesRef.current.length;
|
|
1641
1646
|
})();
|
|
@@ -1697,12 +1702,7 @@ export function App(props) {
|
|
|
1697
1702
|
planStepsRef.current = [];
|
|
1698
1703
|
setPlanSteps([]);
|
|
1699
1704
|
// Rebuild system prompt without the plan
|
|
1700
|
-
void (
|
|
1701
|
-
const newPrompt = await buildSystemPrompt(props.cwd, props.skills, planMode, undefined, undefined, injectedLanguagesRef.current);
|
|
1702
|
-
if (messagesRef.current[0]?.role === "system") {
|
|
1703
|
-
messagesRef.current[0] = { role: "system", content: newPrompt };
|
|
1704
|
-
}
|
|
1705
|
-
})();
|
|
1705
|
+
void replaceSystemPrompt({ clearApprovedPlan: true });
|
|
1706
1706
|
setLiveItems([{ kind: "plan_event", event: "dismissed", id: getId() }]);
|
|
1707
1707
|
return;
|
|
1708
1708
|
}
|
|
@@ -1889,7 +1889,13 @@ export function App(props) {
|
|
|
1889
1889
|
: toErrorItem(err, getId()),
|
|
1890
1890
|
]);
|
|
1891
1891
|
}
|
|
1892
|
-
}, [
|
|
1892
|
+
}, [
|
|
1893
|
+
agentLoop,
|
|
1894
|
+
props.onSlashCommand,
|
|
1895
|
+
compactConversation,
|
|
1896
|
+
rebuildSystemPrompt,
|
|
1897
|
+
replaceSystemPrompt,
|
|
1898
|
+
]);
|
|
1893
1899
|
const handleDoubleExit = useDoublePress(setExitPending, () => process.exit(0));
|
|
1894
1900
|
const handleAbort = useCallback(() => {
|
|
1895
1901
|
if (agentLoop.isRunning) {
|
|
@@ -1923,6 +1929,10 @@ export function App(props) {
|
|
|
1923
1929
|
const newProvider = value.slice(0, colonIdx);
|
|
1924
1930
|
const newModelId = value.slice(colonIdx + 1);
|
|
1925
1931
|
log("INFO", "model", `Model changed`, { provider: newProvider, model: newModelId });
|
|
1932
|
+
const rebuildPromptWithTools = (tools) => {
|
|
1933
|
+
currentToolsRef.current = tools;
|
|
1934
|
+
void replaceSystemPrompt({ tools });
|
|
1935
|
+
};
|
|
1926
1936
|
// Handle provider-specific tool changes when provider changes
|
|
1927
1937
|
setCurrentProvider((prevProvider) => {
|
|
1928
1938
|
if (newProvider !== prevProvider) {
|
|
@@ -1930,15 +1940,17 @@ export function App(props) {
|
|
|
1930
1940
|
// Anthropic has native server-side web search; all other providers need the client tool.
|
|
1931
1941
|
setCurrentTools((prev) => {
|
|
1932
1942
|
const hasWebSearch = prev.some((t) => t.name === "web_search");
|
|
1943
|
+
let next = prev;
|
|
1933
1944
|
if (newProvider === "anthropic" && hasWebSearch) {
|
|
1934
1945
|
// Switching TO anthropic — remove client-side web_search (server-side handles it)
|
|
1935
|
-
|
|
1946
|
+
next = prev.filter((t) => t.name !== "web_search");
|
|
1936
1947
|
}
|
|
1937
1948
|
else if (newProvider !== "anthropic" && !hasWebSearch) {
|
|
1938
1949
|
// Switching FROM anthropic — add client-side web_search
|
|
1939
|
-
|
|
1950
|
+
next = [...prev, createWebSearchTool()];
|
|
1940
1951
|
}
|
|
1941
|
-
|
|
1952
|
+
rebuildPromptWithTools(next);
|
|
1953
|
+
return next;
|
|
1942
1954
|
});
|
|
1943
1955
|
// Reconnect MCP servers
|
|
1944
1956
|
if (props.mcpManager) {
|
|
@@ -1961,16 +1973,21 @@ export function App(props) {
|
|
|
1961
1973
|
}
|
|
1962
1974
|
try {
|
|
1963
1975
|
const mcpTools = await props.mcpManager.connectAll(getMCPServers(newProvider, apiKey));
|
|
1964
|
-
setCurrentTools((prev) =>
|
|
1965
|
-
...prev.filter((t) => !t.name.startsWith("mcp__")),
|
|
1966
|
-
|
|
1967
|
-
|
|
1976
|
+
setCurrentTools((prev) => {
|
|
1977
|
+
const next = [...prev.filter((t) => !t.name.startsWith("mcp__")), ...mcpTools];
|
|
1978
|
+
rebuildPromptWithTools(next);
|
|
1979
|
+
return next;
|
|
1980
|
+
});
|
|
1968
1981
|
log("INFO", "mcp", `MCP servers reconnected for provider ${newProvider}`);
|
|
1969
1982
|
}
|
|
1970
1983
|
catch (err) {
|
|
1971
1984
|
log("WARN", "mcp", `MCP reconnection failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
1972
1985
|
// Still remove old MCP tools even if reconnection fails
|
|
1973
|
-
setCurrentTools((prev) =>
|
|
1986
|
+
setCurrentTools((prev) => {
|
|
1987
|
+
const next = prev.filter((t) => !t.name.startsWith("mcp__"));
|
|
1988
|
+
rebuildPromptWithTools(next);
|
|
1989
|
+
return next;
|
|
1990
|
+
});
|
|
1974
1991
|
}
|
|
1975
1992
|
})();
|
|
1976
1993
|
}
|
|
@@ -2263,8 +2280,11 @@ export function App(props) {
|
|
|
2263
2280
|
}
|
|
2264
2281
|
cwdRef.current = prep.projectPath;
|
|
2265
2282
|
setDisplayedCwd(prep.projectPath);
|
|
2283
|
+
let toolsForPixelFix = currentToolsRef.current;
|
|
2266
2284
|
if (props.rebuildToolsForCwd) {
|
|
2267
|
-
|
|
2285
|
+
toolsForPixelFix = props.rebuildToolsForCwd(prep.projectPath);
|
|
2286
|
+
currentToolsRef.current = toolsForPixelFix;
|
|
2287
|
+
setCurrentTools(toolsForPixelFix);
|
|
2268
2288
|
}
|
|
2269
2289
|
// Pixel-fix swaps the project root — reset injected packs so the
|
|
2270
2290
|
// new project re-detects from scratch on the next tool call. Also
|
|
@@ -2274,7 +2294,13 @@ export function App(props) {
|
|
|
2274
2294
|
setupHintShownRef.current = false;
|
|
2275
2295
|
const detectedForPixelFix = detectLanguages(prep.projectPath);
|
|
2276
2296
|
injectedLanguagesRef.current = detectedForPixelFix;
|
|
2277
|
-
const newSystemPrompt = await
|
|
2297
|
+
const newSystemPrompt = await rebuildSystemPrompt({
|
|
2298
|
+
cwd: prep.projectPath,
|
|
2299
|
+
planMode: false,
|
|
2300
|
+
clearApprovedPlan: true,
|
|
2301
|
+
activeLanguages: detectedForPixelFix,
|
|
2302
|
+
tools: toolsForPixelFix,
|
|
2303
|
+
});
|
|
2278
2304
|
// Now that the cwd swap is committed, reset chat. Doing this BEFORE
|
|
2279
2305
|
// the chdir would print a banner with the old cwd, then bumping
|
|
2280
2306
|
// staticKey would print a second banner with the new cwd — leaving
|
|
@@ -2436,7 +2462,10 @@ export function App(props) {
|
|
|
2436
2462
|
const planContent = await import("node:fs/promises").then(({ readFile }) => readFile(planPath, "utf-8"));
|
|
2437
2463
|
const steps = extractPlanSteps(planContent);
|
|
2438
2464
|
// Build the new system prompt with the approved plan baked in.
|
|
2439
|
-
const newPrompt = await
|
|
2465
|
+
const newPrompt = await rebuildSystemPrompt({
|
|
2466
|
+
planMode: false,
|
|
2467
|
+
approvedPlanPath: planPath,
|
|
2468
|
+
});
|
|
2440
2469
|
// Create a new session file BEFORE remount so the new tree
|
|
2441
2470
|
// picks it up via sessionStore.sessionPath.
|
|
2442
2471
|
let newSessionPath;
|