cli-jaw 2.2.2 → 2.2.3

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 (240) hide show
  1. package/README.ja.md +13 -9
  2. package/README.ko.md +5 -5
  3. package/README.md +7 -6
  4. package/README.zh-CN.md +5 -5
  5. package/dist/bin/commands/goal.js +14 -1
  6. package/dist/bin/commands/goal.js.map +1 -1
  7. package/dist/src/agent/agy-bootstrap.js +104 -0
  8. package/dist/src/agent/agy-bootstrap.js.map +1 -0
  9. package/dist/src/agent/agy-capabilities.js +103 -0
  10. package/dist/src/agent/agy-capabilities.js.map +1 -0
  11. package/dist/src/agent/agy-transcript-watcher.js +11 -0
  12. package/dist/src/agent/agy-transcript-watcher.js.map +1 -1
  13. package/dist/src/agent/args.js +32 -13
  14. package/dist/src/agent/args.js.map +1 -1
  15. package/dist/src/agent/events/claude.js +8 -4
  16. package/dist/src/agent/events/claude.js.map +1 -1
  17. package/dist/src/agent/events/helpers.js +13 -0
  18. package/dist/src/agent/events/helpers.js.map +1 -1
  19. package/dist/src/agent/events/index.js +24 -4
  20. package/dist/src/agent/events/index.js.map +1 -1
  21. package/dist/src/agent/lifecycle-handler.js +25 -4
  22. package/dist/src/agent/lifecycle-handler.js.map +1 -1
  23. package/dist/src/agent/spawn/queue.js +11 -5
  24. package/dist/src/agent/spawn/queue.js.map +1 -1
  25. package/dist/src/agent/spawn.js +49 -13
  26. package/dist/src/agent/spawn.js.map +1 -1
  27. package/dist/src/browser/web-ai/ax-snapshot.js +131 -8
  28. package/dist/src/browser/web-ai/ax-snapshot.js.map +1 -1
  29. package/dist/src/browser/web-ai/candidate-reconcile.js +61 -0
  30. package/dist/src/browser/web-ai/candidate-reconcile.js.map +1 -0
  31. package/dist/src/browser/web-ai/capability-probe.js +92 -0
  32. package/dist/src/browser/web-ai/capability-probe.js.map +1 -0
  33. package/dist/src/browser/web-ai/chatgpt-archive.js +90 -0
  34. package/dist/src/browser/web-ai/chatgpt-archive.js.map +1 -0
  35. package/dist/src/browser/web-ai/chatgpt-attachments.js +70 -3
  36. package/dist/src/browser/web-ai/chatgpt-attachments.js.map +1 -1
  37. package/dist/src/browser/web-ai/chatgpt-composer.js +97 -11
  38. package/dist/src/browser/web-ai/chatgpt-composer.js.map +1 -1
  39. package/dist/src/browser/web-ai/chatgpt-deep-research-report.js +63 -0
  40. package/dist/src/browser/web-ai/chatgpt-deep-research-report.js.map +1 -0
  41. package/dist/src/browser/web-ai/chatgpt-deep-research.js +76 -13
  42. package/dist/src/browser/web-ai/chatgpt-deep-research.js.map +1 -1
  43. package/dist/src/browser/web-ai/chatgpt-files.js +328 -0
  44. package/dist/src/browser/web-ai/chatgpt-files.js.map +1 -0
  45. package/dist/src/browser/web-ai/chatgpt-images.js +281 -0
  46. package/dist/src/browser/web-ai/chatgpt-images.js.map +1 -0
  47. package/dist/src/browser/web-ai/chatgpt-model.js +35 -14
  48. package/dist/src/browser/web-ai/chatgpt-model.js.map +1 -1
  49. package/dist/src/browser/web-ai/chatgpt-multi-turn.js +28 -4
  50. package/dist/src/browser/web-ai/chatgpt-multi-turn.js.map +1 -1
  51. package/dist/src/browser/web-ai/chatgpt-project-sources.js +191 -0
  52. package/dist/src/browser/web-ai/chatgpt-project-sources.js.map +1 -0
  53. package/dist/src/browser/web-ai/chatgpt-response-dom.js +64 -0
  54. package/dist/src/browser/web-ai/chatgpt-response-dom.js.map +1 -0
  55. package/dist/src/browser/web-ai/chatgpt-response-observer.js +170 -0
  56. package/dist/src/browser/web-ai/chatgpt-response-observer.js.map +1 -0
  57. package/dist/src/browser/web-ai/chatgpt-response.js +99 -60
  58. package/dist/src/browser/web-ai/chatgpt-response.js.map +1 -1
  59. package/dist/src/browser/web-ai/chatgpt-tools.js +48 -1
  60. package/dist/src/browser/web-ai/chatgpt-tools.js.map +1 -1
  61. package/dist/src/browser/web-ai/chatgpt-upload-surface.js +202 -0
  62. package/dist/src/browser/web-ai/chatgpt-upload-surface.js.map +1 -0
  63. package/dist/src/browser/web-ai/chatgpt.js +93 -12
  64. package/dist/src/browser/web-ai/chatgpt.js.map +1 -1
  65. package/dist/src/browser/web-ai/code-artifact.js +32 -10
  66. package/dist/src/browser/web-ai/code-artifact.js.map +1 -1
  67. package/dist/src/browser/web-ai/code-mode.js +40 -4
  68. package/dist/src/browser/web-ai/code-mode.js.map +1 -1
  69. package/dist/src/browser/web-ai/contract-audit.js +7 -22
  70. package/dist/src/browser/web-ai/contract-audit.js.map +1 -1
  71. package/dist/src/browser/web-ai/control-summary.js +43 -0
  72. package/dist/src/browser/web-ai/control-summary.js.map +1 -0
  73. package/dist/src/browser/web-ai/copy-markdown.js +10 -0
  74. package/dist/src/browser/web-ai/copy-markdown.js.map +1 -1
  75. package/dist/src/browser/web-ai/diagnostics.js +7 -0
  76. package/dist/src/browser/web-ai/diagnostics.js.map +1 -1
  77. package/dist/src/browser/web-ai/errors.js +17 -0
  78. package/dist/src/browser/web-ai/errors.js.map +1 -1
  79. package/dist/src/browser/web-ai/gemini-capabilities.js +46 -0
  80. package/dist/src/browser/web-ai/gemini-capabilities.js.map +1 -0
  81. package/dist/src/browser/web-ai/gemini-live.js +6 -0
  82. package/dist/src/browser/web-ai/gemini-live.js.map +1 -1
  83. package/dist/src/browser/web-ai/gemini-model.js +41 -0
  84. package/dist/src/browser/web-ai/gemini-model.js.map +1 -1
  85. package/dist/src/browser/web-ai/grok-capabilities.js +41 -0
  86. package/dist/src/browser/web-ai/grok-capabilities.js.map +1 -0
  87. package/dist/src/browser/web-ai/grok-live.js +5 -0
  88. package/dist/src/browser/web-ai/grok-live.js.map +1 -1
  89. package/dist/src/browser/web-ai/grok-model.js +38 -0
  90. package/dist/src/browser/web-ai/grok-model.js.map +1 -1
  91. package/dist/src/browser/web-ai/index.js +10 -0
  92. package/dist/src/browser/web-ai/index.js.map +1 -1
  93. package/dist/src/browser/web-ai/navigation-ready.js +123 -0
  94. package/dist/src/browser/web-ai/navigation-ready.js.map +1 -0
  95. package/dist/src/browser/web-ai/observation-bundle.js +26 -1
  96. package/dist/src/browser/web-ai/observation-bundle.js.map +1 -1
  97. package/dist/src/browser/web-ai/provider-adapter.js.map +1 -1
  98. package/dist/src/browser/web-ai/session-artifacts.js +156 -0
  99. package/dist/src/browser/web-ai/session-artifacts.js.map +1 -0
  100. package/dist/src/browser/web-ai/session-doctor.js +101 -0
  101. package/dist/src/browser/web-ai/session-doctor.js.map +1 -0
  102. package/dist/src/browser/web-ai/session-store.js +94 -17
  103. package/dist/src/browser/web-ai/session-store.js.map +1 -1
  104. package/dist/src/browser/web-ai/session.js +73 -0
  105. package/dist/src/browser/web-ai/session.js.map +1 -1
  106. package/dist/src/browser/web-ai/tab-inspect.js +143 -0
  107. package/dist/src/browser/web-ai/tab-inspect.js.map +1 -0
  108. package/dist/src/browser/web-ai/tab-lease-store.js +114 -4
  109. package/dist/src/browser/web-ai/tab-lease-store.js.map +1 -1
  110. package/dist/src/browser/web-ai/tier-timeout.js +58 -0
  111. package/dist/src/browser/web-ai/tier-timeout.js.map +1 -0
  112. package/dist/src/browser/web-ai/vendor-editor-contract.js +6 -3
  113. package/dist/src/browser/web-ai/vendor-editor-contract.js.map +1 -1
  114. package/dist/src/browser/web-ai/watcher-lock.js +125 -0
  115. package/dist/src/browser/web-ai/watcher-lock.js.map +1 -0
  116. package/dist/src/browser/web-ai/watcher.js +23 -4
  117. package/dist/src/browser/web-ai/watcher.js.map +1 -1
  118. package/dist/src/cli/handlers-workflows.js +14 -3
  119. package/dist/src/cli/handlers-workflows.js.map +1 -1
  120. package/dist/src/core/cli-detection.js +2 -3
  121. package/dist/src/core/cli-detection.js.map +1 -1
  122. package/dist/src/core/settings-merge.js +2 -2
  123. package/dist/src/core/settings-merge.js.map +1 -1
  124. package/dist/src/goal/heartbeat.js +13 -7
  125. package/dist/src/goal/heartbeat.js.map +1 -1
  126. package/dist/src/goal/pause-gate.js +22 -0
  127. package/dist/src/goal/pause-gate.js.map +1 -0
  128. package/dist/src/goal/store.js +5 -0
  129. package/dist/src/goal/store.js.map +1 -1
  130. package/dist/src/manager/lifecycle.js +2 -1
  131. package/dist/src/manager/lifecycle.js.map +1 -1
  132. package/dist/src/manager/preview-origin-proxy.js +36 -6
  133. package/dist/src/manager/preview-origin-proxy.js.map +1 -1
  134. package/dist/src/manager/proxy.js +25 -4
  135. package/dist/src/manager/proxy.js.map +1 -1
  136. package/dist/src/manager/registry.js +36 -3
  137. package/dist/src/manager/registry.js.map +1 -1
  138. package/dist/src/manager/routes/runtime-monitor.js +2 -0
  139. package/dist/src/manager/routes/runtime-monitor.js.map +1 -1
  140. package/dist/src/manager/routes/telegram-hub.js +120 -0
  141. package/dist/src/manager/routes/telegram-hub.js.map +1 -0
  142. package/dist/src/manager/server.js +4 -0
  143. package/dist/src/manager/server.js.map +1 -1
  144. package/dist/src/manager/telegram-hub/hub-bot.js +409 -0
  145. package/dist/src/manager/telegram-hub/hub-bot.js.map +1 -0
  146. package/dist/src/manager/telegram-hub/routing-store.js +24 -0
  147. package/dist/src/manager/telegram-hub/routing-store.js.map +1 -0
  148. package/dist/src/manager/telegram-hub/types.js +5 -0
  149. package/dist/src/manager/telegram-hub/types.js.map +1 -0
  150. package/dist/src/messaging/thread-target.js +21 -0
  151. package/dist/src/messaging/thread-target.js.map +1 -0
  152. package/dist/src/orchestrator/gateway.js +10 -7
  153. package/dist/src/orchestrator/gateway.js.map +1 -1
  154. package/dist/src/orchestrator/pipeline.js +19 -0
  155. package/dist/src/orchestrator/pipeline.js.map +1 -1
  156. package/dist/src/orchestrator/worker-registry.js.map +1 -1
  157. package/dist/src/routes/command.js +58 -2
  158. package/dist/src/routes/command.js.map +1 -1
  159. package/dist/src/routes/goal.js +6 -3
  160. package/dist/src/routes/goal.js.map +1 -1
  161. package/dist/src/routes/messaging.js +7 -2
  162. package/dist/src/routes/messaging.js.map +1 -1
  163. package/dist/src/routes/orchestrate.js +2 -0
  164. package/dist/src/routes/orchestrate.js.map +1 -1
  165. package/dist/src/telegram/bot.js +59 -4
  166. package/dist/src/telegram/bot.js.map +1 -1
  167. package/dist/src/telegram/forwarder.js +4 -1
  168. package/dist/src/telegram/forwarder.js.map +1 -1
  169. package/dist/src/telegram/hub-callback.js +21 -0
  170. package/dist/src/telegram/hub-callback.js.map +1 -0
  171. package/dist/src/telegram/rich-message.js +20 -0
  172. package/dist/src/telegram/rich-message.js.map +1 -0
  173. package/dist/src/telegram/telegram-file.js +4 -3
  174. package/dist/src/telegram/telegram-file.js.map +1 -1
  175. package/dist/src/workflows/status.js +14 -4
  176. package/dist/src/workflows/status.js.map +1 -1
  177. package/package.json +5 -5
  178. package/public/dist/assets/{Agent-wJtedbz4.js → Agent-Ci12HWhE.js} +1 -1
  179. package/public/dist/assets/{Heartbeat-CjgQ-0p8.js → Heartbeat-D-Rfp094.js} +1 -1
  180. package/public/dist/assets/{Memory-6o-wyhAT.js → Memory-VH4ZJCMW.js} +1 -1
  181. package/public/dist/assets/ModelProvider-_tUCghOF.js +1 -0
  182. package/public/dist/assets/TelegramHub-CuJoPPib.js +1 -0
  183. package/public/dist/assets/{agent-meta-g8UDRdWA.js → agent-meta-DqBTGRRQ.js} +1 -1
  184. package/public/dist/assets/{app-CLrfEHAk.js → app-DaORcAyD.js} +4 -4
  185. package/public/dist/assets/bgtask-badge-B3HLOZae.js +1 -0
  186. package/public/dist/assets/{bgtask-badge-xWbw-l-0.js → bgtask-badge-BtUXEe1T.js} +1 -1
  187. package/public/dist/assets/constants-DkJ3E63Y.js +1 -0
  188. package/public/dist/assets/{employees-C5GPj3d3.js → employees-CZSyvJbx.js} +1 -1
  189. package/public/dist/assets/manager-D3waO_XX.css +1 -0
  190. package/public/dist/assets/manager-DB5qTw1A.js +13 -0
  191. package/public/dist/assets/memory-BEruUlfu.js +1 -0
  192. package/public/dist/assets/{memory-CcnjBuo-.js → memory-cWI_Htbn.js} +1 -1
  193. package/public/dist/assets/message-history-DU1V9ZAW.js +142 -0
  194. package/public/dist/assets/message-history-tjkyOp_K.js +1 -0
  195. package/public/dist/assets/{render-C2g_qvCg.js → render-Bp8eyqCf.js} +1 -1
  196. package/public/dist/assets/settings-B-GgyJZI.js +1 -0
  197. package/public/dist/assets/{settings-DxClXVD0.js → settings-DLkP7qRV.js} +1 -1
  198. package/public/dist/assets/{settings-core-CSUV4-QG.js → settings-core-B5XRRNcX.js} +1 -1
  199. package/public/dist/assets/settings-core-Cw1av-Ox.js +1 -0
  200. package/public/dist/assets/{sidebar-CJz_SnMW.js → sidebar-CsogFOse.js} +3 -3
  201. package/public/dist/assets/skills-CLcoop6W.js +1 -0
  202. package/public/dist/assets/{skills-PKg2h1N4.js → skills-Dmf4v9rj.js} +1 -1
  203. package/public/dist/assets/slash-commands-DY6-hzq6.js +1 -0
  204. package/public/dist/assets/{slash-commands-FMOOfedZ.js → slash-commands-vcf7FuPD.js} +1 -1
  205. package/public/dist/assets/{trace-drawer-BoU1ucw7.js → trace-drawer-DuQQ0SNq.js} +1 -1
  206. package/public/dist/assets/{ui-BX-IfLze.js → ui-BKYuBdZE.js} +1 -1
  207. package/public/dist/assets/ui-CqlGwgUo.js +1 -0
  208. package/public/dist/index.html +1 -1
  209. package/public/dist/manager/index.html +2 -2
  210. package/public/js/constants.ts +2 -3
  211. package/public/js/features/process-block.ts +61 -9
  212. package/public/manager/src/code/code-composer.css +1 -0
  213. package/public/manager/src/code/code.css +7 -2
  214. package/public/manager/src/dashboard-settings/DashboardSettingsSidebar.tsx +6 -2
  215. package/public/manager/src/dashboard-settings/DashboardSettingsWorkspace.tsx +91 -2
  216. package/public/manager/src/goal-status/GoalPabcdStatusPanel.tsx +9 -1
  217. package/public/manager/src/goal-status/goal-pabcd-status-client.ts +9 -0
  218. package/public/manager/src/settings/SettingsShell.tsx +1 -0
  219. package/public/manager/src/settings/SettingsSidebar.tsx +1 -0
  220. package/public/manager/src/settings/pages/TelegramHub.tsx +179 -0
  221. package/public/manager/src/settings/pages/components/PerCliRow.tsx +23 -13
  222. package/public/manager/src/settings/pages/components/agent/agent-meta.ts +3 -1
  223. package/public/manager/src/settings/types.ts +1 -0
  224. package/public/manager/src/settings-shell.css +11 -0
  225. package/public/sw.js +1 -1
  226. package/scripts/bundle-sidecar.sh +6 -1
  227. package/public/dist/assets/ModelProvider-CNu6WOjM.js +0 -1
  228. package/public/dist/assets/bgtask-badge-4OjtCvDq.js +0 -1
  229. package/public/dist/assets/constants-CCiCctGV.js +0 -1
  230. package/public/dist/assets/manager-Ceg2x8D0.js +0 -13
  231. package/public/dist/assets/manager-CwAlpgV7.css +0 -1
  232. package/public/dist/assets/memory-B1beDKbo.js +0 -1
  233. package/public/dist/assets/message-history-BSWJwi__.js +0 -142
  234. package/public/dist/assets/message-history-CzaziSe8.js +0 -1
  235. package/public/dist/assets/settings-Dst1mUjn.js +0 -1
  236. package/public/dist/assets/settings-core-BW5mtFPE.js +0 -1
  237. package/public/dist/assets/skills-B2io6S_4.js +0 -1
  238. package/public/dist/assets/slash-commands-D1IS00Eg.js +0 -1
  239. package/public/dist/assets/ui-C-al0etg.js +0 -1
  240. /package/public/dist/assets/{TerminalPanel-B7WRXPsE.js → TerminalPanel-DSCJeGjp.js} +0 -0
