codex-chatgpt-control 0.2.0-alpha.1 → 0.5.0-alpha.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.
Files changed (233) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +42 -2
  3. package/contracts/v1/fixtures/backend-capabilities.json +11 -0
  4. package/contracts/v1/fixtures/command-descriptors.json +289 -7
  5. package/contracts/v1/fixtures/describe-runner-run.json +5 -2
  6. package/contracts/v1/fixtures/doctor-scenario-preflight.json +45 -2
  7. package/contracts/v1/fixtures/help-root.json +1 -1
  8. package/contracts/v1/fixtures/output-json-parse-success.json +9 -0
  9. package/contracts/v1/fixtures/reports-create-redacted.json +1 -1
  10. package/contracts/v1/fixtures/run-timeout-partial.json +15 -4
  11. package/contracts/v1/fixtures/stream-in-progress.ndjson +3 -0
  12. package/contracts/v1/fixtures/stream-submitted-completed.ndjson +1 -1
  13. package/contracts/v1/fixtures/surface-chat-legacy.json +35 -0
  14. package/contracts/v1/fixtures/surface-chat-simplified.json +37 -0
  15. package/contracts/v1/fixtures/surface-sidebar-false-positive.json +29 -0
  16. package/contracts/v1/fixtures/surface-work-advanced.json +45 -0
  17. package/contracts/v1/fixtures/surface-work-basic.json +38 -0
  18. package/contracts/v1/fixtures/workflow-ask-success.json +8 -0
  19. package/contracts/v1/manifest.json +32 -1
  20. package/contracts/v1/parity-suite.json +121 -1
  21. package/contracts/v1/schemas/backend-request.schema.json +15 -0
  22. package/contracts/v1/schemas/manifest.schema.json +6 -3
  23. package/contracts/v1/schemas/surface-profile.schema.json +166 -0
  24. package/dist/codex-chatgpt-control-backend.mjs +3198 -340
  25. package/dist/codex-chatgpt-control.bundle.mjs +4454 -1555
  26. package/dist/src/backend/client.d.ts +26 -1
  27. package/dist/src/backend/client.js +23 -1
  28. package/dist/src/backend/protocol.d.ts +1 -1
  29. package/dist/src/backend/protocol.js +11 -0
  30. package/dist/src/backend/session.js +22 -0
  31. package/dist/src/browser/attach.d.ts +1 -0
  32. package/dist/src/browser/attach.js +3 -3
  33. package/dist/src/browser/clipboard.d.ts +11 -0
  34. package/dist/src/browser/clipboard.js +34 -7
  35. package/dist/src/browser/page-state.js +17 -4
  36. package/dist/src/client.d.ts +32 -1
  37. package/dist/src/client.js +72 -16
  38. package/dist/src/commands/artifacts.js +1 -7
  39. package/dist/src/commands/configuration.d.ts +15 -0
  40. package/dist/src/commands/configuration.js +674 -0
  41. package/dist/src/commands/context.js +3 -1
  42. package/dist/src/commands/conversation.d.ts +15 -0
  43. package/dist/src/commands/conversation.js +44 -0
  44. package/dist/src/commands/deadline.d.ts +8 -0
  45. package/dist/src/commands/deadline.js +14 -0
  46. package/dist/src/commands/doctor.js +47 -3
  47. package/dist/src/commands/experience.d.ts +12 -0
  48. package/dist/src/commands/experience.js +288 -0
  49. package/dist/src/commands/files.js +61 -13
  50. package/dist/src/commands/messages.d.ts +2 -1
  51. package/dist/src/commands/messages.js +349 -87
  52. package/dist/src/commands/modes.d.ts +4 -1
  53. package/dist/src/commands/modes.js +243 -44
  54. package/dist/src/commands/probes.d.ts +15 -0
  55. package/dist/src/commands/probes.js +64 -0
  56. package/dist/src/commands/registry.js +102 -8
  57. package/dist/src/commands/reports.js +1 -1
  58. package/dist/src/commands/response-actions.js +1 -7
  59. package/dist/src/commands/sequence.js +24 -1
  60. package/dist/src/commands/session.d.ts +2 -0
  61. package/dist/src/commands/session.js +50 -1
  62. package/dist/src/commands/threads.js +3 -31
  63. package/dist/src/commands/work.d.ts +6 -0
  64. package/dist/src/commands/work.js +338 -0
  65. package/dist/src/dom/generation-state.d.ts +7 -0
  66. package/dist/src/dom/generation-state.js +7 -1
  67. package/dist/src/dom/label-match.d.ts +3 -0
  68. package/dist/src/dom/label-match.js +25 -0
  69. package/dist/src/dom/locale/am.d.ts +8 -1
  70. package/dist/src/dom/locale/am.js +8 -1
  71. package/dist/src/dom/locale/ar.d.ts +9 -1
  72. package/dist/src/dom/locale/ar.js +9 -1
  73. package/dist/src/dom/locale/bg.d.ts +9 -1
  74. package/dist/src/dom/locale/bg.js +9 -1
  75. package/dist/src/dom/locale/bn.d.ts +9 -1
  76. package/dist/src/dom/locale/bn.js +9 -1
  77. package/dist/src/dom/locale/bs.d.ts +8 -1
  78. package/dist/src/dom/locale/bs.js +8 -1
  79. package/dist/src/dom/locale/ca.d.ts +8 -1
  80. package/dist/src/dom/locale/ca.js +8 -1
  81. package/dist/src/dom/locale/cs.d.ts +8 -1
  82. package/dist/src/dom/locale/cs.js +8 -1
  83. package/dist/src/dom/locale/da.d.ts +7 -1
  84. package/dist/src/dom/locale/da.js +7 -1
  85. package/dist/src/dom/locale/de.d.ts +10 -3
  86. package/dist/src/dom/locale/de.js +10 -3
  87. package/dist/src/dom/locale/el.d.ts +8 -1
  88. package/dist/src/dom/locale/el.js +8 -1
  89. package/dist/src/dom/locale/en.d.ts +40 -1
  90. package/dist/src/dom/locale/en.js +42 -1
  91. package/dist/src/dom/locale/es-419.d.ts +8 -1
  92. package/dist/src/dom/locale/es-419.js +8 -1
  93. package/dist/src/dom/locale/es-ES.d.ts +8 -1
  94. package/dist/src/dom/locale/es-ES.js +8 -1
  95. package/dist/src/dom/locale/et.d.ts +8 -1
  96. package/dist/src/dom/locale/et.js +8 -1
  97. package/dist/src/dom/locale/fa.d.ts +9 -1
  98. package/dist/src/dom/locale/fa.js +9 -1
  99. package/dist/src/dom/locale/fi.d.ts +8 -1
  100. package/dist/src/dom/locale/fi.js +8 -1
  101. package/dist/src/dom/locale/fr-CA.d.ts +8 -1
  102. package/dist/src/dom/locale/fr-CA.js +8 -1
  103. package/dist/src/dom/locale/fr-FR.d.ts +8 -3
  104. package/dist/src/dom/locale/fr-FR.js +8 -3
  105. package/dist/src/dom/locale/gu.d.ts +8 -1
  106. package/dist/src/dom/locale/gu.js +8 -1
  107. package/dist/src/dom/locale/hi.d.ts +8 -1
  108. package/dist/src/dom/locale/hi.js +8 -1
  109. package/dist/src/dom/locale/hr.d.ts +7 -1
  110. package/dist/src/dom/locale/hr.js +7 -1
  111. package/dist/src/dom/locale/hu.d.ts +8 -1
  112. package/dist/src/dom/locale/hu.js +8 -1
  113. package/dist/src/dom/locale/hy.d.ts +9 -1
  114. package/dist/src/dom/locale/hy.js +9 -1
  115. package/dist/src/dom/locale/id.d.ts +8 -1
  116. package/dist/src/dom/locale/id.js +8 -1
  117. package/dist/src/dom/locale/index.d.ts +20 -1
  118. package/dist/src/dom/locale/index.js +102 -0
  119. package/dist/src/dom/locale/is.d.ts +8 -1
  120. package/dist/src/dom/locale/is.js +8 -1
  121. package/dist/src/dom/locale/it.d.ts +8 -1
  122. package/dist/src/dom/locale/it.js +8 -1
  123. package/dist/src/dom/locale/ja.d.ts +8 -1
  124. package/dist/src/dom/locale/ja.js +8 -1
  125. package/dist/src/dom/locale/ka.d.ts +8 -1
  126. package/dist/src/dom/locale/ka.js +8 -1
  127. package/dist/src/dom/locale/kk.d.ts +8 -1
  128. package/dist/src/dom/locale/kk.js +8 -1
  129. package/dist/src/dom/locale/kn.d.ts +9 -1
  130. package/dist/src/dom/locale/kn.js +9 -1
  131. package/dist/src/dom/locale/ko.d.ts +8 -1
  132. package/dist/src/dom/locale/ko.js +8 -1
  133. package/dist/src/dom/locale/lt.d.ts +9 -1
  134. package/dist/src/dom/locale/lt.js +9 -1
  135. package/dist/src/dom/locale/lv.d.ts +8 -1
  136. package/dist/src/dom/locale/lv.js +8 -1
  137. package/dist/src/dom/locale/mk.d.ts +7 -1
  138. package/dist/src/dom/locale/mk.js +7 -1
  139. package/dist/src/dom/locale/ml.d.ts +9 -1
  140. package/dist/src/dom/locale/ml.js +9 -1
  141. package/dist/src/dom/locale/mn.d.ts +9 -1
  142. package/dist/src/dom/locale/mn.js +9 -1
  143. package/dist/src/dom/locale/mr.d.ts +9 -1
  144. package/dist/src/dom/locale/mr.js +9 -1
  145. package/dist/src/dom/locale/ms.d.ts +8 -1
  146. package/dist/src/dom/locale/ms.js +8 -1
  147. package/dist/src/dom/locale/my.d.ts +8 -1
  148. package/dist/src/dom/locale/my.js +8 -1
  149. package/dist/src/dom/locale/nb.d.ts +8 -1
  150. package/dist/src/dom/locale/nb.js +8 -1
  151. package/dist/src/dom/locale/nl.d.ts +8 -1
  152. package/dist/src/dom/locale/nl.js +8 -1
  153. package/dist/src/dom/locale/pa.d.ts +9 -1
  154. package/dist/src/dom/locale/pa.js +9 -1
  155. package/dist/src/dom/locale/pl.d.ts +8 -1
  156. package/dist/src/dom/locale/pl.js +8 -1
  157. package/dist/src/dom/locale/pt-BR.d.ts +8 -1
  158. package/dist/src/dom/locale/pt-BR.js +8 -1
  159. package/dist/src/dom/locale/pt-PT.d.ts +8 -1
  160. package/dist/src/dom/locale/pt-PT.js +8 -1
  161. package/dist/src/dom/locale/ro.d.ts +7 -1
  162. package/dist/src/dom/locale/ro.js +7 -1
  163. package/dist/src/dom/locale/ru.d.ts +5 -1
  164. package/dist/src/dom/locale/ru.js +5 -1
  165. package/dist/src/dom/locale/sk.d.ts +8 -1
  166. package/dist/src/dom/locale/sk.js +8 -1
  167. package/dist/src/dom/locale/sl.d.ts +8 -1
  168. package/dist/src/dom/locale/sl.js +8 -1
  169. package/dist/src/dom/locale/so.d.ts +8 -1
  170. package/dist/src/dom/locale/so.js +8 -1
  171. package/dist/src/dom/locale/sq.d.ts +8 -1
  172. package/dist/src/dom/locale/sq.js +8 -1
  173. package/dist/src/dom/locale/sr.d.ts +5 -1
  174. package/dist/src/dom/locale/sr.js +5 -1
  175. package/dist/src/dom/locale/sv.d.ts +8 -1
  176. package/dist/src/dom/locale/sv.js +8 -1
  177. package/dist/src/dom/locale/sw.d.ts +8 -1
  178. package/dist/src/dom/locale/sw.js +8 -1
  179. package/dist/src/dom/locale/ta.d.ts +9 -1
  180. package/dist/src/dom/locale/ta.js +9 -1
  181. package/dist/src/dom/locale/te.d.ts +9 -1
  182. package/dist/src/dom/locale/te.js +9 -1
  183. package/dist/src/dom/locale/th.d.ts +8 -1
  184. package/dist/src/dom/locale/th.js +8 -1
  185. package/dist/src/dom/locale/tl.d.ts +4 -5
  186. package/dist/src/dom/locale/tl.js +4 -5
  187. package/dist/src/dom/locale/tr.d.ts +8 -1
  188. package/dist/src/dom/locale/tr.js +8 -1
  189. package/dist/src/dom/locale/types.d.ts +25 -1
  190. package/dist/src/dom/locale/uk.d.ts +8 -1
  191. package/dist/src/dom/locale/uk.js +8 -1
  192. package/dist/src/dom/locale/ur.d.ts +8 -1
  193. package/dist/src/dom/locale/ur.js +8 -1
  194. package/dist/src/dom/locale/vi.d.ts +8 -1
  195. package/dist/src/dom/locale/vi.js +8 -1
  196. package/dist/src/dom/locale/zh-HK.d.ts +9 -1
  197. package/dist/src/dom/locale/zh-HK.js +10 -2
  198. package/dist/src/dom/locale/zh-Hans.d.ts +9 -1
  199. package/dist/src/dom/locale/zh-Hans.js +9 -1
  200. package/dist/src/dom/locale/zh-TW.d.ts +9 -1
  201. package/dist/src/dom/locale/zh-TW.js +9 -1
  202. package/dist/src/dom/menus.js +13 -2
  203. package/dist/src/dom/selectors.js +6 -1
  204. package/dist/src/dom/wait-snapshot.d.ts +43 -0
  205. package/dist/src/dom/wait-snapshot.js +127 -0
  206. package/dist/src/index.d.ts +3 -0
  207. package/dist/src/index.js +3 -0
  208. package/dist/src/runner/responses.d.ts +3 -1
  209. package/dist/src/runner/responses.js +16 -1
  210. package/dist/src/runner/result.js +129 -4
  211. package/dist/src/runner/stream.d.ts +1 -1
  212. package/dist/src/runner/stream.js +6 -0
  213. package/dist/src/runner/types.d.ts +35 -1
  214. package/dist/src/safety/risk.d.ts +11 -0
  215. package/dist/src/safety/risk.js +11 -0
  216. package/dist/src/scripts/apply-intelligence-locale-captures.d.ts +6 -0
  217. package/dist/src/scripts/apply-intelligence-locale-captures.js +147 -15
  218. package/dist/src/scripts/capture-intelligence-locales.d.ts +3 -0
  219. package/dist/src/scripts/capture-intelligence-locales.js +372 -3
  220. package/dist/src/scripts/capture-surface-profile.d.ts +23 -0
  221. package/dist/src/scripts/capture-surface-profile.js +304 -0
  222. package/dist/src/scripts/live-smoke/scenarios.js +34 -1
  223. package/dist/src/scripts/live-smoke.js +1 -0
  224. package/dist/src/types.d.ts +273 -2
  225. package/package.json +4 -3
  226. package/references/2026-07-16-chat-work-surfaces.md +87 -0
  227. package/references/agents-runner.md +13 -2
  228. package/references/backend-protocol.md +19 -7
  229. package/references/language-coverage.md +40 -3
  230. package/references/localization.md +48 -10
  231. package/references/python-parity.md +16 -4
  232. package/references/responses-adapter.md +12 -1
  233. package/references/troubleshooting.md +49 -6
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export declare const ca: {
10
10
  composerTextbox: string[];
@@ -17,6 +17,12 @@ export declare const ca: {
17
17
  addPhotosFilesMenuItem: string[];
18
18
  copyResponse: string[];
19
19
  modeLabels: string[];
20
+ modeOptions: {
21
+ instant: string[];
22
+ medium: string[];
23
+ high: string[];
24
+ extraHigh: string[];
25
+ };
20
26
  modeOpenerExtra: string[];
21
27
  tools: {
22
28
  web_search: string[];
@@ -25,4 +31,5 @@ export declare const ca: {
25
31
  };
26
32
  signedInMarkers: string[];
27
33
  responseActions: string[];
34
+ stopControl: string[];
28
35
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export const ca = {
10
10
  composerTextbox: ["Xateja amb el ChatGPT"],
@@ -17,6 +17,12 @@ export const ca = {
17
17
  addPhotosFilesMenuItem: ["Afegeix fotos i fitxers"],
18
18
  copyResponse: ["Copia la resposta"],
19
19
  modeLabels: ["Instantani", "Mitjà", "Alt", "Molt alt"],
20
+ modeOptions: {
21
+ instant: ["Instantani"],
22
+ medium: ["Mitjà"],
23
+ high: ["Alt"],
24
+ extraHigh: ["Molt alt"],
25
+ },
20
26
  modeOpenerExtra: ["Configura…"],
21
27
  tools: {
22
28
  web_search: ["Cerca a la xarxa"],
@@ -25,4 +31,5 @@ export const ca = {
25
31
  },
26
32
  signedInMarkers: ["Xat nou", "Cerca xats", "Recents", "Història de xats", "Projectes", "Xateja amb el ChatGPT"],
27
33
  responseActions: ["Copia la resposta"],
34
+ stopControl: ["Atura la resposta"],
28
35
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export declare const cs: {
10
10
  composerTextbox: string[];
@@ -17,6 +17,12 @@ export declare const cs: {
17
17
  addPhotosFilesMenuItem: string[];
18
18
  copyResponse: string[];
19
19
  modeLabels: string[];
20
+ modeOptions: {
21
+ instant: string[];
22
+ medium: string[];
23
+ high: string[];
24
+ extraHigh: string[];
25
+ };
20
26
  modeOpenerExtra: string[];
21
27
  tools: {
22
28
  web_search: string[];
@@ -25,4 +31,5 @@ export declare const cs: {
25
31
  };
26
32
  signedInMarkers: string[];
27
33
  responseActions: string[];
34
+ stopControl: string[];
28
35
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export const cs = {
10
10
  composerTextbox: ["Chatovat s ChatGPT"],
@@ -17,6 +17,12 @@ export const cs = {
17
17
  addPhotosFilesMenuItem: ["Přidat fotografie a soubory"],
18
18
  copyResponse: ["Zkopírovat odpověď"],
19
19
  modeLabels: ["Okamžitá", "Střední", "Vysoká", "Velmi vysoká"],
20
+ modeOptions: {
21
+ instant: ["Okamžitá"],
22
+ medium: ["Střední"],
23
+ high: ["Vysoká"],
24
+ extraHigh: ["Velmi vysoká"],
25
+ },
20
26
  modeOpenerExtra: ["Konfigurovat…"],
21
27
  tools: {
22
28
  web_search: ["Vyhledávání na webu"],
@@ -25,4 +31,5 @@ export const cs = {
25
31
  },
26
32
  signedInMarkers: ["Nový chat", "Hledat chaty", "Nedávné", "Historie chatu", "Projekty", "Chatovat s ChatGPT"],
27
33
  responseActions: ["Zkopírovat odpověď"],
34
+ stopControl: ["Zastavit odpovídání"],
28
35
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export declare const da: {
10
10
  composerTextbox: string[];
@@ -17,6 +17,11 @@ export declare const da: {
17
17
  addPhotosFilesMenuItem: string[];
18
18
  copyResponse: string[];
19
19
  modeLabels: string[];
20
+ modeOptions: {
21
+ instant: string[];
22
+ high: string[];
23
+ extraHigh: string[];
24
+ };
20
25
  modeOpenerExtra: string[];
21
26
  tools: {
22
27
  web_search: string[];
@@ -25,4 +30,5 @@ export declare const da: {
25
30
  };
26
31
  signedInMarkers: string[];
27
32
  responseActions: string[];
33
+ stopControl: string[];
28
34
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export const da = {
10
10
  composerTextbox: ["Chat med ChatGPT"],
@@ -17,6 +17,11 @@ export const da = {
17
17
  addPhotosFilesMenuItem: ["Tilføj billeder og filer"],
18
18
  copyResponse: ["Kopiér svar"],
19
19
  modeLabels: ["Øjeblikkeligt", "Høj", "Ekstra høj"],
20
+ modeOptions: {
21
+ instant: ["Øjeblikkeligt"],
22
+ high: ["Høj"],
23
+ extraHigh: ["Ekstra høj"],
24
+ },
20
25
  modeOpenerExtra: ["Konfigurer ..."],
21
26
  tools: {
22
27
  web_search: ["Internetsøgning"],
@@ -25,4 +30,5 @@ export const da = {
25
30
  },
26
31
  signedInMarkers: ["Ny chat", "Søg i chats", "Seneste", "Chathistorik", "Projekter", "Chat med ChatGPT"],
27
32
  responseActions: ["Kopiér svar"],
33
+ stopControl: ["Afbryd svar"],
28
34
  };
@@ -4,10 +4,10 @@
4
4
  * Only keys whose text differs from English are listed. Omitted because they match English
5
5
  * case-insensitively: `tools.deep_research` ("Deep Research"). Not yet captured —
6
6
  * fall back to English + `selector_drift`:
7
- * `download`, `downloadImage`, `imageContainerHint`, `transientAssistant`, `stopControl`,
8
- * and the login/captcha/rate-limit blocker copy.
7
+ * `download`, `downloadImage`, `imageContainerHint`, `transientAssistant`, and the
8
+ * login/captcha/rate-limit blocker copy.
9
9
  *
10
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
10
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
11
11
  */
12
12
  export declare const de: {
13
13
  composerTextbox: string[];
@@ -20,6 +20,12 @@ export declare const de: {
20
20
  addPhotosFilesMenuItem: string[];
21
21
  copyResponse: string[];
22
22
  modeLabels: string[];
23
+ modeOptions: {
24
+ instant: string[];
25
+ medium: string[];
26
+ high: string[];
27
+ extraHigh: string[];
28
+ };
23
29
  modeOpenerExtra: string[];
24
30
  tools: {
25
31
  web_search: string[];
@@ -27,4 +33,5 @@ export declare const de: {
27
33
  };
28
34
  signedInMarkers: string[];
29
35
  responseActions: string[];
36
+ stopControl: string[];
30
37
  };
@@ -4,10 +4,10 @@
4
4
  * Only keys whose text differs from English are listed. Omitted because they match English
5
5
  * case-insensitively: `tools.deep_research` ("Deep Research"). Not yet captured —
6
6
  * fall back to English + `selector_drift`:
7
- * `download`, `downloadImage`, `imageContainerHint`, `transientAssistant`, `stopControl`,
8
- * and the login/captcha/rate-limit blocker copy.
7
+ * `download`, `downloadImage`, `imageContainerHint`, `transientAssistant`, and the
8
+ * login/captcha/rate-limit blocker copy.
9
9
  *
10
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
10
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
11
11
  */
12
12
  export const de = {
13
13
  composerTextbox: ["Mit ChatGPT chatten"],
@@ -20,6 +20,12 @@ export const de = {
20
20
  addPhotosFilesMenuItem: ["Fotos und Dateien hinzufügen"],
21
21
  copyResponse: ["Antwort kopieren"],
22
22
  modeLabels: ["Sofort", "Mittel", "Hoch", "Extra hoch"],
23
+ modeOptions: {
24
+ instant: ["Sofort"],
25
+ medium: ["Mittel"],
26
+ high: ["Hoch"],
27
+ extraHigh: ["Extra hoch"],
28
+ },
23
29
  modeOpenerExtra: ["Konfigurieren"],
24
30
  tools: {
25
31
  web_search: ["Websuche"],
@@ -27,4 +33,5 @@ export const de = {
27
33
  },
28
34
  signedInMarkers: ["Neuer Chat", "Chats durchsuchen", "Letzte", "Bibliothek", "Projekte", "Mit ChatGPT chatten"],
29
35
  responseActions: ["Antwort kopieren"],
36
+ stopControl: ["Antwort stoppen"],
30
37
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export declare const el: {
10
10
  composerTextbox: string[];
@@ -17,6 +17,12 @@ export declare const el: {
17
17
  addPhotosFilesMenuItem: string[];
18
18
  copyResponse: string[];
19
19
  modeLabels: string[];
20
+ modeOptions: {
21
+ instant: string[];
22
+ medium: string[];
23
+ high: string[];
24
+ extraHigh: string[];
25
+ };
20
26
  modeOpenerExtra: string[];
21
27
  tools: {
22
28
  web_search: string[];
@@ -25,4 +31,5 @@ export declare const el: {
25
31
  };
26
32
  signedInMarkers: string[];
27
33
  responseActions: string[];
34
+ stopControl: string[];
28
35
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export const el = {
10
10
  composerTextbox: ["Συνομιλία με το ChatGPT"],
@@ -17,6 +17,12 @@ export const el = {
17
17
  addPhotosFilesMenuItem: ["Προσθήκη φωτογραφιών & αρχείων"],
18
18
  copyResponse: ["Αντιγραφή απάντησης"],
19
19
  modeLabels: ["Άμεση", "Μεσαία", "Υψηλή", "Πολύ υψηλό"],
20
+ modeOptions: {
21
+ instant: ["Άμεση"],
22
+ medium: ["Μεσαία"],
23
+ high: ["Υψηλή"],
24
+ extraHigh: ["Πολύ υψηλό"],
25
+ },
20
26
  modeOpenerExtra: ["Διαμόρφωση…"],
21
27
  tools: {
22
28
  web_search: ["Αναζήτηση στον ιστό"],
@@ -25,4 +31,5 @@ export const el = {
25
31
  },
26
32
  signedInMarkers: ["Νέα συνομιλία", "Αναζήτηση συνομιλιών", "Πρόσφατες", "Ιστορικό συνομιλιών", "Έργα", "Συνομιλία με το ChatGPT"],
27
33
  responseActions: ["Αντιγραφή απάντησης"],
34
+ stopControl: ["Διακοπή απάντησης"],
28
35
  };
@@ -6,7 +6,9 @@
6
6
  * defines the canonical public API keys (e.g. `effort: "Thinking"`, `tool: "web_search"`).
7
7
  */
8
8
  export declare const en: {
9
- readonly composerTextbox: readonly ["Chat with ChatGPT"];
9
+ readonly composerTextbox: readonly ["Chat with ChatGPT", "Ask ChatGPT"];
10
+ readonly workComposerTextbox: readonly ["Work on anything", "Work on something"];
11
+ readonly newWork: readonly ["Work on something else", "New work", "New task"];
10
12
  readonly sendButton: readonly ["Send prompt"];
11
13
  readonly searchChatsButton: readonly ["Search chats"];
12
14
  readonly searchChatsPlaceholder: readonly ["Search chats..."];
@@ -24,8 +26,45 @@ export declare const en: {
24
26
  /** Container hint used to scope generated-image download controls. */
25
27
  readonly imageContainerHint: readonly ["image"];
26
28
  readonly modeLabels: readonly ["Latest", "Instant", "Thinking", "Extended", "Medium", "High", "Extra High", "Pro"];
29
+ readonly modeOptions: {
30
+ readonly latest: readonly ["Latest"];
31
+ readonly instant: readonly ["Instant"];
32
+ readonly thinking: readonly ["Thinking"];
33
+ readonly extended: readonly ["Extended"];
34
+ readonly medium: readonly ["Medium"];
35
+ readonly high: readonly ["High"];
36
+ readonly extraHigh: readonly ["Extra High"];
37
+ readonly pro: readonly ["Pro", "Pro Extended", "Pro • Extended", "Extended Pro"];
38
+ };
27
39
  /** Extra openers that surface the mode menu but are not selectable modes themselves. */
28
40
  readonly modeOpenerExtra: readonly ["Configure"];
41
+ readonly experienceOptions: {
42
+ readonly chat: readonly ["Chat", "Quick chat"];
43
+ readonly work: readonly ["Work"];
44
+ };
45
+ readonly configurationAxes: {
46
+ readonly model: readonly ["Model"];
47
+ readonly intelligence: readonly ["Intelligence"];
48
+ readonly effort: readonly ["Effort"];
49
+ readonly speed: readonly ["Speed"];
50
+ readonly advanced: readonly ["Advanced"];
51
+ };
52
+ readonly configurationOptions: {
53
+ readonly instant: readonly ["Instant"];
54
+ readonly light: readonly ["Light"];
55
+ readonly medium: readonly ["Medium"];
56
+ readonly high: readonly ["High"];
57
+ readonly extraHigh: readonly ["Extra High"];
58
+ readonly max: readonly ["Max"];
59
+ readonly ultra: readonly ["Ultra"];
60
+ readonly pro: readonly ["Pro"];
61
+ readonly standard: readonly ["Standard"];
62
+ readonly fast: readonly ["Fast"];
63
+ };
64
+ /** Exact thread/conversation action menu items; a menu containing these is not the mode menu. */
65
+ readonly threadActionMenuItems: readonly ["Archive", "Copy link", "Delete", "Move to project", "Rename", "Share"];
66
+ /** Action verbs that prefix a thread title in sidebar menus, e.g. "Pin <thread title>". */
67
+ readonly threadActionPrefixes: readonly ["Pin", "Unpin"];
29
68
  readonly tools: {
30
69
  readonly web_search: readonly ["Web search"];
31
70
  readonly deep_research: readonly ["Deep research"];
@@ -7,7 +7,9 @@
7
7
  */
8
8
  export const en = {
9
9
  // --- Primary interaction path (accessible names) ---
10
- composerTextbox: ["Chat with ChatGPT"],
10
+ composerTextbox: ["Chat with ChatGPT", "Ask ChatGPT"],
11
+ workComposerTextbox: ["Work on anything", "Work on something"],
12
+ newWork: ["Work on something else", "New work", "New task"],
11
13
  sendButton: ["Send prompt"],
12
14
  searchChatsButton: ["Search chats"],
13
15
  searchChatsPlaceholder: ["Search chats..."],
@@ -27,8 +29,47 @@ export const en = {
27
29
  imageContainerHint: ["image"],
28
30
  // --- Mode switcher (also the canonical public API keys) ---
29
31
  modeLabels: ["Latest", "Instant", "Thinking", "Extended", "Medium", "High", "Extra High", "Pro"],
32
+ modeOptions: {
33
+ latest: ["Latest"],
34
+ instant: ["Instant"],
35
+ thinking: ["Thinking"],
36
+ extended: ["Extended"],
37
+ medium: ["Medium"],
38
+ high: ["High"],
39
+ extraHigh: ["Extra High"],
40
+ pro: ["Pro", "Pro Extended", "Pro • Extended", "Extended Pro"],
41
+ },
30
42
  /** Extra openers that surface the mode menu but are not selectable modes themselves. */
31
43
  modeOpenerExtra: ["Configure"],
44
+ // --- Chat / Work surfaces and capability-driven configuration ---
45
+ experienceOptions: {
46
+ chat: ["Chat", "Quick chat"],
47
+ work: ["Work"],
48
+ },
49
+ configurationAxes: {
50
+ model: ["Model"],
51
+ intelligence: ["Intelligence"],
52
+ effort: ["Effort"],
53
+ speed: ["Speed"],
54
+ advanced: ["Advanced"],
55
+ },
56
+ configurationOptions: {
57
+ instant: ["Instant"],
58
+ light: ["Light"],
59
+ medium: ["Medium"],
60
+ high: ["High"],
61
+ extraHigh: ["Extra High"],
62
+ max: ["Max"],
63
+ ultra: ["Ultra"],
64
+ pro: ["Pro"],
65
+ standard: ["Standard"],
66
+ fast: ["Fast"],
67
+ },
68
+ // --- Thread/action menu rejection (wrong-menu veto for mode selection) ---
69
+ /** Exact thread/conversation action menu items; a menu containing these is not the mode menu. */
70
+ threadActionMenuItems: ["Archive", "Copy link", "Delete", "Move to project", "Rename", "Share"],
71
+ /** Action verbs that prefix a thread title in sidebar menus, e.g. "Pin <thread title>". */
72
+ threadActionPrefixes: ["Pin", "Unpin"],
32
73
  // --- Tool menu items, keyed by logical tool id ---
33
74
  tools: {
34
75
  web_search: ["Web search"],
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export declare const es419: {
10
10
  composerTextbox: string[];
@@ -17,6 +17,12 @@ export declare const es419: {
17
17
  addPhotosFilesMenuItem: string[];
18
18
  copyResponse: string[];
19
19
  modeLabels: string[];
20
+ modeOptions: {
21
+ instant: string[];
22
+ medium: string[];
23
+ high: string[];
24
+ extraHigh: string[];
25
+ };
20
26
  modeOpenerExtra: string[];
21
27
  tools: {
22
28
  web_search: string[];
@@ -25,4 +31,5 @@ export declare const es419: {
25
31
  };
26
32
  signedInMarkers: string[];
27
33
  responseActions: string[];
34
+ stopControl: string[];
28
35
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export const es419 = {
10
10
  composerTextbox: ["Chatear con ChatGPT"],
@@ -17,6 +17,12 @@ export const es419 = {
17
17
  addPhotosFilesMenuItem: ["Agregar fotos y archivos"],
18
18
  copyResponse: ["Copiar respuesta"],
19
19
  modeLabels: ["Instantánea", "Media", "Alta", "Muy alta"],
20
+ modeOptions: {
21
+ instant: ["Instantánea"],
22
+ medium: ["Media"],
23
+ high: ["Alta"],
24
+ extraHigh: ["Muy alta"],
25
+ },
20
26
  modeOpenerExtra: ["Configurar..."],
21
27
  tools: {
22
28
  web_search: ["Busca en la web"],
@@ -25,4 +31,5 @@ export const es419 = {
25
31
  },
26
32
  signedInMarkers: ["Nuevo chat", "Buscar chats", "Recientes", "Historial del chat", "Proyectos", "Chatear con ChatGPT"],
27
33
  responseActions: ["Copiar respuesta"],
34
+ stopControl: ["Detener respuesta"],
28
35
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export declare const esES: {
10
10
  composerTextbox: string[];
@@ -17,6 +17,12 @@ export declare const esES: {
17
17
  addPhotosFilesMenuItem: string[];
18
18
  copyResponse: string[];
19
19
  modeLabels: string[];
20
+ modeOptions: {
21
+ instant: string[];
22
+ medium: string[];
23
+ high: string[];
24
+ extraHigh: string[];
25
+ };
20
26
  modeOpenerExtra: string[];
21
27
  tools: {
22
28
  web_search: string[];
@@ -25,4 +31,5 @@ export declare const esES: {
25
31
  };
26
32
  signedInMarkers: string[];
27
33
  responseActions: string[];
34
+ stopControl: string[];
28
35
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export const esES = {
10
10
  composerTextbox: ["Chatear con ChatGPT"],
@@ -17,6 +17,12 @@ export const esES = {
17
17
  addPhotosFilesMenuItem: ["Añadir fotos y archivos"],
18
18
  copyResponse: ["Copiar respuesta"],
19
19
  modeLabels: ["Instantánea", "Media", "Alta", "Muy alta"],
20
+ modeOptions: {
21
+ instant: ["Instantánea"],
22
+ medium: ["Media"],
23
+ high: ["Alta"],
24
+ extraHigh: ["Muy alta"],
25
+ },
20
26
  modeOpenerExtra: ["Configurar"],
21
27
  tools: {
22
28
  web_search: ["Búsqueda en Internet"],
@@ -25,4 +31,5 @@ export const esES = {
25
31
  },
26
32
  signedInMarkers: ["Nuevo chat", "Buscar chats", "Recientes", "Biblioteca", "Proyectos", "Chatear con ChatGPT"],
27
33
  responseActions: ["Copiar respuesta"],
34
+ stopControl: ["Detener respuesta"],
28
35
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export declare const et: {
10
10
  composerTextbox: string[];
@@ -17,6 +17,12 @@ export declare const et: {
17
17
  addPhotosFilesMenuItem: string[];
18
18
  copyResponse: string[];
19
19
  modeLabels: string[];
20
+ modeOptions: {
21
+ instant: string[];
22
+ medium: string[];
23
+ high: string[];
24
+ extraHigh: string[];
25
+ };
20
26
  modeOpenerExtra: string[];
21
27
  tools: {
22
28
  web_search: string[];
@@ -25,4 +31,5 @@ export declare const et: {
25
31
  };
26
32
  signedInMarkers: string[];
27
33
  responseActions: string[];
34
+ stopControl: string[];
28
35
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export const et = {
10
10
  composerTextbox: ["Vestle ChatGPT-ga"],
@@ -17,6 +17,12 @@ export const et = {
17
17
  addPhotosFilesMenuItem: ["Lisa fotosid ja faile"],
18
18
  copyResponse: ["Kopeeri vastus"],
19
19
  modeLabels: ["Kohene", "Keskmine", "Kõrge", "Väga kõrge"],
20
+ modeOptions: {
21
+ instant: ["Kohene"],
22
+ medium: ["Keskmine"],
23
+ high: ["Kõrge"],
24
+ extraHigh: ["Väga kõrge"],
25
+ },
20
26
  modeOpenerExtra: ["Konfigureeri..."],
21
27
  tools: {
22
28
  web_search: ["Veebiotsing"],
@@ -25,4 +31,5 @@ export const et = {
25
31
  },
26
32
  signedInMarkers: ["Uus vestlus", "Otsi vestlusi", "Hiljutised", "Vestlusajalugu", "Projektid", "Vestle ChatGPT-ga"],
27
33
  responseActions: ["Kopeeri vastus"],
34
+ stopControl: ["Peata vastamine"],
28
35
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export declare const fa: {
10
10
  composerTextbox: string[];
@@ -17,6 +17,13 @@ export declare const fa: {
17
17
  addPhotosFilesMenuItem: string[];
18
18
  copyResponse: string[];
19
19
  modeLabels: string[];
20
+ modeOptions: {
21
+ instant: string[];
22
+ medium: string[];
23
+ high: string[];
24
+ extraHigh: string[];
25
+ pro: string[];
26
+ };
20
27
  modeOpenerExtra: string[];
21
28
  tools: {
22
29
  web_search: string[];
@@ -25,4 +32,5 @@ export declare const fa: {
25
32
  };
26
33
  signedInMarkers: string[];
27
34
  responseActions: string[];
35
+ stopControl: string[];
28
36
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export const fa = {
10
10
  composerTextbox: ["گفتگو با ChatGPT"],
@@ -17,6 +17,13 @@ export const fa = {
17
17
  addPhotosFilesMenuItem: ["افزودن تصاویر و فایل‌ها"],
18
18
  copyResponse: ["کپی کردن پاسخ"],
19
19
  modeLabels: ["فوری", "متوسط", "بالا", "بسیار زیاد", "حرفه‌ای"],
20
+ modeOptions: {
21
+ instant: ["فوری"],
22
+ medium: ["متوسط"],
23
+ high: ["بالا"],
24
+ extraHigh: ["بسیار زیاد"],
25
+ pro: ["حرفه‌ای"],
26
+ },
20
27
  modeOpenerExtra: ["پیکربندی..."],
21
28
  tools: {
22
29
  web_search: ["جستجوی وب"],
@@ -25,4 +32,5 @@ export const fa = {
25
32
  },
26
33
  signedInMarkers: ["گفتگوی جدید", "جست‌وجوی چت‌ها", "موارد اخیر", "تاریخچه گفتگو", "پروژه‌ها", "گفتگو با ChatGPT"],
27
34
  responseActions: ["کپی کردن پاسخ"],
35
+ stopControl: ["توقف پاسخ گویی"],
28
36
  };
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Some non-Intelligence surfaces may still fall back to English + `selector_drift`.
6
6
  *
7
- * Intelligence picker labels updated 2026-06-10 from a visible ChatGPT Pro session.
7
+ * Intelligence picker labels updated 2026-06-10 and stop-control labels updated 2026-06-15 from visible ChatGPT Pro sessions.
8
8
  */
9
9
  export declare const fi: {
10
10
  composerTextbox: string[];
@@ -17,6 +17,12 @@ export declare const fi: {
17
17
  addPhotosFilesMenuItem: string[];
18
18
  copyResponse: string[];
19
19
  modeLabels: string[];
20
+ modeOptions: {
21
+ instant: string[];
22
+ medium: string[];
23
+ high: string[];
24
+ extraHigh: string[];
25
+ };
20
26
  modeOpenerExtra: string[];
21
27
  tools: {
22
28
  web_search: string[];
@@ -25,4 +31,5 @@ export declare const fi: {
25
31
  };
26
32
  signedInMarkers: string[];
27
33
  responseActions: string[];
34
+ stopControl: string[];
28
35
  };