bigpowers 2.88.6 → 2.88.7
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/.gemini/extensions/bigpowers/gemini-extension.json +1 -1
- package/.pi/package.json +1 -1
- package/CHANGELOG.md +7 -0
- package/package.json +1 -1
- package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
- package/scripts/lib/__pycache__/srp_engine_links.cpython-312.pyc +0 -0
- package/scripts/lib/skill-common.sh +3 -1
- package/scripts/lib/srp-engine.py +3 -1
- package/scripts/test-resolve-repo-root.sh +44 -0
package/.pi/package.json
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [2.88.7](https://github.com/danielvm-git/bigpowers/compare/v2.88.6...v2.88.7) (2026-09-17)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **scripts:** resolve repo root in projects without skills/ ([093fef7](https://github.com/danielvm-git/bigpowers/commit/093fef72eb9f3be4c8cc61431df421752ed1ed44)), closes [#130](https://github.com/danielvm-git/bigpowers/issues/130)
|
|
7
|
+
|
|
1
8
|
## [2.88.6](https://github.com/danielvm-git/bigpowers/compare/v2.88.5...v2.88.6) (2026-09-13)
|
|
2
9
|
|
|
3
10
|
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
@@ -16,7 +16,9 @@ resolve_repo_root() {
|
|
|
16
16
|
# Library is at REPO/scripts/lib/skill-common.sh → two levels up
|
|
17
17
|
local repo_candidate
|
|
18
18
|
repo_candidate="$(cd "$lib_dir/../.." 2>/dev/null && pwd)"
|
|
19
|
-
if [ -n "$repo_candidate" ] &&
|
|
19
|
+
if [ -n "$repo_candidate" ] && {
|
|
20
|
+
[ -d "$repo_candidate/scripts/lib" ] || [ -d "$repo_candidate/skills" ]
|
|
21
|
+
}; then
|
|
20
22
|
REPO_ROOT="$repo_candidate"
|
|
21
23
|
else
|
|
22
24
|
repo_candidate="$(cd "$lib_dir/.." 2>/dev/null && pwd)"
|
|
@@ -31,7 +31,9 @@ def resolve_repo_root():
|
|
|
31
31
|
lib_dir = os.path.dirname(os.path.abspath(__file__))
|
|
32
32
|
# scripts/lib/srp-engine.py -> two levels up is REPO_ROOT
|
|
33
33
|
repo_candidate = os.path.dirname(os.path.dirname(lib_dir))
|
|
34
|
-
if os.path.isdir(os.path.join(repo_candidate, "
|
|
34
|
+
if os.path.isdir(os.path.join(repo_candidate, "scripts", "lib")) or os.path.isdir(
|
|
35
|
+
os.path.join(repo_candidate, "skills")
|
|
36
|
+
):
|
|
35
37
|
return repo_candidate
|
|
36
38
|
return os.path.dirname(lib_dir)
|
|
37
39
|
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Regression test for resolve_repo_root() in consumer layouts without skills/.
|
|
3
|
+
# See: https://github.com/danielvm-git/bigpowers/issues/130
|
|
4
|
+
set -euo pipefail
|
|
5
|
+
|
|
6
|
+
TA_PASS=0
|
|
7
|
+
TA_FAIL=0
|
|
8
|
+
TA_TMPDIR=""
|
|
9
|
+
|
|
10
|
+
source "$(dirname "${BASH_SOURCE[0]}")/lib/test-assertions.sh"
|
|
11
|
+
trap ta_cleanup EXIT
|
|
12
|
+
|
|
13
|
+
echo "=== test-resolve-repo-root.sh ==="
|
|
14
|
+
|
|
15
|
+
# Consumer project: scripts/lib present, no local skills/ directory.
|
|
16
|
+
TA_TMPDIR="$(mktemp -d)"
|
|
17
|
+
mkdir -p "$TA_TMPDIR/scripts/lib"
|
|
18
|
+
cp "$(dirname "${BASH_SOURCE[0]}")/lib/skill-common.sh" "$TA_TMPDIR/scripts/lib/"
|
|
19
|
+
|
|
20
|
+
set +e
|
|
21
|
+
out=$(bash -c "source '$TA_TMPDIR/scripts/lib/skill-common.sh' && resolve_repo_root && printf '%s|%s' \"\$REPO_ROOT\" \"\$SKILLS_ROOT\"")
|
|
22
|
+
rc=$?
|
|
23
|
+
set -e
|
|
24
|
+
|
|
25
|
+
if [[ $rc -ne 0 ]]; then
|
|
26
|
+
ta_fail "consumer layout: resolve_repo_root exited $rc"
|
|
27
|
+
elif [[ "$out" == "$TA_TMPDIR|$TA_TMPDIR" ]]; then
|
|
28
|
+
ta_pass "consumer layout without skills/ resolves repo root (not scripts/)"
|
|
29
|
+
else
|
|
30
|
+
ta_fail "consumer layout: expected REPO_ROOT=$TA_TMPDIR, got: $out"
|
|
31
|
+
fi
|
|
32
|
+
|
|
33
|
+
# bigpowers repo: skills/ and scripts/lib both present.
|
|
34
|
+
source "$(dirname "${BASH_SOURCE[0]}")/lib/skill-common.sh"
|
|
35
|
+
resolve_repo_root
|
|
36
|
+
expected_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
37
|
+
if [[ "$REPO_ROOT" == "$expected_root" && -d "$REPO_ROOT/skills" ]]; then
|
|
38
|
+
ta_pass "bigpowers repo resolves REPO_ROOT with skills/"
|
|
39
|
+
else
|
|
40
|
+
ta_fail "bigpowers repo: REPO_ROOT=$REPO_ROOT expected=$expected_root"
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
echo "=== $TA_PASS passed, $TA_FAIL failed ==="
|
|
44
|
+
[[ "$TA_FAIL" -eq 0 ]]
|