76 lines
2.8 KiB
JavaScript
76 lines
2.8 KiB
JavaScript
const fs = require('fs');
|
|
const bundlePath = String.raw`C:\Users\Variet-Worker\AppData\Local\Programs\Antigravity\resources\app\out\jetskiAgent\main.js`;
|
|
const content = fs.readFileSync(bundlePath, 'utf-8');
|
|
|
|
// 1. Find how the main conversation content is rendered
|
|
// Look around "ConversationView" component
|
|
console.log('=== ConversationView component ===');
|
|
let idx = content.indexOf('ConversationView');
|
|
if (idx >= 0) {
|
|
console.log(content.substring(Math.max(0, idx - 300), idx + 1500));
|
|
}
|
|
|
|
// 2. Find the PlannerResponse rendering (this is the AI text response)
|
|
console.log('\n\n=== PLANNER_RESPONSE rendering ===');
|
|
idx = content.indexOf('PLANNER_RESPONSE');
|
|
while (idx >= 0 && idx < content.length) {
|
|
const ctx = content.substring(Math.max(0, idx - 200), idx + 500);
|
|
if (ctx.includes('case') || ctx.includes('render') || ctx.includes('className')) {
|
|
console.log(`\n--- @${idx} ---`);
|
|
console.log(ctx.substring(0, 700));
|
|
}
|
|
idx = content.indexOf('PLANNER_RESPONSE', idx + 16);
|
|
}
|
|
|
|
// 3. Find plannerResponse rendering
|
|
console.log('\n\n=== "plannerResponse" patterns ===');
|
|
for (const pat of ['plannerResponse', 'planner_response', 'PlannerResponse']) {
|
|
let pos = 0;
|
|
let c = 0;
|
|
while ((pos = content.indexOf(pat, pos)) >= 0 && c < 3) {
|
|
console.log(`\n--- "${pat}" @${pos} ---`);
|
|
console.log(content.substring(Math.max(0, pos - 200), pos + 400).substring(0, 600));
|
|
pos += pat.length;
|
|
c++;
|
|
}
|
|
}
|
|
|
|
// 4. Find step.case rendering logic (how each step type renders)
|
|
console.log('\n\n=== step.case rendering logic ===');
|
|
idx = content.indexOf('step.case');
|
|
let cnt = 0;
|
|
while (idx >= 0 && cnt < 5) {
|
|
const ctx = content.substring(Math.max(0, idx - 100), idx + 300);
|
|
console.log(`\n--- step.case @${idx} ---`);
|
|
console.log(ctx.substring(0, 400));
|
|
idx = content.indexOf('step.case', idx + 9);
|
|
cnt++;
|
|
}
|
|
|
|
// 5. Find the MarkdownRenderer usage (how AI text gets rendered)
|
|
console.log('\n\n=== MarkdownRenderer usage ===');
|
|
idx = content.indexOf('MarkdownRenderer');
|
|
cnt = 0;
|
|
while (idx >= 0 && cnt < 5) {
|
|
const ctx = content.substring(Math.max(0, idx - 200), idx + 300);
|
|
if (ctx.includes('children') || ctx.includes('content') || ctx.includes('text')) {
|
|
console.log(`\n--- MarkdownRenderer @${idx} ---`);
|
|
console.log(ctx.substring(0, 500));
|
|
}
|
|
idx = content.indexOf('MarkdownRenderer', idx + 16);
|
|
cnt++;
|
|
}
|
|
|
|
// 6. Find what lHr component is (the Allow/Deny dialog)
|
|
console.log('\n\n=== lHr component (Allow/Deny dialog) ===');
|
|
idx = content.indexOf('lHr');
|
|
if (idx >= 0) {
|
|
// Search for its definition
|
|
const defIdx = content.indexOf('function lHr');
|
|
const def2 = content.indexOf('lHr=');
|
|
const targetIdx = defIdx >= 0 ? defIdx : def2;
|
|
if (targetIdx >= 0) {
|
|
console.log(content.substring(targetIdx, targetIdx + 600));
|
|
}
|
|
}
|