@molecule/api-ai-tools 1.6.6 → 1.7.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 CHANGED
@@ -3,15 +3,11 @@ AUTO-GENERATED — DO NOT EDIT THIS FILE.
3
3
  Generated by `mlcl sync-docs` from the package's src/index.ts JSDoc + mlcl/registry.json.
4
4
  Edits here are overwritten on the next commit (molecule's pre-commit hook regenerates).
5
5
  To change this document, edit the module-level JSDoc in src/index.ts.
6
- Generated: 2026-10-16T21:18:13.332Z
6
+ Generated: 2026-10-17T00:30:38.264Z
7
7
  -->
8
8
 
9
9
  # @molecule/api-ai-tools
10
10
 
11
- > **Auto-generated, AI-first package reference** for the [molecule.dev](https://molecule.dev) ecosystem.
12
- > It is written to be read by coding agents as much as by people, and is generated from this
13
- > package's source — edit `src/index.ts` JSDoc, not this file.
14
-
15
11
  Shared AI agent tool set for molecule.dev — filesystem, search, and shell
16
12
  tools an LLM agent can call, with a swappable execution backend.
17
13
 
@@ -24,6 +20,10 @@ WHERE they act: `createLocalBackend(projectRoot)` (host filesystem) or
24
20
  container). `buildAgentPrompt(ctx)` composes a matching system prompt
25
21
  (identity, tool listing, project docs, discovered skills).
26
22
 
23
+ > **Auto-generated, AI-first package reference** for the [molecule.dev](https://molecule.dev) ecosystem.
24
+ > It is written to be read by coding agents as much as by people, and is generated from this
25
+ > package's source — edit `src/index.ts` JSDoc, not this file.
26
+
27
27
  ## Quick Start
28
28
 
29
29
  ```typescript
@@ -186,6 +186,51 @@ interface SuiteRunInFlight {
186
186
  }
187
187
  ```
188
188
 
189
+ #### `TraceRequest`
190
+
191
+ One request a traced page made, as `*.network` records it.
192
+
193
+ ```typescript
194
+ interface TraceRequest {
195
+ /** The HTTP method (`POST`). */
196
+ method: string
197
+ /** The request's path (`/api/articles/x/favorite`), or the whole URL when it is cross-origin. */
198
+ path: string
199
+ /** The response status, or 0 when the request never got a response. */
200
+ status: number
201
+ }
202
+ ```
203
+
204
+ #### `TraceArtifact`
205
+
206
+ What one trace says: the test it belongs to, the requests it made, and its console errors.
207
+
208
+ ```typescript
209
+ interface TraceArtifact {
210
+ /** The failure's spec file, relative to the run's directory, when the trace names one. */
211
+ spec: string | null
212
+ /** The line of the test's last traced step, 0 when the trace names no spec. */
213
+ line: number
214
+ /** The requests the page made, the interesting ones first ({@link traceArtifactsScript}). */
215
+ requests: TraceRequest[]
216
+ /** The console errors and page errors the page raised. */
217
+ console: string[]
218
+ }
219
+ ```
220
+
221
+ #### `DiagnosisTraceRewrite`
222
+
223
+ A command with the trace flag this platform decided to add, and the sentence to report it in.
224
+
225
+ ```typescript
226
+ interface DiagnosisTraceRewrite {
227
+ /** The command to run. */
228
+ command: string
229
+ /** One sentence naming the flag and why, or null when nothing was added. */
230
+ change: string | null
231
+ }
232
+ ```
233
+
189
234
  #### `ExecutionBackend`
190
235
 
191
236
  Abstraction over the execution environment.
@@ -1025,6 +1070,107 @@ function buildTools(backend: ExecutionBackend, config?: ToolBuildConfig): AITool
1025
1070
 
1026
1071
  **Returns:** Array of AITool objects ready to pass to an AI provider
1027
1072
 
1073
+ #### `traceArtifactsScript()`
1074
+
1075
+ The Node program the sandbox runs to read a failed run's traces: `node <script> <dir>` prints one
1076
+ `TRACE <json>` line per `trace.zip` under `<dir>` (newest first, {@link MAX_TRACE_ARTIFACTS} of
1077
+ them), each with the test it belongs to, the requests its page made and its console errors.
1078
+
1079
+ It is a standalone program, not an import, for the reason `@molecule/api-code-sandbox` runs it:
1080
+ Playwright's own zip reader is not reachable from a project's `node_modules`, and a dependency
1081
+ on `unzip` would make the read fail on every sandbox that has none. The zip is read with the
1082
+ central directory and `zlib.inflateRawSync` — about forty lines, and the only thing that has to
1083
+ be true of a `trace.zip` is that it IS one.
1084
+
1085
+ A request is kept over a static asset when it failed (`status >= 400`) or never answered
1086
+ (`status === 0`), and over anything else when it is the page talking to the app
1087
+ (`fetch`/`xhr`/`document`): a failing test's trace holds the whole page load, and the answer is
1088
+ always at the end of it.
1089
+
1090
+ ```typescript
1091
+ function traceArtifactsScript(): string
1092
+ ```
1093
+
1094
+ **Returns:** The program's source, to write to a file and run.
1095
+
1096
+ #### `parseTraceArtifacts(stdout)`
1097
+
1098
+ The traces {@link traceArtifactsScript} printed, parsed.
1099
+
1100
+ A line that is not a complete `TRACE <json>` (a truncated read, a program that died mid-write) is
1101
+ dropped: a partial trace is not evidence about the test it came from.
1102
+
1103
+ ```typescript
1104
+ function parseTraceArtifacts(stdout: string): TraceArtifact[]
1105
+ ```
1106
+
1107
+ - `stdout` — The program's output.
1108
+
1109
+ **Returns:** One entry per trace it printed.
1110
+
1111
+ #### `failureTraceNote(items, target)`
1112
+
1113
+ The note a failed suite run's result carries: what each failing test's page actually sent, and
1114
+ what came back.
1115
+
1116
+ This is the answer to the question a swallowed error hides — a click that changed nothing is
1117
+ usually a request that failed — so the note leads with the failing requests and says what to do
1118
+ with them: read the handler the route reaches, not the selector. It is BOUNDED to
1119
+ {@link MAX_TRACE_NOTE_TESTS} tests with {@link MAX_TRACE_NOTE_REQUESTS} requests each, because it
1120
+ rides in a result the model pays for.
1121
+
1122
+ ```typescript
1123
+ function failureTraceNote(items: readonly TraceArtifact[], target: string): string | null
1124
+ ```
1125
+
1126
+ - `items` — The traces {@link parseTraceArtifacts} read.
1127
+ - `target` — Where the run went — the deployed host, as the note names it.
1128
+
1129
+ **Returns:** The note, or null when no trace held a request or a console error.
1130
+
1131
+ #### `suiteRecordsTraces(configText)`
1132
+
1133
+ Whether a Playwright config records traces for the tests that fail.
1134
+
1135
+ Only `on` and `retain-on-failure` keep a `trace.zip` for a failure whatever the retries do: the
1136
+ two retry modes need a retry to happen at all, and a diagnosis run is given `--retries=0`
1137
+ (`streamingBackgroundCommand`), so on X1 xr-molecule-flash-m100 the run's own
1138
+ `trace: 'on-first-retry'` recorded nothing — which is what left the failing tests' network log
1139
+ unreadable. A config that sets no `trace:` at all records nothing either (Playwright's default
1140
+ is off); so does one that cannot be read.
1141
+
1142
+ ```typescript
1143
+ function suiteRecordsTraces(configText: string): boolean
1144
+ ```
1145
+
1146
+ - `configText` — The config's source, or '' when none could be read.
1147
+
1148
+ **Returns:** True when the config records traces for failures.
1149
+
1150
+ #### `diagnosisTraceCommand(args)`
1151
+
1152
+ The command a DIAGNOSIS run needs to leave a readable trace behind, when the suite's config
1153
+ would record none.
1154
+
1155
+ The failing tests' requests are only readable if the run wrote them down (see the module doc),
1156
+ and the config is where the decision about that lives — the platform does not edit the suite's
1157
+ config, so it passes the flag instead, and only where it can do no harm: on a run narrowed to a
1158
+ part of the suite or capped ({@link isDiagnosisRun}), never on the whole-suite proof run, and
1159
+ never over a `--trace` the executor wrote itself. A capped walk is exactly the run whose
1160
+ failures someone is about to work on; the proof run is graded as it is.
1161
+
1162
+ ```typescript
1163
+ function diagnosisTraceCommand(args: {
1164
+ command: string
1165
+ cwd: string
1166
+ readFile: (path: string) => Promise<string>
1167
+ }): Promise<DiagnosisTraceRewrite>
1168
+ ```
1169
+
1170
+ - `args` — The command, the directory it starts in, and the backend's file read.
1171
+
1172
+ **Returns:** The command to run and the sentence to report, or the command unchanged.
1173
+
1028
1174
  #### `shellQuote(s)`
1029
1175
 
1030
1176
  Shell-safe quoting using single quotes. Unlike JSON.stringify (double quotes),
@@ -1661,10 +1807,12 @@ function failureBlocks(s: string): string[]
1661
1807
  The shell command whose stdout is the interesting part of a log that is still being written:
1662
1808
  the failure lines so far (capped at {@link RUNNING_FAILURE_LINES}), then the end of the log.
1663
1809
 
1664
- A Playwright `list` run prints one line per test as it finishes and its error blocks only at
1665
- the end, so the LAST bytes of a running log are its least informative part — in X1 flash-m61
1666
- the last 3 000 bytes of a 139-test walk were the skip list, and all 61 failures were above
1667
- them, which cost the run the grep it had to make anyway.
1810
+ A Playwright `list` run prints one line per test as it finishes, so the LAST bytes of a running
1811
+ log are its least informative part — in X1 flash-m61 the last 3 000 bytes of a 139-test walk
1812
+ were the skip list, and all 61 failures were above them, which cost the run the grep it had to
1813
+ make anyway. A background run also carries each failure's own error as it fails
1814
+ ({@link PLAYWRIGHT_FAILURES_INLINE_ENV}), and {@link RUNNING_FAILURE_LINE_RE} already matches
1815
+ those blocks' headers and their `Error:` lines, so this slice shows the causes too.
1668
1816
 
1669
1817
  ```typescript
1670
1818
  function runningOutputSliceCommand(log: string, own?: string): string
@@ -1700,9 +1848,11 @@ function runningCauseCommand(log: string, own?: string): string
1700
1848
  The cause repeating among a running suite's failures, or null.
1701
1849
 
1702
1850
  Playwright's `list` reporter prints one line per test as it finishes — its mark, its title
1703
- path and how long it ran — and defers each failure's error to the summary at the end, so
1704
- mid-run the only signature those lines carry is the duration. Where the log carries the
1705
- failure bodies (a `line` reporter's output, or a finished run's summary) the signature is the
1851
+ path and how long it ran — and, on a run the platform started in the background, each failure's
1852
+ own error with it ({@link PLAYWRIGHT_FAILURES_INLINE_ENV}); a `list` run with no error bodies in
1853
+ its log (an older Playwright, a log the bodies have been cut from) carries only the duration as
1854
+ a signature. Where the log carries the failure bodies (either inline, or in a finished run's
1855
+ summary) the signature is the
1706
1856
  error itself — {@link failureMessage}: the error class plus the locator or the values that
1707
1857
  differ — which is stronger (it needs no assumption about how long a failure should take), so
1708
1858
  the message is looked for first and the duration is then left with the tests whose bodies the
@@ -1715,8 +1865,8 @@ each was the test timeout and one missing `navigate('/')` was the cause of all o
1715
1865
 
1716
1866
  The quorum is of DISTINCT tests — {@link REPEATING_FAILURE_MIN} of them — because a log that
1717
1867
  prints each failure twice (a second reporter, a retry) had X1 flash-m83 told that four of its
1718
- tests had failed the same way when two had, so the executor stopped a 139-test walk at test 21
1719
- with one cause in hand (2026-10-16).
1868
+
1869
+ _(description truncated — read the full text in `node_modules/@molecule/api-ai-tools/dist/utilities.d.ts`.)_
1720
1870
 
1721
1871
  ```typescript
1722
1872
  function repeatingFailure(log: string): RepeatingFailure | null
@@ -1751,6 +1901,43 @@ function universalCause(log: string, found: RepeatingFailure): UniversalCause |
1751
1901
 
1752
1902
  **Returns:** The cause's count and files, or null when the run is not failing whole.
1753
1903
 
1904
+ #### `earlyReturnCause(found, universal)`
1905
+
1906
+ The ONE finding that ends a wait early, and the only one a note may hand a stop command over
1907
+ for: a PROVEN cause that is failing the whole run.
1908
+
1909
+ Both halves are load-bearing, each of them learned from a run that lost minutes to the other.
1910
+
1911
+ - **Failing the WHOLE run** is {@link universalCause}: every failure the log names, across
1912
+ {@link UNIVERSAL_CAUSE_FILES} spec files or more, with nothing passing since the first — the
1913
+ dont-stop-runs rule. X1 flash-m83 (2026-10-16) stopped eight local runs at their first
1914
+ repeating cause in 14.5 minutes and never finished one, and a run that still has other causes
1915
+ left to name is the only thing that will name them.
1916
+ - **A PROVEN cause** is an error repeated VERBATIM. A shared DURATION is a LEAD, never a cause:
1917
+ a suite whose config sets a timeout spends that timeout on every failure that waits for
1918
+ anything, so three unrelated tests timing out together look exactly like one broken run
1919
+ (`~7 s` is a property of the CONFIG, not of the cause — {@link normalizedSignature}). X1
1920
+ xr-molecule-flash-m99 (2026-10-16) was told `status: 'repeating_failure'` twice on that
1921
+ shape — three `url-navigation.spec.ts` tests at ~16.2 s, one `timeout: 15_000` plus teardown
1922
+ — read the early return as "stop waiting, edit now", and voided a run that was still walking;
1923
+ the second cost a 224 s wait that ended with no result at all.
1924
+
1925
+ Neither half alone is enough, and {@link repeatingFailure} finding a signature is not either:
1926
+
1927
+ _(description truncated — read the full text in `node_modules/@molecule/api-ai-tools/dist/utilities.d.ts`.)_
1928
+
1929
+ ```typescript
1930
+ function earlyReturnCause(
1931
+ found: RepeatingFailure,
1932
+ universal: UniversalCause | null | undefined,
1933
+ ): UniversalCause | null
1934
+ ```
1935
+
1936
+ - `found` — What {@link repeatingFailure} found mid-run.
1937
+ - `universal` — What {@link universalCause} found for it, if anything.
1938
+
1939
+ **Returns:** The cause to stop the run over, or null — in which case nothing may be stopped, the wait keeps going, and the finding rides the run's result as a note.
1940
+
1754
1941
  #### `failuresByCause(log)`
1755
1942
 
1756
1943
  Every failure a run names, grouped by the cause behind it — one group per cause, with the
@@ -1761,11 +1948,11 @@ after another with no statement of which of them share a cause, so a run of 19 f
1761
1948
  bodies to read; X1 flash-m83 (2026-10-16) spent three deploys (6.7 minutes) each fixing a
1762
1949
  single cause, two of them found by runs stopped before they walked the rest.
1763
1950
 
1764
- The signature is the cause itself where the log carries the failures' bodies (a finished run,
1765
- or a `line` reporter) — {@link failureMessage}: the error class plus the locator or the values
1766
- that differ — and how long they took where it does not (a still-running `list` log, which is
1767
- why a duration group is labelled as a duration and not as a proven cause). A test the log
1768
- printed twice, or failed twice, is one test.
1951
+ The signature is the cause itself where the log carries the failures' bodies (a finished run, a
1952
+ background `list` run — whose failures print as they fail — or a `line` reporter) —
1953
+ {@link failureMessage}: the error class plus the locator or the values that differ — and how long
1954
+ they took where it does not, which is why a duration group is labelled as a duration and not as a
1955
+ proven cause. A test the log printed twice, or failed twice, is one test.
1769
1956
 
