@youdie006/prodex 0.4.0 → 0.6.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
@@ -196,7 +196,7 @@ prodex pro browser ask --model Pro --pro-mode 확장 --project "my-project" "Rev
196
196
  prodex pro browser ask --effort "매우 높음" "Draft the release notes"
197
197
  ```
198
198
 
199
- Prerequisite: selection matches menu items by their visible text in the **Korean ChatGPT UI** (즉시/중간/높음/매우 높음, Pro 기본/확장, "프로젝트" sidebar labels). If your ChatGPT display language is not Korean, the selection flags will fail with "menu item not found"; either switch the UI language or send without selection flags.
199
+ Selection matches menu items by their visible text and is verified in both the **Korean** (즉시/중간/높음/매우 높음, Pro 기본/확장) and the **English (US)** ChatGPT UI (Instant/Medium/High/Extra High, Pro Standard/Extended) every canonical flag value matches either locale's labels automatically. For other display languages, use the escape hatch: `--model "<exact label>"` clicks any radio entry in the picker by the exact text your UI shows (run `pro browser models` to list them).
200
200
 
201
201
  To see the labels your account currently shows, list them read-only (opens the menu, reads it, presses Escape — nothing is selected):
202
202
 
@@ -207,15 +207,16 @@ prodex pro browser models
207
207
  - `--model` picks the composer model by its exact menu label. `Pro` is verified end-to-end. Models whose menu entry opens a submenu of variants (for example GPT-5.5) are rejected with a clear error instead of silently keeping the previous model; direct variant selection is planned.
208
208
  - `--pro-mode 기본|확장` selects the Pro sub-mode; it applies only when the model is Pro. `확장` can think for minutes, so it raises the default `--timeout-ms` from 90000 to 300000 (an explicit `--timeout-ms` always wins).
209
209
  - `--effort 즉시|중간|높음|"매우 높음"` sets the reasoning effort. English aliases `instant`/`medium`/`high`/`max` are accepted. The effort options and Pro share one radio group in ChatGPT, so picking an effort switches the composer to the standard reasoning model and deselects Pro; for the same reason `--pro-mode` and `--effort` cannot be combined.
210
- - `--project "name"` enters an existing sidebar project before sending. It cannot be combined with `--target-url` (the project click would navigate away from the confirmed tab). Creating a new project from the CLI is not supported yet; make it in ChatGPT first, then pass `--project`.
210
+ - `--project "name"` enters an existing sidebar project before sending. `--project-new "name"` creates a new project (sidebar 새 프로젝트 popover, committed with Enter) and sends inside it. Neither can be combined with `--target-url` (the project step would navigate away from the confirmed tab), and `--project-new` never comes from saved defaults creating a project is always an explicit per-ask choice.
211
211
 
212
212
  Selection clicks are guarded: prodex refuses to click a control that is covered or out of view, waits for the menu to actually open instead of sleeping a fixed delay, and treats a menu that stays open after a pick as a failed selection. If any step fails, it backs out with Escape and reports a blocker instead of sending with the wrong model. Note that an applied selection stays active in your ChatGPT session after the send — switch back manually if you were on a different model.
213
213
 
214
- Persist defaults so you can omit these flags on routine asks; a per-ask flag always overrides the saved default. View saved defaults with `prodex status`, and clear one with the matching `--clear-*` flag:
214
+ Persist defaults so you can omit these flags on routine asks; a per-ask flag always overrides the saved default. View saved defaults with `prodex status`, clear one with the matching `--clear-*` flag, or answer a short wizard instead of remembering flags:
215
215
 
216
216
  ```bash
217
217
  prodex setup --model Pro --pro-mode 확장 --project "my-project"
218
218
  prodex setup --clear-project
