@youdie006/prodex 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -184,6 +184,31 @@ prodex sessions show latest
184
184
 
185
185
  This uses the currently available ChatGPT web session and model selection. It is not a hidden API client, and it does not read cookies, tokens, localStorage, or sessionStorage.
186
186
 
187
+ #### Choosing the model, reasoning effort, and project
188
+
189
+ The visible-browser send drives the same composer picker you use by hand, so you can pick the model, reasoning effort, or a sidebar project per ask:
190
+
191
+ ```bash
192
+ # Pro extended sub-mode, inside an existing sidebar project
193
+ prodex pro browser ask --model Pro --pro-mode 확장 --project "my-project" "Review the migration plan"
194
+
195
+ # A non-Pro model at a specific reasoning effort
196
+ prodex pro browser ask --effort "매우 높음" "Draft the release notes"
197
+ ```
198
+
199
+ - `--model` picks the composer model by its visible label (for example `Pro` or `GPT-5.5`).
200
+ - `--pro-mode 기본|확장` selects the Pro sub-mode; it applies only when the model is Pro.
201
+ - `--effort 즉시|중간|높음|"매우 높음"` sets the reasoning effort for non-Pro models. English aliases `instant`/`medium`/`high`/`max` are accepted. `--pro-mode` and `--effort` are different model axes and cannot be combined.
202
+ - `--project "name"` enters an existing sidebar project before sending. Creating a new project from the CLI is not supported yet; make it in ChatGPT first, then pass `--project`.
203
+
204
+ Persist defaults so you can omit these flags on routine asks; a per-ask flag always overrides the saved default:
205
+
206
+ ```bash
207
+ prodex setup --model Pro --pro-mode 확장 --project "my-project"
208
+ ```
209
+
210
+ Whatever selection is applied is recorded on the consult receipt (`metadata.selection`). `prodex` only clicks the picker you can see; it never selects a model, effort, or project silently outside the visible browser.
211
+
187
212
  For a source checkout, keep the explicit send and inspection commands source-aware too:
188
213
 
