@getstackrun/cli 0.8.3 → 0.9.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.
- package/dist/api.d.ts +1 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js.map +1 -1
- package/dist/auth.d.ts +4 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +115 -38
- package/dist/auth.js.map +1 -1
- package/dist/detectors.d.ts.map +1 -1
- package/dist/detectors.js +84 -55
- package/dist/detectors.js.map +1 -1
- package/dist/dropoffs.d.ts.map +1 -1
- package/dist/dropoffs.js +24 -15
- package/dist/dropoffs.js.map +1 -1
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +12 -17
- package/dist/identity.js.map +1 -1
- package/dist/notifications.d.ts.map +1 -1
- package/dist/notifications.js +89 -34
- package/dist/notifications.js.map +1 -1
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js +13 -6
- package/dist/services.js.map +1 -1
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +95 -39
- package/dist/skills.js.map +1 -1
- package/dist/team.d.ts.map +1 -1
- package/dist/team.js +19 -7
- package/dist/team.js.map +1 -1
- package/package.json +1 -1
package/dist/api.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export declare function requireToken(): Promise<string>;
|
|
|
11
11
|
* Returns parsed JSON on success. On error: prints to stderr (with the
|
|
12
12
|
* actual API reason) and exits 1.
|
|
13
13
|
*/
|
|
14
|
-
export declare function api<T = unknown>(method: 'GET' | 'POST' | 'PATCH' | 'DELETE', path: string, opts?: {
|
|
14
|
+
export declare function api<T = unknown>(method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', path: string, opts?: {
|
|
15
15
|
body?: unknown;
|
|
16
16
|
query?: Record<string, string | number | undefined>;
|
|
17
17
|
expectEmpty?: boolean;
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,OAAO,QAAqD,CAAC;AAE1E;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAOpD;AAED;;;;;GAKG;AACH,wBAAsB,GAAG,CAAC,CAAC,GAAG,OAAO,EACnC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,OAAO,QAAqD,CAAC;AAE1E;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAOpD;AAED;;;;;GAKG;AACH,wBAAsB,GAAG,CAAC,CAAC,GAAG,OAAO,EACnC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,EACnD,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GACpG,OAAO,CAAC,CAAC,CAAC,CAuCZ;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAUnF;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAYtE"}
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,0EAA0E;AAC1E,qEAAqE;AACrE,mBAAmB;AACnB,qEAAqE;AACrE,uEAAuE;AACvE,sBAAsB;AACtB,EAAE;AACF,wEAAwE;AACxE,oEAAoE;AACpE,qDAAqD;AAErD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAE5E,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,0BAA0B,CAAC;AAE1E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;IACrC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,CAAC,KAAK,CACV,gCAAgC,UAAU,CAAC,YAAY,CAAC,mCAAmC,CAC5F,CAAC;IACF,IAAI,CAAC,CAAC,CAAC,CAAC;AACV,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.d.ts
CHANGED
|
@@ -8,6 +8,10 @@ export declare function cmdLogout(): Promise<void>;
|
|
|
8
8
|
* Returns a fresh access token by exchanging the stored refresh token.
|
|
9
9
|
* Falls back to STACK_API_KEY env var for back-compat with existing
|
|
10
10
|
* users who haven't migrated. Returns null when no auth source exists.
|
|
11
|
+
*
|
|
12
|
+
* Refresh rotation is single-flight per machine via a file lock at
|
|
13
|
+
* ~/.stack/credentials.lock. See acquireRefreshLock above for the
|
|
14
|
+
* race this prevents.
|
|
11
15
|
*/
|
|
12
16
|
export declare function getAccessToken(): Promise<string | null>;
|
|
13
17
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAkCA,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGrD;AAMD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAYzD;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAkCA,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGrD;AAMD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAYzD;AA+KD,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CA0E9C;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB/C;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB/C;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyD7D"}
|
package/dist/auth.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
import { stdout, stderr, env, exit, platform, argv } from 'node:process';
|
|
16
16
|
import { homedir } from 'node:os';
|
|
17
17
|
import { join } from 'node:path';
|
|
18
|
-
import { mkdir, writeFile, readFile, chmod, unlink } from 'node:fs/promises';
|
|
18
|
+
import { mkdir, writeFile, readFile, chmod, unlink, stat } from 'node:fs/promises';
|
|
19
19
|
import { spawn } from 'node:child_process';
|
|
20
20
|
import { createHash, randomBytes } from 'node:crypto';
|
|
21
21
|
const API_URL = env['STACK_API_URL'] ?? 'https://api.getstack.run';
|
|
@@ -66,6 +66,64 @@ const C = {
|
|
|
66
66
|
};
|
|
67
67
|
const CREDS_DIR = join(homedir(), '.stack');
|
|
68
68
|
const CREDS_PATH = join(CREDS_DIR, 'credentials.json');
|
|
69
|
+
const LOCK_PATH = join(CREDS_DIR, 'credentials.lock');
|
|
70
|
+
// Single-flight lock around refresh-token rotation. Two concurrent
|
|
71
|
+
// `npx @getstackrun/cli ...` invocations would otherwise both POST the
|
|
72
|
+
// same refresh_token A; the server rotates A→B for the first caller,
|
|
73
|
+
// then sees A again from the second caller, detects family reuse, and
|
|
74
|
+
// revokes the whole family. Founder hit this 2× on 2026-05-11.
|
|
75
|
+
//
|
|
76
|
+
// Mechanism: atomic exclusive-create writeFile(..., flag: 'wx'). Whoever
|
|
77
|
+
// wins the create holds the lock; losers wait + retry. After acquiring
|
|
78
|
+
// the lock the caller MUST re-read creds from disk, because the
|
|
79
|
+
// previous holder may have just rotated A→B (the disk now holds B —
|
|
80
|
+
// posting A would still fire reuse detection on the server). Stale
|
|
81
|
+
// locks (process crashed without releasing) self-clear after 30s by
|
|
82
|
+
// mtime check.
|
|
83
|
+
const LOCK_ACQUIRE_TIMEOUT_MS = 5_000;
|
|
84
|
+
const LOCK_RETRY_INTERVAL_MS = 50;
|
|
85
|
+
const LOCK_STALE_MS = 30_000;
|
|
86
|
+
async function acquireRefreshLock() {
|
|
87
|
+
await mkdir(CREDS_DIR, { recursive: true });
|
|
88
|
+
const deadline = Date.now() + LOCK_ACQUIRE_TIMEOUT_MS;
|
|
89
|
+
while (Date.now() < deadline) {
|
|
90
|
+
try {
|
|
91
|
+
// 'wx' = O_CREAT | O_EXCL — fails with EEXIST if the file exists.
|
|
92
|
+
// Atomic on every platform Node supports. Write our PID so a
|
|
93
|
+
// future cross-process diagnostic can identify the holder.
|
|
94
|
+
await writeFile(LOCK_PATH, String(process.pid), { flag: 'wx' });
|
|
95
|
+
return async () => {
|
|
96
|
+
try {
|
|
97
|
+
await unlink(LOCK_PATH);
|
|
98
|
+
}
|
|
99
|
+
catch { /* already gone */ }
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
if (err.code !== 'EEXIST') {
|
|
104
|
+
// Permission error / disk full / etc. Degrade to lock-free —
|
|
105
|
+
// equivalent to pre-fix behavior, not worse.
|
|
106
|
+
return async () => { };
|
|
107
|
+
}
|
|
108
|
+
// Stale-lock detection: the holder may have crashed without
|
|
109
|
+
// releasing. mtime older than LOCK_STALE_MS → safe to clear.
|
|
110
|
+
try {
|
|
111
|
+
const st = await stat(LOCK_PATH);
|
|
112
|
+
if (Date.now() - st.mtimeMs > LOCK_STALE_MS) {
|
|
113
|
+
try {
|
|
114
|
+
await unlink(LOCK_PATH);
|
|
115
|
+
}
|
|
116
|
+
catch { /* race with another waiter; retry */ }
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch { /* lock vanished between EEXIST and stat — loop and retry create */ }
|
|
121
|
+
await new Promise((r) => setTimeout(r, LOCK_RETRY_INTERVAL_MS));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// Timed out. Proceed lock-free — same race window as today, no worse.
|
|
125
|
+
return async () => { };
|
|
126
|
+
}
|
|
69
127
|
async function readCreds() {
|
|
70
128
|
try {
|
|
71
129
|
const raw = await readFile(CREDS_PATH, 'utf8');
|
|
@@ -281,50 +339,69 @@ export async function cmdLogout() {
|
|
|
281
339
|
* Returns a fresh access token by exchanging the stored refresh token.
|
|
282
340
|
* Falls back to STACK_API_KEY env var for back-compat with existing
|
|
283
341
|
* users who haven't migrated. Returns null when no auth source exists.
|
|
342
|
+
*
|
|
343
|
+
* Refresh rotation is single-flight per machine via a file lock at
|
|
344
|
+
* ~/.stack/credentials.lock. See acquireRefreshLock above for the
|
|
345
|
+
* race this prevents.
|
|
284
346
|
*/
|
|
285
347
|
export async function getAccessToken() {
|
|
286
348
|
const apiKey = env['STACK_API_KEY'];
|
|
287
349
|
if (apiKey)
|
|
288
|
-
return apiKey; // legacy path
|
|
289
|
-
|
|
290
|
-
|
|
350
|
+
return apiKey; // legacy path — no rotation, no lock needed
|
|
351
|
+
// Early-exit when not signed in. Avoids acquiring a lock just to
|
|
352
|
+
// discover there are no creds.
|
|
353
|
+
const probe = await readCreds();
|
|
354
|
+
if (!probe)
|
|
291
355
|
return null;
|
|
292
|
-
const
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
//
|
|
315
|
-
|
|
356
|
+
const releaseLock = await acquireRefreshLock();
|
|
357
|
+
try {
|
|
358
|
+
// CRITICAL: re-read AFTER acquiring the lock. A peer process may
|
|
359
|
+
// have rotated A→B while we waited; the disk now holds B and
|
|
360
|
+
// posting the stale A would fire the server's family-reuse detector
|
|
361
|
+
// and revoke everyone's refresh.
|
|
362
|
+
const creds = await readCreds();
|
|
363
|
+
if (!creds)
|
|
364
|
+
return null;
|
|
365
|
+
const res = await fetch(`${API_URL}/oauth/token`, {
|
|
366
|
+
method: 'POST',
|
|
367
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
368
|
+
body: new URLSearchParams({
|
|
369
|
+
grant_type: 'refresh_token',
|
|
370
|
+
refresh_token: creds.refresh_token,
|
|
371
|
+
client_id: creds.client_id,
|
|
372
|
+
}),
|
|
373
|
+
});
|
|
374
|
+
if (!res.ok) {
|
|
375
|
+
const data = (await res.json().catch(() => ({})));
|
|
376
|
+
// Surface the actual reason on stderr instead of silently returning
|
|
377
|
+
// null. Previously a refresh failure produced just "not signed in"
|
|
378
|
+
// downstream — impossible to diagnose. Now: print the OAuth error
|
|
379
|
+
// code (invalid_grant, expired, reuse_detected, etc.) before falling
|
|
380
|
+
// through. Caller still gets null so existing branches don't change.
|
|
381
|
+
const reason = stringifyOAuthError(data);
|
|
382
|
+
stderr.write(`${C.yellow}stack-cli:${C.reset} refresh failed (${reason}). Re-authenticate with ${C.cyan}${invokeHint('auth login')}${C.reset}.\n`);
|
|
383
|
+
const errorCode = typeof data.error === 'string'
|
|
384
|
+
? data.error
|
|
385
|
+
: (typeof data.error === 'object' && data.error?.code) || '';
|
|
386
|
+
if (errorCode === 'invalid_grant') {
|
|
387
|
+
// Refresh revoked or family broken — wipe and force re-login.
|
|
388
|
+
await deleteCreds();
|
|
389
|
+
}
|
|
390
|
+
return null;
|
|
316
391
|
}
|
|
317
|
-
|
|
392
|
+
const data = (await res.json());
|
|
393
|
+
// Rotate stored refresh.
|
|
394
|
+
await writeCreds({
|
|
395
|
+
...creds,
|
|
396
|
+
refresh_token: data.refresh_token,
|
|
397
|
+
issued_at: Math.floor(Date.now() / 1000),
|
|
398
|
+
refresh_expires_at: Math.floor(Date.now() / 1000) + 30 * 24 * 60 * 60,
|
|
399
|
+
});
|
|
400
|
+
return data.access_token;
|
|
401
|
+
}
|
|
402
|
+
finally {
|
|
403
|
+
await releaseLock();
|
|
318
404
|
}
|
|
319
|
-
const data = (await res.json());
|
|
320
|
-
// Rotate stored refresh.
|
|
321
|
-
await writeCreds({
|
|
322
|
-
...creds,
|
|
323
|
-
refresh_token: data.refresh_token,
|
|
324
|
-
issued_at: Math.floor(Date.now() / 1000),
|
|
325
|
-
refresh_expires_at: Math.floor(Date.now() / 1000) + 30 * 24 * 60 * 60,
|
|
326
|
-
});
|
|
327
|
-
return data.access_token;
|
|
328
405
|
}
|
|
329
406
|
// Suppress unused-import warnings for crypto helpers we may need in
|
|
330
407
|
// future Phase-2 SDK-keypair-style additions; safe no-op today.
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/detectors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detectors.d.ts","sourceRoot":"","sources":["../src/detectors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"detectors.d.ts","sourceRoot":"","sources":["../src/detectors.ts"],"names":[],"mappings":"AAqGA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B/D"}
|
package/dist/detectors.js
CHANGED
|
@@ -1,73 +1,89 @@
|
|
|
1
|
-
// detectors subcommands — per-operator detector
|
|
2
|
-
//
|
|
1
|
+
// detectors subcommands — per-operator detector customization (L7).
|
|
2
|
+
//
|
|
3
|
+
// API shape (apps/api/src/routes/detector-config.ts):
|
|
4
|
+
// GET /v1/detectors/config → { configs: [...] }
|
|
5
|
+
// GET /v1/detectors/:detector_key/config → single row (404 if none)
|
|
6
|
+
// PUT /v1/detectors/:detector_key/config → upsert
|
|
7
|
+
// DELETE /v1/detectors/:detector_key/config → reset to defaults
|
|
8
|
+
//
|
|
9
|
+
// PUT body (UpsertInput, studio+ only):
|
|
10
|
+
// {
|
|
11
|
+
// custom_patterns?: [{id, regex, severity: 'warning'|'critical', description}],
|
|
12
|
+
// whitelist_patterns?: [{id, regex, description}],
|
|
13
|
+
// severity_overrides?: { <pattern_id>: 'warning'|'critical' },
|
|
14
|
+
// enabled?: boolean
|
|
15
|
+
// }
|
|
16
|
+
//
|
|
17
|
+
// The earlier CLI used the wrong URL pattern (`/v1/detectors/configs`
|
|
18
|
+
// plural, with detector_id IN the body), the wrong method (POST instead
|
|
19
|
+
// of PUT), and a fictitious flat body shape (severity / threshold).
|
|
20
|
+
// All four CLI subcommands would have 404'd or 400'd today.
|
|
3
21
|
import { stdout, stderr, exit } from 'node:process';
|
|
4
22
|
import { readFile } from 'node:fs/promises';
|
|
5
23
|
import { api, takeFlag } from './api.js';
|
|
6
24
|
import { invokeHint } from './auth.js';
|
|
7
25
|
import { printJson, printTable, printRecord, fmt } from './format.js';
|
|
8
26
|
async function cmdList(json) {
|
|
9
|
-
const out = await api('GET', '/v1/detectors/
|
|
27
|
+
const out = await api('GET', '/v1/detectors/config');
|
|
28
|
+
const list = Array.isArray(out) ? out : (out?.configs ?? []);
|
|
10
29
|
if (json)
|
|
11
|
-
return printJson(
|
|
12
|
-
if (!Array.isArray(
|
|
13
|
-
stdout.write('(no detector configs —
|
|
30
|
+
return printJson(list);
|
|
31
|
+
if (!Array.isArray(list) || list.length === 0) {
|
|
32
|
+
stdout.write('(no detector configs — every detector running on defaults)\n');
|
|
14
33
|
return;
|
|
15
34
|
}
|
|
16
|
-
const rows =
|
|
17
|
-
d.
|
|
18
|
-
d.
|
|
19
|
-
d.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
35
|
+
const rows = list.map((d) => {
|
|
36
|
+
const customCount = Array.isArray(d.custom_patterns) ? d.custom_patterns.length : 0;
|
|
37
|
+
const whitelistCount = Array.isArray(d.whitelist_patterns) ? d.whitelist_patterns.length : 0;
|
|
38
|
+
const overrideCount = d.severity_overrides ? Object.keys(d.severity_overrides).length : 0;
|
|
39
|
+
return [
|
|
40
|
+
d.detector_key,
|
|
41
|
+
d.enabled === false ? fmt.dim('off') : fmt.ok('on'),
|
|
42
|
+
String(customCount),
|
|
43
|
+
String(whitelistCount),
|
|
44
|
+
String(overrideCount),
|
|
45
|
+
];
|
|
46
|
+
});
|
|
47
|
+
printTable(['DETECTOR', 'STATE', 'CUSTOM', 'WHITELIST', 'OVERRIDES'], rows);
|
|
23
48
|
}
|
|
24
|
-
async function cmdShow(
|
|
25
|
-
const out = await api('GET', `/v1/detectors
|
|
49
|
+
async function cmdShow(detectorKey, json) {
|
|
50
|
+
const out = await api('GET', `/v1/detectors/${encodeURIComponent(detectorKey)}/config`);
|
|
26
51
|
if (json)
|
|
27
52
|
return printJson(out);
|
|
28
53
|
printRecord(out);
|
|
29
54
|
}
|
|
30
|
-
async function
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
55
|
+
async function cmdEnable(detectorKey, enabled, json) {
|
|
56
|
+
const out = await api('PUT', `/v1/detectors/${encodeURIComponent(detectorKey)}/config`, {
|
|
57
|
+
body: { enabled },
|
|
58
|
+
});
|
|
59
|
+
if (json)
|
|
60
|
+
return printJson(out);
|
|
61
|
+
stdout.write(`${detectorKey} → ${enabled ? 'enabled' : 'disabled'}\n`);
|
|
62
|
+
}
|
|
63
|
+
async function cmdConfigure(detectorKey, args, json) {
|
|
64
|
+
// Free-form config edits go through --from-file because the shape
|
|
65
|
+
// (custom_patterns / whitelist_patterns / severity_overrides) is too
|
|
66
|
+
// structured for ergonomic CLI flags.
|
|
34
67
|
const fromFile = takeFlag(args, '--from-file');
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
body.severity = severity;
|
|
42
|
-
if (enabled !== undefined)
|
|
43
|
-
body.enabled = enabled === true || enabled === 'true';
|
|
44
|
-
if (typeof threshold === 'string')
|
|
45
|
-
body.threshold = parseFloat(threshold);
|
|
46
|
-
}
|
|
47
|
-
if (Object.keys(body).length === 1) {
|
|
48
|
-
stderr.write(`usage: ${invokeHint(`detector upsert ${detectorId} [--severity ...] [--enabled true|false] [--threshold N] OR --from-file <config.json>`)}\n`);
|
|
68
|
+
if (typeof fromFile !== 'string') {
|
|
69
|
+
stderr.write(`usage: ${invokeHint(`detector configure ${detectorKey} --from-file <config.json>`)}\n`
|
|
70
|
+
+ `Body shape: { custom_patterns?: [{id, regex, severity, description}],\n`
|
|
71
|
+
+ ` whitelist_patterns?: [{id, regex, description}],\n`
|
|
72
|
+
+ ` severity_overrides?: { <pattern_id>: 'warning'|'critical' },\n`
|
|
73
|
+
+ ` enabled?: boolean }\n`);
|
|
49
74
|
exit(2);
|
|
50
75
|
}
|
|
51
|
-
const
|
|
76
|
+
const body = JSON.parse(await readFile(fromFile, 'utf8'));
|
|
77
|
+
const out = await api('PUT', `/v1/detectors/${encodeURIComponent(detectorKey)}/config`, { body });
|
|
52
78
|
if (json)
|
|
53
79
|
return printJson(out);
|
|
54
80
|
printRecord(out);
|
|
55
81
|
}
|
|
56
|
-
async function cmdReset(
|
|
57
|
-
const out = await api('DELETE', `/v1/detectors
|
|
82
|
+
async function cmdReset(detectorKey, json) {
|
|
83
|
+
const out = await api('DELETE', `/v1/detectors/${encodeURIComponent(detectorKey)}/config`);
|
|
58
84
|
if (json)
|
|
59
85
|
return printJson(out);
|
|
60
|
-
stdout.write(`reset ${
|
|
61
|
-
}
|
|
62
|
-
async function cmdIntents(args, json) {
|
|
63
|
-
const provider = takeFlag(args, '--provider');
|
|
64
|
-
const out = await api('GET', '/v1/intents', {
|
|
65
|
-
query: { provider: typeof provider === 'string' ? provider : undefined },
|
|
66
|
-
});
|
|
67
|
-
const list = Array.isArray(out) ? out : (out?.intents ?? []);
|
|
68
|
-
if (json)
|
|
69
|
-
return printJson(list);
|
|
70
|
-
printJson(list);
|
|
86
|
+
stdout.write(`reset ${detectorKey} to defaults\n`);
|
|
71
87
|
}
|
|
72
88
|
export async function cmdDetector(args) {
|
|
73
89
|
const json = !!takeFlag(args, '--json');
|
|
@@ -77,28 +93,41 @@ export async function cmdDetector(args) {
|
|
|
77
93
|
return cmdList(json);
|
|
78
94
|
if (sub === 'show' || sub === 'get') {
|
|
79
95
|
if (!arg1) {
|
|
80
|
-
stderr.write(`usage: ${invokeHint('detector show <detector-
|
|
96
|
+
stderr.write(`usage: ${invokeHint('detector show <detector-key>')}\n`);
|
|
81
97
|
exit(2);
|
|
82
98
|
}
|
|
83
99
|
return cmdShow(arg1, json);
|
|
84
100
|
}
|
|
85
|
-
if (sub === '
|
|
101
|
+
if (sub === 'enable') {
|
|
102
|
+
if (!arg1) {
|
|
103
|
+
stderr.write(`usage: ${invokeHint('detector enable <detector-key>')}\n`);
|
|
104
|
+
exit(2);
|
|
105
|
+
}
|
|
106
|
+
return cmdEnable(arg1, true, json);
|
|
107
|
+
}
|
|
108
|
+
if (sub === 'disable') {
|
|
109
|
+
if (!arg1) {
|
|
110
|
+
stderr.write(`usage: ${invokeHint('detector disable <detector-key>')}\n`);
|
|
111
|
+
exit(2);
|
|
112
|
+
}
|
|
113
|
+
return cmdEnable(arg1, false, json);
|
|
114
|
+
}
|
|
115
|
+
if (sub === 'configure' || sub === 'upsert' || sub === 'set') {
|
|
86
116
|
if (!arg1) {
|
|
87
|
-
stderr.write(`usage: ${invokeHint('detector
|
|
117
|
+
stderr.write(`usage: ${invokeHint('detector configure <detector-key> --from-file <config.json>')}\n`);
|
|
88
118
|
exit(2);
|
|
89
119
|
}
|
|
90
|
-
return
|
|
120
|
+
return cmdConfigure(arg1, args.slice(2), json);
|
|
91
121
|
}
|
|
92
122
|
if (sub === 'reset') {
|
|
93
123
|
if (!arg1) {
|
|
94
|
-
stderr.write(`usage: ${invokeHint('detector reset <detector-
|
|
124
|
+
stderr.write(`usage: ${invokeHint('detector reset <detector-key>')}\n`);
|
|
95
125
|
exit(2);
|
|
96
126
|
}
|
|
97
127
|
return cmdReset(arg1, json);
|
|
98
128
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
stderr.write(`error: unknown detector subcommand "${sub ?? ''}".\nUse list | show | upsert | reset | intents\n`);
|
|
129
|
+
stderr.write(`error: unknown detector subcommand "${sub ?? ''}".\nUse list | show | enable | disable | configure | reset\n`
|
|
130
|
+
+ `(configure/enable/disable/reset require studio+ tier on the API side)\n`);
|
|
102
131
|
exit(2);
|
|
103
132
|
}
|
|
104
133
|
//# sourceMappingURL=detectors.js.map
|
package/dist/detectors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detectors.js","sourceRoot":"","sources":["../src/detectors.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,
|
|
1
|
+
{"version":3,"file":"detectors.js","sourceRoot":"","sources":["../src/detectors.ts"],"names":[],"mappings":"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"}
|
package/dist/dropoffs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropoffs.d.ts","sourceRoot":"","sources":["../src/dropoffs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dropoffs.d.ts","sourceRoot":"","sources":["../src/dropoffs.ts"],"names":[],"mappings":"AAwHA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwC9D"}
|
package/dist/dropoffs.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// CLI reads + parses it before POSTing.
|
|
6
6
|
import { stdout, stderr, exit } from 'node:process';
|
|
7
7
|
import { readFile } from 'node:fs/promises';
|
|
8
|
-
import { api, takeFlag } from './api.js';
|
|
8
|
+
import { api, takeFlag, resolveAgentId } from './api.js';
|
|
9
9
|
import { invokeHint } from './auth.js';
|
|
10
10
|
import { printJson, printTable, printRecord, fmt, fmtTs } from './format.js';
|
|
11
11
|
async function readJsonFile(path) {
|
|
@@ -30,19 +30,26 @@ async function cmdShow(id, json) {
|
|
|
30
30
|
printRecord(out);
|
|
31
31
|
}
|
|
32
32
|
async function cmdCreate(args, json) {
|
|
33
|
-
const
|
|
34
|
-
const
|
|
33
|
+
const fromArg = takeFlag(args, '--from');
|
|
34
|
+
const toArg = takeFlag(args, '--to');
|
|
35
35
|
const schemaPath = takeFlag(args, '--schema');
|
|
36
36
|
const ttl = takeFlag(args, '--ttl');
|
|
37
37
|
const onExpire = takeFlag(args, '--on-expire');
|
|
38
|
-
if (typeof
|
|
39
|
-
stderr.write(`usage: ${invokeHint('dropoff create --from <
|
|
38
|
+
if (typeof fromArg !== 'string' || typeof toArg !== 'string' || typeof schemaPath !== 'string') {
|
|
39
|
+
stderr.write(`usage: ${invokeHint('dropoff create --from <name-or-id> --to <name-or-id> --schema <file.json> [--ttl <seconds>] [--on-expire notify|retry|fail]')}\n`);
|
|
40
40
|
exit(2);
|
|
41
41
|
}
|
|
42
|
+
// Resolve human names → agt_* ids before posting. Mirrors the pattern
|
|
43
|
+
// every other --agent-style flag in the CLI uses.
|
|
44
|
+
const from = await resolveAgentId(fromArg);
|
|
45
|
+
const to = await resolveAgentId(toArg);
|
|
42
46
|
const schema = await readJsonFile(schemaPath);
|
|
47
|
+
// Field names match CreateDropoffInput in @stack/shared: from_agent /
|
|
48
|
+
// to_agent (NOT from_agent_id / to_agent_id — earlier CLI sent the
|
|
49
|
+
// _id-suffixed names and got a ZodError).
|
|
43
50
|
const body = {
|
|
44
|
-
|
|
45
|
-
|
|
51
|
+
from_agent: from,
|
|
52
|
+
to_agent: to,
|
|
46
53
|
schema,
|
|
47
54
|
};
|
|
48
55
|
if (typeof ttl === 'string')
|
|
@@ -55,12 +62,13 @@ async function cmdCreate(args, json) {
|
|
|
55
62
|
stdout.write(`created ${out.id}\n from ${out.from_agent_id} → ${out.to_agent_id}\n expires ${fmtTs(out.expires_at)}\n`);
|
|
56
63
|
}
|
|
57
64
|
async function cmdDeposit(id, args, json) {
|
|
58
|
-
const
|
|
65
|
+
const agentArg = takeFlag(args, '--agent');
|
|
59
66
|
const payloadPath = takeFlag(args, '--payload');
|
|
60
|
-
if (typeof
|
|
61
|
-
stderr.write(`usage: ${invokeHint('dropoff deposit <id> --agent <
|
|
67
|
+
if (typeof agentArg !== 'string' || typeof payloadPath !== 'string') {
|
|
68
|
+
stderr.write(`usage: ${invokeHint('dropoff deposit <id> --agent <name-or-id> --payload <file.json>')}\n`);
|
|
62
69
|
exit(2);
|
|
63
70
|
}
|
|
71
|
+
const agentId = await resolveAgentId(agentArg);
|
|
64
72
|
const payload = await readJsonFile(payloadPath);
|
|
65
73
|
const out = await api('POST', `/v1/dropoffs/${encodeURIComponent(id)}/deposit`, {
|
|
66
74
|
body: { agent_id: agentId, payload },
|
|
@@ -70,11 +78,12 @@ async function cmdDeposit(id, args, json) {
|
|
|
70
78
|
stdout.write(`deposited to ${id}\n`);
|
|
71
79
|
}
|
|
72
80
|
async function cmdCollect(id, args, json) {
|
|
73
|
-
const
|
|
74
|
-
if (typeof
|
|
75
|
-
stderr.write(`usage: ${invokeHint('dropoff collect <id> --agent <
|
|
81
|
+
const agentArg = takeFlag(args, '--agent');
|
|
82
|
+
if (typeof agentArg !== 'string') {
|
|
83
|
+
stderr.write(`usage: ${invokeHint('dropoff collect <id> --agent <name-or-id>')}\n`);
|
|
76
84
|
exit(2);
|
|
77
85
|
}
|
|
86
|
+
const agentId = await resolveAgentId(agentArg);
|
|
78
87
|
const out = await api('POST', `/v1/dropoffs/${encodeURIComponent(id)}/collect`, {
|
|
79
88
|
body: { agent_id: agentId },
|
|
80
89
|
});
|
|
@@ -114,14 +123,14 @@ export async function cmdDropoff(args) {
|
|
|
114
123
|
return cmdCreate(args.slice(1), json);
|
|
115
124
|
if (sub === 'deposit') {
|
|
116
125
|
if (!arg1) {
|
|
117
|
-
stderr.write(`usage: ${invokeHint('dropoff deposit <id> --agent <
|
|
126
|
+
stderr.write(`usage: ${invokeHint('dropoff deposit <id> --agent <name-or-id> --payload <file.json>')}\n`);
|
|
118
127
|
exit(2);
|
|
119
128
|
}
|
|
120
129
|
return cmdDeposit(arg1, args.slice(2), json);
|
|
121
130
|
}
|
|
122
131
|
if (sub === 'collect') {
|
|
123
132
|
if (!arg1) {
|
|
124
|
-
stderr.write(`usage: ${invokeHint('dropoff collect <id> --agent <
|
|
133
|
+
stderr.write(`usage: ${invokeHint('dropoff collect <id> --agent <name-or-id>')}\n`);
|
|
125
134
|
exit(2);
|
|
126
135
|
}
|
|
127
136
|
return cmdCollect(arg1, args.slice(2), json);
|