219
+ prodex setup --interactive # asks model / Pro sub-mode or effort / project
219
220
  ```
220
221
 
221
222
  Whatever selection is applied is recorded on the consult receipt (`metadata.selection`); receipt display output redacts the project name, keeping only the model axes visible. `prodex` only clicks the picker you can see; it never selects a model, effort, or project silently outside the visible browser.
@@ -241,6 +242,14 @@ prodex results reseal <task-id> --confirm-current-result
241
242
 
242
243
  This writes a new local `task_completed` receipt for the current result payload. Prefer the explicit task id you just reviewed; `latest` is accepted for convenience but resolves from the current raw result list at execution time. It does not reseal unsigned receipts, forged receipts, or receipts that already point at a different result digest.
243
244
 
245
+ Receipts are HMAC-signed with a local key in `.bridge/receipt-key.local`. If you suspect the key was exposed, rotate it:
246
+
247
+ ```bash
248
+ prodex receipts rotate-key
249
+ ```
250
+
251
+ New receipts are signed with the fresh key; previous keys stay in the file (verification only) so receipts signed before the rotation remain trusted.
252
+
244
253
  To send into a specific visible Project or thread, open that ChatGPT URL in the dedicated browser first, confirm it is the right destination, then pass the same URL:
245
254
 
246
255
  ```bash
@@ -130,13 +130,16 @@ export declare function getChatGptBrowserStatus(options?: {
130
130
  }): Promise<ChatGptBrowserStatus>;
131
131
  export declare function menuOpenExpression(): string;
132
132
  export declare function menuClosedExpression(): string;
133
- export declare function menuItemPresentExpression(label: string): string;
133
+ export declare function menuItemPresentExpression(label: string | readonly string[]): string;
134
134
  export declare function modelButtonRectExpression(): string;
135
- export declare function menuItemRectExpression(label: string): string;
136
- export declare function submenuItemRectExpression(label: string): string;
135
+ export declare function menuItemRectExpression(label: string | readonly string[]): string;
136
+ export declare function submenuItemRectExpression(label: string | readonly string[]): string;
137
137
  export declare function proRadioRectExpression(): string;
138
138
  export declare function proSubmenuExpanderRectExpression(): string;
139
139
  export declare function projectItemRectExpression(name: string): string;
140
+ export declare function newProjectButtonRectExpression(): string;
141
+ export declare function newProjectNameInputRectExpression(): string;
142
+ export declare function newProjectNameInputVisibleExpression(): string;
140
143
  export declare function sendChatGptPrompt(options: SendChatGptPromptOptions): Promise<SendChatGptPromptResult>;
