@youdie006/prodex 0.36.1 → 0.36.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chatgpt-browser.js +48 -0
- package/package.json +1 -1
package/dist/chatgpt-browser.js
CHANGED
|
@@ -632,6 +632,46 @@ export function responseChoiceBlocksThisSend(input) {
|
|
|
632
632
|
return false;
|
|
633
633
|
return !input.newChat && input.project === undefined && input.projectNew === undefined;
|
|
634
634
|
}
|
|
635
|
+
/**
|
|
636
|
+
* Why a requested Pro sub-mode did not make it onto a power-slider picker.
|
|
637
|
+
*
|
|
638
|
+
* The current picker is one five-step slider whose top step IS Pro, and it has
|
|
639
|
+
* no 기본/확장 anywhere - measured: `{ok:true, position:4, max:4, model:"GPT-5.6
|
|
640
|
+
* Sol", effort:"Pro"}`. The send takes that branch and returns, reading
|
|
641
|
+
* `effort ?? model`, so a sub-mode request was dropped on the way past. A run
|
|
642
|
+
* with `--model Pro --pro-mode 확장` finished clean and recorded no warning at
|
|
643
|
+
* all, having never applied 확장. The older picker refuses the same request
|
|
644
|
+
* out loud; silence on one machine and an error on another, for one command,
|
|
645
|
+
* is the half worth fixing. The send is still a correct Pro send, so this is a
|
|
646
|
+
* warning and not a refusal.
|
|
647
|
+
*/
|
|
648
|
+
export function proModeNotAppliedWarning(proMode, sliderEffort) {
|
|
649
|
+
if (!proMode)
|
|
650
|
+
return undefined;
|
|
651
|
+
const step = sliderEffort ? `the slider's "${sliderEffort}" step` : "the slider's current step";
|
|
652
|
+
return (`pro_mode_not_applied: this ChatGPT picker is a power slider with no "Pro ${proMode}" step, ` +
|
|
653
|
+
`so --pro-mode ${proMode} was not applied and the send used ${step}. ` +
|
|
654
|
+
"Drop --pro-mode here, or clear a saved default with `prodex setup --clear-pro-mode`.");
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* Which of two flags the slider actually obeyed.
|
|
658
|
+
*
|
|
659
|
+
* On this picker one control carries both: "Pro" is the top EFFORT step, not a
|
|
660
|
+
* model. Naming a model AND an effort therefore asks for two positions of the
|
|
661
|
+
* same slider, and the send takes `effort ?? model` - so the model is dropped.
|
|
662
|
+
* Measured: `--model Pro --effort 중간` answered from gpt-5-6-thinking with an
|
|
663
|
+
* empty warnings list. Asking for Pro and quietly getting a cheaper model is
|
|
664
|
+
* the kind of thing a receipt exists to catch.
|
|
665
|
+
*/
|
|
666
|
+
export function modelIgnoredForEffortWarning(model, effort) {
|
|
667
|
+
if (!model || !effort)
|
|
668
|
+
return undefined;
|
|
669
|
+
if (model.trim().toLowerCase() === effort.trim().toLowerCase())
|
|
670
|
+
return undefined;
|
|
671
|
+
return (`model_ignored: this ChatGPT picker sets the model and the effort with one slider, ` +
|
|
672
|
+
`so --model ${model} and --effort ${effort} name two positions of it. The send used ${effort}. ` +
|
|
673
|
+
`Pass only one of them to say which you meant.`);
|
|
674
|
+
}
|
|
635
675
|
export function chatGptBusyBlocker(state) {
|
|
636
676
|
// Waiting for a choice is not generating. Conflating them turned a click
|
|
637
677
|
// away from ready into a full send budget spent on "still generating".
|
|
@@ -1614,6 +1654,14 @@ async function selectModelReasoning(cdp, options, selectionWarnings = []) {
|
|
|
1614
1654
|
if (wanted) {
|
|
1615
1655
|
await selectPowerStep(cdp, wanted);
|
|
1616
1656
|
}
|
|
1657
|
+
// This branch cannot honour a sub-mode, and used to return without
|
|
1658
|
+
// saying so - the caller got a clean receipt for a 확장 it never got.
|
|
1659
|
+
const proModeWarning = proModeNotAppliedWarning(options.proMode, sliderState.effort ?? undefined);
|
|
1660
|
+
if (proModeWarning)
|
|
1661
|
+
selectionWarnings.push(proModeWarning);
|
|
1662
|
+
const modelWarning = modelIgnoredForEffortWarning(options.model, options.effort);
|
|
1663
|
+
if (modelWarning)
|
|
1664
|
+
selectionWarnings.push(modelWarning);
|
|
1617
1665
|
await dispatchEscapeKey(cdp);
|
|
1618
1666
|
return;
|
|
1619
1667
|
}
|