@argusaudit/cli 0.1.2 → 0.2.0

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.
@@ -8,6 +8,48 @@ import { refreshTokens, requireAuth } from '../lib/auth.js';
8
8
  import { resolvePostgresImage } from '../lib/registry.js';
9
9
  import { getRefreshToken } from '../lib/keychain.js';
10
10
  import { getEngineBaseUrl, getHubBaseUrl, getWorkerImage } from '../config.js';
11
+ const ANALYSIS_INITIAL_POLL_DELAY_MS = 15_000;
12
+ const ANALYSIS_POLL_INTERVAL_MS = 5_000;
13
+ const ANALYSIS_SPINNER_TEXT_INTERVAL_MS = 7_000;
14
+ const ANALYSIS_TIMEOUT_MS = 10 * 60 * 1_000;
15
+ const ANALYSIS_SPINNER_MESSAGES = [
16
+ 'We are cooking…',
17
+ 'Crunching your query…',
18
+ 'Brewing query variants…',
19
+ 'Consulting the query planner…',
20
+ 'Sharpening the indexes…',
21
+ ];
22
+ const randomAnalysisMessage = () => ANALYSIS_SPINNER_MESSAGES[Math.floor(Math.random() * ANALYSIS_SPINNER_MESSAGES.length)];
23
+ const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
24
+ /**
25
+ * Blocks until the engine has generated the recipe and variants.
26
+ * `POST /audits` returns immediately with status `pending`; the LLM work runs on a worker.
27
+ */
28
+ async function waitForAnalysis(publicId, spinner) {
29
+ const deadline = Date.now() + ANALYSIS_TIMEOUT_MS;
30
+ const spinnerTextTimer = setInterval(() => {
31
+ spinner.text = randomAnalysisMessage();
32
+ }, ANALYSIS_SPINNER_TEXT_INTERVAL_MS);
33
+ try {
34
+ let pollDelay = ANALYSIS_INITIAL_POLL_DELAY_MS;
35
+ for (;;) {
36
+ const audit = await get(`/audits/${publicId}`);
37
+ if (audit.status === 'ready')
38
+ return;
39
+ if (audit.status === 'failed') {
40
+ throw new Error(audit.failure_reason ?? 'Analysis failed');
41
+ }
42
+ if (Date.now() >= deadline) {
43
+ throw new Error('Timed out after 10 minutes waiting for analysis');
44
+ }
45
+ await sleep(pollDelay);
46
+ pollDelay = ANALYSIS_POLL_INTERVAL_MS;
47
+ }
48
+ }
49
+ finally {
50
+ clearInterval(spinnerTextTimer);
51
+ }
52
+ }
11
53
  export async function audit({ ddlPath, queryPath, keepContainers = false, postgresVersion }) {
12
54
  const resolvedDdl = path.resolve(ddlPath);
13
55
  const resolvedQuery = path.resolve(queryPath);
@@ -67,7 +109,17 @@ export async function audit({ ddlPath, queryPath, keepContainers = false, postgr
67
109
  spinner.fail(err.message);
68
110
  throw err;
69
111
  }
70
- // Step 2: get a fresh token to pass to containers
112
+ // Step 2: wait for the engine to analyze the query and generate variants
113
+ spinner = startSpinner('Analyzing query & generating variants…');
114
+ try {
115
+ await waitForAnalysis(result.public_id, spinner);
116
+ spinner.succeed('Analysis complete');
117
+ }
118
+ catch (err) {
119
+ spinner.fail(err.message);
120
+ process.exit(1);
121
+ }
122
+ // Step 3: get a fresh token to pass to containers
71
123
  spinner = startSpinner('Refreshing credentials…');
72
124
  let authToken;
73
125
  try {
@@ -85,7 +137,7 @@ export async function audit({ ddlPath, queryPath, keepContainers = false, postgr
85
137
  spinner.fail(err.message);
86
138
  throw err;
87
139
  }
88
- // Step 3: prepare Docker environment
140
+ // Step 4: prepare Docker environment
89
141
  spinner = startSpinner('Preparing Docker environment…');
90
142
  try {
91
143
  ({ composePath, tmpTokenPath } = generateCompose({
@@ -103,7 +155,7 @@ export async function audit({ ddlPath, queryPath, keepContainers = false, postgr
103
155
  throw err;
104
156
  }
105
157
  try {
106
- // Step 4: run benchmark
158
+ // Step 5: run benchmark
107
159
  spinner = startSpinner('Running benchmark…');
108
160
  try {
109
161
  await runWorker({ composePath });
@@ -128,7 +180,7 @@ export async function audit({ ddlPath, queryPath, keepContainers = false, postgr
128
180
  }
129
181
  throw err;
130
182
  }
131
- // Step 5: fetch results
183
+ // Step 6: fetch results
132
184
  spinner = startSpinner('Fetching results…');
133
185
  let recipe;
134
186
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/commands/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/commands/audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const BUILD_MODE = "local";
2
+ export declare const BUILD_ENV: {
3
+ readonly ARGUS_API_URL: "http://localhost:8000/api/v1";
4
+ readonly ARGUS_HUB_URL: "http://localhost:3000";
5
+ readonly ARGUS_WORKER_IMAGE: "argusaudit/worker:0.1.0";
6
+ };
@@ -0,0 +1,9 @@
1
+ // GENERATED FILE — do not edit.
2
+ // Produced by scripts/gen-env.mjs from .env.local. Run `pnpm gen:env <mode>` to refresh.
3
+ export const BUILD_MODE = "local";
4
+ export const BUILD_ENV = {
5
+ ARGUS_API_URL: "http://localhost:8000/api/v1",
6
+ ARGUS_HUB_URL: "http://localhost:3000",
7
+ ARGUS_WORKER_IMAGE: "argusaudit/worker:0.1.0",
8
+ };
9
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/generated/env.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,yFAAyF;AAEzF,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;AAElC,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,aAAa,EAAE,8BAA8B;IAC7C,aAAa,EAAE,uBAAuB;IACtC,kBAAkB,EAAE,yBAAyB;CACvC,CAAC"}
@@ -6,3 +6,8 @@ export interface AuditCreatedResponse {
6
6
  public_id: string;
7
7
  status: string;
8
8
  }
9
+ export interface AuditStatusResponse {
10
+ public_id: string;
11
+ status: string;
12
+ failure_reason: string | null;
13
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@argusaudit/cli",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "ARGUS — SQL Stress-Test Auditor. Benchmark-as-a-Service CLI tool that proves SQL optimizations with hard numbers.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -18,6 +18,7 @@
18
18
  },
19
19
  "scripts": {
20
20
  "build": "tsc && cp src/lib/worker-compose.yml dist/src/lib/worker-compose.yml",
21
+ "dev": "pnpm run build && node --env-file-if-exists=.env.local dist/bin/argus.js",
21
22
  "prepublishOnly": "pnpm run build",
22
23
  "test": "node --test",
23
24
  "lint": "eslint ."