@contraagent/api 0.0.0-stage → 0.1.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/README.md +102 -2
- package/dist/client.d.ts +54 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +68 -0
- package/dist/client.js.map +1 -0
- package/dist/derive.d.ts +81 -0
- package/dist/derive.d.ts.map +1 -0
- package/dist/derive.js +89 -0
- package/dist/derive.js.map +1 -0
- package/dist/export.d.ts +36 -0
- package/dist/export.d.ts.map +1 -0
- package/dist/export.js +130 -0
- package/dist/export.js.map +1 -0
- package/dist/feed.d.ts +27 -0
- package/dist/feed.d.ts.map +1 -0
- package/dist/feed.js +39 -0
- package/dist/feed.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/outcomes.d.ts +117 -0
- package/dist/outcomes.d.ts.map +1 -0
- package/dist/outcomes.js +201 -0
- package/dist/outcomes.js.map +1 -0
- package/dist/panels.d.ts +31 -0
- package/dist/panels.d.ts.map +1 -0
- package/dist/panels.js +12 -0
- package/dist/panels.js.map +1 -0
- package/dist/quota.d.ts +32 -0
- package/dist/quota.d.ts.map +1 -0
- package/dist/quota.js +46 -0
- package/dist/quota.js.map +1 -0
- package/dist/reasons.d.ts +25 -0
- package/dist/reasons.d.ts.map +1 -0
- package/dist/reasons.js +46 -0
- package/dist/reasons.js.map +1 -0
- package/dist/run-state.d.ts +62 -0
- package/dist/run-state.d.ts.map +1 -0
- package/dist/run-state.js +109 -0
- package/dist/run-state.js.map +1 -0
- package/dist/schema.d.ts +3718 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +3 -0
- package/dist/schema.js.map +1 -0
- package/dist/spend.d.ts +46 -0
- package/dist/spend.d.ts.map +1 -0
- package/dist/spend.js +68 -0
- package/dist/spend.js.map +1 -0
- package/dist/store.d.ts +121 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +286 -0
- package/dist/store.js.map +1 -0
- package/dist/types.d.ts +112 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +19 -0
- package/dist/types.js.map +1 -0
- package/package.json +43 -4
- package/src/client.ts +119 -0
- package/src/derive.ts +155 -0
- package/src/export.ts +158 -0
- package/src/feed.ts +81 -0
- package/src/index.ts +12 -0
- package/src/outcomes.ts +267 -0
- package/src/panels.ts +51 -0
- package/src/quota.ts +78 -0
- package/src/reasons.ts +57 -0
- package/src/run-state.ts +166 -0
- package/src/schema.ts +3719 -0
- package/src/spend.ts +108 -0
- package/src/store.ts +338 -0
- package/src/types.ts +165 -0
package/dist/reasons.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// What a journal row's `reason` says, read as data: the inputs a refusal names,
|
|
2
|
+
// and paths cut to the run directory. Pure; the words for them are the UI's.
|
|
3
|
+
/**
|
|
4
|
+
* The inputs a refused task's reason names (`invalid input: input from <key> is
|
|
5
|
+
* missing: <path>`, `invalid input: input from <key> ended <stop>: <path>`,
|
|
6
|
+
* `invalid input: <path>: required input is missing`, `invalid input: <path>:
|
|
7
|
+
* <check error>`), in order; [] for any other reason.
|
|
8
|
+
*/
|
|
9
|
+
export function inputProblems(reason) {
|
|
10
|
+
const m = /^invalid input:\s*(.*)$/s.exec(reason || '');
|
|
11
|
+
if (!m)
|
|
12
|
+
return [];
|
|
13
|
+
const out = [];
|
|
14
|
+
for (const part of (m[1] ?? '').split('; ')) {
|
|
15
|
+
let x = /^input from (\S+) is missing: (\S+)/.exec(part);
|
|
16
|
+
if (x) {
|
|
17
|
+
out.push({ path: x[2] ?? '', producer: x[1] ?? '', problem: 'missing' });
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
x = /^input from (\S+) ended \S+: (\S+)/.exec(part);
|
|
21
|
+
if (x) {
|
|
22
|
+
out.push({ path: x[2] ?? '', producer: x[1] ?? '', problem: 'failed' });
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
x = /^(\S+?): required input is missing/.exec(part);
|
|
26
|
+
if (x) {
|
|
27
|
+
out.push({ path: x[1] ?? '', producer: '', problem: 'missing' });
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
x = /^(\S+?): /.exec(part);
|
|
31
|
+
if (x && !out.some((o) => o.path === x?.[1]))
|
|
32
|
+
out.push({ path: x[1] ?? '', producer: '', problem: 'checks' });
|
|
33
|
+
}
|
|
34
|
+
return out;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A text from the run (a failure reason) with absolute paths inside the run
|
|
38
|
+
* directory cut to the part after `runs/<run>/`: `out/summarize/zeta.json`.
|
|
39
|
+
*/
|
|
40
|
+
export function runRelative(text, run) {
|
|
41
|
+
if (!text || !run)
|
|
42
|
+
return text ?? '';
|
|
43
|
+
const esc = run.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
44
|
+
return text.replace(new RegExp(`(?:/[^\\s:'"]*)?/${esc}/`, 'g'), '');
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=reasons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reasons.js","sourceRoot":"","sources":["../src/reasons.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6EAA6E;AAe7E;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiC;IAC7D,MAAM,CAAC,GAAG,0BAA0B,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,GAAG,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YACzE,SAAS;QACX,CAAC;QACD,CAAC,GAAG,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QACD,CAAC,GAAG,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YACjE,SAAS;QACX,CAAC;QACD,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAA+B,EAAE,GAAW;IACtE,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,IAAI,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,oBAAoB,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { CursorView, JournalRow, JsonObject, Outputs, Plan, Procs, RunFeedMessage, RunSummary } from './types.js';
|
|
2
|
+
/** The newest rows kept; older ones drop off the front. */
|
|
3
|
+
export declare const JOURNAL_CAP = 4000;
|
|
4
|
+
export interface RunState {
|
|
5
|
+
/** Finished attempts in arrival order, at most `JOURNAL_CAP`. */
|
|
6
|
+
journal: JournalRow[];
|
|
7
|
+
/** Null until the first `procs` message. */
|
|
8
|
+
procs: Procs | null;
|
|
9
|
+
plan: Plan;
|
|
10
|
+
outputs: Outputs;
|
|
11
|
+
/** Null for a run that keeps no cursor. */
|
|
12
|
+
cursor: CursorView | null;
|
|
13
|
+
panels: Record<string, JsonObject>;
|
|
14
|
+
/** The feed's replay is over (`ready`): a journal row after this is new. */
|
|
15
|
+
ready: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function emptyRunState(): RunState;
|
|
18
|
+
/** A feed message, or the feed (re)connecting: the server then replays the journal from the start. */
|
|
19
|
+
export type RunAction = RunFeedMessage | {
|
|
20
|
+
event: 'connected';
|
|
21
|
+
};
|
|
22
|
+
/** Fold a batch of actions into the state. The journal is copied once per batch, not per row. */
|
|
23
|
+
export declare function reduceRun(state: RunState, actions: readonly RunAction[]): RunState;
|
|
24
|
+
/** A finished attempt that neither completed, nor was partial (ok, its output a placeholder), nor was skipped. */
|
|
25
|
+
export declare const isBad: (row: {
|
|
26
|
+
stop?: string | undefined;
|
|
27
|
+
}) => boolean;
|
|
28
|
+
/** A Python task (the journal, plan and contracts say who executed it). */
|
|
29
|
+
export declare const isPython: (x: {
|
|
30
|
+
executor?: string | undefined;
|
|
31
|
+
}) => boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Which start of the run each of one task's journal rows (in journal order) belongs
|
|
34
|
+
* to, 0 for the first start that ran it: a resumed run numbers a task's attempts
|
|
35
|
+
* from 0 again, so a row whose attempt is not above the one before it begins the
|
|
36
|
+
* next start that ran the task.
|
|
37
|
+
*/
|
|
38
|
+
export declare function runStarts(rows: readonly {
|
|
39
|
+
attempt?: number | null | undefined;
|
|
40
|
+
}[]): number[];
|
|
41
|
+
/** A stable identity for a journal row. */
|
|
42
|
+
export declare const rowId: (row: JournalRow) => string;
|
|
43
|
+
export declare const runRow: (runs: readonly RunSummary[], run: string) => RunSummary | undefined;
|
|
44
|
+
/** The run's process is alive (by the feed, or by the run list): `runActivity` is `running`. */
|
|
45
|
+
export declare const isRunLive: (state: RunState, summary: RunSummary | undefined) => boolean;
|
|
46
|
+
/** Something running right now: an agent launch or a Python task. */
|
|
47
|
+
export interface Activity {
|
|
48
|
+
/** `llm` for an agent launch, `py` for a Python task. */
|
|
49
|
+
cls: 'llm' | 'py';
|
|
50
|
+
/** Stable across updates: the task key, prefixed by kind of activity. */
|
|
51
|
+
id: string;
|
|
52
|
+
kind: string;
|
|
53
|
+
/** The unit; '' for a task of the whole run. */
|
|
54
|
+
unit: string;
|
|
55
|
+
detail: string;
|
|
56
|
+
/** Seconds it has run, as of the procs message. */
|
|
57
|
+
ageS: number;
|
|
58
|
+
/** The task key, for an agent launch (it has a transcript). */
|
|
59
|
+
key: string;
|
|
60
|
+
}
|
|
61
|
+
export declare function liveActivities(procs: Procs | null): Activity[];
|
|
62
|
+
//# sourceMappingURL=run-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-state.d.ts","sourceRoot":"","sources":["../src/run-state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,OAAO,EACP,IAAI,EACJ,KAAK,EACL,cAAc,EACd,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,2DAA2D;AAC3D,eAAO,MAAM,WAAW,OAAO,CAAC;AAEhC,MAAM,WAAW,QAAQ;IACvB,iEAAiE;IACjE,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,4CAA4C;IAC5C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,4EAA4E;IAC5E,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,aAAa,IAAI,QAAQ,CAUxC;AAED,sGAAsG;AACtG,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAEhE,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,QAAQ,CAwClF;AAID,kHAAkH;AAClH,eAAO,MAAM,KAAK,GAAI,KAAK;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,KAAG,OACiC,CAAC;AAE7F,2EAA2E;AAC3E,eAAO,MAAM,QAAQ,GAAI,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,KAAG,OAAkC,CAAC;AAEnG;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,EAAE,GAAG,MAAM,EAAE,CAO5F;AAED,2CAA2C;AAC3C,eAAO,MAAM,KAAK,GAAI,KAAK,UAAU,KAAG,MAAgC,CAAC;AAEzE,eAAO,MAAM,MAAM,GAAI,MAAM,SAAS,UAAU,EAAE,EAAE,KAAK,MAAM,KAAG,UAAU,GAAG,SAC9C,CAAC;AAElC,gGAAgG;AAChG,eAAO,MAAM,SAAS,GAAI,OAAO,QAAQ,EAAE,SAAS,UAAU,GAAG,SAAS,KAAG,OACnB,CAAC;AAE3D,qEAAqE;AACrE,MAAM,WAAW,QAAQ;IACvB,yDAAyD;IACzD,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC;IAClB,yEAAyE;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ,EAAE,CA0B9D"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
// What the live feed of one run folds into, and the questions the views ask of it.
|
|
2
|
+
// Pure: no I/O, no clock unless passed in.
|
|
3
|
+
import { runActivity } from './derive.js';
|
|
4
|
+
/** The newest rows kept; older ones drop off the front. */
|
|
5
|
+
export const JOURNAL_CAP = 4000;
|
|
6
|
+
export function emptyRunState() {
|
|
7
|
+
return {
|
|
8
|
+
journal: [],
|
|
9
|
+
procs: null,
|
|
10
|
+
plan: { nodes: [], groups: [], flow_calls: [] },
|
|
11
|
+
outputs: { contracts: [], tally: { valid: 0, invalid: 0, refused: 0, pending: 0, failed: 0, running: 0 } },
|
|
12
|
+
cursor: null,
|
|
13
|
+
panels: {},
|
|
14
|
+
ready: false,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/** Fold a batch of actions into the state. The journal is copied once per batch, not per row. */
|
|
18
|
+
export function reduceRun(state, actions) {
|
|
19
|
+
let next = state;
|
|
20
|
+
let rows = null;
|
|
21
|
+
const flush = () => {
|
|
22
|
+
if (!rows)
|
|
23
|
+
return;
|
|
24
|
+
const all = next.journal.concat(rows);
|
|
25
|
+
next = { ...next, journal: all.length > JOURNAL_CAP ? all.slice(all.length - JOURNAL_CAP) : all };
|
|
26
|
+
rows = null;
|
|
27
|
+
};
|
|
28
|
+
for (const a of actions) {
|
|
29
|
+
if (a.event === 'journal') {
|
|
30
|
+
(rows ??= []).push(a.data);
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
flush();
|
|
34
|
+
switch (a.event) {
|
|
35
|
+
case 'connected':
|
|
36
|
+
next = { ...next, journal: [], ready: false };
|
|
37
|
+
break;
|
|
38
|
+
case 'ready':
|
|
39
|
+
next = { ...next, ready: true };
|
|
40
|
+
break;
|
|
41
|
+
case 'procs':
|
|
42
|
+
next = { ...next, procs: a.data };
|
|
43
|
+
break;
|
|
44
|
+
case 'plan':
|
|
45
|
+
next = { ...next, plan: a.data };
|
|
46
|
+
break;
|
|
47
|
+
case 'outputs':
|
|
48
|
+
next = { ...next, outputs: a.data };
|
|
49
|
+
break;
|
|
50
|
+
case 'cursor':
|
|
51
|
+
next = { ...next, cursor: a.data };
|
|
52
|
+
break;
|
|
53
|
+
default:
|
|
54
|
+
next = { ...next, panels: { ...next.panels, [a.event.slice('panel:'.length)]: a.data } };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
flush();
|
|
58
|
+
return next;
|
|
59
|
+
}
|
|
60
|
+
// --- selectors ----------------------------------------------------------------
|
|
61
|
+
/** A finished attempt that neither completed, nor was partial (ok, its output a placeholder), nor was skipped. */
|
|
62
|
+
export const isBad = (row) => !!row.stop && row.stop !== 'completed' && row.stop !== 'partial' && row.stop !== 'skipped';
|
|
63
|
+
/** A Python task (the journal, plan and contracts say who executed it). */
|
|
64
|
+
export const isPython = (x) => x.executor === 'python';
|
|
65
|
+
/**
|
|
66
|
+
* Which start of the run each of one task's journal rows (in journal order) belongs
|
|
67
|
+
* to, 0 for the first start that ran it: a resumed run numbers a task's attempts
|
|
68
|
+
* from 0 again, so a row whose attempt is not above the one before it begins the
|
|
69
|
+
* next start that ran the task.
|
|
70
|
+
*/
|
|
71
|
+
export function runStarts(rows) {
|
|
72
|
+
let start = 0;
|
|
73
|
+
return rows.map((r, i) => {
|
|
74
|
+
const before = rows[i - 1];
|
|
75
|
+
if (before && (r.attempt ?? 0) <= (before.attempt ?? 0))
|
|
76
|
+
start++;
|
|
77
|
+
return start;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
/** A stable identity for a journal row. */
|
|
81
|
+
export const rowId = (row) => `${row.ts}|${row.key}`;
|
|
82
|
+
export const runRow = (runs, run) => runs.find((r) => r.run === run);
|
|
83
|
+
/** The run's process is alive (by the feed, or by the run list): `runActivity` is `running`. */
|
|
84
|
+
export const isRunLive = (state, summary) => runActivity(summary, !!state.procs?.alive) === 'running';
|
|
85
|
+
export function liveActivities(procs) {
|
|
86
|
+
if (!procs)
|
|
87
|
+
return [];
|
|
88
|
+
return [
|
|
89
|
+
...procs.launches.map((c) => ({
|
|
90
|
+
cls: 'llm',
|
|
91
|
+
id: `c:${c.key}`,
|
|
92
|
+
kind: c.kind || 'task',
|
|
93
|
+
unit: c.unit || '',
|
|
94
|
+
detail: [c.unit, c.model || c.role].filter(Boolean).join(' | '),
|
|
95
|
+
ageS: c.age_s,
|
|
96
|
+
key: c.key,
|
|
97
|
+
})),
|
|
98
|
+
...procs.python_tasks.map((p) => ({
|
|
99
|
+
cls: 'py',
|
|
100
|
+
id: `p:${p.key}`,
|
|
101
|
+
kind: p.kind || 'task',
|
|
102
|
+
unit: p.unit || '',
|
|
103
|
+
detail: p.unit || 'Python',
|
|
104
|
+
ageS: p.age_s,
|
|
105
|
+
key: '',
|
|
106
|
+
})),
|
|
107
|
+
];
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=run-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-state.js","sourceRoot":"","sources":["../src/run-state.ts"],"names":[],"mappings":"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"}
|