juno-code 1.0.35 → 1.0.37

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/dist/index.mjs CHANGED
@@ -44,7 +44,7 @@ var __export = (target, all) => {
44
44
  var version;
45
45
  var init_version = __esm({
46
46
  "src/version.ts"() {
47
- version = "1.0.35";
47
+ version = "1.0.37";
48
48
  }
49
49
  });
50
50
  function isHeadlessEnvironment() {
@@ -3995,6 +3995,13 @@ init_version();
3995
3995
  // src/templates/default-hooks.ts
3996
3996
  init_version();
3997
3997
  var DEFAULT_HOOKS = {
3998
+ // Executes once at the beginning of a run (before all iterations)
3999
+ // Use for: setup, environment checks, notifications, pre-run cleanup
4000
+ START_RUN: {
4001
+ commands: []
4002
+ },
4003
+ // Executes at the start of each iteration
4004
+ // Use for: file monitoring, state checks, per-iteration setup
3998
4005
  START_ITERATION: {
3999
4006
  commands: [
4000
4007
  // Monitor CLAUDE.md file size
@@ -4003,6 +4010,16 @@ var DEFAULT_HOOKS = {
4003
4010
  'file="AGENTS.md"; lines=$(wc -l < "$file" 2>/dev/null || echo 0); chars=$(wc -m < "$file" 2>/dev/null || echo 0); if [ "$lines" -gt 450 ] || [ "$chars" -gt 60000 ]; then juno-kanban "[Critical] file $file is too large, keep it lean and useful for every run of the agent."; fi',
4004
4011
  "./.juno_task/scripts/cleanup_feedback.sh"
4005
4012
  ]
4013
+ },
4014
+ // Executes at the end of each iteration
4015
+ // Use for: validation, logging, per-iteration cleanup, progress tracking
4016
+ END_ITERATION: {
4017
+ commands: []
4018
+ },
4019
+ // Executes once at the end of a run (after all iterations complete)
4020
+ // Use for: final cleanup, notifications, reports, post-run actions
4021
+ END_RUN: {
4022
+ commands: []
4006
4023
  }
4007
4024
  };
4008
4025
  function getDefaultHooks() {
@@ -7057,8 +7074,8 @@ var ExecutionEngine = class extends EventEmitter {
7057
7074
  if (!request.workingDirectory?.trim()) {
7058
7075
  throw new Error("Working directory is required");
7059
7076
  }
7060
- if (request.maxIterations < -1 || request.maxIterations === 0) {
7061
- throw new Error("Max iterations must be positive or -1 for unlimited");
7077
+ if (Number.isNaN(request.maxIterations) || request.maxIterations < -1 || request.maxIterations === 0) {
7078
+ throw new Error("Max iterations must be a positive number or -1 for unlimited");
7062
7079
  }
7063
7080
  }
7064
7081
  /**