@vforsh/argus 0.1.22 → 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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/argus.js +847 -247
- package/dist/bin.js +2 -0
- package/dist/bin.js.map +1 -1
- package/dist/cli/register/evalCommands.d.ts.map +1 -1
- package/dist/cli/register/evalCommands.js +1 -0
- package/dist/cli/register/evalCommands.js.map +1 -1
- package/dist/cli/register/logsCommands.d.ts.map +1 -1
- package/dist/cli/register/logsCommands.js +29 -6
- package/dist/cli/register/logsCommands.js.map +1 -1
- package/dist/commands/eval.d.ts.map +1 -1
- package/dist/commands/eval.js +2 -0
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/evalBundle.d.ts +2 -1
- package/dist/commands/evalBundle.d.ts.map +1 -1
- package/dist/commands/evalBundle.js +28 -9
- package/dist/commands/evalBundle.js.map +1 -1
- package/dist/commands/evalPolling.d.ts +1 -0
- package/dist/commands/evalPolling.d.ts.map +1 -1
- package/dist/commands/evalPolling.js +1 -0
- package/dist/commands/evalPolling.js.map +1 -1
- package/dist/commands/evalShared.d.ts +2 -0
- package/dist/commands/evalShared.d.ts.map +1 -1
- package/dist/commands/evalShared.js +14 -5
- package/dist/commands/evalShared.js.map +1 -1
- package/dist/commands/evalUntil.d.ts.map +1 -1
- package/dist/commands/evalUntil.js +1 -0
- package/dist/commands/evalUntil.js.map +1 -1
- package/dist/commands/logs.d.ts +13 -0
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +10 -0
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/tail.d.ts +1 -0
- package/dist/commands/tail.d.ts.map +1 -1
- package/dist/commands/tail.js +25 -18
- package/dist/commands/tail.js.map +1 -1
- package/dist/eval/evalClient.d.ts +1 -0
- package/dist/eval/evalClient.d.ts.map +1 -1
- package/dist/eval/evalClient.js +2 -0
- package/dist/eval/evalClient.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/output/io.d.ts +4 -0
- package/dist/output/io.d.ts.map +1 -1
- package/dist/output/io.js +19 -1
- package/dist/output/io.js.map +1 -1
- package/dist/skill/argus/SKILL.md +16 -0
- package/dist/skill/argus/reference/EVAL.md +35 -2
- package/dist/skill/argus/reference/INSPECT.md +12 -0
- package/dist/skill/argus/reference/PLUGINS.md +16 -2
- package/dist/watchers/queryParams.d.ts +1 -0
- package/dist/watchers/queryParams.d.ts.map +1 -1
- package/dist/watchers/queryParams.js +5 -3
- package/dist/watchers/queryParams.js.map +1 -1
- package/package.json +4 -4
package/dist/commands/logs.js
CHANGED
|
@@ -2,6 +2,16 @@ import { defineWatcherCommand } from '../cli/defineWatcherCommand.js';
|
|
|
2
2
|
import { formatLogEvent } from '../output/format.js';
|
|
3
3
|
import { previewLogEvent } from '../output/preview.js';
|
|
4
4
|
import { appendAfterLimitParams, appendLogFilterParams, appendSinceParam } from '../watchers/queryParams.js';
|
|
5
|
+
/** Return a baseline cursor without downloading buffered logs. */
|
|
6
|
+
export const runLogCursor = defineWatcherCommand({
|
|
7
|
+
build: () => ({ path: '/logs/cursor', timeoutMs: 5_000 }),
|
|
8
|
+
formatHuman: (response, { output }) => output.writeHuman(response.cursor),
|
|
9
|
+
});
|
|
10
|
+
/** Return an opaque log epoch without downloading buffered logs. */
|
|
11
|
+
export const runLogEpoch = defineWatcherCommand({
|
|
12
|
+
build: () => ({ path: '/logs/epoch', timeoutMs: 5_000 }),
|
|
13
|
+
formatHuman: (response, { output }) => output.writeHuman(response.epoch),
|
|
14
|
+
});
|
|
5
15
|
/** Execute the logs command for a watcher id. */
|
|
6
16
|
export const runLogs = defineWatcherCommand({
|
|
7
17
|
isJson: (options) => options.jsonFull === true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAA2B,MAAM,gCAAgC,CAAA;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/tail.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tail.d.ts","sourceRoot":"","sources":["../../src/commands/tail.ts"],"names":[],"mappings":"AASA,oCAAoC;AACpC,MAAM,MAAM,WAAW,GAAG;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,iDAAiD;AACjD,eAAO,MAAM,OAAO,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,WAAW,KAAG,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"tail.d.ts","sourceRoot":"","sources":["../../src/commands/tail.ts"],"names":[],"mappings":"AASA,oCAAoC;AACpC,MAAM,MAAM,WAAW,GAAG;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,iDAAiD;AACjD,eAAO,MAAM,OAAO,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,WAAW,KAAG,OAAO,CAAC,IAAI,CA0DxF,CAAA"}
|
package/dist/commands/tail.js
CHANGED
|
@@ -12,7 +12,14 @@ export const runTail = async (id, options) => {
|
|
|
12
12
|
if (!resolved)
|
|
13
13
|
return;
|
|
14
14
|
const { watcher } = resolved;
|
|
15
|
-
|
|
15
|
+
const afterEpoch = options.after?.trim() || undefined;
|
|
16
|
+
const sinceEpoch = options.sinceEpoch?.trim() || undefined;
|
|
17
|
+
if (afterEpoch && sinceEpoch) {
|
|
18
|
+
output.writeWarn('Use either --after or --since-epoch, not both.');
|
|
19
|
+
process.exitCode = 2;
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
let position = afterEpoch ?? sinceEpoch;
|
|
16
23
|
const timeoutMs = parseNumber(options.timeout) ?? 25_000;
|
|
17
24
|
const limit = parseNumber(options.limit);
|
|
18
25
|
let running = true;
|
|
@@ -23,7 +30,9 @@ export const runTail = async (id, options) => {
|
|
|
23
30
|
process.on('SIGTERM', stop);
|
|
24
31
|
while (running) {
|
|
25
32
|
const params = new URLSearchParams();
|
|
26
|
-
|
|
33
|
+
if (position) {
|
|
34
|
+
params.set(sinceEpoch ? 'sinceEpoch' : 'after', position);
|
|
35
|
+
}
|
|
27
36
|
params.set('timeoutMs', String(timeoutMs));
|
|
28
37
|
if (limit != null) {
|
|
29
38
|
params.set('limit', String(limit));
|
|
@@ -44,23 +53,21 @@ export const runTail = async (id, options) => {
|
|
|
44
53
|
process.exitCode = 1;
|
|
45
54
|
return;
|
|
46
55
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (options.jsonFull) {
|
|
50
|
-
output.writeJsonLine({ watcher: watcher.id, event });
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
if (options.json) {
|
|
54
|
-
const previewEvent = previewLogEvent(event);
|
|
55
|
-
output.writeJsonLine({ watcher: watcher.id, event: previewEvent });
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
output.writeHuman(formatLogEvent(event, {
|
|
59
|
-
includeTimestamps: watcher.includeTimestamps,
|
|
60
|
-
}));
|
|
61
|
-
}
|
|
56
|
+
for (const event of response.events) {
|
|
57
|
+
writeTailEvent(event, watcher, options, output);
|
|
62
58
|
}
|
|
63
|
-
|
|
59
|
+
position = response.nextCursor;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const writeTailEvent = (event, watcher, options, output) => {
|
|
63
|
+
if (options.jsonFull) {
|
|
64
|
+
output.writeJsonLine({ watcher: watcher.id, event });
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (options.json) {
|
|
68
|
+
output.writeJsonLine({ watcher: watcher.id, event: previewLogEvent(event) });
|
|
69
|
+
return;
|
|
64
70
|
}
|
|
71
|
+
output.writeHuman(formatLogEvent(event, { includeTimestamps: watcher.includeTimestamps }));
|
|
65
72
|
};
|
|
66
73
|
//# sourceMappingURL=tail.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tail.js","sourceRoot":"","sources":["../../src/commands/tail.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"tail.js","sourceRoot":"","sources":["../../src/commands/tail.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evalClient.d.ts","sourceRoot":"","sources":["../../src/eval/evalClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAMrE,MAAM,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,CAAA;IACpD,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"evalClient.d.ts","sourceRoot":"","sources":["../../src/eval/evalClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAMrE,MAAM,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,CAAA;IACpD,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IAClD,UAAU,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,WAAW,GACpB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;CAAE,CAAA;AAEzF,MAAM,MAAM,iBAAiB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1G,eAAO,MAAM,QAAQ,GAAU,OAAO,aAAa,KAAG,OAAO,CAAC,WAAW,CAsCxE,CAAA;AAED,gIAAgI;AAChI,eAAO,MAAM,wBAAwB,GAAI,SAAS,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,OAAO,OAAO,EAAE,WAAW,MAAM,GAAG,SAAS,KAAG,MAY5H,CAAA;AAcD,eAAO,MAAM,eAAe,GAAU,OAAO,oBAAoB,KAAG,OAAO,CAAC,iBAAiB,CAgC5F,CAAA"}
|
package/dist/eval/evalClient.js
CHANGED
|
@@ -9,6 +9,7 @@ export const evalOnce = async (input) => {
|
|
|
9
9
|
replMode: input.replMode,
|
|
10
10
|
returnByValue: input.returnByValue,
|
|
11
11
|
timeoutMs: input.timeoutMs,
|
|
12
|
+
scenario: input.scenario,
|
|
12
13
|
};
|
|
13
14
|
const requestTimeoutMs = input.timeoutMs ? input.timeoutMs + 5_000 : DEFAULT_EVAL_REQUEST_TIMEOUT_MS;
|
|
14
15
|
let response;
|
|
@@ -71,6 +72,7 @@ export const evalWithRetries = async (input) => {
|
|
|
71
72
|
returnByValue: input.returnByValue,
|
|
72
73
|
timeoutMs: input.timeoutMs,
|
|
73
74
|
failOnException: input.failOnException,
|
|
75
|
+
scenario: input.scenario,
|
|
74
76
|
});
|
|
75
77
|
if (outcome.ok) {
|
|
76
78
|
return { ...outcome, attempt };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evalClient.js","sourceRoot":"","sources":["../../src/eval/evalClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAE7F,MAAM,+BAA+B,GAAG,MAAM,CAAA;AAC9C,MAAM,wBAAwB,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"evalClient.js","sourceRoot":"","sources":["../../src/eval/evalClient.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export type { ArgusScenarioContext, ArgusScenarioLogOptions, ArgusScenarioLogSession, ArgusScenarioLogs, ArgusScenarioLogsResult, ArgusScenarioScreenshotOptions, } from '@vforsh/argus-core';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EACvB,8BAA8B,GAC9B,MAAM,oBAAoB,CAAA"}
|
package/dist/output/io.d.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
type OutputOptions = {
|
|
2
2
|
json?: boolean;
|
|
3
3
|
};
|
|
4
|
+
/** Route incidental console progress to stderr before JSON-mode plugins are loaded. */
|
|
5
|
+
export declare const configureMachineSafeConsole: (argv: readonly string[]) => void;
|
|
4
6
|
export type Output = {
|
|
5
7
|
json: boolean;
|
|
8
|
+
/** Write the command's single machine-readable JSON document. */
|
|
6
9
|
writeJson: (value: unknown) => void;
|
|
10
|
+
/** Write one NDJSON record for explicitly streaming commands only. */
|
|
7
11
|
writeJsonLine: (value: unknown) => void;
|
|
8
12
|
writeHuman: (text: string) => void;
|
|
9
13
|
writeWarn: (text: string) => void;
|
package/dist/output/io.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../src/output/io.ts"],"names":[],"mappings":"AAAA,KAAK,aAAa,GAAG;IACpB,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAID,MAAM,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACnC,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACvC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC,CAAA;AAED,qEAAqE;AACrE,eAAO,MAAM,YAAY,GAAI,SAAS,aAAa,KAAG,
|
|
1
|
+
{"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../src/output/io.ts"],"names":[],"mappings":"AAAA,KAAK,aAAa,GAAG;IACpB,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAID,uFAAuF;AACvF,eAAO,MAAM,2BAA2B,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,IASrE,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,OAAO,CAAA;IACb,iEAAiE;IACjE,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACnC,sEAAsE;IACtE,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACvC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC,CAAA;AAED,qEAAqE;AACrE,eAAO,MAAM,YAAY,GAAI,SAAS,aAAa,KAAG,MAoCrD,CAAA"}
|
package/dist/output/io.js
CHANGED
|
@@ -1,10 +1,28 @@
|
|
|
1
1
|
const ensureTrailingNewline = (value) => (value.endsWith('\n') ? value : `${value}\n`);
|
|
2
|
+
/** Route incidental console progress to stderr before JSON-mode plugins are loaded. */
|
|
3
|
+
export const configureMachineSafeConsole = (argv) => {
|
|
4
|
+
if (!argv.includes('--json') && !argv.includes('--json-full')) {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
const writeConsoleError = console.error.bind(console);
|
|
8
|
+
console.log = writeConsoleError;
|
|
9
|
+
console.info = writeConsoleError;
|
|
10
|
+
console.debug = writeConsoleError;
|
|
11
|
+
};
|
|
2
12
|
/** Output helpers that enforce JSON/stdout vs human/stderr rules. */
|
|
3
13
|
export const createOutput = (options) => {
|
|
4
14
|
const json = options.json === true;
|
|
15
|
+
let wroteJsonDocument = false;
|
|
5
16
|
const writeJsonLine = (value) => {
|
|
6
17
|
process.stdout.write(JSON.stringify(value) + '\n');
|
|
7
18
|
};
|
|
19
|
+
const writeJson = (value) => {
|
|
20
|
+
if (wroteJsonDocument) {
|
|
21
|
+
throw new Error('Attempted to write more than one JSON document to stdout');
|
|
22
|
+
}
|
|
23
|
+
wroteJsonDocument = true;
|
|
24
|
+
writeJsonLine(value);
|
|
25
|
+
};
|
|
8
26
|
const writeHuman = (text) => {
|
|
9
27
|
const line = ensureTrailingNewline(text);
|
|
10
28
|
if (json) {
|
|
@@ -19,7 +37,7 @@ export const createOutput = (options) => {
|
|
|
19
37
|
};
|
|
20
38
|
return {
|
|
21
39
|
json,
|
|
22
|
-
writeJson
|
|
40
|
+
writeJson,
|
|
23
41
|
writeJsonLine,
|
|
24
42
|
writeHuman,
|
|
25
43
|
writeWarn,
|
package/dist/output/io.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/output/io.ts"],"names":[],"mappings":"AAIA,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/output/io.ts"],"names":[],"mappings":"AAIA,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAA;AAEtG,uFAAuF;AACvF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,IAAuB,EAAQ,EAAE;IAC5E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/D,OAAM;IACP,CAAC;IAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,GAAG,GAAG,iBAAiB,CAAA;IAC/B,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAChC,OAAO,CAAC,KAAK,GAAG,iBAAiB,CAAA;AAClC,CAAC,CAAA;AAYD,qEAAqE;AACrE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAsB,EAAU,EAAE;IAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAA;IAClC,IAAI,iBAAiB,GAAG,KAAK,CAAA;IAE7B,MAAM,aAAa,GAAG,CAAC,KAAc,EAAQ,EAAE;QAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;IACnD,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,KAAc,EAAQ,EAAE;QAC1C,IAAI,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;QAC5E,CAAC;QACD,iBAAiB,GAAG,IAAI,CAAA;QACxB,aAAa,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAQ,EAAE;QACzC,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;IACF,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,IAAY,EAAQ,EAAE;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAA;IAClD,CAAC,CAAA;IAED,OAAO;QACN,IAAI;QACJ,SAAS;QACT,aAAa;QACb,UAAU;QACV,SAAS;KACT,CAAA;AACF,CAAC,CAAA"}
|
|
@@ -127,6 +127,8 @@ argus dom tree app --selector body --depth 2
|
|
|
127
127
|
argus snapshot app --interactive
|
|
128
128
|
```
|
|
129
129
|
|
|
130
|
+
For deterministic multi-step suites, prefer a bundled TypeScript scenario with `export default async function scenario(ctx)`. The context can capture screenshots/checkpoints and open a log session directly; see [EVAL.md](./reference/EVAL.md).
|
|
131
|
+
|
|
130
132
|
For interaction:
|
|
131
133
|
|
|
132
134
|
```bash
|
|
@@ -187,6 +189,20 @@ Keep these commands in the background in agent shells. See [START.md](./referenc
|
|
|
187
189
|
|
|
188
190
|
**Need to keep a page unthrottled** — Use `argus page show <id>` or `argus ext show <id>`. Hide later with `argus page hide <id>`.
|
|
189
191
|
|
|
192
|
+
## Google Sheets Safety Flow
|
|
193
|
+
|
|
194
|
+
With the Google Sheets plugin enabled, prefer targeted, coordinate-safe commands:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
argus sheets resolve extension "Known sheet name" --json
|
|
198
|
+
argus sheets schema extension --sheet "Known sheet name" --header-row 1 --json
|
|
199
|
+
argus sheets query extension --sheet "Known sheet name" --header-row 1 --where 'id in [872,873]' --locate --json
|
|
200
|
+
argus sheets apply extension --file changes.json --dry-run
|
|
201
|
+
argus sheets apply extension --file changes.json --yes --json
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
Never treat whole-export row indexes as physical sheet rows: `exportRow` is only an export coordinate, while physical A1 requires exact locator verification. Prefer `resolve <name>` to `list --with-gid` on large documents. Mutations require page lease ownership, explicit old-value preconditions, mandatory typed readback, and explicit `--yes`; apply is sequential and non-atomic. Read [PLUGINS.md](./reference/PLUGINS.md) for query/diff/manifest details.
|
|
205
|
+
|
|
190
206
|
---
|
|
191
207
|
|
|
192
208
|
## References
|
|
@@ -25,7 +25,39 @@ argus eval app --file ./script.js --bundle
|
|
|
25
25
|
argus eval app --file ./script.js --no-bundle
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
`--file` with leading `import`/`export` auto-enables bundling (one-line stderr note). `--bundle` forces bundling; `--no-bundle` reads the file as-is. Bundling resolves the entry and any import graph esbuild can resolve from the current working directory (including paths outside the entry directory and packages under `node_modules`). Node built-ins (`node:fs`, etc.) are rejected. TypeScript is transpiled without typechecking.
|
|
28
|
+
`--file` with leading `import`/`export` auto-enables bundling (one-line stderr note). `--bundle` forces bundling; `--no-bundle` reads the file as-is. Bundling resolves the entry and any import graph esbuild can resolve from the current working directory (including paths outside the entry directory and packages under `node_modules`). Node built-ins (`node:fs`, etc.) are rejected. TypeScript is transpiled without typechecking.
|
|
29
|
+
|
|
30
|
+
## TypeScript Scenario Entrypoint
|
|
31
|
+
|
|
32
|
+
Bundled files may use a normal default-exported function. Argus invokes it once with a typed page-side context and returns its result:
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
import type { ArgusScenarioContext } from '@vforsh/argus'
|
|
36
|
+
|
|
37
|
+
export default async function scenario(ctx: ArgusScenarioContext) {
|
|
38
|
+
const logs = await ctx.logs.session()
|
|
39
|
+
await openLevel(Number(ctx.args.level))
|
|
40
|
+
const checkpoint = await ctx.checkpoint('level-open', { selector: 'canvas' })
|
|
41
|
+
const errors = await logs.read({ levels: ['error', 'exception'] })
|
|
42
|
+
return { checkpoint, errors: errors.events }
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
argus eval game --file ./scenario.ts --arg level=10 --json
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Context methods:
|
|
51
|
+
|
|
52
|
+
- `ctx.screenshot(options?)`: capture to a watcher-generated unique path under `screenshots/`.
|
|
53
|
+
- `ctx.checkpoint(name, options?)`: capture to `scenarios/checkpoints/<name>.png`; names are path-safe and deterministic.
|
|
54
|
+
- `ctx.logs.cursor()` / `ctx.logs.read(cursor, options?)`: explicit zero-download opaque baselines. The cursor survives page reloads while the watcher stays alive and rejects stale/restarted sessions.
|
|
55
|
+
- `ctx.logs.session()`: capture a baseline and return a stateful reader whose cursor advances after each `read()`.
|
|
56
|
+
- `ctx.args`: frozen string args from `--arg` / `--args`.
|
|
57
|
+
|
|
58
|
+
The watcher installs a nonce-scoped CDP binding only while the eval is active. Scenario actions are validated host-side, and page code cannot choose arbitrary artifact paths.
|
|
59
|
+
|
|
60
|
+
Compatibility: bundled files without a default export keep the previous final-expression result behavior. Named exports are allowed. `--no-bundle` remains raw script mode. For iframe scenarios, select the iframe as the watcher target (`argus ext select ...`) instead of combining a scenario module with the legacy `--iframe` postMessage helper.
|
|
29
61
|
|
|
30
62
|
Poll until condition:
|
|
31
63
|
|
|
@@ -38,7 +70,8 @@ argus eval app "Date.now()" --interval 500 --count 10 --out ./frames.json --rota
|
|
|
38
70
|
## Output
|
|
39
71
|
|
|
40
72
|
- Default: compact preview
|
|
41
|
-
- `--json`: JSON
|
|
73
|
+
- `--json`: exactly one JSON document for one-shot eval; bundle/progress notes go to stderr
|
|
74
|
+
- `--json --interval`: explicit streaming mode and therefore NDJSON, retained for compatibility
|
|
42
75
|
- `--out <path>`: write result to file; single eval overwrites, polling appends NDJSON, `--rotate` writes one numbered file per iteration
|
|
43
76
|
|
|
44
77
|
## Behavior Flags
|
|
@@ -11,10 +11,22 @@ argus logs app --match "Error|Exception" --ignore-case
|
|
|
11
11
|
argus logs app --source console
|
|
12
12
|
argus logs app --json
|
|
13
13
|
argus logs app --json-full
|
|
14
|
+
argus logs cursor app --json
|
|
15
|
+
argus logs epoch app
|
|
14
16
|
argus logs tail app
|
|
15
17
|
argus logs tail app --levels error --json
|
|
16
18
|
```
|
|
17
19
|
|
|
20
|
+
`logs cursor` / `logs epoch` return the current opaque watcher-session cursor without downloading the buffer. Save it before an action, then pass it to `logs --after <cursor>` or `logs --since-epoch <cursor>` to read only newly produced events. Cursors survive page reloads but fail explicitly after watcher restart, foreign-session use, or ring-buffer eviction.
|
|
21
|
+
|
|
22
|
+
Verification runner pattern:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
epoch=$(argus logs cursor app)
|
|
26
|
+
# perform the action
|
|
27
|
+
argus logs app --after "$epoch" --levels error,exception --json
|
|
28
|
+
```
|
|
29
|
+
|
|
18
30
|
## Eval / Wait
|
|
19
31
|
|
|
20
32
|
```bash
|
|
@@ -148,6 +148,7 @@ ctx.program
|
|
|
148
148
|
argus --plugin ./packages/argus-plugin-google-sheets/dist/index.js plugin list
|
|
149
149
|
argus sheets list extension-3
|
|
150
150
|
argus sheets list extension-3 --with-gid
|
|
151
|
+
argus sheets resolve extension-3 "Иконки Август" --json
|
|
151
152
|
argus sheets info extension-3
|
|
152
153
|
argus sheets switch extension-3 "Sheet 2"
|
|
153
154
|
argus sheets open extension-3 2
|
|
@@ -155,17 +156,30 @@ argus sheets add extension-3
|
|
|
155
156
|
argus sheets rename extension-3 "Sheet 2" "Archive"
|
|
156
157
|
argus sheets move extension-3 "Archive" 1
|
|
157
158
|
argus sheets remove extension-3 "Sheet 3" --force
|
|
158
|
-
argus sheets rows add extension-3 5 --count 2 --before
|
|
159
|
+
argus sheets rows add extension-3 5 --count 2 --before --sheet "Sheet 2" --expect-cell 'A5=anchor'
|
|
159
160
|
argus sheets rows remove extension-3 5 --count 2 --force
|
|
160
161
|
argus sheets columns add extension-3 3 --after
|
|
161
162
|
argus sheets columns remove extension-3 3 --force
|
|
162
163
|
argus sheets read extension-3 --range A1:C5
|
|
163
164
|
argus sheets export extension-3 --range A1:C5 --format tsv
|
|
164
165
|
argus sheets find extension-3 "needle" --column ru --ignore-case
|
|
166
|
+
argus sheets schema extension-3 --sheet "Sheet 2" --header-row 1 --json
|
|
167
|
+
argus sheets query extension-3 --sheet "Sheet 2" --header-row 1 --where 'promoId in [872,873]' --select 'promoId,icon' --locate --json
|
|
168
|
+
argus sheets diff extension-3 --sheet "Sheet 2" --against backup.csv --key promoId --columns icon
|
|
169
|
+
argus sheets apply extension-3 --file changes.json --dry-run
|
|
170
|
+
argus sheets apply extension-3 --file changes.json --yes --json
|
|
165
171
|
argus sheets write extension-3 B12 --value "Новое значение"
|
|
166
172
|
```
|
|
167
173
|
|
|
168
|
-
`sheets`/`gs` works against an attached Google Sheets tab. `
|
|
174
|
+
`sheets`/`gs` works against an attached authenticated Google Sheets tab. Prefer `resolve <known-name>` over `list --with-gid` for huge documents; full traversal is guarded, internally deadline-bounded, reports progress on stderr, and restores the original tab. Multi-call UI operations hold a page-scoped lease so separate CLI processes cannot switch/select over each other.
|
|
175
|
+
|
|
176
|
+
Whole-sheet GViz/CSV can collapse blank physical rows. `find` therefore returns only exact physical coordinates verified by bounded single-row reads. Query candidates always expose `exportRow`; `sheetRow`/A1 exist only after `--locate`. Read JSON keeps target sheet/gid/URL separate from browser current/restored URL.
|
|
177
|
+
|
|
178
|
+
`schema` models a physical header row with normalized/duplicate/empty metadata. `query` supports equality, `in`, substring, regex, select/limit, exact-count/unique assertions, and optional exact location. `diff` validates unique keys in sheet/local CSV/TSV and reports additions/removals/changes; `--emit-plan` refuses unsafe partial plans.
|
|
179
|
+
|
|
180
|
+
`apply` accepts a version-1 semantic manifest with `insertRowsAfter`, `updateByKey`, typed `setRange`, sparse `setCells`, and native `clear`. Require exactly one of `--dry-run` or `--yes`; there is no `--force` bypass. It preflights every operation before mutation, rechecks each old value, executes sequentially (never transactionally), performs mandatory typed/formula readback, and emits a journal plus rollback manifest. See the package README for the manifest schema and migration notes.
|
|
181
|
+
|
|
182
|
+
Legacy `write`/`batch` remain deprecated compatibility paths. Empty writes and disabled verification are rejected; mismatches exit 1 even without `--strict`.
|
|
169
183
|
|
|
170
184
|
## No Unload
|
|
171
185
|
|
|
@@ -5,6 +5,7 @@ type MatchCaseOptions = {
|
|
|
5
5
|
export declare const appendAfterLimitParams: (params: URLSearchParams, options: {
|
|
6
6
|
after?: string;
|
|
7
7
|
limit?: string;
|
|
8
|
+
sinceEpoch?: string;
|
|
8
9
|
}) => void;
|
|
9
10
|
export declare const appendSinceParam: (params: URLSearchParams, since?: string) => {
|
|
10
11
|
error?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryParams.d.ts","sourceRoot":"","sources":["../../src/watchers/queryParams.ts"],"names":[],"mappings":"AAGA,KAAK,gBAAgB,GAAG;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,QAAQ,eAAe,EAAE,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,
|
|
1
|
+
{"version":3,"file":"queryParams.d.ts","sourceRoot":"","sources":["../../src/watchers/queryParams.ts"],"names":[],"mappings":"AAGA,KAAK,gBAAgB,GAAG;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,QAAQ,eAAe,EAAE,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,IAalI,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,QAAQ,eAAe,EAAE,QAAQ,MAAM,KAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAW1F,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,KAAG;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAW9F,CAAA;AAED,eAAO,MAAM,qBAAqB,GACjC,QAAQ,eAAe,EACvB,SAAS;IACR,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,CAAA;CACvB,KACC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAwBlB,CAAA;AAED,eAAO,MAAM,qBAAqB,GACjC,QAAQ,eAAe,EACvB,SAAS;IACR,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACzB,KACC,IAqCF,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,QAAQ,eAAe,EAAE,SAAS;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,KAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAkB7I,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,EAAE,KAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAW7F,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,gBAAgB,KAAG,WAAW,GAAG,aAAa,GAAG,SAQ1F,CAAA"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { normalizeQueryValue, parseNumber } from '../cli/parse.js';
|
|
2
2
|
import { parseDurationMs } from '../time.js';
|
|
3
3
|
export const appendAfterLimitParams = (params, options) => {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
if (options.after?.trim()) {
|
|
5
|
+
params.set('after', options.after.trim());
|
|
6
|
+
}
|
|
7
|
+
if (options.sinceEpoch?.trim()) {
|
|
8
|
+
params.set('sinceEpoch', options.sinceEpoch.trim());
|
|
7
9
|
}
|
|
8
10
|
const limit = parseNumber(options.limit);
|
|
9
11
|
if (limit != null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryParams.js","sourceRoot":"","sources":["../../src/watchers/queryParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAO5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"queryParams.js","sourceRoot":"","sources":["../../src/watchers/queryParams.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vforsh/argus",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/vforsh/argus.git",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"access": "public"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@vforsh/argus-core": "^0.
|
|
30
|
-
"@vforsh/argus-plugin-api": "^0.
|
|
31
|
-
"@vforsh/argus-watcher": "^0.
|
|
29
|
+
"@vforsh/argus-core": "^0.2.0",
|
|
30
|
+
"@vforsh/argus-plugin-api": "^0.2.0",
|
|
31
|
+
"@vforsh/argus-watcher": "^0.2.0",
|
|
32
32
|
"commander": "14.0.2",
|
|
33
33
|
"esbuild": "0.25.12",
|
|
34
34
|
"prettier": "3.7.4"
|