@aid-framework/cli 0.1.63 → 0.1.64
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/commands/cost.d.ts +1 -1
- package/dist/commands/cost.d.ts.map +1 -1
- package/dist/commands/cost.js +15 -83
- package/dist/commands/cost.js.map +1 -1
- package/dist/commands/trace.d.ts +31 -0
- package/dist/commands/trace.d.ts.map +1 -0
- package/dist/commands/trace.js +240 -0
- package/dist/commands/trace.js.map +1 -0
- package/dist/diagnostics.d.ts +4 -0
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +6 -0
- package/dist/diagnostics.js.map +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +16 -0
- package/dist/main.js.map +1 -1
- package/dist/output.d.ts +12 -0
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +29 -0
- package/dist/output.js.map +1 -1
- package/dist/trace-dir.d.ts +75 -0
- package/dist/trace-dir.d.ts.map +1 -0
- package/dist/trace-dir.js +139 -0
- package/dist/trace-dir.js.map +1 -0
- package/dist/trace.d.ts +71 -0
- package/dist/trace.d.ts.map +1 -1
- package/dist/trace.js +157 -0
- package/dist/trace.js.map +1 -1
- package/package.json +6 -6
package/dist/commands/cost.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `aid cost`
|
|
2
|
+
* `aid cost`  a cost and latency report read from the local trace sink.
|
|
3
3
|
*
|
|
4
4
|
* The numbers already exist. `runtimes/{python,typescript}` write one JSONL span per line
|
|
5
5
|
* whenever `AID_TRACE_DIR` is set, and those spans carry the GenAI token attributes and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/commands/cost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/commands/cost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AA0CD,wBAAgB,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,cAAc,CAuF9E"}
|
package/dist/commands/cost.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `aid cost`
|
|
2
|
+
* `aid cost`  a cost and latency report read from the local trace sink.
|
|
3
3
|
*
|
|
4
4
|
* The numbers already exist. `runtimes/{python,typescript}` write one JSONL span per line
|
|
5
5
|
* whenever `AID_TRACE_DIR` is set, and those spans carry the GenAI token attributes and
|
|
@@ -18,28 +18,11 @@
|
|
|
18
18
|
* - `0` otherwise, including for an empty directory: a report of zero spans is true, and
|
|
19
19
|
* the warning on stderr says why it is zero.
|
|
20
20
|
*/
|
|
21
|
-
import { readdirSync, readFileSync, statSync } from 'node:fs';
|
|
22
|
-
import { isAbsolute, join, relative, resolve, sep } from 'node:path';
|
|
23
21
|
import { CLI_DIAGNOSTIC_CODES, cliError, cliWarning } from '../diagnostics.js';
|
|
24
22
|
import { EXIT_FAILURE, EXIT_OK, EXIT_USAGE } from '../exit.js';
|
|
25
|
-
import { outcome } from '../output.js';
|
|
26
|
-
import { parseSince,
|
|
27
|
-
|
|
28
|
-
const TRACE_DIR_ENV = 'AID_TRACE_DIR';
|
|
29
|
-
function displayPath(cwd, absolute) {
|
|
30
|
-
const path = relative(cwd, absolute);
|
|
31
|
-
if (path === '')
|
|
32
|
-
return '.';
|
|
33
|
-
if (path.startsWith('..') || isAbsolute(path))
|
|
34
|
-
return absolute;
|
|
35
|
-
return path.split(sep).join('/');
|
|
36
|
-
}
|
|
37
|
-
function group(value) {
|
|
38
|
-
return String(Math.trunc(value)).replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
|
39
|
-
}
|
|
40
|
-
function usd(value) {
|
|
41
|
-
return `$${value.toFixed(6)}`;
|
|
42
|
-
}
|
|
23
|
+
import { group, outcome, usd } from '../output.js';
|
|
24
|
+
import { parseSince, summariseSpans } from '../trace.js';
|
|
25
|
+
import { confirmTraceDir, locateTraceDir, readTraceDir, TRACE_DIR_ENV } from '../trace-dir.js';
|
|
43
26
|
function modelLines(models) {
|
|
44
27
|
if (models.length === 0)
|
|
45
28
|
return [];
|
|
@@ -52,7 +35,7 @@ function modelLines(models) {
|
|
|
52
35
|
`${String(model.calls).padStart(4)} calls`,
|
|
53
36
|
`${group(model.inputTokens).padStart(9)} in`,
|
|
54
37
|
`${group(model.outputTokens).padStart(9)} out`,
|
|
55
|
-
usd(model.costUsd).padStart(14),
|
|
38
|
+
usd(model.costUsd, 6).padStart(14),
|
|
56
39
|
unpriced,
|
|
57
40
|
].join(' '));
|
|
58
41
|
}
|
|
@@ -64,8 +47,8 @@ function reportLines(summary, dir, since) {
|
|
|
64
47
|
`dir: ${dir}`,
|
|
65
48
|
`spans: ${group(summary.spans)} in ${group(summary.traces)} trace(s)${scope}`,
|
|
66
49
|
summary.unpricedSpans === 0
|
|
67
|
-
? `cost: ${usd(summary.costUsd)}`
|
|
68
|
-
: `cost: ${usd(summary.costUsd)} (${summary.unpricedSpans} unpriced span(s) not included)`,
|
|
50
|
+
? `cost: ${usd(summary.costUsd, 6)}`
|
|
51
|
+
: `cost: ${usd(summary.costUsd, 6)} (${summary.unpricedSpans} unpriced span(s) not included)`,
|
|
69
52
|
`tokens: ${group(summary.inputTokens)} input, ${group(summary.outputTokens)} output`,
|
|
70
53
|
];
|
|
71
54
|
if (summary.latency !== undefined) {
|
|
@@ -78,21 +61,10 @@ function reportLines(summary, dir, since) {
|
|
|
78
61
|
}
|
|
79
62
|
export function cost(context, options) {
|
|
80
63
|
const command = 'cost';
|
|
81
|
-
const
|
|
82
|
-
if (
|
|
83
|
-
return outcome
|
|
84
|
-
|
|
85
|
-
exitCode: EXIT_USAGE,
|
|
86
|
-
diagnostics: [
|
|
87
|
-
cliError({
|
|
88
|
-
code: CLI_DIAGNOSTIC_CODES.traceDirMissing,
|
|
89
|
-
message: `no trace directory: \`aid cost\` needs one to read.`,
|
|
90
|
-
hint: `Pass it as \`aid ${command} <dir>\`, or set ${TRACE_DIR_ENV} to the directory the runtime writes to.`,
|
|
91
|
-
}),
|
|
92
|
-
],
|
|
93
|
-
text: `aid: no trace directory. Pass one, or set ${TRACE_DIR_ENV}.\n`,
|
|
94
|
-
});
|
|
95
|
-
}
|
|
64
|
+
const located = locateTraceDir(context, options.dir, command);
|
|
65
|
+
if (located.kind === 'refused')
|
|
66
|
+
return located.outcome;
|
|
67
|
+
const shown = located.shown;
|
|
96
68
|
let since;
|
|
97
69
|
if (options.since !== undefined) {
|
|
98
70
|
since = parseSince(options.since);
|
|
@@ -111,51 +83,11 @@ export function cost(context, options) {
|
|
|
111
83
|
});
|
|
112
84
|
}
|
|
113
85
|
}
|
|
114
|
-
const
|
|
115
|
-
|
|
86
|
+
const confirmed = confirmTraceDir(located, command);
|
|
87
|
+
if (confirmed.kind === 'refused')
|
|
88
|
+
return confirmed.outcome;
|
|
116
89
|
const diagnostics = [];
|
|
117
|
-
|
|
118
|
-
try {
|
|
119
|
-
isDirectory = statSync(absolute).isDirectory();
|
|
120
|
-
}
|
|
121
|
-
catch {
|
|
122
|
-
isDirectory = false;
|
|
123
|
-
}
|
|
124
|
-
if (!isDirectory) {
|
|
125
|
-
return outcome({
|
|
126
|
-
command,
|
|
127
|
-
exitCode: EXIT_USAGE,
|
|
128
|
-
diagnostics: [
|
|
129
|
-
cliError({
|
|
130
|
-
code: CLI_DIAGNOSTIC_CODES.traceDirNotFound,
|
|
131
|
-
message: `"${shown}" is not a directory.`,
|
|
132
|
-
hint: `Point \`aid ${command}\` at the directory ${TRACE_DIR_ENV} names, or unset it to be told which is missing.`,
|
|
133
|
-
}),
|
|
134
|
-
],
|
|
135
|
-
text: `aid: "${shown}" is not a directory.\n`,
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
const names = readdirSync(absolute, { withFileTypes: true })
|
|
139
|
-
.filter((entry) => entry.isFile() && entry.name.endsWith('.jsonl'))
|
|
140
|
-
.map((entry) => entry.name)
|
|
141
|
-
.sort();
|
|
142
|
-
let skipped = 0;
|
|
143
|
-
const all = [];
|
|
144
|
-
let unreadable = 0;
|
|
145
|
-
for (const name of names) {
|
|
146
|
-
let text;
|
|
147
|
-
try {
|
|
148
|
-
text = readFileSync(join(absolute, name), 'utf8');
|
|
149
|
-
}
|
|
150
|
-
catch {
|
|
151
|
-
// Counted, not thrown: one unreadable file should not hide the spans in the rest.
|
|
152
|
-
unreadable += 1;
|
|
153
|
-
continue;
|
|
154
|
-
}
|
|
155
|
-
const parsed = parseTraceLines(text);
|
|
156
|
-
all.push(...parsed.spans);
|
|
157
|
-
skipped += parsed.skipped;
|
|
158
|
-
}
|
|
90
|
+
const { files: names, spans: all, skipped, unreadable } = readTraceDir(confirmed.absolute);
|
|
159
91
|
if (unreadable > 0) {
|
|
160
92
|
diagnostics.push(cliError({
|
|
161
93
|
code: CLI_DIAGNOSTIC_CODES.traceUnreadable,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/commands/cost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/commands/cost.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `aid trace` — read a traced run back out of the local trace sink.
|
|
3
|
+
*
|
|
4
|
+
* The sink records *what happened*, not *what was said*: spans carry timing, kind, model,
|
|
5
|
+
* token counts and priced cost, but no prompts and no completions. So this command
|
|
6
|
+
* **inspects** a run; it does not replay one. A replay needs the request payloads, and
|
|
7
|
+
* inventing them -- asking the model again -- would answer a different question than "what
|
|
8
|
+
* happened here", while looking like an answer to it. Replay stays unimplemented until the
|
|
9
|
+
* sink records payloads, and the help text says so rather than letting a reader assume.
|
|
10
|
+
*
|
|
11
|
+
* Exit codes:
|
|
12
|
+
*
|
|
13
|
+
* - `2` when the invocation is wrong: no directory, a selector that matches no run or more
|
|
14
|
+
* than one, or `--run` together with `--all`.
|
|
15
|
+
* - `1` only when a trace file exists and could not be read. The tree still prints: what
|
|
16
|
+
* was readable is worth seeing.
|
|
17
|
+
* - `0` otherwise, including a directory with no runs yet -- "nothing ran" is a true
|
|
18
|
+
* answer, and the warning on stderr says why it is empty.
|
|
19
|
+
*/
|
|
20
|
+
import type { CliContext } from '../context.js';
|
|
21
|
+
import type { CommandOutcome } from '../output.js';
|
|
22
|
+
export interface TraceOptions {
|
|
23
|
+
/** The directory to read; defaults to `$AID_TRACE_DIR`. */
|
|
24
|
+
readonly dir: string | undefined;
|
|
25
|
+
/** A full trace id, or an unambiguous prefix of one. */
|
|
26
|
+
readonly run: string | undefined;
|
|
27
|
+
/** Print every run's tree instead of the run list. */
|
|
28
|
+
readonly all: boolean;
|
|
29
|
+
}
|
|
30
|
+
export declare function trace(context: CliContext, options: TraceOptions): CommandOutcome;
|
|
31
|
+
//# sourceMappingURL=trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/commands/trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,wDAAwD;IACxD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,sDAAsD;IACtD,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB;AAgJD,wBAAgB,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,cAAc,CA6GhF"}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `aid trace` — read a traced run back out of the local trace sink.
|
|
3
|
+
*
|
|
4
|
+
* The sink records *what happened*, not *what was said*: spans carry timing, kind, model,
|
|
5
|
+
* token counts and priced cost, but no prompts and no completions. So this command
|
|
6
|
+
* **inspects** a run; it does not replay one. A replay needs the request payloads, and
|
|
7
|
+
* inventing them -- asking the model again -- would answer a different question than "what
|
|
8
|
+
* happened here", while looking like an answer to it. Replay stays unimplemented until the
|
|
9
|
+
* sink records payloads, and the help text says so rather than letting a reader assume.
|
|
10
|
+
*
|
|
11
|
+
* Exit codes:
|
|
12
|
+
*
|
|
13
|
+
* - `2` when the invocation is wrong: no directory, a selector that matches no run or more
|
|
14
|
+
* than one, or `--run` together with `--all`.
|
|
15
|
+
* - `1` only when a trace file exists and could not be read. The tree still prints: what
|
|
16
|
+
* was readable is worth seeing.
|
|
17
|
+
* - `0` otherwise, including a directory with no runs yet -- "nothing ran" is a true
|
|
18
|
+
* answer, and the warning on stderr says why it is empty.
|
|
19
|
+
*/
|
|
20
|
+
import { CLI_DIAGNOSTIC_CODES, cliError, cliWarning } from '../diagnostics.js';
|
|
21
|
+
import { EXIT_FAILURE, EXIT_OK, EXIT_USAGE } from '../exit.js';
|
|
22
|
+
import { group, outcome, usd } from '../output.js';
|
|
23
|
+
import { runsOf, treeRowsOf } from '../trace.js';
|
|
24
|
+
import { readTraceDir, resolveTraceDir, TRACE_DIR_ENV } from '../trace-dir.js';
|
|
25
|
+
/** What a reader wants to know about a run before opening it. */
|
|
26
|
+
function summaryOf(run) {
|
|
27
|
+
return {
|
|
28
|
+
traceId: run.traceId,
|
|
29
|
+
startedAt: run.startedAt,
|
|
30
|
+
durationMs: run.durationMs,
|
|
31
|
+
spans: run.spans.length,
|
|
32
|
+
errors: run.errors,
|
|
33
|
+
costUsd: run.costUsd,
|
|
34
|
+
unpricedSpans: run.unpricedSpans,
|
|
35
|
+
...(run.root === undefined ? {} : { rootSpanId: run.root.span_id, rootName: run.root.name }),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function rowOf(row) {
|
|
39
|
+
const { facts } = row;
|
|
40
|
+
return {
|
|
41
|
+
spanId: row.span.span_id,
|
|
42
|
+
...(row.span.parent_span_id == null ? {} : { parentSpanId: row.span.parent_span_id }),
|
|
43
|
+
name: row.span.name,
|
|
44
|
+
...(row.span.kind === undefined ? {} : { kind: row.span.kind }),
|
|
45
|
+
depth: row.depth,
|
|
46
|
+
...(row.offsetMs === undefined ? {} : { offsetMs: row.offsetMs }),
|
|
47
|
+
...(row.span.started_at === undefined ? {} : { startedAt: row.span.started_at }),
|
|
48
|
+
...(facts.durationMs === undefined ? {} : { durationMs: facts.durationMs }),
|
|
49
|
+
...(facts.model === undefined ? {} : { model: facts.model }),
|
|
50
|
+
...(facts.inputTokens === undefined ? {} : { inputTokens: facts.inputTokens }),
|
|
51
|
+
...(facts.outputTokens === undefined ? {} : { outputTokens: facts.outputTokens }),
|
|
52
|
+
...(facts.costUsd === undefined ? {} : { costUsd: facts.costUsd }),
|
|
53
|
+
...(row.span.status?.message == null ? {} : { statusMessage: row.span.status.message }),
|
|
54
|
+
error: facts.error,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function maxNameWidth(rows) {
|
|
58
|
+
return Math.max(0, ...rows.map((row) => row.span.name.length));
|
|
59
|
+
}
|
|
60
|
+
function treeLines(rows) {
|
|
61
|
+
const width = maxNameWidth(rows);
|
|
62
|
+
return rows.map((row) => {
|
|
63
|
+
const indent = ' '.repeat(row.depth);
|
|
64
|
+
const offset = row.offsetMs === undefined ? '-' : `+${group(row.offsetMs)}ms`;
|
|
65
|
+
const duration = row.facts.durationMs === undefined ? '-' : `${group(row.facts.durationMs)}ms`;
|
|
66
|
+
const parts = [indent + row.span.name.padEnd(width), row.span.kind ?? '-'];
|
|
67
|
+
if (row.facts.model !== undefined) {
|
|
68
|
+
const tokens = row.facts.inputTokens === undefined && row.facts.outputTokens === undefined
|
|
69
|
+
? ''
|
|
70
|
+
: ` ${group(row.facts.inputTokens ?? 0)}→${group(row.facts.outputTokens ?? 0)}`;
|
|
71
|
+
parts.push(row.facts.model + tokens);
|
|
72
|
+
}
|
|
73
|
+
if (row.facts.costUsd !== undefined)
|
|
74
|
+
parts.push(usd(row.facts.costUsd, 6));
|
|
75
|
+
if (row.facts.error) {
|
|
76
|
+
const message = row.span.status?.message;
|
|
77
|
+
parts.push(message == null || message === '' ? 'ERROR' : `ERROR ${message}`);
|
|
78
|
+
}
|
|
79
|
+
return `${offset.padStart(9)} ${duration.padStart(9)} ${parts.join(' ')}`;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function runHeader(run, spanCount) {
|
|
83
|
+
const label = run.root === undefined ? '(no single root)' : run.root.name;
|
|
84
|
+
const cost = run.unpricedSpans === 0
|
|
85
|
+
? usd(run.costUsd, 6)
|
|
86
|
+
: `${usd(run.costUsd, 6)} + ${group(run.unpricedSpans)} unpriced`;
|
|
87
|
+
return [
|
|
88
|
+
`run: ${run.traceId} ${label}`,
|
|
89
|
+
`started: ${run.startedAt === '' ? '-' : run.startedAt}`,
|
|
90
|
+
`wall: ${group(run.durationMs)}ms spans: ${group(spanCount)} errors: ${group(run.errors)}`,
|
|
91
|
+
`cost: ${cost}`,
|
|
92
|
+
];
|
|
93
|
+
}
|
|
94
|
+
function listLines(runs) {
|
|
95
|
+
if (runs.length === 0)
|
|
96
|
+
return ['no runs recorded.'];
|
|
97
|
+
const ids = Math.max(...runs.map((run) => run.traceId.length));
|
|
98
|
+
const lines = [`${group(runs.length)} run(s), newest first:`];
|
|
99
|
+
for (const run of runs) {
|
|
100
|
+
const label = run.root === undefined ? '-' : run.root.name;
|
|
101
|
+
const cost = run.unpricedSpans === 0 ? usd(run.costUsd, 6) : `${usd(run.costUsd, 6)}+`;
|
|
102
|
+
const errors = run.errors === 0 ? '' : ` ${group(run.errors)} ERROR`;
|
|
103
|
+
lines.push(` ${run.traceId.padEnd(ids)} ${run.startedAt.padEnd(24)} ${`${group(run.durationMs)}ms`.padStart(9)} ${`${group(run.spans.length)} spans`.padStart(10)} ${label} ${cost}${errors}`);
|
|
104
|
+
}
|
|
105
|
+
return lines;
|
|
106
|
+
}
|
|
107
|
+
/** Exact id first, then a unique prefix; ambiguity is reported, never guessed through. */
|
|
108
|
+
function selectRun(runs, selector) {
|
|
109
|
+
const exact = runs.find((run) => run.traceId === selector);
|
|
110
|
+
if (exact !== undefined)
|
|
111
|
+
return { run: exact };
|
|
112
|
+
const matches = runs.filter((run) => run.traceId.startsWith(selector)).map((run) => run.traceId);
|
|
113
|
+
if (matches.length === 1) {
|
|
114
|
+
const only = runs.find((run) => run.traceId === matches[0]);
|
|
115
|
+
if (only !== undefined)
|
|
116
|
+
return { run: only };
|
|
117
|
+
}
|
|
118
|
+
if (matches.length > 1)
|
|
119
|
+
return { matches };
|
|
120
|
+
return undefined;
|
|
121
|
+
}
|
|
122
|
+
function selectionRefusal(command, selector, matches) {
|
|
123
|
+
if (matches === undefined) {
|
|
124
|
+
return outcome({
|
|
125
|
+
command,
|
|
126
|
+
exitCode: EXIT_USAGE,
|
|
127
|
+
diagnostics: [
|
|
128
|
+
cliError({
|
|
129
|
+
code: CLI_DIAGNOSTIC_CODES.traceRunNotFound,
|
|
130
|
+
message: `no run starts with "${selector}".`,
|
|
131
|
+
hint: 'Run `aid trace` with no selector to list the runs in the directory, then pass an id or an unambiguous prefix.',
|
|
132
|
+
}),
|
|
133
|
+
],
|
|
134
|
+
text: `aid: no run starts with "${selector}".\n`,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
return outcome({
|
|
138
|
+
command,
|
|
139
|
+
exitCode: EXIT_USAGE,
|
|
140
|
+
diagnostics: [
|
|
141
|
+
cliError({
|
|
142
|
+
code: CLI_DIAGNOSTIC_CODES.traceRunAmbiguous,
|
|
143
|
+
message: `"${selector}" matches ${matches.length} runs: ${matches.join(', ')}.`,
|
|
144
|
+
hint: 'Pass a longer prefix, or the whole id.',
|
|
145
|
+
}),
|
|
146
|
+
],
|
|
147
|
+
text: `aid: "${selector}" matches ${matches.length} runs. Pass a longer prefix.\n`,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
export function trace(context, options) {
|
|
151
|
+
const command = 'trace';
|
|
152
|
+
if (options.run !== undefined && options.all) {
|
|
153
|
+
return outcome({
|
|
154
|
+
command,
|
|
155
|
+
exitCode: EXIT_USAGE,
|
|
156
|
+
diagnostics: [
|
|
157
|
+
cliError({
|
|
158
|
+
code: CLI_DIAGNOSTIC_CODES.traceFlagsConflict,
|
|
159
|
+
message: '--run and --all ask for different reports.',
|
|
160
|
+
hint: 'Pass --run <id> for one run, or --all for every run, not both.',
|
|
161
|
+
}),
|
|
162
|
+
],
|
|
163
|
+
text: 'aid: --run and --all ask for different reports.\n',
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
const resolved = resolveTraceDir(context, options.dir, command, '--dir <dir>');
|
|
167
|
+
if (resolved.kind === 'refused')
|
|
168
|
+
return resolved.outcome;
|
|
169
|
+
const shown = resolved.shown;
|
|
170
|
+
const diagnostics = [];
|
|
171
|
+
const { files, spans, skipped, unreadable } = readTraceDir(resolved.absolute);
|
|
172
|
+
if (unreadable > 0) {
|
|
173
|
+
diagnostics.push(cliError({
|
|
174
|
+
code: CLI_DIAGNOSTIC_CODES.traceUnreadable,
|
|
175
|
+
message: `could not read ${unreadable} trace file(s) in "${shown}": this view covers only the files that were readable.`,
|
|
176
|
+
hint: 'Check the file permissions, or move the unreadable file out of the directory.',
|
|
177
|
+
}));
|
|
178
|
+
}
|
|
179
|
+
if (skipped > 0) {
|
|
180
|
+
diagnostics.push(cliWarning({
|
|
181
|
+
code: CLI_DIAGNOSTIC_CODES.traceMalformed,
|
|
182
|
+
message: `skipped ${skipped} line(s) in "${shown}" that are not complete span records.`,
|
|
183
|
+
hint: 'A trace file is appended to while it is read, so a truncated last line is normal; a large count is not.',
|
|
184
|
+
}));
|
|
185
|
+
}
|
|
186
|
+
if (files.length === 0) {
|
|
187
|
+
diagnostics.push(cliWarning({
|
|
188
|
+
code: CLI_DIAGNOSTIC_CODES.traceEmpty,
|
|
189
|
+
message: `no trace files in "${shown}".`,
|
|
190
|
+
hint: `The runtime writes one when ${TRACE_DIR_ENV} is set and a model call runs; check that this is the directory it names.`,
|
|
191
|
+
}));
|
|
192
|
+
}
|
|
193
|
+
const runs = runsOf(spans);
|
|
194
|
+
const exitCode = unreadable > 0 ? EXIT_FAILURE : EXIT_OK;
|
|
195
|
+
const base = { dir: shown, files: files.length, spans: spans.length };
|
|
196
|
+
if (options.run !== undefined) {
|
|
197
|
+
const selected = selectRun(runs, options.run);
|
|
198
|
+
if (selected === undefined || !('run' in selected)) {
|
|
199
|
+
return selectionRefusal(command, options.run, selected?.matches);
|
|
200
|
+
}
|
|
201
|
+
const rows = treeRowsOf(selected.run);
|
|
202
|
+
return outcome({
|
|
203
|
+
command,
|
|
204
|
+
exitCode,
|
|
205
|
+
fields: { ...base, run: summaryOf(selected.run), tree: rows.map(rowOf) },
|
|
206
|
+
diagnostics,
|
|
207
|
+
text: [...runHeader(selected.run, rows.length), '', ...treeLines(rows)].join('\n'),
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
if (runs.length === 0 && files.length > 0) {
|
|
211
|
+
diagnostics.push(cliWarning({
|
|
212
|
+
code: CLI_DIAGNOSTIC_CODES.traceNoRuns,
|
|
213
|
+
message: `"${shown}" has ${files.length} trace file(s) but no complete span records.`,
|
|
214
|
+
hint: 'Check that the runtime finished the call it was tracing, and that the files are not empty.',
|
|
215
|
+
}));
|
|
216
|
+
}
|
|
217
|
+
if (options.all) {
|
|
218
|
+
const blocks = [];
|
|
219
|
+
for (const run of runs)
|
|
220
|
+
blocks.push([...runHeader(run, run.spans.length), '', ...treeLines(treeRowsOf(run))].join('\n'));
|
|
221
|
+
return outcome({
|
|
222
|
+
command,
|
|
223
|
+
exitCode,
|
|
224
|
+
fields: {
|
|
225
|
+
...base,
|
|
226
|
+
runs: runs.map((run) => ({ ...summaryOf(run), tree: treeRowsOf(run).map(rowOf) })),
|
|
227
|
+
},
|
|
228
|
+
diagnostics,
|
|
229
|
+
text: blocks.length === 0 ? 'no runs recorded.\n' : blocks.join('\n\n'),
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
return outcome({
|
|
233
|
+
command,
|
|
234
|
+
exitCode,
|
|
235
|
+
fields: { ...base, runs: runs.map(summaryOf) },
|
|
236
|
+
diagnostics,
|
|
237
|
+
text: listLines(runs).join('\n'),
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/commands/trace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAW/E,iEAAiE;AACjE,SAAS,SAAS,CAAC,GAAa;IAC9B,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;QACvB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,GAAY;IACzB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IACtB,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO;QACxB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACrF,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;QACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/D,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChF,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3E,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5D,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9E,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;QACjF,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACvF,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAwB;IAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,SAAS,CAAC,IAAwB;IACzC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC9E,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAC/F,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;QAE3E,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,MAAM,GACV,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;gBACzE,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC;YACpF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,GAAa,EAAE,SAAiB;IACjD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1E,MAAM,IAAI,GACR,GAAG,CAAC,aAAa,KAAK,CAAC;QACrB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC;IACtE,OAAO;QACL,QAAQ,GAAG,CAAC,OAAO,KAAK,KAAK,EAAE;QAC/B,YAAY,GAAG,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE;QACxD,SAAS,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,cAAc,KAAK,CAAC,SAAS,CAAC,aAAa,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC5F,SAAS,IAAI,EAAE;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,IAAyB;IAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC9D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3D,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC;QACvF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtE,KAAK,CAAC,IAAI,CACR,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,GAAG,MAAM,EAAE,CACzL,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0FAA0F;AAC1F,SAAS,SAAS,CAChB,IAAyB,EACzB,QAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;IAC3D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC3C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAe,EACf,QAAgB,EAChB,OAAsC;IAEtC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC;YACb,OAAO;YACP,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE;gBACX,QAAQ,CAAC;oBACP,IAAI,EAAE,oBAAoB,CAAC,gBAAgB;oBAC3C,OAAO,EAAE,uBAAuB,QAAQ,IAAI;oBAC5C,IAAI,EAAE,+GAA+G;iBACtH,CAAC;aACH;YACD,IAAI,EAAE,4BAA4B,QAAQ,MAAM;SACjD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;QACb,OAAO;QACP,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE;YACX,QAAQ,CAAC;gBACP,IAAI,EAAE,oBAAoB,CAAC,iBAAiB;gBAC5C,OAAO,EAAE,IAAI,QAAQ,aAAa,OAAO,CAAC,MAAM,UAAU,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC/E,IAAI,EAAE,wCAAwC;aAC/C,CAAC;SACH;QACD,IAAI,EAAE,SAAS,QAAQ,aAAa,OAAO,CAAC,MAAM,gCAAgC;KACnF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAmB,EAAE,OAAqB;IAC9D,MAAM,OAAO,GAAG,OAAO,CAAC;IAExB,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC;YACb,OAAO;YACP,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE;gBACX,QAAQ,CAAC;oBACP,IAAI,EAAE,oBAAoB,CAAC,kBAAkB;oBAC7C,OAAO,EAAE,4CAA4C;oBACrD,IAAI,EAAE,gEAAgE;iBACvE,CAAC;aACH;YACD,IAAI,EAAE,mDAAmD;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC/E,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAE7B,MAAM,WAAW,GAAoB,EAAE,CAAC;IACxC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE9E,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,WAAW,CAAC,IAAI,CACd,QAAQ,CAAC;YACP,IAAI,EAAE,oBAAoB,CAAC,eAAe;YAC1C,OAAO,EAAE,kBAAkB,UAAU,sBAAsB,KAAK,wDAAwD;YACxH,IAAI,EAAE,+EAA+E;SACtF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,WAAW,CAAC,IAAI,CACd,UAAU,CAAC;YACT,IAAI,EAAE,oBAAoB,CAAC,cAAc;YACzC,OAAO,EAAE,WAAW,OAAO,gBAAgB,KAAK,uCAAuC;YACvF,IAAI,EAAE,yGAAyG;SAChH,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,WAAW,CAAC,IAAI,CACd,UAAU,CAAC;YACT,IAAI,EAAE,oBAAoB,CAAC,UAAU;YACrC,OAAO,EAAE,sBAAsB,KAAK,IAAI;YACxC,IAAI,EAAE,+BAA+B,aAAa,2EAA2E;SAC9H,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;IACzD,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IAEtE,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,EAAE,CAAC;YACnD,OAAO,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;YACb,OAAO;YACP,QAAQ;YACR,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACxE,WAAW;YACX,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACnF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,WAAW,CAAC,IAAI,CACd,UAAU,CAAC;YACT,IAAI,EAAE,oBAAoB,CAAC,WAAW;YACtC,OAAO,EAAE,IAAI,KAAK,SAAS,KAAK,CAAC,MAAM,8CAA8C;YACrF,IAAI,EAAE,4FAA4F;SACnG,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI;YACpB,MAAM,CAAC,IAAI,CACT,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACpF,CAAC;QACJ,OAAO,OAAO,CAAC;YACb,OAAO;YACP,QAAQ;YACR,MAAM,EAAE;gBACN,GAAG,IAAI;gBACP,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACnF;YACD,WAAW;YACX,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACxE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;QACb,OAAO;QACP,QAAQ;QACR,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAC9C,WAAW;QACX,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;KACjC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/diagnostics.d.ts
CHANGED
|
@@ -54,6 +54,10 @@ export declare const CLI_DIAGNOSTIC_CODES: {
|
|
|
54
54
|
readonly traceUnreadable: 'cli/trace-unreadable';
|
|
55
55
|
readonly traceMalformed: 'cli/trace-malformed';
|
|
56
56
|
readonly traceEmpty: 'cli/trace-empty';
|
|
57
|
+
readonly traceRunNotFound: 'cli/trace-run-not-found';
|
|
58
|
+
readonly traceRunAmbiguous: 'cli/trace-run-ambiguous';
|
|
59
|
+
readonly traceNoRuns: 'cli/trace-no-runs';
|
|
60
|
+
readonly traceFlagsConflict: 'cli/trace-flags-conflict';
|
|
57
61
|
readonly devPortInvalid: 'cli/dev-port-invalid';
|
|
58
62
|
readonly devEntryMissing: 'cli/dev-entry-missing';
|
|
59
63
|
readonly devUvicornMissing: 'cli/dev-uvicorn-missing';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,gEAAgE;AAChE,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAE/C,eAAO,MAAM,oBAAoB;aAC/B,cAAc,EAAE,qBAAqB;aACrC,aAAa,EAAE,oBAAoB;aACnC,mBAAmB,EAAE,2BAA2B;aAChD,aAAa,EAAE,oBAAoB;aACnC,aAAa,EAAE,qBAAqB;aACpC,kBAAkB,EAAE,0BAA0B;aAC9C,iBAAiB,EAAE,wBAAwB;aAC3C,iBAAiB,EAAE,wBAAwB;aAC3C,iBAAiB,EAAE,yBAAyB;aAC5C,oBAAoB,EAAE,4BAA4B;aAClD,iBAAiB,EAAE,wBAAwB;aAC3C,YAAY,EAAE,mBAAmB;aACjC,YAAY,EAAE,mBAAmB;aAGjC,eAAe,EAAE,sBAAsB;aACvC,kBAAkB,EAAE,yBAAyB;aAC7C,eAAe,EAAE,sBAAsB;aACvC,YAAY,EAAE,mBAAmB;aACjC,eAAe,EAAE,sBAAsB;aACvC,aAAa,EAAE,oBAAoB;aAGnC,uBAAuB,EAAE,+BAA+B;aACxD,sBAAsB,EAAE,8BAA8B;aACtD,eAAe,EAAE,uBAAuB;aACxC,sBAAsB,EAAE,8BAA8B;aACtD,iBAAiB,EAAE,yBAAyB;aAC5C,mBAAmB,EAAE,4BAA4B;aACjD,gBAAgB,EAAE,wBAAwB;aAC1C,eAAe,EAAE,uBAAuB;aACxC,eAAe,EAAE,uBAAuB;aACxC,cAAc,EAAE,sBAAsB;aACtC,kBAAkB,EAAE,0BAA0B;aAC9C,wBAAwB,EAAE,iCAAiC;aAI3D,kBAAkB,EAAE,0BAA0B;aAI9C,eAAe,EAAE,uBAAuB;aACxC,gBAAgB,EAAE,yBAAyB;aAC3C,iBAAiB,EAAE,yBAAyB;aAC5C,eAAe,EAAE,sBAAsB;aACvC,cAAc,EAAE,qBAAqB;aACrC,UAAU,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,gEAAgE;AAChE,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAE/C,eAAO,MAAM,oBAAoB;aAC/B,cAAc,EAAE,qBAAqB;aACrC,aAAa,EAAE,oBAAoB;aACnC,mBAAmB,EAAE,2BAA2B;aAChD,aAAa,EAAE,oBAAoB;aACnC,aAAa,EAAE,qBAAqB;aACpC,kBAAkB,EAAE,0BAA0B;aAC9C,iBAAiB,EAAE,wBAAwB;aAC3C,iBAAiB,EAAE,wBAAwB;aAC3C,iBAAiB,EAAE,yBAAyB;aAC5C,oBAAoB,EAAE,4BAA4B;aAClD,iBAAiB,EAAE,wBAAwB;aAC3C,YAAY,EAAE,mBAAmB;aACjC,YAAY,EAAE,mBAAmB;aAGjC,eAAe,EAAE,sBAAsB;aACvC,kBAAkB,EAAE,yBAAyB;aAC7C,eAAe,EAAE,sBAAsB;aACvC,YAAY,EAAE,mBAAmB;aACjC,eAAe,EAAE,sBAAsB;aACvC,aAAa,EAAE,oBAAoB;aAGnC,uBAAuB,EAAE,+BAA+B;aACxD,sBAAsB,EAAE,8BAA8B;aACtD,eAAe,EAAE,uBAAuB;aACxC,sBAAsB,EAAE,8BAA8B;aACtD,iBAAiB,EAAE,yBAAyB;aAC5C,mBAAmB,EAAE,4BAA4B;aACjD,gBAAgB,EAAE,wBAAwB;aAC1C,eAAe,EAAE,uBAAuB;aACxC,eAAe,EAAE,uBAAuB;aACxC,cAAc,EAAE,sBAAsB;aACtC,kBAAkB,EAAE,0BAA0B;aAC9C,wBAAwB,EAAE,iCAAiC;aAI3D,kBAAkB,EAAE,0BAA0B;aAI9C,eAAe,EAAE,uBAAuB;aACxC,gBAAgB,EAAE,yBAAyB;aAC3C,iBAAiB,EAAE,yBAAyB;aAC5C,eAAe,EAAE,sBAAsB;aACvC,cAAc,EAAE,qBAAqB;aACrC,UAAU,EAAE,iBAAiB;aAG7B,gBAAgB,EAAE,yBAAyB;aAC3C,iBAAiB,EAAE,yBAAyB;aAC5C,WAAW,EAAE,mBAAmB;aAChC,kBAAkB,EAAE,0BAA0B;aAI9C,cAAc,EAAE,sBAAsB;aACtC,eAAe,EAAE,uBAAuB;aACxC,iBAAiB,EAAE,yBAAyB;aAI5C,cAAc,EAAE,sBAAsB;aACtC,gBAAgB,EAAE,wBAAwB;aAC1C,eAAe,EAAE,wBAAwB;aACzC,gBAAgB,EAAE,wBAAwB;aAC1C,kBAAkB,EAAE,0BAA0B;aAC9C,qBAAqB,EAAE,6BAA6B;aACpD,WAAW,EAAE,kBAAkB;aAC/B,mBAAmB,EAAE,2BAA2B;aAChD,iBAAiB,EAAE,yBAAyB;aAI5C,yBAAyB,EAAE,iCAAiC;aAG5D,iBAAiB,EAAE,yBAAyB;CACpC,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEjG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAO/D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAOjE"}
|
package/dist/diagnostics.js
CHANGED
|
@@ -62,6 +62,12 @@ export const CLI_DIAGNOSTIC_CODES = {
|
|
|
62
62
|
traceUnreadable: 'cli/trace-unreadable',
|
|
63
63
|
traceMalformed: 'cli/trace-malformed',
|
|
64
64
|
traceEmpty: 'cli/trace-empty',
|
|
65
|
+
// `aid trace` selects one run out of those files. A selector that matches nothing, or
|
|
66
|
+
// more than one, is a wrong invocation (`2`), not a verdict on the project.
|
|
67
|
+
traceRunNotFound: 'cli/trace-run-not-found',
|
|
68
|
+
traceRunAmbiguous: 'cli/trace-run-ambiguous',
|
|
69
|
+
traceNoRuns: 'cli/trace-no-runs',
|
|
70
|
+
traceFlagsConflict: 'cli/trace-flags-conflict',
|
|
65
71
|
// `aid dev` starts the application's own server, so every failure here is about the
|
|
66
72
|
// environment it needs or the address it was given -- not about the spec, which `gen`
|
|
67
73
|
// has already validated by the time any of these can fire.
|
package/dist/diagnostics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `@aid-framework/cli` - the `aid` command: init, validate, gen, dev, ingest, eval, cost,
|
|
2
|
+
* `@aid-framework/cli` - the `aid` command: init, validate, gen, dev, ingest, eval, cost, trace,
|
|
3
|
+
* doctor, eject and infra.
|
|
3
4
|
*
|
|
4
5
|
* The CLI is glue. Every judgement it reports -- whether a spec parses, what the IR is,
|
|
5
6
|
* what a target can emit, which generated file was hand-edited, whether an eval regressed
|
|
@@ -32,6 +33,8 @@ export type { InitOptions } from './commands/init.js';
|
|
|
32
33
|
export { init, projectNameFor, starterSpec } from './commands/init.js';
|
|
33
34
|
export type { MigrateOptions } from './commands/migrate.js';
|
|
34
35
|
export { migrate } from './commands/migrate.js';
|
|
36
|
+
export type { TraceOptions } from './commands/trace.js';
|
|
37
|
+
export { trace } from './commands/trace.js';
|
|
35
38
|
export type { ValidateOptions } from './commands/validate.js';
|
|
36
39
|
export { validate } from './commands/validate.js';
|
|
37
40
|
export type { CliContext, Spawn, SpawnOptions, SpawnResult } from './context.js';
|
|
@@ -53,8 +56,10 @@ export { compile, lowerSpec, provenanceFor, readManifest, readSpec } from './pip
|
|
|
53
56
|
export { DEV_PROBE, discoverInterpreter, INTERPRETERS, interpreterCommand, invoke, } from './python.js';
|
|
54
57
|
export type { Target, TargetDev } from './targets.js';
|
|
55
58
|
export { DEFAULT_SPEC_PATH, DEFAULT_TARGET, resolveTarget, TARGETS, targetCapabilities, targetNames, unknownTargetDiagnostic, } from './targets.js';
|
|
56
|
-
export type { CostSummary, Latency, ModelSpend, ParsedTrace, TraceSpan } from './trace.js';
|
|
57
|
-
export { parseSince, parseTraceLines, summariseSpans } from './trace.js';
|
|
59
|
+
export type { CostSummary, Latency, ModelSpend, ParsedTrace, SpanFacts, SpanRow, TraceRun, TraceSpan, } from './trace.js';
|
|
60
|
+
export { childrenOf, factsOf, parseSince, parseTraceLines, runsOf, summariseSpans, treeRowsOf, } from './trace.js';
|
|
61
|
+
export type { TraceDir } from './trace-dir.js';
|
|
62
|
+
export { readTraceDir, resolveTraceDir, TRACE_DIR_ENV } from './trace-dir.js';
|
|
58
63
|
export type { CommandSpec } from './usage.js';
|
|
59
64
|
export { commandUsage, globalUsage } from './usage.js';
|
|
60
65
|
//# 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":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `@aid-framework/cli` - the `aid` command: init, validate, gen, dev, ingest, eval, cost,
|
|
2
|
+
* `@aid-framework/cli` - the `aid` command: init, validate, gen, dev, ingest, eval, cost, trace,
|
|
3
|
+
* doctor, eject and infra.
|
|
3
4
|
*
|
|
4
5
|
* The CLI is glue. Every judgement it reports -- whether a spec parses, what the IR is,
|
|
5
6
|
* what a target can emit, which generated file was hand-edited, whether an eval regressed
|
|
@@ -21,6 +22,7 @@ export { infra } from './commands/infra.js';
|
|
|
21
22
|
export { ingest } from './commands/ingest.js';
|
|
22
23
|
export { init, projectNameFor, starterSpec } from './commands/init.js';
|
|
23
24
|
export { migrate } from './commands/migrate.js';
|
|
25
|
+
export { trace } from './commands/trace.js';
|
|
24
26
|
export { validate } from './commands/validate.js';
|
|
25
27
|
export { createContext } from './context.js';
|
|
26
28
|
export { CLI_DIAGNOSTIC_CODES, cliError, cliWarning } from './diagnostics.js';
|
|
@@ -33,6 +35,7 @@ export { absolutePath, parentPath } from './paths.js';
|
|
|
33
35
|
export { compile, lowerSpec, provenanceFor, readManifest, readSpec } from './pipeline.js';
|
|
34
36
|
export { DEV_PROBE, discoverInterpreter, INTERPRETERS, interpreterCommand, invoke, } from './python.js';
|
|
35
37
|
export { DEFAULT_SPEC_PATH, DEFAULT_TARGET, resolveTarget, TARGETS, targetCapabilities, targetNames, unknownTargetDiagnostic, } from './targets.js';
|
|
36
|
-
export { parseSince, parseTraceLines, summariseSpans } from './trace.js';
|
|
38
|
+
export { childrenOf, factsOf, parseSince, parseTraceLines, runsOf, summariseSpans, treeRowsOf, } from './trace.js';
|
|
39
|
+
export { readTraceDir, resolveTraceDir, TRACE_DIR_ENV } from './trace-dir.js';
|
|
37
40
|
export { commandUsage, globalUsage } from './usage.js';
|
|
38
41
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE9E,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWtD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,MAAM,GACP,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,WAAW,EACX,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAWtB,OAAO,EACL,UAAU,EACV,OAAO,EACP,UAAU,EACV,eAAe,EACf,MAAM,EACN,cAAc,EACd,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAejD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,UAAU,OAAQ,SAAQ,WAAW;IACnC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,KAAK,cAAc,CAAC;IAC7E,kEAAkE;IAClE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAQD,eAAO,MAAM,QAAQ,EAAE,SAAS,OAAO,EA4OtC,CAAC;AA0BF,wBAAgB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,CA6C1E"}
|