create-claude-workspace 1.1.21 → 1.1.23

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.
@@ -24,12 +24,18 @@ fi
24
24
  chown claude:claude /home/claude
25
25
  chown -R claude:claude /home/claude/.claude 2>/dev/null || true
26
26
 
27
- # Git platform auth — configure gh/glab from env vars if set
27
+ # Git platform auth — configure gh/glab + git credentials from env vars if set
28
28
  if [[ -n "${GH_TOKEN:-}" ]]; then
29
29
  echo "GH_TOKEN detected — GitHub CLI authenticated."
30
+ git config --global credential.helper store
31
+ echo "https://oauth2:${GH_TOKEN}@github.com" > /home/claude/.git-credentials
32
+ chown claude:claude /home/claude/.git-credentials
30
33
  fi
31
34
  if [[ -n "${GITLAB_TOKEN:-}" ]]; then
32
35
  echo "GITLAB_TOKEN detected — GitLab CLI authenticated."
36
+ git config --global credential.helper store
37
+ echo "https://oauth2:${GITLAB_TOKEN}@gitlab.com" >> /home/claude/.git-credentials
38
+ chown claude:claude /home/claude/.git-credentials
33
39
  fi
34
40
 
35
41
  # Auth pre-check — fail fast if no credentials available
@@ -431,6 +431,9 @@ async function main() {
431
431
  await sleep(opts.cooldown, stoppingRef);
432
432
  }
433
433
  }
434
+ else {
435
+ checkpoint.consecutiveBlockedSameTask = 0;
436
+ }
434
437
  // Update lastTaskSeen (after blocked comparison)
435
438
  checkpoint.lastTaskSeen = result.next_task ?? result.task_completed ?? task;
436
439
  // Handle needs_input
@@ -10,7 +10,11 @@ const STDERR_PATTERNS = [
10
10
  ['context_exhausted', /context.?length.?exceeded|too many tokens/i],
11
11
  ];
12
12
  export function classifyError(signals) {
13
- // Flag-based (highest priority set by stream events, not just stderr)
13
+ // Clean exit with result = success, even if transient errors occurred mid-run
14
+ // (Claude Code handles rate limits/errors internally with retries)
15
+ if (signals.code === 0 && signals.hasResult)
16
+ return 'none';
17
+ // Flag-based (set by stream events, not just stderr)
14
18
  if (signals.isAuthError)
15
19
  return 'auth_expired';
16
20
  if (signals.isAuthServerError)
@@ -71,7 +75,7 @@ const STRATEGIES = {
71
75
  reason: 'Claude CLI not found on PATH. Install: https://docs.anthropic.com/en/docs/claude-code',
72
76
  }),
73
77
  disk_full: () => ({ type: 'stop', reason: 'Disk full. Free space and restart.' }),
74
- oom_killed: (ctx) => ctx.consecutiveFailures >= MAX_AUTH_RETRIES
78
+ oom_killed: (ctx) => ctx.consecutiveFailures >= MAX_CONSECUTIVE
75
79
  ? { type: 'stop', reason: 'Repeated OOM kills. Increase memory limit.' }
76
80
  : { type: 'backoff', ms: 30_000 },
77
81
  unknown: (ctx) => ctx.consecutiveFailures >= MAX_CONSECUTIVE
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-claude-workspace",
3
- "version": "1.1.21",
3
+ "version": "1.1.23",
4
4
  "description": "Scaffold a project with Claude Code agents for autonomous AI-driven development",
5
5
  "type": "module",
6
6
  "bin": {