- IDLE→stall detection: RUNNING+delta=0 for 6 polls (30s) - lastModifiedTime-based thinking filter (partial) - ResolveOutstandingSteps confirmed CANCELS steps (removed) - HandleCascadeUserInteraction always socket hang up (removed) - VS Code accept commands: silent success, no effect - Hybrid approval: focus+all commands sequential, no break - logToFile: console.log backup added - Known issues: 4 critical findings documented - better-antigravity reference added for future research
58 lines
1.6 KiB
JavaScript
58 lines
1.6 KiB
JavaScript
import * as esbuild from 'esbuild';
|
|
import * as fs from 'fs';
|
|
import * as path from 'path';
|
|
|
|
const isWatch = process.argv.includes('--watch');
|
|
|
|
/** @type {esbuild.BuildOptions} */
|
|
const config = {
|
|
entryPoints: ['src/extension.ts'],
|
|
bundle: true,
|
|
outfile: 'dist/extension.js',
|
|
external: ['vscode'],
|
|
format: 'cjs',
|
|
platform: 'node',
|
|
target: 'es2020',
|
|
sourcemap: true,
|
|
minify: false,
|
|
// Resolve antigravity-sdk from monorepo sibling
|
|
alias: {
|
|
'antigravity-sdk': path.resolve('..', 'antigravity-sdk', 'dist', 'index.js'),
|
|
},
|
|
};
|
|
|
|
// Ensure dist/ exists
|
|
if (!fs.existsSync('dist')) fs.mkdirSync('dist');
|
|
|
|
// Copy sql-wasm.wasm AND sql-wasm.js to dist/ (required by antigravity-sdk's StateBridge)
|
|
const sqlFiles = ['sql-wasm.wasm', 'sql-wasm.js'];
|
|
for (const sqlFile of sqlFiles) {
|
|
const searchPaths = [
|
|
path.join('node_modules', 'sql.js', 'dist', sqlFile),
|
|
path.join('..', 'antigravity-sdk', 'node_modules', 'sql.js', 'dist', sqlFile),
|
|
];
|
|
|
|
let copied = false;
|
|
for (const src of searchPaths) {
|
|
if (fs.existsSync(src)) {
|
|
fs.copyFileSync(src, path.join('dist', sqlFile));
|
|
console.log(`Copied ${sqlFile} from ${src}`);
|
|
copied = true;
|
|
break;
|
|
}
|
|
}
|
|
if (!copied) {
|
|
console.error(`ERROR: ${sqlFile} not found. Run "npm install" first.`);
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
if (isWatch) {
|
|
const ctx = await esbuild.context(config);
|
|
await ctx.watch();
|
|
console.log('Watching...');
|
|
} else {
|
|
await esbuild.build(config);
|
|
console.log('Build complete');
|
|
}
|