@@ -1,15 +1,34 @@
1
1
  import { mkdir, writeFile } from 'node:fs/promises';
2
2
  import { basename, dirname, join } from 'node:path';
3
3
  import { inflateRawSync } from 'node:zlib';
4
+ /**
5
+ * 104.11: iterate conversation messages in chronological order (create_time/update_time, then
6
+ * mapping order) so the resolved zip is deterministic (the most recent one), not whichever the
7
+ * unordered object iteration happened to hit last.
8
+ */
9
+ function orderedConversationMessages(conversation) {
10
+ return Object.values(conversation?.mapping || {})
11
+ .map((node, index) => ({ message: node?.message, index }))
12
+ .filter((item) => Boolean(item.message))
13
+ .sort((a, b) => {
14
+ const at = Number(a.message.create_time ?? a.message.update_time);
15
+ const bt = Number(b.message.create_time ?? b.message.update_time);
16
+ const aHasTime = Number.isFinite(at);
17
+ const bHasTime = Number.isFinite(bt);
18
+ if (aHasTime && bHasTime && at !== bt)
19
+ return at - bt;
20
+ if (aHasTime !== bHasTime)
21
+ return aHasTime ? -1 : 1;
22
+ return a.index - b.index;
23
+ })
24
+ .map((item) => item.message);
25
+ }
4
26
  const ZIP_PATH_RE = /\/mnt\/data\/[A-Za-z0-9_\-./]+\.zip/;
