@tangle-network/traces 0.11.3 → 0.11.4

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
@@ -645,6 +645,7 @@ The CLI is a thin consumer of these exports.
645
645
  | `redactSpans` | `(spans, rules?) → { spans, report }` | PII/secret redaction (`TRACES_REDACTION_RULES`) |
646
646
  | `planUpload` / `executeUpload` | `(…, { backend? }) → …` | redact + dedup + send to any sink |
647
647
  | `selectAdapters` / `listAdapters` / `resolveAdapter` | adapter selection + the harness registry |
648
+ | `PiAdapter` | `new PiAdapter({ sessionsRoot? })` | parse Pi's default session tree or an exact `PI_CODING_AGENT_SESSION_DIR` |
648
649
  | `HarnessTraceAdapter` | interface (`locate` + `parse`) | implement to add a harness |
649
650
  | `ExternalAnalyzer` / `Redactor` | `haloAnalyzer` / `hodoscopeAnalyzer` / `commandAnalyzer` / `commandRedactor` | drive engines/models you install |
650
651
 
@@ -5503,7 +5503,7 @@ var OpencodeAdapter = class {
5503
5503
  // src/adapters/pi.ts
5504
5504
  import { readdir as readdir12, stat as stat11 } from "fs/promises";
5505
5505
  import { homedir as homedir10 } from "os";
5506
- import { basename as basename11, join as join15 } from "path";
5506
+ import { basename as basename11, join as join15, resolve as resolve5 } from "path";
5507
5507
  var SERVICE9 = "pi";
5508
5508
  function terminalStatus(message) {
5509
5509
  const stopReason = message?.stopReason ?? "missing";
@@ -5548,44 +5548,76 @@ function completeToolSpan(toolSpan, result) {
5548
5548
  }
5549
5549
  var PiAdapter = class {
5550
5550
  harness = "pi";
5551
+ sessionsRoot;
5552
+ constructor(options = {}) {
5553
+ this.sessionsRoot = resolve5(options.sessionsRoot ?? join15(homedir10(), ".pi", "agent", "sessions"));
5554
+ }
5551
5555
  root() {
5552
- return join15(homedir10(), ".pi", "agent", "sessions");
5556
+ return this.sessionsRoot;
5553
5557
  }
5554
5558
  async locate(opts = {}) {
5555
5559
  const root = this.root();
5556
- let dirs;
5560
+ let entries;
5557
5561
  try {
5558
- dirs = await readdir12(root);
5562
+ entries = await readdir12(root, { withFileTypes: true });
5559
5563
  } catch (error) {
5560
5564
  if (isMissingPathError(error)) return [];
5561
5565
  throw error;
5562
5566
  }
5563
- const refs = [];
5564
- for (const dir of dirs) {
5565
- const dp = join15(root, dir);
5567
+ const paths = [];
5568
+ for (const entry of entries) {
5569
+ if (entry.isFile() && entry.name.endsWith(".jsonl")) {
5570
+ paths.push(join15(root, entry.name));
5571
+ continue;
5572
+ }
5573
+ if (!entry.isDirectory()) continue;
5574
+ const dir = join15(root, entry.name);
5566
5575
  let files;
5567
5576
  try {
5568
- files = await readdir12(dp);
5577
+ files = await readdir12(dir);
5569
5578
  } catch (error) {
5570
5579
  if (isMissingPathError(error)) continue;
5571
5580
  throw error;
5572
5581
  }
5573
- const cwd = `/${dir.replace(/^-+/, "").replace(/-+$/, "").replace(/-/g, "/")}`;
5574
- if (opts.cwd && !cwd.startsWith(opts.cwd)) continue;
5575
- for (const f of files) {
5576
- if (!f.endsWith(".jsonl")) continue;
5577
- const path = join15(dp, f);
5578
- let st;
5579
- try {
5580
- st = await stat11(path);
5581
- } catch (error) {
5582
- if (isMissingPathError(error)) continue;
5583
- throw error;
5584
- }
5585
- if (opts.sinceMs && st.mtimeMs < opts.sinceMs) continue;
5586
- const id = basename11(f, ".jsonl").replace(/^[\dTZ.-]+_/, "");
5587
- refs.push({ harness: this.harness, sessionId: id, path, cwd, mtimeMs: st.mtimeMs });
5582
+ for (const file of files) {
5583
+ if (file.endsWith(".jsonl")) paths.push(join15(dir, file));
5584
+ }
5585
+ }
5586
+ const refs = [];
5587
+ for (const path of paths) {
5588
+ const f = basename11(path);
5589
+ let st;
5590
+ try {
5591
+ st = await stat11(path);
5592
+ } catch (error) {
5593
+ if (isMissingPathError(error)) continue;
5594
+ throw error;
5588
5595
  }
5596
+ if (opts.sinceMs && st.mtimeMs < opts.sinceMs) continue;
5597
+ let id = basename11(f, ".jsonl").replace(/^[\dTZ.-]+_/, "");
5598
+ let cwd = null;
5599
+ const ref = {
5600
+ harness: this.harness,
5601
+ sessionId: id,
5602
+ path,
5603
+ cwd,
5604
+ mtimeMs: st.mtimeMs
5605
+ };
5606
+ const [session] = await takeJsonl(path, 1, sessionJsonlOptions(ref));
5607
+ if (session?.type === "session") {
5608
+ if (session.id) id = session.id;
5609
+ if (session.cwd) cwd = session.cwd;
5610
+ }
5611
+ ref.sessionId = id;
5612
+ ref.cwd = cwd;
5613
+ if (ref.integrity) {
5614
+ ref.integrity.corruptions = ref.integrity.corruptions.map((receipt) => ({
5615
+ ...receipt,
5616
+ sessionId: id
5617
+ }));
5618
+ }
5619
+ if (opts.cwd && (!cwd || !cwd.startsWith(opts.cwd))) continue;
5620
+ refs.push(ref);
5589
5621
  }
5590
5622
  return refs.sort((a, b) => b.mtimeMs - a.mtimeMs);
5591
5623
  }
@@ -6332,7 +6364,7 @@ async function stampSpanWorkdirRepoAttrs(spans) {
6332
6364
  async function awaitWithAbort(operation, signal) {
6333
6365
  if (!signal) return operation;
6334
6366
  signal.throwIfAborted();
6335
- return new Promise((resolve7, reject) => {
6367
+ return new Promise((resolve8, reject) => {
6336
6368
  const stop = () => {
6337
6369
  signal.removeEventListener("abort", stop);
6338
6370
  reject(signal.reason);
@@ -6341,7 +6373,7 @@ async function awaitWithAbort(operation, signal) {
6341
6373
  operation.then(
6342
6374
  (value) => {
6343
6375
  signal.removeEventListener("abort", stop);
6344
- resolve7(value);
6376
+ resolve8(value);
6345
6377
  },
6346
6378
  (error) => {
6347
6379
  signal.removeEventListener("abort", stop);
@@ -8497,13 +8529,13 @@ function terminateWindowsProcessTree(child) {
8497
8529
  forceKill(child);
8498
8530
  return Promise.resolve();
8499
8531
  }
8500
- return new Promise((resolve7) => {
8532
+ return new Promise((resolve8) => {
8501
8533
  let finished = false;
8502
8534
  const finish = () => {
8503
8535
  if (finished) return;
8504
8536
  finished = true;
8505
8537
  forceKill(child);
8506
- resolve7();
8538
+ resolve8();
8507
8539
  };
8508
8540
  let killer;
8509
8541
  try {
@@ -8530,7 +8562,7 @@ function signalProcess(pid, signal) {
8530
8562
  }
8531
8563
  }
8532
8564
  function readProcessTableWithPs() {
8533
- return new Promise((resolve7, reject) => {
8565
+ return new Promise((resolve8, reject) => {
8534
8566
  let child;
8535
8567
  try {
8536
8568
  child = spawn("ps", ["-A", "-o", "pid=", "-o", "ppid="], {
@@ -8584,7 +8616,7 @@ function readProcessTableWithPs() {
8584
8616
  reject(new Error("ps: returned no process records"));
8585
8617
  return;
8586
8618
  }
8587
- resolve7(rows);
8619
+ resolve8(rows);
8588
8620
  });
8589
8621
  });
8590
8622
  });
@@ -8719,7 +8751,7 @@ function runCommand(command, args = [], opts = {}) {
8719
8751
  throw new RangeError("maxBuffer must be a positive safe integer");
8720
8752
  }
8721
8753
  if (opts.signal?.aborted) return Promise.reject(abortError(opts.signal));
8722
- return new Promise((resolve7, reject) => {
8754
+ return new Promise((resolve8, reject) => {
8723
8755
  let child;
8724
8756
  try {
8725
8757
  child = spawn(command, [...args], { detached: process.platform !== "win32" });
@@ -8751,7 +8783,7 @@ function runCommand(command, args = [], opts = {}) {
8751
8783
  } else if (spawnError) {
8752
8784
  reject(spawnError);
8753
8785
  } else {
8754
- resolve7({ stdout: out, stderr: err, code: closeCode });
8786
+ resolve8({ stdout: out, stderr: err, code: closeCode });
8755
8787
  }
8756
8788
  };
8757
8789
  function requestTermination(error) {
@@ -8983,10 +9015,10 @@ function commandRedactor(spec) {
8983
9015
  import { createHash as createHash9 } from "crypto";
8984
9016
  import { mkdir as mkdir3, mkdtemp as mkdtemp3, readFile as readFile8, readdir as readdir15, writeFile as writeFile4 } from "fs/promises";
8985
9017
  import { endianness, tmpdir as tmpdir4 } from "os";
8986
- import { join as join22, resolve as resolve5 } from "path";
9018
+ import { join as join22, resolve as resolve6 } from "path";
8987
9019
  var HODOSCOPE_VERSION = "0.2.4";
8988
9020
  async function writeHodoscopeInput(otlpPath, options = {}) {
8989
- const explicitDirectory = options.directory ? resolve5(options.directory) : void 0;
9021
+ const explicitDirectory = options.directory ? resolve6(options.directory) : void 0;
8990
9022
  const directory = explicitDirectory ?? await mkdtemp3(join22(tmpdir4(), "traces-hodoscope-input-"));
8991
9023
  if (explicitDirectory) {
8992
9024
  await mkdir3(directory, { recursive: true });
@@ -9042,7 +9074,7 @@ function hodoscopeAnalyzer(options = {}) {
9042
9074
  return {
9043
9075
  name: "hodoscope",
9044
9076
  async analyze(otlpPath, runOptions2 = {}) {
9045
- const outputRoot = options.outputDir ? resolve5(options.outputDir) : tmpdir4();
9077
+ const outputRoot = options.outputDir ? resolve6(options.outputDir) : tmpdir4();
9046
9078
  await mkdir3(outputRoot, { recursive: true });
9047
9079
  const directory = await mkdtemp3(join22(outputRoot, "traces-hodoscope-"));
9048
9080
  const input = join22(directory, "input");
@@ -9246,7 +9278,7 @@ async function readHodoscopeAnalysis(path, expected) {
9246
9278
  throw new Error("Hodoscope analysis.created_at must be a valid date-time");
9247
9279
  }
9248
9280
  const source = requiredString2(value.source, "analysis.source");
9249
- if (resolve5(source) !== resolve5(expected.source)) {
9281
+ if (resolve6(source) !== resolve6(expected.source)) {
9250
9282
  throw new Error(
9251
9283
  `Hodoscope analysis.source '${source}' does not match requested input '${expected.source}'`
9252
9284
  );
@@ -12191,7 +12223,7 @@ function renderAdoption(ar) {
12191
12223
  // src/improvement.ts
12192
12224
  import { access, mkdir as mkdir4, mkdtemp as mkdtemp6, writeFile as writeFile7 } from "fs/promises";
12193
12225
  import { tmpdir as tmpdir7 } from "os";
12194
- import { dirname as dirname7, join as join26, resolve as resolve6 } from "path";
12226
+ import { dirname as dirname7, join as join26, resolve as resolve7 } from "path";
12195
12227
  import { pathToFileURL } from "url";
12196
12228
  import {
12197
12229
  AnalystRegistry,
@@ -12549,7 +12581,7 @@ function registryFromConfig(config) {
12549
12581
  async function existingConfigPath(path) {
12550
12582
  const candidates = path ? [path] : ["traces.config.mjs", "traces.config.js", "traces.config.cjs"];
12551
12583
  for (const candidate of candidates) {
12552
- const resolved = resolve6(candidate);
12584
+ const resolved = resolve7(candidate);
12553
12585
  try {
12554
12586
  await access(resolved);
12555
12587
  return resolved;
@@ -12698,7 +12730,7 @@ async function runTraceStoreInvestigation(opts) {
12698
12730
  };
12699
12731
  }
12700
12732
  async function writeTraceImprovementArtifacts(result, outDir) {
12701
- const directory = outDir ? resolve6(outDir) : await mkdtemp6(join26(tmpdir7(), "traces-improvement-"));
12733
+ const directory = outDir ? resolve7(outDir) : await mkdtemp6(join26(tmpdir7(), "traces-improvement-"));
12702
12734
  await mkdir4(directory, { recursive: true });
12703
12735
  const paths = {
12704
12736
  directory,
@@ -12716,7 +12748,7 @@ async function writeTraceImprovementArtifacts(result, outDir) {
12716
12748
  return paths;
12717
12749
  }
12718
12750
  async function runTraceImprovement(opts) {
12719
- const directory = opts.outDir ? resolve6(opts.outDir) : await mkdtemp6(join26(tmpdir7(), "traces-improvement-"));
12751
+ const directory = opts.outDir ? resolve7(opts.outDir) : await mkdtemp6(join26(tmpdir7(), "traces-improvement-"));
12720
12752
  await mkdir4(directory, { recursive: true });
12721
12753
  const investigation = await runTraceInvestigation({
12722
12754
  ...opts,
@@ -12732,7 +12764,7 @@ async function runTraceImprovement(opts) {
12732
12764
  };
12733
12765
  }
12734
12766
  async function saveReport(path, report) {
12735
- await mkdir4(dirname7(resolve6(path)), { recursive: true });
12767
+ await mkdir4(dirname7(resolve7(path)), { recursive: true });
12736
12768
  await writeFile7(path, report, "utf8");
12737
12769
  }
12738
12770
 
@@ -12741,18 +12773,18 @@ import { createHash as createHash11 } from "crypto";
12741
12773
  var VERIFY_RE = /\b(test|tests|vitest|jest|pytest|go test|cargo test|tsc|typecheck|lint|biome|eslint|build|check:invariants|preflight)\b/i;
12742
12774
  var CHANGE_RE = /\b(apply_patch|edit|write|create|delete|rename|replace|update|git apply|sed -i|perl -pi|tee\s|cat\s+>)/i;
12743
12775
  var CLAIM_DONE_RE = /\b(done|fixed|complete|completed|implemented|merged|verified|all green|tests pass|ready|works now)\b/i;
12744
- var sleep = (ms2, signal) => new Promise((resolve7) => {
12776
+ var sleep = (ms2, signal) => new Promise((resolve8) => {
12745
12777
  if (signal?.aborted) {
12746
- resolve7();
12778
+ resolve8();
12747
12779
  return;
12748
12780
  }
12749
12781
  const onAbort = () => {
12750
12782
  clearTimeout(t);
12751
- resolve7();
12783
+ resolve8();
12752
12784
  };
12753
12785
  const t = setTimeout(() => {
12754
12786
  signal?.removeEventListener("abort", onAbort);
12755
- resolve7();
12787
+ resolve8();
12756
12788
  }, ms2);
12757
12789
  signal?.addEventListener("abort", onAbort, { once: true });
12758
12790
  });
@@ -14227,13 +14259,13 @@ function aborted(signal) {
14227
14259
  return signal !== void 0 && signal.aborted;
14228
14260
  }
14229
14261
  function sleep2(msDelay, signal) {
14230
- return new Promise((resolve7) => {
14231
- const timer = setTimeout(resolve7, msDelay);
14262
+ return new Promise((resolve8) => {
14263
+ const timer = setTimeout(resolve8, msDelay);
14232
14264
  signal?.addEventListener(
14233
14265
  "abort",
14234
14266
  () => {
14235
14267
  clearTimeout(timer);
14236
- resolve7();
14268
+ resolve8();
14237
14269
  },
14238
14270
  { once: true }
14239
14271
  );
package/dist/cli.js CHANGED
@@ -54,7 +54,7 @@ import {
54
54
  writePolicyEvidenceFile,
55
55
  writeSessionIndexFile,
56
56
  writeTraceEvidenceExportFile
57
- } from "./chunk-CK5F5TWO.js";
57
+ } from "./chunk-AGPOIWPQ.js";
58
58
 
59
59
  // src/cli.ts
60
60
  import { readFileSync } from "fs";
package/dist/index.d.ts CHANGED
@@ -1264,7 +1264,8 @@ declare class FactoryAdapter implements HarnessTraceAdapter {
1264
1264
  }
1265
1265
 
1266
1266
  /**
1267
- * Pi adapter — `~/.pi/agent/sessions/<encoded-cwd>/<ts>_<uuid>.jsonl`.
1267
+ * Pi adapter — the default `~/.pi/agent/sessions/<encoded-cwd>/<ts>_<uuid>.jsonl`
1268
+ * layout or a caller-supplied session directory containing JSONL files directly.
1268
1269
  *
1269
1270
  * Line types: `session` (id + cwd), `model_change`, `thinking_level_change`,
1270
1271
  * and `message`. A `message` line wraps `message.{role, model, provider,
@@ -1274,8 +1275,14 @@ declare class FactoryAdapter implements HarnessTraceAdapter {
1274
1275
  * separate `role: "toolResult"` messages keyed by `message.toolCallId`.
1275
1276
  */
1276
1277
 
1278
+ interface PiAdapterOptions {
1279
+ /** Pi's effective session directory, including PI_CODING_AGENT_SESSION_DIR overrides. */
1280
+ sessionsRoot?: string;
1281
+ }
1277
1282
  declare class PiAdapter implements HarnessTraceAdapter {
1278
1283
  readonly harness = "pi";
1284
+ private readonly sessionsRoot;
1285
+ constructor(options?: PiAdapterOptions);
1279
1286
  private root;
1280
1287
  locate(opts?: LocateOptions): Promise<SessionRef[]>;
1281
1288
  parse(ref: SessionRef, options?: ParseOptions): Promise<OtlpSpan[]>;
@@ -3848,4 +3855,4 @@ interface ExecuteOptions {
3848
3855
  /** Send the final, new outbound items (or write their dry-run OTLP). */
3849
3856
  declare function executeUpload(plan: UploadPlan, opts?: ExecuteOptions): Promise<UploadResult>;
3850
3857
 
3851
- export { ACTOR_ATTR, ATTR, type Actor, type AdoptionOptions, type AdoptionReport, AmpAdapter, type AnalystReplayFinding, type AnalyzeOptions, type AnalyzeResult, type ArmExecutionResult, BLOBS_DIR, type BuildPolicyEvidenceOptions, type BuildSessionIndexOptions, type BuildTraceFindingPacketOptions, CODING_REDACTION_RULES, CONTENT_CAP, COORDINATION_LOG_FILE, CORRECTIVE_REACTIONS, type CaseResources, type ChatCompletionCaller, type ChatOutcome, type ChatTrajectory, type ChatTrajectoryMessage, type ChatTrajectoryOptions, type ChatUsage, ClaudeAdapter, type CodeTraceBenchFileRef, type CodeTraceBenchImportOptions, type CodeTraceBenchImportReceipt, type CodeTraceBenchImportResult, type CodeTraceBenchImportedTrace, type CodeTraceBenchStep, CodexAdapter, CodexExecAdapter, CodexExecStreamError, CodexTaskScopeError, type CollectOptions, type CollectPolicyEvidenceOptions, type CollectSessionIndexOptions, type CollectSessionSelectionOptions, type CollectSessionWorkflowOptions, type ConformanceRenderOptions, type CoordinationLog, type CoordinationQuestion, type CoordinationSteer, CopilotAdapter, type CorpusSpec, type CorruptionMode, type CwdSource, DEFAULT_HARNESS, type DockerImagePreparerOptions, EMPTY_SPAN_RUN_SNAPSHOT, EXPORT_RULE, EmptySessionError, type EnumerationResult, type ExcludedCase, type ExecuteOptions, type ExportRule, type ExternalAnalysisKind, type ExternalAnalysisPayload, type ExternalAnalysisResult, type ExternalAnalyzer, type ExternalAnalyzerOptions, type ExternalDiscoveryCandidate, FactoryAdapter, type FileRunContextReaderOptions, type FixGenerationOutcome, type FixPromptInput, ForgeAdapter, GeminiAdapter, type HaloAnalyzerOptions, type HaloReasoningEffort, type HarnessTraceAdapter, type HodoscopeAnalyzerOptions, type HodoscopeInput, type HodoscopeMessage, type HodoscopeSourceMapEntry, type HodoscopeTrajectory, INGEST_SOURCE_CLI, type ImagePreparation, type ImagePreparer, type IncorrectStepsSubject, type IngestedTrajectory, type InspectSessionIndexOptions, JsonSourceError, type JsonlCorruptionReceipt, JsonlParseError, type JsonlReadOptions, type LiveBatchOptions, type LocateOptions, type LoopConvergence, type LoopConvergenceReport, type LoopIteration, type LoopTrend, type LoopTrendBasis, type ObservedLoop, type ObserverOptions, OpencodeAdapter, type OtlpIngestIssue, type OtlpIngestIssueKind, type OtlpInput, type OtlpInputFile, type OtlpRowConversion, type OtlpSpan, type OtlpSpanKind, type OtlpSpanLink, type OtlpStatusCode, type ParentTaskResolution, type ParseOptions, PartialUploadError, PiAdapter, type PipelineOptions, type PipelineReport, type PlanOptions, type PolicyEvidenceLoopSummary, type PolicyEvidenceRecord, type PolicyEvidenceToolSummary, type PrefixDivergence, type PrefixReplayResult, QwenAdapter, REACTIONS, RESULT_FILE, RULE, type Reaction, type ReactionReport, type ReactionSessionReport, type Redactor, type ReplayArmVerdict, type ReplayBatchCaseRow, type ReplayBatchCliArgs, type ReplayBatchFixResult, type ReplayBatchOptions, type ReplayBatchReport, type ReplayExclusionReason, type ReplayExecBackend, type ReplayExecResult, type ReplayExecSession, type ReplayFindingOptions, type ReplayFindingResult, type ReplayVerdict, type ReplayVerifyCliArgs, type ReplayVerifyOptions, type ReplayableCase, type RepoAttrs, type RepoResolution, type RepoResolutionSource, type ResolvedOtlpInput, type ResolvedReplayInvocation, type ResourceResolution, type RunContextJournal, type RunContextNode, type RunContextResult, type RunContextSnapshot, type RunResult, type RunWatchSnapshot, type RunWatchTarget, type RuntimeTrace, SPAWN_JOURNAL_FILE, STATUS_MARK, SUBMIT_ACTION_SIGNATURE, SandboxCounterfactualRunner, type SandboxCounterfactualRunnerOptions, type SandboxReplayBackendOptions, type ScanOptions, type ScannedSession, type SessionBatch, type SessionCorruptionReceipt, type SessionIdentityConflict, type SessionIdentityIndex, type SessionIntegrity, type SessionRef, type SessionRelationship, type SessionRole, type SessionSeedGroup, type SessionSelection, type SessionSelectionRow, type SessionSourceFile, type SessionWorkflow, SessionWorkflowError, type SessionWorkflowErrorCode, type SessionWorkflowIssue, type SessionWorkflowSession, type SessionWorkflowSummary, type SkippedAnalysis, type SkippedInputFile, type SpanInput, type SpanNodeStatus, type SpanRedaction, type SpanRunNode, type SpanRunSnapshot, type SpanStructure, type SpendRoll, type SteeringChainReport, type SteeringEdge, TRACES_REDACTION_RULES, type TraceAgenticRoute, type TraceAgenticRouteReason, type TraceAgenticRouteReasonCode, type TraceContextIndex, type TraceContextRoot, type TraceEvidenceExportOptions, type TraceEvidenceExportResult, type TraceEvidenceFormatOption, type TraceEvidenceInputFormat, type TraceEvidenceRow, type TraceExecutionOptions, type TraceFindingPacket, type TraceImprovementArtifacts, type TraceImprovementOptions, type TraceImprovementResult, type TraceIndexedFile, type TraceInspectionArea, type TraceInspectionFinding, type TraceInspectionReport, type TraceInspectionSeverity, type TraceInvestigationOptions, type TraceInvestigationResult, type TraceLiveAction, type TraceLiveActionKind, type TraceLiveAnalysisContext, type TraceLiveAnalyst, type TraceLiveBatch, type TraceLiveEvidence, type TraceLiveFinding, type TraceLiveLoop, type TraceLiveSeverity, type TraceSessionIndex, type TraceSessionIndexRow, type TraceStoreInvestigationOptions, type TraceStoreInvestigationResult, type TraceStreamEvent, type TraceStreamOptions, type TraceStreamReplayOptions, type TraceStreamSession, type TracesConfig, type TriggerPair, type UnavailableCapabilities, type UploadBackend, type UploadIdentity, type UploadItem, type UploadPlan, type UploadRecord, type UploadResult, type UploadState, type UserPromptInput, type WatchRunTargetOptions, ZERO_ROLL, type ZaiChatCallerOptions, addSpend, alreadyUploaded, analyzeAdoption, analyzeLiveBatch, analyzeLoopConvergence, analyzeReactions, analyzeSpans, analyzeSteeringChain, applyRedactor, buildFixPrompt, buildPolicyEvidenceRecord, buildSessionIndex, buildSessionIndexFromRows, buildSpanRunTree, buildTraceFindingPacket, capText, chatTrajectoryToSpans, classifyLiveActions, classifyReaction, claudeActor, cmdReplayVerify, cmdReplayVerifyBatch, codexActor, collectPolicyEvidence, collectSessionIndex, collectSessionSelection, collectSessionWorkflow, collectSessions, commandAnalyzer, commandRedactor, conformanceOfSpans, connectors, countSkillRunsJsonl, cwdMatchesSelection, defaultTraceLiveAnalysts, deriveFailureSignature, derivedImageTag, describeSessionRelationship, dockerImagePreparer, enumerateReplayableCases, equivalentGitCwds, executeUpload, exportTraceEvidenceFile, exportTraceEvidenceRows, exportTraceEvidenceText, extractFixCommand, fileRunContextSupervisorRunReader, findSpanSourceFiles, forEachTreeNode, generateFixCommand, goldIncorrectSteps, haloAnalyzer, hodoscopeAnalyzer, importCodeTraceBench, incompleteInputsNote, indexSessionIdsByTrace, inferRole, inferSpanKind, ingestCodeTraceBenchSteps, inspectSessionIndex, int, isChatTrajectory, isChatTrajectoryMessage, isFileRunContextDir, isSubmitAction, knownHarnesses, listAdapters, loadState, loadTracesConfig, locateSessions, looksLikeAgentPrompt, mergeRolls, mergeTracesConfig, ms, normalizeRemote, otlpRowToSpan, outboundHash, parseCorpusFlag, parseIncorrectStepsSubject, parseIsoToEpochMs, parseObservationOutput, parseRecordedReturncode, parseReplayBatchArgs, parseReplayVerifyArgs, parseSession, parseSince, planTraceAgenticRoute, planUpload, readCoordinationLog, readFileRunContext, readJsonFile, readJsonl, readLabelEntries, readOtlpInput, readRunContextJournal, readRunContextSnapshot, readRunWatchSnapshot, readSessionIndexFile, readSpanRunSnapshot, recordSessionCorruption, redactSpans, renderBatchReport, renderConformance, renderInspectionReport, renderRunContextSnapshot, renderRunWatchSnapshot, renderSpanRunSnapshot, renderValidation, replayBatchUsage, replayVerify, replayVerifyFinding, replayVerifyUsage, resolveAdapter, resolveCaseResources, resolveFindingInvocation, resolveOtlpInputFiles, resolveRepoAttrs, resolveRunContextDir, resolveRunWatchTarget, resolveSessionRepoAttrs, runCommand, runExternalAnalyzers, runPipelines, runReplayBatch, runTotals, runTraceImprovement, runTraceInvestigation, runTraceStoreInvestigation, sandboxReplayBackend, saveReport, saveState, scanSessions, seededSample, selectAdapters, serializeInspectionReport, serializePolicyEvidence, serializeSessionIndex, serializeSpans, serializeTraceStreamEvent, sessionHash, sessionIdFromAttributes, sessionIntegrityAttributes, skippedAnalyses, span, spanRunTotals, stampRepoAttrs, stampSessionIdentity, stampSessionIntegrity, stampSpanWorkdirRepoAttrs, streamSessions, summarizeOtlpExecution, summarizeSpanExecution, summarizeSpanStructure, takeJsonl, textIsSynthetic, toOpenInferenceSpan, toRuntimeStore, toTraceSpanEvents, tokens, totalAgenticFailureMessage, traceAgenticKinds, traceStreamEventsFromSpans, unavailableCapabilities, uploadKey, usd, userPromptSpan, validateOtlpSpans, validationExitCode, watchRunTarget, watchSessions, wrap, wrapActionForExec, writeHodoscopeInput, writeInspectionReportFile, writeOtlpFile, writePolicyEvidenceFile, writeSessionIndexFile, writeTraceEvidenceExportFile, writeTraceImprovementArtifacts, zaiChatCaller, zeroPricedCost };
3858
+ export { ACTOR_ATTR, ATTR, type Actor, type AdoptionOptions, type AdoptionReport, AmpAdapter, type AnalystReplayFinding, type AnalyzeOptions, type AnalyzeResult, type ArmExecutionResult, BLOBS_DIR, type BuildPolicyEvidenceOptions, type BuildSessionIndexOptions, type BuildTraceFindingPacketOptions, CODING_REDACTION_RULES, CONTENT_CAP, COORDINATION_LOG_FILE, CORRECTIVE_REACTIONS, type CaseResources, type ChatCompletionCaller, type ChatOutcome, type ChatTrajectory, type ChatTrajectoryMessage, type ChatTrajectoryOptions, type ChatUsage, ClaudeAdapter, type CodeTraceBenchFileRef, type CodeTraceBenchImportOptions, type CodeTraceBenchImportReceipt, type CodeTraceBenchImportResult, type CodeTraceBenchImportedTrace, type CodeTraceBenchStep, CodexAdapter, CodexExecAdapter, CodexExecStreamError, CodexTaskScopeError, type CollectOptions, type CollectPolicyEvidenceOptions, type CollectSessionIndexOptions, type CollectSessionSelectionOptions, type CollectSessionWorkflowOptions, type ConformanceRenderOptions, type CoordinationLog, type CoordinationQuestion, type CoordinationSteer, CopilotAdapter, type CorpusSpec, type CorruptionMode, type CwdSource, DEFAULT_HARNESS, type DockerImagePreparerOptions, EMPTY_SPAN_RUN_SNAPSHOT, EXPORT_RULE, EmptySessionError, type EnumerationResult, type ExcludedCase, type ExecuteOptions, type ExportRule, type ExternalAnalysisKind, type ExternalAnalysisPayload, type ExternalAnalysisResult, type ExternalAnalyzer, type ExternalAnalyzerOptions, type ExternalDiscoveryCandidate, FactoryAdapter, type FileRunContextReaderOptions, type FixGenerationOutcome, type FixPromptInput, ForgeAdapter, GeminiAdapter, type HaloAnalyzerOptions, type HaloReasoningEffort, type HarnessTraceAdapter, type HodoscopeAnalyzerOptions, type HodoscopeInput, type HodoscopeMessage, type HodoscopeSourceMapEntry, type HodoscopeTrajectory, INGEST_SOURCE_CLI, type ImagePreparation, type ImagePreparer, type IncorrectStepsSubject, type IngestedTrajectory, type InspectSessionIndexOptions, JsonSourceError, type JsonlCorruptionReceipt, JsonlParseError, type JsonlReadOptions, type LiveBatchOptions, type LocateOptions, type LoopConvergence, type LoopConvergenceReport, type LoopIteration, type LoopTrend, type LoopTrendBasis, type ObservedLoop, type ObserverOptions, OpencodeAdapter, type OtlpIngestIssue, type OtlpIngestIssueKind, type OtlpInput, type OtlpInputFile, type OtlpRowConversion, type OtlpSpan, type OtlpSpanKind, type OtlpSpanLink, type OtlpStatusCode, type ParentTaskResolution, type ParseOptions, PartialUploadError, PiAdapter, type PiAdapterOptions, type PipelineOptions, type PipelineReport, type PlanOptions, type PolicyEvidenceLoopSummary, type PolicyEvidenceRecord, type PolicyEvidenceToolSummary, type PrefixDivergence, type PrefixReplayResult, QwenAdapter, REACTIONS, RESULT_FILE, RULE, type Reaction, type ReactionReport, type ReactionSessionReport, type Redactor, type ReplayArmVerdict, type ReplayBatchCaseRow, type ReplayBatchCliArgs, type ReplayBatchFixResult, type ReplayBatchOptions, type ReplayBatchReport, type ReplayExclusionReason, type ReplayExecBackend, type ReplayExecResult, type ReplayExecSession, type ReplayFindingOptions, type ReplayFindingResult, type ReplayVerdict, type ReplayVerifyCliArgs, type ReplayVerifyOptions, type ReplayableCase, type RepoAttrs, type RepoResolution, type RepoResolutionSource, type ResolvedOtlpInput, type ResolvedReplayInvocation, type ResourceResolution, type RunContextJournal, type RunContextNode, type RunContextResult, type RunContextSnapshot, type RunResult, type RunWatchSnapshot, type RunWatchTarget, type RuntimeTrace, SPAWN_JOURNAL_FILE, STATUS_MARK, SUBMIT_ACTION_SIGNATURE, SandboxCounterfactualRunner, type SandboxCounterfactualRunnerOptions, type SandboxReplayBackendOptions, type ScanOptions, type ScannedSession, type SessionBatch, type SessionCorruptionReceipt, type SessionIdentityConflict, type SessionIdentityIndex, type SessionIntegrity, type SessionRef, type SessionRelationship, type SessionRole, type SessionSeedGroup, type SessionSelection, type SessionSelectionRow, type SessionSourceFile, type SessionWorkflow, SessionWorkflowError, type SessionWorkflowErrorCode, type SessionWorkflowIssue, type SessionWorkflowSession, type SessionWorkflowSummary, type SkippedAnalysis, type SkippedInputFile, type SpanInput, type SpanNodeStatus, type SpanRedaction, type SpanRunNode, type SpanRunSnapshot, type SpanStructure, type SpendRoll, type SteeringChainReport, type SteeringEdge, TRACES_REDACTION_RULES, type TraceAgenticRoute, type TraceAgenticRouteReason, type TraceAgenticRouteReasonCode, type TraceContextIndex, type TraceContextRoot, type TraceEvidenceExportOptions, type TraceEvidenceExportResult, type TraceEvidenceFormatOption, type TraceEvidenceInputFormat, type TraceEvidenceRow, type TraceExecutionOptions, type TraceFindingPacket, type TraceImprovementArtifacts, type TraceImprovementOptions, type TraceImprovementResult, type TraceIndexedFile, type TraceInspectionArea, type TraceInspectionFinding, type TraceInspectionReport, type TraceInspectionSeverity, type TraceInvestigationOptions, type TraceInvestigationResult, type TraceLiveAction, type TraceLiveActionKind, type TraceLiveAnalysisContext, type TraceLiveAnalyst, type TraceLiveBatch, type TraceLiveEvidence, type TraceLiveFinding, type TraceLiveLoop, type TraceLiveSeverity, type TraceSessionIndex, type TraceSessionIndexRow, type TraceStoreInvestigationOptions, type TraceStoreInvestigationResult, type TraceStreamEvent, type TraceStreamOptions, type TraceStreamReplayOptions, type TraceStreamSession, type TracesConfig, type TriggerPair, type UnavailableCapabilities, type UploadBackend, type UploadIdentity, type UploadItem, type UploadPlan, type UploadRecord, type UploadResult, type UploadState, type UserPromptInput, type WatchRunTargetOptions, ZERO_ROLL, type ZaiChatCallerOptions, addSpend, alreadyUploaded, analyzeAdoption, analyzeLiveBatch, analyzeLoopConvergence, analyzeReactions, analyzeSpans, analyzeSteeringChain, applyRedactor, buildFixPrompt, buildPolicyEvidenceRecord, buildSessionIndex, buildSessionIndexFromRows, buildSpanRunTree, buildTraceFindingPacket, capText, chatTrajectoryToSpans, classifyLiveActions, classifyReaction, claudeActor, cmdReplayVerify, cmdReplayVerifyBatch, codexActor, collectPolicyEvidence, collectSessionIndex, collectSessionSelection, collectSessionWorkflow, collectSessions, commandAnalyzer, commandRedactor, conformanceOfSpans, connectors, countSkillRunsJsonl, cwdMatchesSelection, defaultTraceLiveAnalysts, deriveFailureSignature, derivedImageTag, describeSessionRelationship, dockerImagePreparer, enumerateReplayableCases, equivalentGitCwds, executeUpload, exportTraceEvidenceFile, exportTraceEvidenceRows, exportTraceEvidenceText, extractFixCommand, fileRunContextSupervisorRunReader, findSpanSourceFiles, forEachTreeNode, generateFixCommand, goldIncorrectSteps, haloAnalyzer, hodoscopeAnalyzer, importCodeTraceBench, incompleteInputsNote, indexSessionIdsByTrace, inferRole, inferSpanKind, ingestCodeTraceBenchSteps, inspectSessionIndex, int, isChatTrajectory, isChatTrajectoryMessage, isFileRunContextDir, isSubmitAction, knownHarnesses, listAdapters, loadState, loadTracesConfig, locateSessions, looksLikeAgentPrompt, mergeRolls, mergeTracesConfig, ms, normalizeRemote, otlpRowToSpan, outboundHash, parseCorpusFlag, parseIncorrectStepsSubject, parseIsoToEpochMs, parseObservationOutput, parseRecordedReturncode, parseReplayBatchArgs, parseReplayVerifyArgs, parseSession, parseSince, planTraceAgenticRoute, planUpload, readCoordinationLog, readFileRunContext, readJsonFile, readJsonl, readLabelEntries, readOtlpInput, readRunContextJournal, readRunContextSnapshot, readRunWatchSnapshot, readSessionIndexFile, readSpanRunSnapshot, recordSessionCorruption, redactSpans, renderBatchReport, renderConformance, renderInspectionReport, renderRunContextSnapshot, renderRunWatchSnapshot, renderSpanRunSnapshot, renderValidation, replayBatchUsage, replayVerify, replayVerifyFinding, replayVerifyUsage, resolveAdapter, resolveCaseResources, resolveFindingInvocation, resolveOtlpInputFiles, resolveRepoAttrs, resolveRunContextDir, resolveRunWatchTarget, resolveSessionRepoAttrs, runCommand, runExternalAnalyzers, runPipelines, runReplayBatch, runTotals, runTraceImprovement, runTraceInvestigation, runTraceStoreInvestigation, sandboxReplayBackend, saveReport, saveState, scanSessions, seededSample, selectAdapters, serializeInspectionReport, serializePolicyEvidence, serializeSessionIndex, serializeSpans, serializeTraceStreamEvent, sessionHash, sessionIdFromAttributes, sessionIntegrityAttributes, skippedAnalyses, span, spanRunTotals, stampRepoAttrs, stampSessionIdentity, stampSessionIntegrity, stampSpanWorkdirRepoAttrs, streamSessions, summarizeOtlpExecution, summarizeSpanExecution, summarizeSpanStructure, takeJsonl, textIsSynthetic, toOpenInferenceSpan, toRuntimeStore, toTraceSpanEvents, tokens, totalAgenticFailureMessage, traceAgenticKinds, traceStreamEventsFromSpans, unavailableCapabilities, uploadKey, usd, userPromptSpan, validateOtlpSpans, validationExitCode, watchRunTarget, watchSessions, wrap, wrapActionForExec, writeHodoscopeInput, writeInspectionReportFile, writeOtlpFile, writePolicyEvidenceFile, writeSessionIndexFile, writeTraceEvidenceExportFile, writeTraceImprovementArtifacts, zaiChatCaller, zeroPricedCost };
package/dist/index.js CHANGED
@@ -214,7 +214,7 @@ import {
214
214
  writeTraceImprovementArtifacts,
215
215
  zaiChatCaller,
216
216
  zeroPricedCost
217
- } from "./chunk-CK5F5TWO.js";
217
+ } from "./chunk-AGPOIWPQ.js";
218
218
 
219
219
  // src/collect.ts
220
220
  async function collectSessions(opts = {}) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/traces",
3
- "version": "0.11.3",
3
+ "version": "0.11.4",
4
4
  "description": "Point it at your coding-agent session traces (Claude Code, Codex, OpenCode, Gemini, Pi, …) and get failure-mode + efficiency findings. CLI + SDK over the @tangle-network/agent-eval analyst suite — observe live sessions, run your own analysts, redact, and upload to the Tangle Intelligence Platform.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -47,10 +47,10 @@
47
47
  "node": ">=22"
48
48
  },
49
49
  "dependencies": {
50
- "@tangle-network/agent-eval": "0.140.1",
51
- "@tangle-network/agent-runtime": "0.121.0",
50
+ "@tangle-network/agent-eval": "0.142.2",
51
+ "@tangle-network/agent-runtime": "0.123.0",
52
52
  "@tangle-network/agent-trace-contract": "^1.0.2",
53
- "@tangle-network/sandbox": "0.16.0"
53
+ "@tangle-network/sandbox": "0.17.2"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/node": "^22.0.0",