juno-code 1.0.50 → 1.0.53
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 +157 -8
- package/dist/bin/cli.js +3103 -1356
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/cli.mjs +3082 -1335
- package/dist/bin/cli.mjs.map +1 -1
- package/dist/index.d.mts +26 -12
- package/dist/index.d.ts +26 -12
- package/dist/index.js +407 -67
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +405 -65
- package/dist/index.mjs.map +1 -1
- package/dist/templates/scripts/__pycache__/parallel_runner.cpython-313.pyc +0 -0
- package/dist/templates/scripts/install_requirements.sh +35 -2
- package/dist/templates/scripts/kanban.sh +11 -0
- package/dist/templates/scripts/parallel_runner.sh +602 -131
- package/dist/templates/services/README.md +23 -4
- package/dist/templates/services/__pycache__/pi.cpython-313.pyc +0 -0
- package/dist/templates/services/__pycache__/pi.cpython-38.pyc +0 -0
- package/dist/templates/services/pi.py +1034 -39
- package/dist/templates/skills/claude/ralph-loop/scripts/kanban.sh +11 -0
- package/dist/templates/skills/codex/ralph-loop/scripts/kanban.sh +11 -0
- package/package.json +1 -1
|
Binary file
|
|
@@ -276,10 +276,22 @@ check_all_for_updates() {
|
|
|
276
276
|
log_info "Performing periodic version check..."
|
|
277
277
|
|
|
278
278
|
for package in "${REQUIRED_PACKAGES[@]}"; do
|
|
279
|
-
|
|
280
|
-
|
|
279
|
+
local result=0
|
|
280
|
+
|
|
281
|
+
# check_and_upgrade_package can return 2 when an update is available.
|
|
282
|
+
# With `set -e`, calling it directly would abort the script before we
|
|
283
|
+
# can process that status. Wrap it in an if/else so we can capture and
|
|
284
|
+
# handle non-zero return codes intentionally.
|
|
285
|
+
if check_and_upgrade_package "$package" "true"; then
|
|
286
|
+
result=0
|
|
287
|
+
else
|
|
288
|
+
result=$?
|
|
289
|
+
fi
|
|
290
|
+
|
|
281
291
|
if [ $result -eq 2 ]; then
|
|
282
292
|
packages_needing_upgrade+=("$package")
|
|
293
|
+
elif [ $result -ne 0 ]; then
|
|
294
|
+
log_warning "Skipping upgrade decision for $package due to check error"
|
|
283
295
|
fi
|
|
284
296
|
done
|
|
285
297
|
|
|
@@ -330,6 +342,24 @@ is_in_virtualenv() {
|
|
|
330
342
|
return 1 # Not inside venv
|
|
331
343
|
}
|
|
332
344
|
|
|
345
|
+
# Function to activate project-local .venv_juno when available.
|
|
346
|
+
# Why: install/check commands often run from non-activated shells, while packages
|
|
347
|
+
# are installed into .venv_juno. Activating it early keeps package detection and
|
|
348
|
+
# periodic update checks aligned with the real install target.
|
|
349
|
+
activate_project_venv_if_available() {
|
|
350
|
+
if is_in_virtualenv; then
|
|
351
|
+
return 0
|
|
352
|
+
fi
|
|
353
|
+
|
|
354
|
+
local venv_path=".venv_juno"
|
|
355
|
+
if [ -f "$venv_path/bin/activate" ]; then
|
|
356
|
+
log_info "Detected project virtual environment at $venv_path; activating for dependency checks"
|
|
357
|
+
# shellcheck disable=SC1091
|
|
358
|
+
source "$venv_path/bin/activate"
|
|
359
|
+
log_success "Activated $venv_path"
|
|
360
|
+
fi
|
|
361
|
+
}
|
|
362
|
+
|
|
333
363
|
# Function to find the best Python version (3.10-3.13, preferably 3.13)
|
|
334
364
|
find_best_python() {
|
|
335
365
|
# Try to find Python in order of preference: 3.13, 3.12, 3.11, 3.10
|
|
@@ -648,6 +678,9 @@ main() {
|
|
|
648
678
|
log_info "=== Python Requirements Installation ==="
|
|
649
679
|
echo ""
|
|
650
680
|
|
|
681
|
+
# Align all checks with project-local installation target when available.
|
|
682
|
+
activate_project_venv_if_available
|
|
683
|
+
|
|
651
684
|
# Handle --check-updates: just check and report, don't install
|
|
652
685
|
if [ "$check_updates_only" = true ]; then
|
|
653
686
|
log_info "Checking for updates..."
|
|
@@ -194,6 +194,17 @@ cd "$PROJECT_ROOT"
|
|
|
194
194
|
# not from wherever the calling agent happens to be. Respects existing override.
|
|
195
195
|
export JUNO_TASK_ROOT="${JUNO_TASK_ROOT:-$PROJECT_ROOT}"
|
|
196
196
|
|
|
197
|
+
# Prefer local kanban source when available.
|
|
198
|
+
# - Monorepo root: $PROJECT_ROOT/juno_kanban/src
|
|
199
|
+
# - juno_kanban root: $PROJECT_ROOT/src
|
|
200
|
+
# This keeps wrapper behavior aligned with working-tree changes without requiring
|
|
201
|
+
# immediate reinstall from PyPI between local iterations.
|
|
202
|
+
if [[ -d "$PROJECT_ROOT/src/kanban" ]]; then
|
|
203
|
+
export PYTHONPATH="$PROJECT_ROOT/src${PYTHONPATH:+:$PYTHONPATH}"
|
|
204
|
+
elif [[ -d "$PROJECT_ROOT/juno_kanban/src/kanban" ]]; then
|
|
205
|
+
export PYTHONPATH="$PROJECT_ROOT/juno_kanban/src${PYTHONPATH:+:$PYTHONPATH}"
|
|
206
|
+
fi
|
|
207
|
+
|
|
197
208
|
# Arrays to store normalized arguments (declared at script level for proper handling)
|
|
198
209
|
declare -a NORMALIZED_GLOBAL_FLAGS=()
|
|
199
210
|
declare -a NORMALIZED_COMMAND_ARGS=()
|