@somewhere-tech/cli 0.36.0 → 0.36.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@somewhere-tech/cli",
3
- "version": "0.36.0",
3
+ "version": "0.36.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@somewhere-tech/cli",
9
- "version": "0.36.0",
9
+ "version": "0.36.2",
10
10
  "bundleDependencies": [
11
11
  "@modelcontextprotocol/sdk",
12
12
  "chokidar",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@somewhere-tech/cli",
3
- "version": "0.36.0",
3
+ "version": "0.36.2",
4
4
  "description": "CLI for somewhere.tech — auth, projects, deploy, pull, promote, db, logs, env, MCP bridge.",
5
5
  "keywords": [
6
6
  "somewhere",
@@ -1,6 +1,6 @@
1
1
  {
2
- "commit": "28d67b0a",
2
+ "commit": "9238fb4e6b5a0c2ed2c1c3abcb09fc2f3be82453",
3
3
  "files": {
4
- "browser-probes.mjs": "24da8cb5ecdda5bb6d05795fbf6ca876e15b6fc89373922234aeef164e24b387"
4
+ "browser-probes.mjs": "f5cddafd996eb871fe9428f92cef3fc23fd489b302102aa36954d441d12d4e5f"
5
5
  }
6
6
  }
@@ -1,6 +1,3 @@
1
- // VENDORED from worker/src/utils/browser-test.ts (DOM_OUTLINE_SCRIPT) @ 28d67b0a
2
- // — the exact runtime deployed functions run against. Do not edit by hand;
3
- // re-sync with: node scripts/extract-runtime.mjs <monorepo>
1
+ // VENDORED browser probe from worker/src/utils/browser-test.ts @ 9238fb4e6b5a0c2ed2c1c3abcb09fc2f3be82453
4
2
  export const MAX_OUTLINE_NODES = 200;
5
-
6
- export const DOM_OUTLINE_SCRIPT = "(() => {\n const computeOutlineVisibility = function computeOutlineVisibility(\n info,\n) {\n const visible =\n !info.hiddenAncestor &&\n !info.ariaHiddenAncestor &&\n info.display !== 'none' &&\n info.visibility !== 'hidden' &&\n !(info.width === 0 && info.height === 0);\n const disabled = info.disabled || info.ariaDisabled === 'true';\n return { visible, disabled };\n};\n const cssPath = (el) => {\n const parts = [];\n let node = el;\n let depth = 0;\n while (node && node.nodeType === 1 && depth < 4 && node.tagName.toLowerCase() !== 'body') {\n let sel = node.tagName.toLowerCase();\n if (node.id) { parts.unshift(sel + '#' + CSS.escape(node.id)); break; }\n const parent = node.parentNode;\n if (parent) {\n const sameTag = Array.from(parent.children).filter((c) => c.tagName === node.tagName);\n if (sameTag.length > 1) sel += ':nth-of-type(' + (sameTag.indexOf(node) + 1) + ')';\n }\n parts.unshift(sel);\n node = node.parentNode;\n depth++;\n }\n return parts.join(' > ');\n };\n const interactive = 'a,button,input,select,textarea,[role=button],[role=link],[role=tab],[onclick],[data-testid]';\n const seen = new Set();\n const outline = [];\n for (const el of Array.from(document.querySelectorAll(interactive))) {\n if (outline.length >= 200) break;\n if (seen.has(el)) continue;\n seen.add(el);\n const testid = el.getAttribute('data-testid') || '';\n const id = el.id || '';\n const name = el.getAttribute('name') || '';\n const aria = el.getAttribute('aria-label') || '';\n const text = ((el.innerText || el.value || el.getAttribute('placeholder') || '') + '').trim().slice(0, 80);\n let selector;\n if (testid) selector = '[data-testid=\"' + testid + '\"]';\n else if (id) selector = '#' + CSS.escape(id);\n else if (name) selector = el.tagName.toLowerCase() + '[name=\"' + name + '\"]';\n else selector = cssPath(el);\n const style = getComputedStyle(el);\n const rect = el.getBoundingClientRect();\n const { visible, disabled } = computeOutlineVisibility({\n hiddenAncestor: !!el.closest('[hidden]'),\n ariaHiddenAncestor: !!el.closest('[aria-hidden=\"true\"]'),\n display: style.display,\n visibility: style.visibility,\n width: rect.width,\n height: rect.height,\n disabled: !!el.disabled,\n ariaDisabled: el.getAttribute('aria-disabled'),\n });\n const entry = { tag: el.tagName.toLowerCase(), id, testid, name, aria, text, selector, visible };\n if (disabled) entry.disabled = true;\n outline.push(entry);\n }\n const testid_map = {};\n for (const el of Array.from(document.querySelectorAll('[data-testid]'))) {\n const t = el.getAttribute('data-testid');\n if (t && !(t in testid_map)) testid_map[t] = '[data-testid=\"' + t + '\"]';\n }\n return { outline, testid_map };\n})()";
3
+ export const DOM_OUTLINE_SCRIPT = "(() => {\n const computeOutlineVisibility = function computeOutlineVisibility(\n info,\n) {\n const visible =\n !info.hiddenAncestor &&\n !info.ariaHiddenAncestor &&\n info.display !== 'none' &&\n info.visibility !== 'hidden' &&\n !(info.width === 0 && info.height === 0);\n const disabled = info.disabled || info.ariaDisabled === 'true';\n return { visible, disabled };\n};\n const cssPath = (el) => {\n const parts = [];\n let node = el;\n let depth = 0;\n while (node && node.nodeType === 1 && depth < 4 && node.tagName.toLowerCase() !== 'body') {\n let sel = node.tagName.toLowerCase();\n if (node.id) { parts.unshift(sel + '#' + CSS.escape(node.id)); break; }\n const parent = node.parentNode;\n if (parent) {\n const sameTag = Array.from(parent.children).filter((c) => c.tagName === node.tagName);\n if (sameTag.length > 1) sel += ':nth-of-type(' + (sameTag.indexOf(node) + 1) + ')';\n }\n parts.unshift(sel);\n node = node.parentNode;\n depth++;\n }\n return parts.join(' > ');\n };\n const interactive = 'a,button,input,select,textarea,[role=button],[role=link],[role=tab],[onclick],[data-testid]';\n const seen = new Set();\n const outline = [];\n for (const el of Array.from(document.querySelectorAll(interactive))) {\n if (outline.length >= 200) break;\n if (seen.has(el)) continue;\n seen.add(el);\n const testid = el.getAttribute('data-testid') || '';\n const id = el.id || '';\n const name = el.getAttribute('name') || '';\n const aria = el.getAttribute('aria-label') || '';\n const text = ((el.innerText || (el.matches('input[type=submit],input[type=button],input[type=reset]') ? el.value : '') || el.getAttribute('placeholder') || '') + '').trim().slice(0, 80); // never a field's value (pfb_8d3c75d6476e)\n let selector;\n if (testid) selector = '[data-testid=\"' + testid + '\"]';\n else if (id) selector = '#' + CSS.escape(id);\n else if (name) selector = el.tagName.toLowerCase() + '[name=\"' + name + '\"]';\n else selector = cssPath(el);\n const style = getComputedStyle(el);\n const rect = el.getBoundingClientRect();\n const { visible, disabled } = computeOutlineVisibility({\n hiddenAncestor: !!el.closest('[hidden]'),\n ariaHiddenAncestor: !!el.closest('[aria-hidden=\"true\"]'),\n display: style.display,\n visibility: style.visibility,\n width: rect.width,\n height: rect.height,\n disabled: !!el.disabled,\n ariaDisabled: el.getAttribute('aria-disabled'),\n });\n const entry = { tag: el.tagName.toLowerCase(), id, testid, name, aria, text, selector, visible };\n if (disabled) entry.disabled = true;\n outline.push(entry);\n }\n const testid_map = {};\n for (const el of Array.from(document.querySelectorAll('[data-testid]'))) {\n const t = el.getAttribute('data-testid');\n if (t && !(t in testid_map)) testid_map[t] = '[data-testid=\"' + t + '\"]';\n }\n return { outline, testid_map };\n})()";