1770
1957
  ```typescript
1771
1958
  function failuresByCause(log: string): FailureCause[]
@@ -1826,18 +2013,19 @@ what that function could actually see in the log — including the count, which
1826
2013
  tests, so the note never names one or two tests as a cause.
1827
2014
 
1828
2015
  The note names the cause early so the executor can START FIXING while the run keeps walking,
1829
- and it asks for the run to be stopped only when {@link universalCause} says the cause is
1830
- failing the whole run. X1 flash-m76 (2026-10-16) spent 4.0 minutes walking 15 tests whose one
1831
- cause was certain at the third, 47 s in, and the note answers exactly that; X1 flash-m83 then
1832
- stopped eight runs at their first repeating cause in 14.5 minutes and never finished one, so
1833
- the note must not say to stop when the run still has other causes to name.
2016
+ and it hands a stop command over only when {@link earlyReturnCause} says so — the SAME
2017
+ predicate the wait uses to decide whether to return early, so a finding the wait keeps waiting
2018
+ on is a finding this note never asks to stop for. X1 flash-m76 (2026-10-16) spent 4.0 minutes
2019
+ walking 15 tests whose one cause was certain at the third, 47 s in, and the note answers
2020
+ exactly that; X1 flash-m83 then stopped eight runs at their first repeating cause in 14.5
2021
+ minutes and never finished one, so the note must not say to stop when the run still has other
2022
+ causes to name. X1 xr-molecule-flash-m99 (2026-10-16) is the third shape: a shared duration is
2023
+ not a cause at all, so a lead reaches the executor as a note on a result it is still waiting
2024
+ for — never as a verdict with a stop command in it.
1834
2025
 
1835
2026
  The run is STILL WALKING while this note is written — both callers produce it mid-run — so a
1836
2027
  re-run of one of its tests is a second run against the same app and database, and the platform
1837
2028
  refuses that ({@link suiteRunInTheWay}, the same rule its overlap hold answers with):
1838
- xr-molecule-flash-m89 (2026-10-16) read _"Start on them now, while the run keeps walking.
1839
- `null-fields.spec.ts:53` alone reproduces the first one."_ and sent exactly that re-run 23 s
1840
- later, where the hold answered *"A playwright suite is already running against this app and
1841
2029
 
1842
2030
  _(description truncated — read the full text in `node_modules/@molecule/api-ai-tools/dist/utilities.d.ts`.)_
1843
2031
 
@@ -1855,7 +2043,7 @@ function repeatingFailureNote(
1855
2043
  ```