5
27
  const ZIP_PATH_RE_GLOBAL = /\/mnt\/data\/[A-Za-z0-9_\-./]+\.zip/g;
6
28
  export function scanConversationForZip(conversation) {
7
29
  let zipPath = null;
8
30
  const candidateMids = [];
9
- for (const node of Object.values(conversation?.mapping || {})) {
10
- const message = node?.message;
11
- if (!message)
12
- continue;
31
+ for (const message of orderedConversationMessages(conversation)) {
13
32
  const contentType = message.content?.content_type || '';
14
33
  const blob = JSON.stringify(message.content || {});
15
34
  const match = blob.match(ZIP_PATH_RE);
@@ -24,10 +43,7 @@ export function scanConversationForAllZips(conversation) {
24
43
  const zipPaths = [];
25
44
  const seen = new Set();
26
45
  const candidateMids = [];
27
- for (const node of Object.values(conversation?.mapping || {})) {
28
- const message = node?.message;
29
- if (!message)
30
- continue;
46
+ for (const message of orderedConversationMessages(conversation)) {
31
47
  const contentType = message.content?.content_type || '';
32
48
  const blob = JSON.stringify(message.content || {});
33
49
  for (const match of blob.match(ZIP_PATH_RE_GLOBAL) || []) {
@@ -197,8 +213,14 @@ async function downloadAndSaveZip(page, params) {
197
213
  const hasPlan = hasPlanArtifact(verified.files);
198
214
  if (params.requirePlan && !hasPlan)
199
215
  return { ...result, sizeBytes: buffer.length, files: verified.files, hasPlanArtifact: false, reason: 'code-artifact:plan-missing' };
200
- await mkdir(dirname(params.outputPath), { recursive: true });
201
- await writeFile(params.outputPath, buffer);
216
+ // 104.16: a write failure is a graceful result, not an unhandled throw.
217
+ try {
218
+ await mkdir(dirname(params.outputPath), { recursive: true });
219
+ await writeFile(params.outputPath, buffer);
220
+ }
221
+ catch {
222
+ return { ...result, sizeBytes: buffer.length, files: verified.files, hasPlanArtifact: hasPlan, reason: 'code-artifact:write-failed' };
223
+ }
202
224
  return { ok: true, reason: null, zipPath: params.zipPath, savedPath: params.outputPath, sizeBytes: buffer.length, files: verified.files, hasPlanArtifact: hasPlan, mintedMessageId };
203
225
  }
204
226
  //# sourceMappingURL=code-artifact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-artifact.js","sourceRoot":"","sources":["../../../../src/browser/web-ai/code-artifact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-artifact.js","sourceRoot":"","sources":["../../../../src/browser/web-ai/code-artifact.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { getActivePage } from '../connection.js';
2
2
  import { buildCodeModePrompt, checkContractCompliance } from './code-mode-prompt.js';
3
3
  import { ensureCodeDevContextZip } from './code-dev-context.js';
4
4
  import { retrieveAllCodeArtifacts, retrieveCodeArtifact } from './code-artifact.js';
5
+ import { WebAiError } from './errors.js';
5
6
  import { getSession } from './session.js';
6
7
  import { query } from './chatgpt.js';
7
8
  const CONVERSATION_ID_RE = /\/c\/([a-z0-9-]+)/i;
@@ -13,9 +14,32 @@ export function extractConversationId(url) {
13
14
  const value = String(url || '').trim();
14
15
  return BARE_CONVERSATION_ID_RE.test(value) ? value : null;
15
16
  }
17
+ /** 104.10: the canonical conversation URL to extract from (a full chatgpt URL, else built from id). */
18
+ export function resolveConversationUrl(conversationRef, conversationId) {
19
+ const value = String(conversationRef || '').trim();
20
+ if (/^https:\/\/chatgpt\.com\/c\//i.test(value))
21
+ return value;
22
+ return `https://chatgpt.com/c/${conversationId}`;
23
+ }
24
+ /** 104.10: navigate before extraction when the active tab is a different origin or conversation. */
25
+ export function shouldNavigateForExtraction(pageUrl, targetUrl) {
26
+ if (!pageUrl)
27
+ return true;
28
+ try {
29
+ const current = new URL(pageUrl);
30
+ const target = new URL(targetUrl);
31
+ if (current.origin !== target.origin)
32
+ return true;
33
+ return extractConversationId(current.href) !== extractConversationId(target.href);
34
+ }
35
+ catch {
36
+ return true;
37
+ }
38
+ }
16
39
  export async function codeWebAi(port, input = {}) {
17
- if (input.vendor && input.vendor !== 'chatgpt')
18
- throw new Error('web-ai code is ChatGPT-only (container tool contract)');
40
+ if (input.vendor && input.vendor !== 'chatgpt') {
41
+ throw new WebAiError({ errorCode: 'code-mode.vendor-unsupported', stage: 'code-mode', retryHint: 'use-chatgpt', message: 'web-ai code is ChatGPT-only (container tool contract)' });
42
+ }
19
43
  // Continuation turns (existing conversation via url/conversation, or a resumed
20
44
  // recorded session) reuse the same ChatGPT container: the dev-agent context zip
21
45
  // from the first turn is already in /mnt/data and its contract lives in the
@@ -67,8 +91,9 @@ export async function codeWebAi(port, input = {}) {
67
91
  return { ...result, ok: true, artifact, warnings, codeContextZip: contextZip?.path ?? null, codeContextAttached: attachContext };
68
92
  }
69
93
  export async function extractCodeArtifacts(port, input = {}) {
70
- if (input.vendor && input.vendor !== 'chatgpt')
71
- throw new Error('web-ai code-extract is ChatGPT-only (container artifact contract)');
94
+ if (input.vendor && input.vendor !== 'chatgpt') {
95
+ throw new WebAiError({ errorCode: 'code-mode.vendor-unsupported', stage: 'code-extract', retryHint: 'use-chatgpt', message: 'web-ai code-extract is ChatGPT-only (container artifact contract)' });
96
+ }
72
97
  const session = input.session ? getSession(input.session) : null;
73
98
  const page = await getActivePage(port);
74
99
  const pageUrl = typeof page?.url === 'function' ? page.url() : '';
@@ -76,6 +101,17 @@ export async function extractCodeArtifacts(port, input = {}) {
76
101
  const conversationId = extractConversationId(conversationRef);
77
102
  if (!conversationId)
78
103
  return { ok: false, status: 'error', errorCode: 'code-extract.conversation-id-missing', warnings: [] };
104
+ // 104.10: navigate to the target conversation before extracting, so we read the RIGHT
105
+ // conversation (not whatever the active tab currently shows).
106
+ const targetUrl = resolveConversationUrl(conversationRef, conversationId);
107
+ if (page && shouldNavigateForExtraction(pageUrl, targetUrl)) {
108
+ try {
109
+ await page.goto(targetUrl, { waitUntil: 'domcontentloaded', timeout: 30_000 });
110
+ }
111
+ catch (err) {
112
+ return { ok: false, status: 'error', errorCode: 'code-extract.navigation-failed', conversationId, warnings: [err?.message || 'navigation failed'] };
113
+ }
114
+ }
79
115
  if (input.multiZip === true) {
80
116
  const outputDir = input.outputDir || `${process.cwd()}/code-artifacts-${conversationId.slice(0, 8)}`;
81
117
  const multi = await retrieveAllCodeArtifacts(page, { conversationId, outputDir, requirePlan: false });
@@ -1 +1 @@
1
- {"version":3,"file":"code-mode.js","sourceRoot":"","sources":["../../../../src/browser/web-ai/code-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-mode.js","sourceRoot":"","sources":["../../../../src/browser/web-ai/code-mode.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,20 @@
1
1
  import { createHash, randomUUID } from 'node:crypto';
2
2
  import { wrapError } from './errors.js';
3
- const CONTRACTS = {
4
- chatgpt: {
5
- composer: { roles: ['textbox'], names: [/message/i, /prompt/i, /chatgpt/i] },
6
- modelPicker: { roles: ['button', 'combobox'], names: [/model/i, /gpt/i] },
7
- uploadSurface: { roles: ['button'], names: [/attach/i, /upload/i, /file/i, /add/i] },
8
- copyButton: { roles: ['button'], names: [/copy/i] },
9
- },
10
- gemini: {
11
- composer: { roles: ['textbox'], names: [/prompt/i, /message/i, /ask/i] },
12
- modelPicker: { roles: ['button', 'combobox'], names: [/model/i, /mode/i, /picker/i] },
13
- uploadSurface: { roles: ['button'], names: [/upload/i, /file/i, /attach/i] },
14
- copyButton: { roles: ['button'], names: [/copy/i] },
15
- },
16
- grok: {
17
- composer: { roles: ['textbox'], names: [/message/i, /prompt/i, /ask/i, /grok/i] },
18
- modelPicker: { roles: ['button', 'combobox'], names: [/model/i] },
19
- uploadSurface: { roles: ['button'], names: [/upload/i, /attach/i, /file/i] },
20
- copyButton: { roles: ['button'], names: [/copy/i] },
21
- },
22
- };
3
+ import { editorContractForVendor } from './vendor-editor-contract.js';
23
4
  export async function auditContractAgainstSnapshot(page, vendor) {
24
5
  try {
25
- const contract = CONTRACTS[vendor] || CONTRACTS.chatgpt;
6
+ // 104.21: audit against the shared 7-feature editor contract (incl. responseFeed /
7
+ // streamingIndicator + excludeNames) instead of a forked 4-feature copy, so drift on
8
+ // those features is caught and a "search" textbox no longer false-satisfies composer.
9
+ const contract = editorContractForVendor(vendor).semanticTargets;
26
10
  const snapshot = await buildContractSnapshot(page);
27
11
  const drifts = [];
28
12
  for (const [feature, target] of Object.entries(contract)) {
29
13
  const matches = snapshot.refs.filter((ref) => {
30
14
  const roleMatches = !target.roles?.length || target.roles.includes(ref.role);
31
15
  const nameMatches = !target.names?.length || target.names.some((pattern) => pattern.test(ref.name || ''));
32
- return roleMatches && nameMatches;
16
+ const excluded = target.excludeNames?.some((pattern) => pattern.test(ref.name || '')) ?? false;
17
+ return roleMatches && nameMatches && !excluded;
33
18
  });
34
19
  if (matches.length === 0) {
35
20
  drifts.push({ feature, severity: 'error', message: `No elements match contract for ${feature}` });
@@ -1 +1 @@
1
- {"version":3,"file":"contract-audit.js","sourceRoot":"","sources":["../../../../src/browser/web-ai/contract-audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-audit.js","sourceRoot":"","sources":["../../../../src/browser/web-ai/contract-audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ // Parity catalog 102 (control-summary, demoted P3). Strict-TS port of agbrowse
2
+ // web-ai/control-summary.mjs. Emits a one-line browser-control state summary to
3
+ // stderr (cdp / tab / session / chrome) for observability. Never includes prompt
4
+ // text, file contents, or model info. `formatControlSummary` is pure/testable.
5
+ /**
6
+ * Format a browser control state summary for stderr. Never includes prompt text,
7
+ * file contents, or model info.
8
+ */
9
+ export function formatControlSummary(opts = {}) {
10
+ const { cdpPort = 9222, tabSource = 'new', sessionReuse = false, recoveryUrl, chromeVisible = true, remoteChrome = false, } = opts;
11
+ const lines = [];
12
+ const chromeMode = remoteChrome
13
+ ? `remote CDP on port ${cdpPort}`
14
+ : `attached to running Chrome on port ${cdpPort}`;
15
+ lines.push(`[browser] cdp=localhost:${cdpPort} (${chromeMode})`);
16
+ const tabDesc = tabSource === 'pooled'
17
+ ? 'pooled (reusing warm session tab)'
18
+ : tabSource === 'new-tab'
19
+ ? 'new (fresh tab created)'
20
+ : 'active (existing active tab)';
21
+ lines.push(`[browser] tab=${tabDesc}`);
22
+ if (sessionReuse && recoveryUrl) {
23
+ lines.push(`[browser] session=recovered from ${recoveryUrl}`);
24
+ }
25
+ else {
26
+ lines.push('[browser] session=new');
27
+ }
28
+ if (chromeVisible) {
29
+ lines.push('[browser] chrome=visible (may focus window)');
30
+ }
31
+ else {
32
+ lines.push('[browser] chrome=headless');
33
+ }
34
+ return lines.join('\n');
35
+ }
36
+ /** Print the control summary to stderr if conditions are met (not in --json mode). */
37
+ export function emitControlSummary(opts, flags = {}) {
38
+ const { controlSummary = false, json = false } = flags;
39
+ if (!controlSummary || json)
40
+ return;
41
+ process.stderr.write(formatControlSummary(opts) + '\n');
42
+ }
43
+ //# sourceMappingURL=control-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-summary.js","sourceRoot":"","sources":["../../../../src/browser/web-ai/control-summary.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gFAAgF;AAChF,iFAAiF;AACjF,+EAA+E;AAgB/E;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA4B,EAAE;IAC/D,MAAM,EACF,OAAO,GAAG,IAAI,EACd,SAAS,GAAG,KAAK,EACjB,YAAY,GAAG,KAAK,EACpB,WAAW,EACX,aAAa,GAAG,IAAI,EACpB,YAAY,GAAG,KAAK,GACvB,GAAG,IAAI,CAAC;IACT,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,UAAU,GAAG,YAAY;QAC3B,CAAC,CAAC,sBAAsB,OAAO,EAAE;QACjC,CAAC,CAAC,sCAAsC,OAAO,EAAE,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,2BAA2B,OAAO,KAAK,UAAU,GAAG,CAAC,CAAC;IAEjE,MAAM,OAAO,GAAG,SAAS,KAAK,QAAQ;QAClC,CAAC,CAAC,mCAAmC;QACrC,CAAC,CAAC,SAAS,KAAK,SAAS;YACrB,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,8BAA8B,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;IAEvC,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,oCAAoC,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,kBAAkB,CAAC,IAAyB,EAAE,QAA6B,EAAE;IACzF,MAAM,EAAE,cAAc,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IACvD,IAAI,CAAC,cAAc,IAAI,IAAI;QAAE,OAAO;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAC5D,CAAC"}
@@ -49,6 +49,10 @@ export async function captureCopiedResponseText(page, selectors, options = {}) {
49
49
  return { ok: false, status: 'missing-clipboard' };
50
50
  const originalWriteText = clipboard.writeText?.bind(clipboard);
51
51
  const originalWrite = clipboard.write?.bind(clipboard);
52
+ // 104.17: suppress copy-induced scroll-jump (clicking the copy button can
53
+ // scrollIntoView/focus the turn). Saved here, patched around the copy, restored in finally.
54
+ const origScrollIntoView = Element.prototype.scrollIntoView;
55
+ const origFocus = HTMLElement.prototype.focus;
52
56
  let intercepted = '';
53
57
  let last = '';
54
58
  let ticks = 0;
@@ -82,6 +86,10 @@ export async function captureCopiedResponseText(page, selectors, options = {}) {
82
86
  },
83
87
  });
84
88
  }
89
+ Element.prototype.scrollIntoView = function () { };
90
+ HTMLElement.prototype.focus = function (opts) {
91
+ return origFocus.call(this, Object.assign({}, opts, { preventScroll: true }));
92
+ };
85
93
  const clickInit = { bubbles: true, cancelable: true, view: window };
86
94
  button.dispatchEvent(new PointerEvent('pointerdown', clickInit));
87
95
  button.dispatchEvent(new MouseEvent('mousedown', clickInit));
@@ -108,6 +116,8 @@ export async function captureCopiedResponseText(page, selectors, options = {}) {
108
116
  : { ok: false, status: 'timeout' };
109
117
  }
110
118
  finally {
119
+ Element.prototype.scrollIntoView = origScrollIntoView;
120
+ HTMLElement.prototype.focus = origFocus;
111
121
  if (originalWriteText) {
112
122
  Object.defineProperty(clipboard, 'writeText', { configurable: true, value: originalWriteText });
113
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"copy-markdown.js","sourceRoot":"","sources":["../../../../src/browser/web-ai/copy-markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copy-markdown.js","sourceRoot":"","sources":["../../../../src/browser/web-ai/copy-markdown.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,13 @@ const KNOWN_STAGES = new Set([
23
23
  'provider-select-mode',
24
24
  'provider-interstitial',
25
25
  'session-reattach',
26
+ // 105.7: agbrowse core happy-path stage labels.
27
+ 'connect',
28
+ 'poll',
29
+ 'commit-verify',
30
+ 'composer-prereq',
31
+ 'context-preflight',
32
+ 'attachment-verify',
26
33
  'unknown',
27
34
  ]);
28
35
  export function normalizeFailureStage(stage) {
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../../src/browser/web-ai/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../../src/browser/web-ai/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,23 @@ export class WebAiError extends Error {
28
28
  export function wrapError(err, fallback = {}) {
29
29
  if (err instanceof WebAiError)
30
30
  return err;
31
+ // 104.15: a plain error-like object that already carries a structured errorCode keeps its
32
+ // fields instead of being flattened to internal.unhandled.
33
+ if (err && typeof err === 'object' && typeof err.errorCode === 'string') {
34
+ const e = err;
35
+ return new WebAiError(stripUndefined({
36
+ errorCode: err.errorCode,
37
+ stage: e.stage,
38
+ retryHint: e.retryHint,
39
+ vendor: e.vendor,
40
+ mutationAllowed: e.mutationAllowed,
41
+ selectorsTried: e.selectorsTried,
42
+ evidence: e.evidence,
43
+ message: e.message,
44
+ ...fallback,
45
+ cause: err,
46
+ }));
47
+ }
31
48
  return new WebAiError({
32
49
  errorCode: 'internal.unhandled',
33
50
  stage: 'internal',
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/browser/web-ai/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AA8C/D,MAAM,OAAO,UAAW,SAAQ,KAAK;IACjC,SAAS,CAAS;IAClB,KAAK,CAAS;IACd,SAAS,CAAS;IAClB,MAAM,CAAU;IAChB,eAAe,CAAU;IACzB,cAAc,CAAW;IACzB,QAAQ,CAAU;IAElB,YAAY,OAAuB,EAAE;QACjC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,IAAI,cAAc,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,oBAAoB,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;QACtC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAG,IAA4B,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACnF,CAAC;IAED,MAAM;QACF,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACJ;AAED,MAAM,UAAU,SAAS,CAAC,GAAY,EAAE,WAA2B,EAAE;IACjE,IAAI,GAAG,YAAY,UAAU;QAAE,OAAO,GAAG,CAAC;IAC1C,OAAO,IAAI,UAAU,CAAC;QAClB,SAAS,EAAE,oBAAoB;QAC/B,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAG,GAA4B,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC;QAC9D,GAAG,QAAQ;QACX,KAAK,EAAE,GAAG;KACb,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,OAAuB,EAAE;IACnE,OAAO,IAAI,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAuB,EAAE;IAClD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAwM;IAChO,MAAM,GAAG,GAAmB;QACxB,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,YAAY;QAC/B,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,oBAAoB;QACjD,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,UAAU;QAC/B,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,EAAE;QAC3B,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,QAAQ;QACrC,eAAe,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI;QAC9C,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;QAC5E,QAAQ,EAAE,GAAG,EAAE,QAAQ,IAAI,IAAI;KAClC,CAAC;IACF,IAAI,GAAG,EAAE,MAAM;QAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IACzC,OAAO,GAAG,CAAC;AACf,CAAC;AAED,0EAA0E;AAC1E,oEAAoE;AACpE,mEAAmE;AACnE,MAAM,UAAU,yBAAyB,CAAC,GAAY,EAAE,cAAc,GAAG,UAAU;IAC/E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,IAAI,GAAI,GAAyB,CAAC,IAAI,CAAC;IAC7C,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,GAA+E,CAAC;QAC1F,OAAO,IAAI,UAAU,CAAC;YAClB,SAAS,EAAE,qBAAqB;YAChC,KAAK,EAAE,uBAAuB;YAC9B,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,cAAc;YACpC,QAAQ,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE;YACpF,KAAK,EAAE,GAAG;SACb,CAAC,CAAC;IACP,CAAC;IACD,IAAI,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAgH,CAAC;QAC3H,OAAO,IAAI,UAAU,CAAC;YAClB,SAAS,EAAE,wBAAwB;YACnC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,sBAAsB;YACxC,SAAS,EAAE,kBAAkB;YAC7B,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,wBAAwB;YAC9C,eAAe,EAAE,CAAC,CAAC,eAAe,KAAK,IAAI;YAC3C,QAAQ,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE;YAChE,KAAK,EAAE,GAAG;SACb,CAAC,CAAC;IACP,CAAC;IACD,IAAI,IAAI,KAAK,8BAA8B,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,GAA4D,CAAC;QACvE,OAAO,IAAI,UAAU,CAAC,cAAc,CAAC;YACjC,SAAS,EAAE,2BAA2B;YACtC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,uBAAuB;YACzC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,gBAAgB;YAC3B,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,2BAA2B;YACjD,KAAK,EAAE,GAAG;SACb,CAAC,CAAC,CAAC;IACR,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/browser/web-ai/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * 104.8 — Gemini runtime capability-probe array (port of agbrowse `gemini-live.mjs:geminiCapabilities`).
3
+ *
4
+ * Lives in its own module (not gemini-live.ts) to keep that file under the size limit and to
5
+ * avoid a gemini-live ↔ capabilities import cycle. Probes are READ-ONLY (see capability-probe.ts).
6
+ */
7
+ import { defineCapability, probeFirstVisibleSelector, probeHostMatches, runCapabilities, worstCapabilityState, } from './capability-probe.js';
8
+ import { geminiModelCapabilityProbe } from './gemini-model.js';
9
+ import { GEMINI_COMPOSER_SELECTORS, GEMINI_RESPONSE_SELECTORS, GEMINI_STREAMING_SELECTORS, GEMINI_UPLOAD_SELECTORS } from './vendor-editor-contract.js';
10
+ import { GEMINI_COPY_SELECTORS } from './copy-markdown.js';
11
+ // Kept local (small Set) to avoid importing from gemini-live.ts and creating a cycle.
12
+ const GEMINI_HOSTS = new Set(['gemini.google.com']);
13
+ const GEMINI_RESPONSE_SELECTOR = GEMINI_RESPONSE_SELECTORS[0] ?? 'model-response';
14
+ export const geminiCapabilities = [
15
+ defineCapability('gemini-active-tab-verification', async (deps) => probeHostMatches(await deps.getPage(), GEMINI_HOSTS)),
16
+ defineCapability('gemini-composer-visible', async (deps) => probeFirstVisibleSelector(await deps.getPage(), GEMINI_COMPOSER_SELECTORS)),
17
+ defineCapability('gemini-model-alias-selectable', async (deps, input) => geminiModelCapabilityProbe(await deps.getPage(), typeof input['model'] === 'string' ? input['model'] : undefined)),
18
+ defineCapability('gemini-upload-surface-visible', async (deps, input) => {
19
+ if (!input['filePath'] && input['inlineOnly'] !== false)
20
+ return { state: 'unknown', evidence: { required: false }, next: 'send' };
21
+ return probeFirstVisibleSelector(await deps.getPage(), GEMINI_UPLOAD_SELECTORS, { failNext: 'inline-only' });
22
+ }),
23
+ defineCapability('gemini-copy-button-present', async (deps, input) => {
24
+ if (!input['allowCopyMarkdownFallback'])
25
+ return { state: 'unknown', evidence: { required: false }, next: 'send' };
26
+ return probeFirstVisibleSelector(await deps.getPage(), GEMINI_COPY_SELECTORS.copyButtonSelectors, { timeoutMs: 500, failNext: 'send', failState: 'warn' });
27
+ }),
28
+ defineCapability('gemini-response-streaming', async (deps) => {
29
+ const page = await deps.getPage();
30
+ for (const sel of GEMINI_STREAMING_SELECTORS) {
31
+ // eslint-disable-next-line no-await-in-loop -- first visible completion marker wins.
32
+ if (await page.locator(sel).first().isVisible().catch(() => false)) {
33
+ return { state: 'ok', evidence: { streaming: false, completionSelector: sel }, next: 'send' };
34
+ }
35
+ }
36
+ const hasResponse = await page.locator(GEMINI_RESPONSE_SELECTOR).first().isVisible().catch(() => false);
37
+ if (hasResponse)
38
+ return { state: 'warn', evidence: { streaming: true }, next: 'poll' };
39
+ return { state: 'ok', evidence: { streaming: false }, next: 'send' };
40
+ }),
41
+ ];
42
+ export async function geminiCapabilityStatus(deps, input = {}) {
43
+ const capabilities = await runCapabilities(deps, geminiCapabilities, input);
44
+ return { capabilities, capabilityState: worstCapabilityState(capabilities) };
45
+ }
46
+ //# sourceMappingURL=gemini-capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini-capabilities.js","sourceRoot":"","sources":["../../../../src/browser/web-ai/gemini-capabilities.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { createSession, findSessionByTarget, getBaseline, getSession, saveBaseli
19
19
  import { prepareContextForBrowser, summarizeContextPack } from './context-pack/index.js';
20
20
  import { captureCopiedResponseText, GEMINI_COPY_SELECTORS, preferCopiedText } from './copy-markdown.js';
21
21
  import { selectGeminiModel } from './gemini-model.js';
22
+ import { geminiCapabilityStatus } from './gemini-capabilities.js';
22
23
  import { preflightAttachment } from './chatgpt-attachments.js';
23
24
  const GEMINI_HOSTS = new Set(['gemini.google.com']);
24
25
  const GEMINI_UPLOAD_SELECTORS = [
@@ -146,11 +147,16 @@ export async function geminiStatus(port) {
146
147
  return { ok: false, vendor: 'gemini', status: 'blocked', warnings: [], error: 'no active page' };
147
148
  }
148
149
  const report = await reportGeminiLiveStatus(page);
150
+ // 104.8: attach the runtime capability-probe rows so `status` reports composer/model/upload/
151
+ // copy/streaming readiness, not just the account/plan gate.
152
+ const probe = await geminiCapabilityStatus({ getPage: async () => page }).catch(() => ({ capabilities: [], capabilityState: 'unknown' }));
149
153
  return {
150
154
  ok: report.status === 'ready',
151
155
  vendor: 'gemini',
152
156
  status: report.status === 'ready' ? 'ready' : 'blocked',
153
157
  url: page.url(),
158
+ capabilityProbes: probe.capabilities,
159
+ capabilityState: probe.capabilityState,
154
160
  warnings: report.notes,
155
161
  ...(report.status !== 'ready' ? { error: `gemini status: ${report.status}` } : {}),
156
162
  };