cargo-hauler 0.7.0 → 0.7.1

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 (40) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +6 -5
  3. package/dist/.claude-plugin/marketplace.json +1 -1
  4. package/dist/.claude-plugin/plugin.json +1 -1
  5. package/dist/.codex-plugin/plugin.json +1 -1
  6. package/dist/.cursor-plugin/plugin.json +1 -1
  7. package/dist/INSTALL.md +1 -1
  8. package/dist/README.md +6 -5
  9. package/dist/agent-bundle.compile-evidence.json +1 -1
  10. package/dist/agent-bundle.manifest.json +1 -1
  11. package/dist/agent-bundle.package-compile-evidence.json +1 -1
  12. package/dist/bin/cargo-hauler-flight.mjs +8 -8
  13. package/dist/bin/cargo-hauler.mjs +66 -21
  14. package/dist/bin/hauler.js +85 -41
  15. package/dist/hooks/event-route-session-start.claude.mjs +2 -2
  16. package/dist/hooks/event-route-session-start.codex.mjs +2 -2
  17. package/dist/hooks/event-route-session-start.cursor.mjs +2 -2
  18. package/dist/hooks/event-route-stop.claude.mjs +2 -2
  19. package/dist/hooks/event-route-stop.codex.mjs +2 -2
  20. package/dist/hooks/event-route-stop.cursor.mjs +2 -2
  21. package/dist/hooks/event-route-tool-after.claude.execute.mjs +2 -2
  22. package/dist/hooks/event-route-tool-after.claude.mjs +3 -3
  23. package/dist/hooks/event-route-tool-after.codex.execute.mjs +2 -2
  24. package/dist/hooks/event-route-tool-after.codex.mjs +3 -3
  25. package/dist/hooks/event-route-tool-after.cursor.execute.mjs +2 -2
  26. package/dist/hooks/event-route-tool-after.cursor.mjs +3 -3
  27. package/dist/hooks/event-route-tool-before.claude.execute.mjs +2 -2
  28. package/dist/hooks/event-route-tool-before.codex.execute.mjs +2 -2
  29. package/dist/hooks/event-route-tool-before.cursor.execute.mjs +2 -2
  30. package/dist/hooks/hooks-flight.mjs +9 -9
  31. package/dist/install.mjs +1 -1
  32. package/dist/mcp/mcp-hauler-2b8242f9-flight.mjs +10 -10
  33. package/dist/mcp/mcp-hauler-2b8242f9.mjs +11 -11
  34. package/dist/mcp-apps/dashboard.html +2 -2
  35. package/dist/package.json +1 -1
  36. package/dist/plugin.json +1 -1
  37. package/dist/scripts/hauler.mjs +85 -41
  38. package/dist/skills/cargo-hauler/SKILL.md +6 -5
  39. package/dist/skills/hauler-dashboard/SKILL.md +1 -1
  40. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 9a50169: Fail closed with exit 69 when a reattached `hauler exec` cannot restore the complete Cargo output stream, and serialize overlapping reattach claims so a stale connection cannot replace the latest ticket owner (#187).
8
+
3
9
  ## 0.7.0
4
10
 
5
11
  ### Minor Changes
package/README.md CHANGED
@@ -403,11 +403,12 @@ killed as `killed while queued: submitter disconnected and did not reattach
403
403
  within 30s` only if nobody comes back; one already running continues, marked
404
404
  orphaned as before. A reattach rebinds the ticket to the new connection,
405
405
  clears the orphan flag, replays the output the client had not yet received
406
- from the replay buffer, and streams the rest, so the exit code is cargo's as
407
- if nothing had happened; output the buffer no longer holds is announced as
408
- `N bytes of output missed while reconnecting; full log: <path>` rather than
409
- invented. A ticket that finished in the meantime yields its exit code and log
410
- path. When the ticket cannot be reattached — it never ran cargo and was
406
+ from the replay buffer, and streams the rest, so the exit code is cargo's only
407
+ when the complete stdout/stderr stream was restored. If the replay buffer no
408
+ longer holds every missed byte, or the ticket finished before its output
409
+ stream could be rebound, the client names the full log and fails closed rather
410
+ than return success with truncated machine-readable output. When the ticket
411
+ cannot be reattached — its output is incomplete, it never ran cargo and was
411
412
  killed at the daemon's shutdown, `orphaned by daemon restart`, unknown to the
412
413
  daemon that answered, the daemon predates the message, or no daemon answered
413
414
  within the budget — the client exits `69` (`EX_UNAVAILABLE`) with `brokered
@@ -1 +1 @@
1
- {"description":"Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks.","name":"cargo-hauler-marketplace","owner":{"name":"cargo-hauler"},"plugins":[{"description":"Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks.","name":"cargo-hauler","source":"./","version":"0.7.0"}]}
1
+ {"description":"Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks.","name":"cargo-hauler-marketplace","owner":{"name":"cargo-hauler"},"plugins":[{"description":"Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks.","name":"cargo-hauler","source":"./","version":"0.7.1"}]}
@@ -1 +1 @@
1
- {"author":{"name":"cargo-hauler"},"description":"Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks.","name":"cargo-hauler","version":"0.7.0"}
1
+ {"author":{"name":"cargo-hauler"},"description":"Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks.","name":"cargo-hauler","version":"0.7.1"}
@@ -1 +1 @@
1
- {"author":{"name":"cargo-hauler"},"description":"Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks.","hooks":"./.codex-plugin/hooks.json","interface":{"capabilities":["mcp","hooks","skills"],"category":"Productivity","defaultPrompt":["Help me use cargo-hauler."],"developerName":"cargo-hauler","displayName":"cargo-hauler","longDescription":"Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks.","shortDescription":"Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks."},"mcpServers":"./.codex-plugin/mcp.json","name":"cargo-hauler","skills":"./skills/","version":"0.7.0"}
1
+ {"author":{"name":"cargo-hauler"},"description":"Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks.","hooks":"./.codex-plugin/hooks.json","interface":{"capabilities":["mcp","hooks","skills"],"category":"Productivity","defaultPrompt":["Help me use cargo-hauler."],"developerName":"cargo-hauler","displayName":"cargo-hauler","longDescription":"Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks.","shortDescription":"Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks."},"mcpServers":"./.codex-plugin/mcp.json","name":"cargo-hauler","skills":"./skills/","version":"0.7.1"}
@@ -1 +1 @@
1
- {"description":"Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks.","displayName":"cargo-hauler","hooks":"./.cursor-plugin/hooks.json","mcpServers":"./.cursor-plugin/mcp.json","name":"cargo-hauler","skills":"./skills/","version":"0.7.0"}
1
+ {"description":"Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks.","displayName":"cargo-hauler","hooks":"./.cursor-plugin/hooks.json","mcpServers":"./.cursor-plugin/mcp.json","name":"cargo-hauler","skills":"./skills/","version":"0.7.1"}
package/dist/INSTALL.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Coalesce, schedule, and stream cargo so concurrent agent sessions share compiles instead of fighting locks.
4
4
 
5
- Version: `0.7.0`
5
+ Version: `0.7.1`
6
6
 
7
7
  Run these commands from this bundle directory. The bundle is self-contained: every command below is
8
8
  a host command or the bundled installer, and nothing requires the `agent-bundle` CLI. Where that CLI is
package/dist/README.md CHANGED
@@ -403,11 +403,12 @@ killed as `killed while queued: submitter disconnected and did not reattach
403
403
  within 30s` only if nobody comes back; one already running continues, marked
404
404
  orphaned as before. A reattach rebinds the ticket to the new connection,
405
405
  clears the orphan flag, replays the output the client had not yet received
406
- from the replay buffer, and streams the rest, so the exit code is cargo's as
407
- if nothing had happened; output the buffer no longer holds is announced as
408
- `N bytes of output missed while reconnecting; full log: <path>` rather than
409
- invented. A ticket that finished in the meantime yields its exit code and log
410
- path. When the ticket cannot be reattached — it never ran cargo and was
406
+ from the replay buffer, and streams the rest, so the exit code is cargo's only
407
+ when the complete stdout/stderr stream was restored. If the replay buffer no
408
+ longer holds every missed byte, or the ticket finished before its output
409
+ stream could be rebound, the client names the full log and fails closed rather
410
+ than return success with truncated machine-readable output. When the ticket
411
+ cannot be reattached — its output is incomplete, it never ran cargo and was
411
412
  killed at the daemon's shutdown, `orphaned by daemon restart`, unknown to the
412
413
  daemon that answered, the daemon predates the message, or no daemon answered
413
414
  within the budget — the client exits `69` (`EX_UNAVAILABLE`) with `brokered