141
144
  export interface ChatGptModelOption {
142
145
  label: string;
@@ -19,7 +19,20 @@ const REASONING_EFFORT_ALIASES = {
19
19
  instant: "즉시",
20
20
  medium: "중간",
21
21
  high: "높음",
22
- max: "매우 높음"
22
+ max: "매우 높음",
23
+ extrahigh: "매우 높음"
24
+ };
25
+ // Menu labels per canonical value, verified live in both the Korean and the
26
+ // English (US) ChatGPT UI. Matching tries every candidate so either UI works.
27
+ const EFFORT_MENU_LABELS = {
28
+ "즉시": ["즉시", "Instant"],
29
+ "중간": ["중간", "Medium"],
30
+ "높음": ["높음", "High"],
31
+ "매우 높음": ["매우 높음", "Extra High"]
32
+ };
33
+ const PRO_MODE_SUBMENU_LABELS = {
34
+ "기본": ["Pro 기본", "Pro Standard"],
35
+ "확장": ["Pro 확장", "Pro Extended"]
23
36
  };
24
37
  const PRO_MODE_ALIASES = {
25
38
  standard: "기본",
@@ -91,7 +104,7 @@ export function isUsableChatGptAnswer(answer) {
91
104
  }
92
105
  // Model-prefixed thinking status, e.g. "Pro 생각 중": a single short line
93
106
  // ending in 생각 중 is the placeholder, not an answer.
94
- if (lineCount <= 1 && /(^|\s)생각 중$/.test(stripped)) {
107
+ if (lineCount <= 1 && /(^|\s)(생각 중|thinking)$/i.test(stripped)) {
95
108
  return false;
96
109
  }
97
110
  return true;
@@ -428,8 +441,11 @@ export function menuOpenExpression() {
428
441
  export function menuClosedExpression() {
429
442
  return `!document.querySelector('[data-testid="composer-intelligence-picker-content"]')`;
430
443
  }
444
+ function toLabelCandidates(label) {
445
+ return typeof label === "string" ? [label] : [...label];
446
+ }
431
447
  export function menuItemPresentExpression(label) {
432
- return `[...document.querySelectorAll('[role="menuitemradio"],[role="menuitem"]')].some((r) => (r.textContent || "").trim() === ${JSON.stringify(label)})`;
448
+ return `[...document.querySelectorAll('[role="menuitemradio"],[role="menuitem"]')].some((r) => ${JSON.stringify(toLabelCandidates(label))}.includes((r.textContent || "").trim()))`;
433
449
  }
434
450
  // Shared click-point resolver: scroll the target into view, tag it with a
435
451
  // temporary attribute, and return its center. The coverage check happens later
@@ -477,7 +493,7 @@ export function modelButtonRectExpression() {
477
493
  const b = [...scope.querySelectorAll('[aria-haspopup="menu"]')].find((el) => {
478
494
  const t = (el.textContent || "").trim();
479
495
  const aria = el.getAttribute("aria-label") || "";
480
- return /\\S/.test(t) && !/파일|첨부|받아쓰기|음성|dictation|attach/i.test(t + aria);
496
+ return /\\S/.test(t) && !/파일|첨부|받아쓰기|음성|dictation|attach|file|voice|record|search|mic/i.test(t + aria);
481
497
  });
482
498
  if (!b) return { ok: false, reason: "model selector button not found" };
483
499
  return clickPoint(b);
@@ -488,7 +504,7 @@ export function menuItemRectExpression(label) {
488
504
  const m = document.querySelector('[data-testid="composer-intelligence-picker-content"]');
489
505
  if (!m) return { ok: false, reason: "reasoning/model menu did not open" };
490
506
  const items = [...m.querySelectorAll('[role="menuitemradio"],[role="menuitem"]')];
491
- const it = items.find((r) => (r.textContent || "").trim() === ${JSON.stringify(label)});
507
+ const it = items.find((r) => ${JSON.stringify(toLabelCandidates(label))}.includes((r.textContent || "").trim()));
492
508
  if (!it) return { ok: false, reason: "menu item not found", available: items.map((r) => (r.textContent || "").trim()).slice(0, 12) };
493
509
  const point = clickPoint(it);
494
510
  if (!point.ok) return point;
@@ -498,7 +514,7 @@ export function menuItemRectExpression(label) {
498
514
  export function submenuItemRectExpression(label) {
499
515
  return `(() => {${CLICK_POINT_SNIPPET}
500
516
  const items = [...document.querySelectorAll('[role="menuitemradio"],[role="menuitem"]')];
501
- const it = items.find((r) => (r.textContent || "").trim() === ${JSON.stringify(label)});
517
+ const it = items.find((r) => ${JSON.stringify(toLabelCandidates(label))}.includes((r.textContent || "").trim()));
502
518
  if (!it) return { ok: false, reason: "submenu item not found" };
503
519
  return clickPoint(it);
504
520
  })()`;
@@ -543,7 +559,8 @@ export function proSubmenuExpanderRectExpression() {
543
559
  }
544
560
  export function projectItemRectExpression(name) {
545
561
  return `(() => {${CLICK_POINT_SNIPPET}
546
- const opt = [...document.querySelectorAll('[aria-label*="프로젝트 옵션 열기"]')].find((b) => (b.getAttribute("aria-label") || "").startsWith(${JSON.stringify(name)}));
562
+ // Korean: "<name> 프로젝트 옵션 열기"; English: "Open project options for <name>".
563
+ const opt = [...document.querySelectorAll('[aria-label*="프로젝트 옵션"],[aria-label*="project options" i]')].find((b) => (b.getAttribute("aria-label") || "").includes(${JSON.stringify(name)}));
547
564
  let target = opt ? (opt.closest('a,[role="link"],li') || opt.parentElement) : null;
548
565
  if (!target) {
549
566
  const icons = [...document.querySelectorAll('[data-testid="project-folder-icon"]')];
@@ -584,16 +601,16 @@ async function selectModelReasoning(cdp, options) {
584
601
  throw new Error(expander.reason ?? "Could not open the ChatGPT Pro sub-mode submenu");
585
602
  }
586
603
  await verifiedClickAt(cdp, expander.x, expander.y, "Pro sub-mode expander");
587
- const subLabel = `Pro ${options.proMode}`;
588
- const subVisible = await waitForExpressionTrue(cdp, menuItemPresentExpression(subLabel), MENU_OPEN_TIMEOUT_MS);
604
+ const subLabels = PRO_MODE_SUBMENU_LABELS[options.proMode];
605
+ const subVisible = await waitForExpressionTrue(cdp, menuItemPresentExpression(subLabels), MENU_OPEN_TIMEOUT_MS);
589
606
  if (!subVisible)
590
- throw new Error(`ChatGPT Pro sub-mode not found: ${subLabel}`);
591
- const sub = await cdp.evaluate(submenuItemRectExpression(subLabel));
607
+ throw new Error(`ChatGPT Pro sub-mode not found: ${subLabels.join(" / ")}`);
608
+ const sub = await cdp.evaluate(submenuItemRectExpression(subLabels));
592
609
  if (!sub.ok || sub.x === undefined || sub.y === undefined) {
593
- throw new Error(sub.reason ?? `ChatGPT Pro sub-mode not clickable: ${subLabel}`);
610
+ throw new Error(sub.reason ?? `ChatGPT Pro sub-mode not clickable: ${subLabels.join(" / ")}`);
594
611
  }
595
- await verifiedClickAt(cdp, sub.x, sub.y, subLabel);
596
- await assertSelectionCommitted(cdp, subLabel);
612
+ await verifiedClickAt(cdp, sub.x, sub.y, subLabels[0]);
613
+ await assertSelectionCommitted(cdp, subLabels[0]);
597
614
  return;
598
615
  }
599
616
  const primaryLabel = options.model ?? options.effort;
@@ -612,7 +629,10 @@ async function selectModelReasoning(cdp, options) {
612
629
  await assertSelectionCommitted(cdp, "Pro");
613
630
  return;
614
631
  }
615
- const primary = await cdp.evaluate(menuItemRectExpression(primaryLabel));
632
+ // A user-supplied model name is matched verbatim; efforts match any of the
633
+ // per-locale labels for the canonical value.
634
+ const primaryCandidates = options.model ? [options.model] : EFFORT_MENU_LABELS[options.effort];
635
+ const primary = await cdp.evaluate(menuItemRectExpression(primaryCandidates));
616
636
  if (!primary.ok || primary.x === undefined || primary.y === undefined) {
617
637
  throw new Error(`ChatGPT model/effort option not found: ${primaryLabel}${primary.available ? ` (available: ${primary.available.join(", ")})` : ""}`);
618
638
  }
@@ -635,9 +655,97 @@ async function selectModelReasoning(cdp, options) {
635
655
  throw error;
636
656
  }
637
657
  }
658
+ export function newProjectButtonRectExpression() {
659
+ return `(() => {${CLICK_POINT_SNIPPET}
660
+ const el =
661
+ document.querySelector('button[aria-label="새 프로젝트"],button[aria-label="New project"]') ||
662
+ [...document.querySelectorAll('button,[role="button"]')].find((b) =>
663
+ /새 프로젝트|new project/i.test(((b.textContent || "") + (b.getAttribute("aria-label") || "")).trim())
664
+ );
665
+ if (!el) return { ok: false, reason: "new-project button not found in the sidebar" };
666
+ return clickPoint(el);
667
+ })()`;
668
+ }
669
+ // The new-project popover has a single visible text input for the name;
670
+ // creation is committed by pressing Enter (there is no dedicated create button).
671
+ const VISIBLE_TEXT_INPUT_FINDER = `
672
+ const findNameInput = () =>
673
+ [...document.querySelectorAll('input[type="text"]')].find((i) => {
674
+ const r = i.getBoundingClientRect();
675
+ return r.width > 0 && r.height > 0;
676
+ });`;
677
+ export function newProjectNameInputRectExpression() {
678
+ return `(() => {${CLICK_POINT_SNIPPET}${VISIBLE_TEXT_INPUT_FINDER}
679
+ const input = findNameInput();
680
+ if (!input) return { ok: false, reason: "new-project name input did not appear" };
681
+ return clickPoint(input);
682
+ })()`;
683
+ }
684
+ export function newProjectNameInputVisibleExpression() {
685
+ return `(() => {${VISIBLE_TEXT_INPUT_FINDER}
686
+ return Boolean(findNameInput());
687
+ })()`;
688
+ }
689
+ function newProjectNameInputValueExpression() {
690
+ return `(() => {${VISIBLE_TEXT_INPUT_FINDER}
691
+ const input = findNameInput();
692
+ return input ? input.value : null;
693
+ })()`;
694
+ }
695
+ async function dispatchEnterKey(cdp) {
696
+ await cdp.send("Input.dispatchKeyEvent", { type: "keyDown", key: "Enter", code: "Enter", windowsVirtualKeyCode: 13, text: "\r" });
697
+ await cdp.send("Input.dispatchKeyEvent", { type: "keyUp", key: "Enter", code: "Enter", windowsVirtualKeyCode: 13 });
698
+ }
699
+ // Creates a project in the user's real ChatGPT account: sidebar 새 프로젝트 →
700
+ // type the name into the popover input → Enter → wait for navigation into the
701
+ // new project. Backs out with Escape on any failure.
702
+ async function createChatGptProject(cdp, name) {
703
+ const hrefBefore = await cdp.evaluate("location.href");
704
+ const button = await cdp.evaluate(newProjectButtonRectExpression());
705
+ if (!button.ok || button.x === undefined || button.y === undefined) {
706
+ throw new Error(button.reason ?? "new-project button not found in the sidebar");
707
+ }
708
+ try {
709
+ await verifiedClickAt(cdp, button.x, button.y, "새 프로젝트");
710
+ const inputVisible = await waitForExpressionTrue(cdp, newProjectNameInputVisibleExpression(), MENU_OPEN_TIMEOUT_MS);
711
+ if (!inputVisible)
712
+ throw new Error("new-project name input did not appear");
713
+ const input = await cdp.evaluate(newProjectNameInputRectExpression());
714
+ if (!input.ok || input.x === undefined || input.y === undefined) {
715
+ throw new Error(input.reason ?? "new-project name input is not clickable");
716
+ }
717
+ await verifiedClickAt(cdp, input.x, input.y, "project name input");
718
+ await sleep(150);
719
+ await cdp.send("Input.insertText", { text: name });
720
+ await sleep(150);
721
+ const typed = await cdp.evaluate(newProjectNameInputValueExpression());
722
+ if (typed !== name) {
723
+ throw new Error(`could not type the project name into the new-project input (saw: ${typed === null ? "no input" : JSON.stringify(typed)})`);
724
+ }
725
+ await dispatchEnterKey(cdp);
726
+ const navigated = await waitForExpressionTrue(cdp, `location.href !== ${JSON.stringify(hrefBefore)}`, PROJECT_NAVIGATION_TIMEOUT_MS);
727
+ if (!navigated)
728
+ throw new Error(`Creating project "${name}" did not navigate into the new project`);
729
+ const composerReady = await waitForExpressionTrue(cdp, `Boolean(document.querySelector('#prompt-textarea,[contenteditable="true"],textarea'))`, PROJECT_NAVIGATION_TIMEOUT_MS);
730
+ if (!composerReady)
731
+ throw new Error(`ChatGPT composer did not appear after creating project "${name}"`);
732
+ }
733
+ catch (error) {
734
+ try {
735
+ await dispatchEscapeKey(cdp);
736
+ await sleep(150);
737
+ await dispatchEscapeKey(cdp);
738
+ }
739
+ catch {
740
+ // best effort only
741
+ }
742
+ throw error;
743
+ }
744
+ }
638
745
  async function selectProject(cdp, options) {
639
746
  if (options.projectNew) {
640
- throw new Error("projectNew (new-project modal) automation is not implemented yet; create the project manually and use --project");
747
+ await createChatGptProject(cdp, options.projectNew);
748
+ return;
641
749
  }
642
750
  if (!options.project)
643
751
  return;
@@ -688,12 +796,16 @@ export async function sendChatGptPrompt(options) {
688
796
  if (busyBlocker) {
689
797
  throw new ChatGptBrowserBlockerError(busyBlocker);
690
798
  }
691
- const beforeSubmit = await evaluateOnPage(page, answerExpression());
799
+ let beforeSubmit;
692
800
  const cdp = await connectCdp(page.webSocketDebuggerUrl);
693
801
  try {
694
802
  await cdp.send("Runtime.enable");
695
803
  await selectProject(cdp, options);
696
804
  await selectModelReasoning(cdp, options);
805
+ // Capture the answer baseline AFTER any project navigation or model switch
806
+ // so assistant-message counts compare within the thread we actually send
807
+ // into; a --project/--project-new hop lands on a page with its own counts.
808
+ beforeSubmit = await evaluateOnPage(page, answerExpression());
697
809
  const inserted = await cdp.evaluate(setComposerTextExpression(options.prompt));
698
810
  if (!inserted.ok)
699
811
  throw new Error(inserted.reason ?? "Could not insert text into ChatGPT composer");
@@ -999,7 +1111,7 @@ export function statusExpression() {
999
1111
  const answer = assistant?.text || "";
1000
1112
  const ansStripped = answer.trim().replace(/\\.+$/, "");
1001
1113
  const ansLines = ansStripped.split(/\\r?\\n/).filter((l) => l.trim());
1002
- const placeholder = /^(생각 중|thinking|thought for|thought about)/i.test(ansStripped) || (ansLines.length <= 1 && /(^|\\s)생각 중$/.test(ansStripped));
1114
+ const placeholder = /^(생각 중|thinking|thought for|thought about)/i.test(ansStripped) || (ansLines.length <= 1 && /(^|\\s)(생각 중|thinking)$/i.test(ansStripped));
1003
1115
  const hasComposer = Boolean(findChatGptComposerCandidate());
1004
1116
  return {
1005
1117
  title: document.title,
@@ -1151,7 +1263,7 @@ function answerExpression() {
1151
1263
  const answer = assistant?.text || "";
1152
1264
  const ansStripped = answer.trim().replace(/\\.+$/, "");
1153
1265
  const ansLines = ansStripped.split(/\\r?\\n/).filter((l) => l.trim());
1154
- const placeholder = /^(생각 중|thinking|thought for|thought about)/i.test(ansStripped) || (ansLines.length <= 1 && /(^|\\s)생각 중$/.test(ansStripped));
1266
+ const placeholder = /^(생각 중|thinking|thought for|thought about)/i.test(ansStripped) || (ansLines.length <= 1 && /(^|\\s)(생각 중|thinking)$/i.test(ansStripped));
1155
1267
  return {
1156
1268
  title: document.title,
1157
1269
  url: location.href,
@@ -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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"}
@@ -0,0 +1,52 @@
1
+ import type { BridgeStore, ListReceiptsInput } from "./store.js";
2
+ export declare const TOP_LEVEL_COMMANDS: readonly ["help", "version", "init", "setup", "start", "status", "tunnel", "doctor", "onboard", "project", "claude", "tasks", "results", "receipts", "sessions", "pro", "release", "mcp"];
3
+ export declare function isHelpSubcommand(value: string): boolean;
4
+ export interface HelpRequestOptions {
5
+ valueFlags?: readonly string[];
6
+ booleanFlags?: readonly string[];
7
+ maxPositionals?: number;
8
+ }
9
+ export declare function findHelpFlagIndexBeforePromptDelimiter(args: string[]): number;
10
+ export declare function assertHelpRequestArgs(args: string[], command: string, options: HelpRequestOptions): void;
11
+ export declare function unknownSubcommandError(command: string, subcommand: string, expected: readonly string[]): Error;
12
+ export declare function unknownTopLevelCommandError(command: string): Error;
13
+ export declare function unknownOptionError(option: string, command: string | undefined, candidates: readonly string[]): Error;
14
+ export declare function closestSuggestion<T extends string>(value: string, candidates: readonly T[]): T | undefined;
15
+ export declare function isUsefulPrefixSuggestion(value: string, candidate: string): boolean;
16
+ export declare function editDistance(left: string, right: string): number;
17
+ export declare function shellQuote(value: string): string;
18
+ export declare function formatCliCommand(sourceCli?: string): string;
19
+ export declare function formatSourceCliOption(sourceCli?: string): string;
20
+ export declare function readFlag(args: string[], flag: string): string | undefined;
21
+ export declare function readPositiveNumberFlag(args: string[], flag: string): number | undefined;
22
+ export declare function readPortFlag(args: string[], flag: string): number | undefined;
23
+ export declare function readRepeatedFlag(args: string[], flag: string): string[];
24
+ export declare function resolveCwdFlag(defaultCwd: string, args: string[]): string;
25
+ export declare function resolveOptionalFileFlag(defaultCwd: string, args: string[], flag: string): string | undefined;
26
+ export declare function resolveExistingPathFlag(defaultCwd: string, value: string, flag: string): string;
27
+ export declare function resolveExistingFileFlag(defaultCwd: string, value: string, flag: string): string;
28
+ export declare function resolveExistingDirectoryFlag(defaultCwd: string, value: string, flag: string): string;
29
+ export declare function assertOnlyOptions(args: string[], command: string, valueFlags: readonly string[], booleanFlags?: readonly string[]): void;
30
+ export declare function readPositionalsWithOptions(args: string[], command: string, maxPositionals: number, valueFlags: readonly string[], booleanFlags?: readonly string[]): string[];
31
+ export declare function assertNoExtraArgs(args: string[], command: string, maxPositionals: number): void;
32
+ export declare const ASK_PRO_BOOLEAN_FLAGS: Set<string>;
33
+ export declare const ASK_PRO_SELECTION_VALUE_FLAGS: readonly ["--project", "--project-new", "--model", "--pro-mode", "--effort"];
34
+ export declare const ASK_PRO_VALUE_FLAGS: Set<string>;
35
+ export declare const ASK_PRO_PREVIEW_VALUE_FLAGS: Set<string>;
36
+ export declare const ASK_PRO_SELECTION_DEFAULT_FLAGS: readonly ["--model", "--pro-mode", "--effort", "--project"];
37
+ export declare const ASK_PRO_SELECTION_CLEAR_FLAGS: readonly ["--clear-model", "--clear-pro-mode", "--clear-effort", "--clear-project"];
38
+ export declare function parseAskProArgs(args: string[], valueFlags?: Set<string>): {
39
+ optionArgs: string[];
40
+ promptParts: string[];
41
+ };
42
+ export declare function askProOptionArgs(args: string[]): string[];
43
+ export declare function hasAskProMode(args: string[]): boolean;
44
+ export declare function hasAskProSendMode(args: string[]): boolean;
45
+ export declare function hasAskProDryRunMode(args: string[]): boolean;
46
+ export declare function readFlagValue(args: string[], index: number, flag: string): string;
47
+ export declare function readSessionStatusFlag(args: string[]): Parameters<BridgeStore["listSessions"]>[0];
48
+ export declare const TASK_STATUSES: ["new", "claimed", "done", "blocked"];
49
+ export declare function readTaskStatusFlag(args: string[]): Parameters<BridgeStore["listTasks"]>[0];
50
+ export declare function readReceiptKindFlag(args: string[]): ListReceiptsInput["kind"];
51
+ export declare function readNumberFlag(args: string[], flag: string): number | undefined;
52
+ export declare const RECEIPT_KINDS: ["task_created", "task_claimed", "task_completed", "consult_preview", "consult_answer_saved", "repo_write_dry_run", "repo_write_applied", "repo_stage_reviewed_paths"];