diag(observer): Always run 버튼 주변 DOM 구조 원샷 덤프 추가 (v0.5.89)

This commit is contained in:
Variet Worker
2026-04-19 09:19:31 +09:00
parent db805c6fde
commit 02b4b03699
3 changed files with 37 additions and 3 deletions

View File

@@ -1,12 +1,12 @@
{ {
"name": "gravity-bridge", "name": "gravity-bridge",
"version": "0.5.88", "version": "0.5.89",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "gravity-bridge", "name": "gravity-bridge",
"version": "0.5.88", "version": "0.5.89",
"dependencies": { "dependencies": {
"cheerio": "^1.2.0", "cheerio": "^1.2.0",
"ws": "^8.19.0" "ws": "^8.19.0"

View File

@@ -2,7 +2,7 @@
"name": "gravity-bridge", "name": "gravity-bridge",
"displayName": "Gravity Bridge", "displayName": "Gravity Bridge",
"description": "Discord-based unified approval system for Antigravity AI interactions.", "description": "Discord-based unified approval system for Antigravity AI interactions.",
"version": "0.5.88", "version": "0.5.89",
"publisher": "variet", "publisher": "variet",
"engines": { "engines": {
"vscode": "^1.100.0" "vscode": "^1.100.0"

View File

@@ -1077,6 +1077,40 @@ export function generateApprovalObserverScript(_port: number): string {
var desc=extractContext(b); var desc=extractContext(b);
// v28: One-shot DOM structure dump for button context analysis
if (!window._btnDomDumped && txtLow.includes('run')) {
window._btnDomDumped = true;
var dumpLines = [];
var cur = b;
for (var dd = 0; dd < 10 && cur; dd++) {
var childSummary = [];
if (cur.children) {
for (var ci2 = 0; ci2 < Math.min(cur.children.length, 8); ci2++) {
var ch = cur.children[ci2];
var chTag = (ch.tagName || '?').toLowerCase();
var chCls = (typeof ch.className === 'string' ? ch.className : '').substring(0, 40);
var chText = (ch.textContent || '').substring(0, 30).replace(/\\n/g, ' ');
childSummary.push(chTag + '.' + chCls.split(' ')[0] + '=' + chText);
}
}
var sibSummary = [];
if (cur.parentElement) {
for (var si2 = 0; si2 < Math.min(cur.parentElement.children.length, 6); si2++) {
var sib = cur.parentElement.children[si2];
var sibTag = (sib.tagName || '?').toLowerCase();
var sibCls = (typeof sib.className === 'string' ? sib.className : '').substring(0, 30);
sibSummary.push(sibTag + '.' + sibCls.split(' ')[0] + (sib === cur ? '*' : ''));
}
}
dumpLines.push('d' + dd + ':' + (cur.tagName || '?').toLowerCase() + ' cls=' + (typeof cur.className === 'string' ? cur.className : '').substring(0, 50) + ' | children=[' + childSummary.join(', ') + '] | siblings=[' + sibSummary.join(', ') + ']');
cur = cur.parentElement;
}
log('BTN-DOM-DUMP txt=' + txt + ' desc=' + desc.substring(0, 40));
for (var ddi = 0; ddi < dumpLines.length; ddi++) {
log('BTN-DOM-DUMP ' + dumpLines[ddi]);
}
}
var rid=now.toString()+'_'+Math.random().toString(36).substring(2,6); var rid=now.toString()+'_'+Math.random().toString(36).substring(2,6);
_sent[groupKey]={rid:rid,ts:now}; _sent[groupKey]={rid:rid,ts:now};