189
214
  ```bash
@@ -34,11 +34,27 @@ export declare class ChatGptBrowserBlockerError extends Error {
34
34
  readonly blocker: NonNullable<ChatGptBrowserStatus["blocker"]>;
35
35
  constructor(blocker: NonNullable<ChatGptBrowserStatus["blocker"]>);
36
36
  }
37
+ export type ChatGptReasoningEffort = "즉시" | "중간" | "높음" | "매우 높음";
38
+ export type ChatGptProMode = "기본" | "확장";
39
+ /** Normalize a CLI reasoning-effort value onto the exact ChatGPT menu label. */
40
+ export declare function parseReasoningEffort(raw: string): ChatGptReasoningEffort;
41
+ /** Normalize a CLI Pro sub-mode value onto the exact ChatGPT menu label. */
42
+ export declare function parseProMode(raw: string): ChatGptProMode;
37
43
  export interface SendChatGptPromptOptions {
38
44
  port?: number;
39
45
  prompt: string;
40
46
  targetUrl?: string;
41
47
  timeoutMs?: number;
48
+ /** Switch into this sidebar project (by visible name) before sending. */
49
+ project?: string;
50
+ /** Create a new project with this name before sending. */
51
+ projectNew?: string;
52
+ /** Model to select in the composer picker, e.g. "Pro" or "GPT-5.5". */
53
+ model?: string;
54
+ /** Pro sub-mode, used when model is Pro. */
55
+ proMode?: ChatGptProMode;
56
+ /** Reasoning effort, used for non-Pro models. */
57
+ effort?: ChatGptReasoningEffort;
42
58
  }
43
59
  export interface SendChatGptPromptResult {
44
60
  url: string;
@@ -112,6 +128,11 @@ export declare function getChatGptBrowserStatus(options?: {
112
128
  port?: number;
113
129
  timeoutMs?: number;
114
130
  }): Promise<ChatGptBrowserStatus>;
131
+ export declare function modelButtonRectExpression(): string;
132
+ export declare function menuItemRectExpression(label: string): string;
133
+ export declare function submenuItemRectExpression(label: string): string;
134
+ export declare function proSubmenuExpanderRectExpression(): string;
135
+ export declare function projectItemRectExpression(name: string): string;
115
136
  export declare function sendChatGptPrompt(options: SendChatGptPromptOptions): Promise<SendChatGptPromptResult>;
116
137
  export declare function statusExpression(): string;
117
138
  export declare function setComposerTextExpression(text: string): string;
@@ -10,6 +10,43 @@ export class ChatGptBrowserBlockerError extends Error {
10
10
  this.blocker = blocker;
11
11
  }
12
12
  }
13
+ const REASONING_EFFORTS = ["즉시", "중간", "높음", "매우 높음"];
14
+ const PRO_MODES = ["기본", "확장"];
15
+ // Aliases map friendly CLI input onto the exact Korean menu labels the picker
16
+ // clicks by text. Keys are lowercased and space-stripped before lookup.
17
+ const REASONING_EFFORT_ALIASES = {
18
+ "매우높음": "매우 높음",
19
+ instant: "즉시",
20
+ medium: "중간",
21
+ high: "높음",
22
+ max: "매우 높음"
23
+ };
24
+ const PRO_MODE_ALIASES = {
25
+ standard: "기본",
26
+ extended: "확장"
27
+ };
28
+ /** Normalize a CLI reasoning-effort value onto the exact ChatGPT menu label. */
29
+ export function parseReasoningEffort(raw) {
30
+ const trimmed = raw.trim();
31
+ const match = REASONING_EFFORTS.find((effort) => effort === trimmed);
32
+ if (match)
33
+ return match;
34
+ const alias = REASONING_EFFORT_ALIASES[trimmed.toLowerCase().replace(/\s+/g, "")];
35
+ if (alias)
36
+ return alias;
37
+ throw new Error(`--effort must be one of ${REASONING_EFFORTS.join(", ")}`);
38
+ }
39
+ /** Normalize a CLI Pro sub-mode value onto the exact ChatGPT menu label. */
40
+ export function parseProMode(raw) {
41
+ const trimmed = raw.trim();
42
+ const match = PRO_MODES.find((mode) => mode === trimmed);
43
+ if (match)
44
+ return match;
45
+ const alias = PRO_MODE_ALIASES[trimmed.toLowerCase().replace(/\s+/g, "")];
46
+ if (alias)
47
+ return alias;
48
+ throw new Error(`--pro-mode must be one of ${PRO_MODES.join(", ")}`);
49
+ }
13
50
  export const CHATGPT_RUNTIME_BLOCKER_TEXT_EXCLUDED_ANCESTORS = '[data-message-author-role],script,style,noscript,[aria-hidden="true"],div[role="textbox"],textarea,[contenteditable="true"]';
14
51
  export const CHATGPT_COMPOSER_CANDIDATE_EXCLUDED_ANCESTORS = '[data-message-author-role],script,style,noscript,[aria-hidden="true"]';
15
52
  export const PRODEX_ACTIVE_COMPOSER_ATTRIBUTE = "data-prodex-active-composer";
@@ -359,6 +396,145 @@ export async function getChatGptBrowserStatus(options = {}) {
359
396
  blocker
360
397
  };
361
398
  }
399
+ async function dispatchMouseClickAt(cdp, x, y) {
400
+ await cdp.send("Input.dispatchMouseEvent", { type: "mouseMoved", x, y });
401
+ await cdp.send("Input.dispatchMouseEvent", { type: "mousePressed", x, y, button: "left", clickCount: 1 });
402
+ await cdp.send("Input.dispatchMouseEvent", { type: "mouseReleased", x, y, button: "left", clickCount: 1 });
403
+ }
404
+ async function dispatchEscapeKey(cdp) {
405
+ await cdp.send("Input.dispatchKeyEvent", { type: "keyDown", key: "Escape", code: "Escape", windowsVirtualKeyCode: 27 });
406
+ await cdp.send("Input.dispatchKeyEvent", { type: "keyUp", key: "Escape", code: "Escape", windowsVirtualKeyCode: 27 });
407
+ }
408
+ export function modelButtonRectExpression() {
409
+ return `(() => {
410
+ const c = document.querySelector('#prompt-textarea,[contenteditable="true"],textarea');
411
+ const scope = c ? (c.closest('form') || document) : document;
412
+ const b = [...scope.querySelectorAll('[aria-haspopup="menu"]')].find((el) => {
413
+ const t = (el.textContent || "").trim();
414
+ const aria = el.getAttribute("aria-label") || "";
415
+ return /\\S/.test(t) && !/파일|첨부|받아쓰기|음성|dictation|attach/i.test(t + aria);
416
+ });
417
+ if (!b) return { ok: false, reason: "model selector button not found" };
418
+ const r = b.getBoundingClientRect();
419
+ return { ok: true, x: Math.round(r.x + r.width / 2), y: Math.round(r.y + r.height / 2) };
420
+ })()`;
421
+ }
422
+ export function menuItemRectExpression(label) {
423
+ return `(() => {
424
+ const m = document.querySelector('[data-testid="composer-intelligence-picker-content"]');
425
+ if (!m) return { ok: false, reason: "reasoning/model menu did not open" };
426
+ const items = [...m.querySelectorAll('[role="menuitemradio"],[role="menuitem"]')];
427
+ const it = items.find((r) => (r.textContent || "").trim() === ${JSON.stringify(label)});
428
+ if (!it) return { ok: false, reason: "menu item not found", available: items.map((r) => (r.textContent || "").trim()).slice(0, 12) };
429
+ const r = it.getBoundingClientRect();
430
+ return { ok: true, x: Math.round(r.x + r.width / 2), y: Math.round(r.y + r.height / 2) };
431
+ })()`;
432
+ }
433
+ export function submenuItemRectExpression(label) {
434
+ return `(() => {
435
+ const items = [...document.querySelectorAll('[role="menuitemradio"],[role="menuitem"]')];
436
+ const it = items.find((r) => (r.textContent || "").trim() === ${JSON.stringify(label)});
437
+ if (!it) return { ok: false, reason: "submenu item not found" };
438
+ const r = it.getBoundingClientRect();
439
+ return { ok: true, x: Math.round(r.x + r.width / 2), y: Math.round(r.y + r.height / 2) };
440
+ })()`;
441
+ }
442
+ // "Pro" itself is a plain radio; its sub-modes (Pro 기본 / Pro 확장) live behind an
443
+ // unlabeled aria-haspopup="menu" chevron sitting next to the Pro radio. Clicking
444
+ // that chevron (hovering does not work) opens the sub-mode submenu.
445
+ export function proSubmenuExpanderRectExpression() {
446
+ return `(() => {
447
+ const m = document.querySelector('[data-testid="composer-intelligence-picker-content"],[role="menu"]');
448
+ if (!m) return { ok: false, reason: "model menu is not open" };
449
+ const proRadio = [...m.querySelectorAll('[role="menuitemradio"]')].find((r) => (r.textContent || "").trim() === "Pro");
450
+ if (!proRadio) return { ok: false, reason: "Pro option not found in the model menu" };
451
+ const proTop = proRadio.getBoundingClientRect().top;
452
+ const expanders = [...m.querySelectorAll('[role="menuitem"][aria-haspopup="menu"]')].filter((e) => {
453
+ const t = (e.textContent || "").trim();
454
+ return !/gpt|claude|gemini|o\\d|mini|thinking/i.test(t);
455
+ });
456
+ let best = null;
457
+ let bestDy = Infinity;
458
+ for (const e of expanders) {
459
+ const dy = Math.abs(e.getBoundingClientRect().top - proTop);
460
+ if (dy < bestDy) { best = e; bestDy = dy; }
461
+ }
462
+ if (!best || bestDy > 40) return { ok: false, reason: "Pro sub-mode expander not found next to Pro" };
463
+ const r = best.getBoundingClientRect();
464
+ return { ok: true, x: Math.round(r.x + r.width / 2), y: Math.round(r.y + r.height / 2) };
465
+ })()`;
466
+ }
467
+ export function projectItemRectExpression(name) {
468
+ return `(() => {
469
+ const opt = [...document.querySelectorAll('[aria-label*="프로젝트 옵션 열기"]')].find((b) => (b.getAttribute("aria-label") || "").startsWith(${JSON.stringify(name)}));
470
+ let target = opt ? (opt.closest('a,[role="link"],li') || opt.parentElement) : null;
471
+ if (!target) {
472
+ const icons = [...document.querySelectorAll('[data-testid="project-folder-icon"]')];
473
+ for (const ic of icons) {
474
+ const row = ic.closest('a,li,[role="link"]') || ic.parentElement?.parentElement;
475
+ if (row && (row.textContent || "").includes(${JSON.stringify(name)})) { target = row; break; }
476
+ }
477
+ }
478
+ if (!target) return { ok: false, reason: "project not found in sidebar" };
479
+ const r = target.getBoundingClientRect();
480
+ return { ok: true, x: Math.round(r.x + r.width / 2), y: Math.round(r.y + Math.min(r.height / 2, 18)) };
481
+ })()`;
482
+ }
483
+ async function selectModelReasoning(cdp, options) {
484
+ if (!options.model && !options.proMode && !options.effort)
485
+ return;
486
+ const button = await cdp.evaluate(modelButtonRectExpression());
487
+ if (!button.ok || button.x === undefined || button.y === undefined) {
488
+ throw new Error(button.reason ?? "Could not open the ChatGPT model selector");
489
+ }
490
+ await dispatchMouseClickAt(cdp, button.x, button.y);
491
+ await sleep(1000);
492
+ const wantsProMode = Boolean(options.proMode) && (!options.model || /pro/i.test(options.model));
493
+ if (wantsProMode && options.proMode) {
494
+ // Open the Pro sub-mode submenu via the chevron, then pick 기본/확장.
495
+ const expander = await cdp.evaluate(proSubmenuExpanderRectExpression());
496
+ if (!expander.ok || expander.x === undefined || expander.y === undefined) {
497
+ await dispatchEscapeKey(cdp);
498
+ throw new Error(expander.reason ?? "Could not open the ChatGPT Pro sub-mode submenu");
499
+ }
500
+ await dispatchMouseClickAt(cdp, expander.x, expander.y);
501
+ await sleep(900);
502
+ const subLabel = `Pro ${options.proMode}`;
503
+ const sub = await cdp.evaluate(submenuItemRectExpression(subLabel));
504
+ if (!sub.ok || sub.x === undefined || sub.y === undefined) {
505
+ await dispatchEscapeKey(cdp);
506
+ throw new Error(`ChatGPT Pro sub-mode not found: ${subLabel}`);
507
+ }
508
+ await dispatchMouseClickAt(cdp, sub.x, sub.y);
509
+ await sleep(400);
510
+ return;
511
+ }
512
+ const primaryLabel = options.model ?? options.effort;
513
+ if (!primaryLabel) {
514
+ await dispatchEscapeKey(cdp);
515
+ return;
516
+ }
517
+ const primary = await cdp.evaluate(menuItemRectExpression(primaryLabel));
518
+ if (!primary.ok || primary.x === undefined || primary.y === undefined) {
519
+ await dispatchEscapeKey(cdp);
520
+ throw new Error(`ChatGPT model/effort option not found: ${primaryLabel}${primary.available ? ` (available: ${primary.available.join(", ")})` : ""}`);
521
+ }
522
+ await dispatchMouseClickAt(cdp, primary.x, primary.y);
523
+ await sleep(400);
524
+ }
525
+ async function selectProject(cdp, options) {
526
+ if (options.projectNew) {
527
+ throw new Error("projectNew (new-project modal) automation is not implemented yet; create the project manually and use --project");
528
+ }
529
+ if (options.project) {
530
+ const hit = await cdp.evaluate(projectItemRectExpression(options.project));
531
+ if (!hit.ok || hit.x === undefined || hit.y === undefined) {
532
+ throw new Error(`ChatGPT project not found in sidebar: ${options.project}`);
533
+ }
534
+ await dispatchMouseClickAt(cdp, hit.x, hit.y);
535
+ await sleep(1200);
536
+ }
537
+ }
362
538
  export async function sendChatGptPrompt(options) {
363
539
  const port = options.port ?? 9333;
364
540
  const timeoutMs = options.timeoutMs ?? 90_000;
@@ -394,6 +570,8 @@ export async function sendChatGptPrompt(options) {
394
570
  const cdp = await connectCdp(page.webSocketDebuggerUrl);
395
571
  try {
396
572
  await cdp.send("Runtime.enable");
573
+ await selectProject(cdp, options);
574
+ await selectModelReasoning(cdp, options);
397
575
  const inserted = await cdp.evaluate(setComposerTextExpression(options.prompt));
398
576
  if (!inserted.ok)
399
577
  throw new Error(inserted.reason ?? "Could not insert text into ChatGPT composer");
@@ -1 +1 @@
1
- {"version":3,"file":"chatgpt-browser.js","sourceRoot":"","sources":["../src/chatgpt-browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatgpt-browser.js","sourceRoot":"","sources":["../src/chatgpt-browser.ts"],"names":[],"mappings":"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"}