1856
2044
 
1857
2045
  - `found` — What {@link repeatingFailure} found.
1858
- - `o` — The run's facts: its `taskId`, its `log` path, `stop` — the shell command that stops it, printed only for a {@link UniversalCause} — `universal`, what {@link universalCause} found (absent means the run is not failing whole), and `run`, how the run was started ({@link rerunOfRunningSuite}) when the caller knows it.
2046
+ - `o` — The run's facts: its `taskId`, its `log` path, `stop` — the shell command that stops it, printed only for an {@link earlyReturnCause} — `universal`, what {@link universalCause} found (absent means the run is not failing whole), and `run`, how the run was started ({@link rerunOfRunningSuite}) when the caller knows it.
1859
2047
 
1860
2048
  **Returns:** The note.
1861
2049
 
@@ -1982,6 +2170,80 @@ per-request limit, with each request bounded. xr-molecule-flash-m93 (+06:22,
1982
2170
  const SUITE_OVER_BUDGET_ADVICE: string
1983
2171
  ```
1984
2172
 
2173
+ #### `MAX_TRACE_ARTIFACTS`
2174
+
2175
+ How many traces one read reports, newest first.
2176
+
2177
+ ```typescript
2178
+ const MAX_TRACE_ARTIFACTS: 12
2179
+ ```
2180
+
2181
+ #### `MAX_TRACED_REQUESTS`
2182
+
2183
+ How many requests one test's trace contributes.
2184
+
2185
+ ```typescript
2186
+ const MAX_TRACED_REQUESTS: 6
2187
+ ```
2188
+
2189
+ #### `MAX_TRACED_CONSOLE`
2190
+
2191
+ How many console errors one test's trace contributes.
2192
+
2193
+ ```typescript
2194
+ const MAX_TRACED_CONSOLE: 4
2195
+ ```
2196
+
2197
+ #### `MAX_TRACE_NOTE_TESTS`
2198
+
2199
+ How many tests the note in a run's result names.
2200
+
2201
+ ```typescript
2202
+ const MAX_TRACE_NOTE_TESTS: 5
2203
+ ```
2204
+
2205
+ #### `MAX_TRACE_NOTE_REQUESTS`
2206
+
2207
+ How many requests the note names per test.
2208
+
2209
+ ```typescript
2210
+ const MAX_TRACE_NOTE_REQUESTS: 4
2211
+ ```
2212
+
2213
+ #### `TRACE_NOTE_URL_CHARS`
2214
+
2215
+ How long a URL the note prints, before the middle is cut.
2216
+
2217
+ ```typescript
2218
+ const TRACE_NOTE_URL_CHARS: 96
2219
+ ```
2220
+
2221
+ #### `DIAGNOSIS_TRACE_FLAG`
2222
+
2223
+ The `--trace` flag this platform adds, and the only value it adds it with.
2224
+
2225
+ ```typescript
2226
+ const DIAGNOSIS_TRACE_FLAG: '--trace=retain-on-failure'
2227
+ ```
2228
+
2229
+ #### `PLAYWRIGHT_FAILURES_INLINE_ENV`
2230
+
2231
+ Playwright's switch for printing each failure's own error as that test fails, instead of only in
2232
+ the summary at the end: `list` reads it in its constructor (`ListReporterOptions.printFailuresInline`,
2233
+ `playwright/lib/reporters/list.js` — 1.63, the version the toolchain pins), and when it prints
2234
+ inline the end-of-run repeat is suppressed with it (`epilogue(!printFailuresInline)`), so one
2235
+ reporter still prints each failure exactly once.
2236
+
2237
+ A background suite is put on `list` (see {@link streamingBackgroundCommand}) and this with it, so
2238
+ the log names its causes WHILE it walks. Without it the log's only failure lines are `✘` rows:
2239
+ X1 xr-molecule-flash-m99 (+19:27 → +21:00, 2026-10-16) was told to `grep -n -A 20 '<test name>'`
2240
+ the log, got nothing back through four greps, inferred causes from the spec prose instead, and
2241
+ edited `app/src` while the run was still walking — which voids the run.
2242
+
2243
+ ```typescript
2244
+ const PLAYWRIGHT_FAILURES_INLINE_ENV: 'PLAYWRIGHT_LIST_PRINT_FAILURES_INLINE'
2245
+ ```
2246
+
1985
2247
  #### `MAX_READ_SIZE`
1986
2248
 
1987
2249
  Max file size for read_file (5MB).
package/dist/index.d.ts CHANGED
@@ -140,6 +140,7 @@ export * from './schemas.js';
140
140
  export * from './suite-overlap.js';
141
141
  export * from './system-prompt.js';
142
142
  export * from './tools.js';
143
+ export * from './trace-artifacts.js';
143
144
  export * from './types.js';
144
145
  export * from './utilities.js';
145
146
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkIG;AAEH,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkIG;AAEH,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,sBAAsB,CAAA;AACpC,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
package/dist/index.js CHANGED
@@ -140,5 +140,6 @@ export * from './schemas.js';
140
140
  export * from './suite-overlap.js';
141
141
  export * from './system-prompt.js';
142
142
  export * from './tools.js';
143
+ export * from './trace-artifacts.js';
143
144
  export * from './types.js';
144
145
  export * from './utilities.js';
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAkF9C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAahG;AAwHD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAgEnE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAEA,CAAA;AAE9B;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,QAI6C,CAAA;AAmBlF;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUhE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsBxE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,CAipExF"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AA+F9C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAahG;AAyHD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAiEnE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAEA,CAAA;AAE9B;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,QAI6C,CAAA;AAmBlF;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUhE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsBxE;AAgDD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,CAovExF"}