hillclimb 0.4.2 → 0.4.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.
Files changed (2) hide show
  1. package/dist/cli.js +12 -9
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -11150,7 +11150,13 @@ async function eventContext(tool, payload) {
11150
11150
  conversationId: stringOrNull(payload.conversation_id),
11151
11151
  turnId,
11152
11152
  eventNonce,
11153
- ...await transcriptFingerprint(payload)
11153
+ // Only per-turn stop events need the transcript to disambiguate (they
11154
+ // often lack a turn id); sessionEnd is keyed by sessionId. Folding it in
11155
+ // for sessionEnd would diverge the agent/git eventIds whenever the two
11156
+ // hooks send different payloads — e.g. the opencode plugin passes
11157
+ // transcript_path to the upload spawn but not the git-traces spawn,
11158
+ // causing a 60s orphan wait and a duplicate debug-log upload.
11159
+ ...eventKind === "stop" ? await transcriptFingerprint(payload) : {}
11154
11160
  };
11155
11161
  const eventId = crypto.createHash("sha256").update(JSON.stringify(fingerprint)).digest("hex").slice(0, 32);
11156
11162
  return {
@@ -13586,7 +13592,7 @@ function isGitRepo(dir) {
13586
13592
  return false;
13587
13593
  }
13588
13594
  }
13589
- function captureBaselineSha(repoRoot) {
13595
+ function captureWorkingCommitSha(repoRoot) {
13590
13596
  try {
13591
13597
  const sha = git(repoRoot, ["stash", "create"]);
13592
13598
  if (sha) return sha;
@@ -13601,6 +13607,9 @@ function captureBaselineSha(repoRoot) {
13601
13607
  return git(repoRoot, ["commit-tree", tree, "-m", "empty baseline"]);
13602
13608
  }
13603
13609
  }
13610
+ function captureBaselineSha(repoRoot) {
13611
+ return captureWorkingCommitSha(repoRoot);
13612
+ }
13604
13613
  function pinRef(repoRoot, refName, sha) {
13605
13614
  git(repoRoot, ["update-ref", refName, sha]);
13606
13615
  }
@@ -13611,13 +13620,7 @@ function deleteRef(repoRoot, refName) {
13611
13620
  }
13612
13621
  }
13613
13622
  function captureSnapshotSha(repoRoot) {
13614
- try {
13615
- const sha = git(repoRoot, ["stash", "create"]);
13616
- if (sha) return sha;
13617
- } catch (err) {
13618
- if (isGitTimeoutError(err)) throw err;
13619
- }
13620
- return git(repoRoot, ["rev-parse", "HEAD"]);
13623
+ return captureWorkingCommitSha(repoRoot);
13621
13624
  }
13622
13625
  function recordOmittedSnapshotFile(omittedFiles, file, options = {}) {
13623
13626
  omittedFiles?.push(file);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hillclimb",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "description": "Extract and export AI coding tool logs grouped by repo",
5
5
  "license": "MIT",
6
6
  "type": "module",