agent-skillboard 0.2.13 → 0.2.15
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/CHANGELOG.md +16 -0
- package/package.json +1 -1
- package/src/lifecycle-cli.mjs +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.2.15 — 2026-07-03
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Sudo setup now restores ownership for content-identical managed guidance
|
|
10
|
+
files reported as `Unchanged`, repairing existing root-owned guidance on
|
|
11
|
+
reinstall or explicit `skillboard setup --yes`.
|
|
12
|
+
|
|
13
|
+
## 0.2.14 — 2026-07-03
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- Sudo ownership restoration now only chowns managed guidance paths inside the
|
|
18
|
+
resolved invoking user's home, avoiding accidental ownership changes for
|
|
19
|
+
explicit agent roots outside that home.
|
|
20
|
+
|
|
5
21
|
## 0.2.13 — 2026-07-03
|
|
6
22
|
|
|
7
23
|
### Fixed
|
package/package.json
CHANGED
package/src/lifecycle-cli.mjs
CHANGED
|
@@ -349,6 +349,7 @@ async function installAgentIntegration(targets, ownership = null) {
|
|
|
349
349
|
throw error;
|
|
350
350
|
});
|
|
351
351
|
if (existing === content) {
|
|
352
|
+
await applyOwnership(target.skillPath, ownership);
|
|
352
353
|
unchanged.push(`${target.agent}:${target.skillPath}`);
|
|
353
354
|
continue;
|
|
354
355
|
}
|
|
@@ -376,6 +377,9 @@ async function applyOwnership(path, ownership) {
|
|
|
376
377
|
function ownershipPaths(path, home) {
|
|
377
378
|
const resolvedHome = resolve(home);
|
|
378
379
|
const resolvedPath = resolve(path);
|
|
380
|
+
if (!isInside(resolvedPath, resolvedHome)) {
|
|
381
|
+
return [];
|
|
382
|
+
}
|
|
379
383
|
const directories = [];
|
|
380
384
|
let current = dirname(resolvedPath);
|
|
381
385
|
while (current !== resolvedHome && isInside(current, resolvedHome)) {
|
|
@@ -386,9 +390,6 @@ function ownershipPaths(path, home) {
|
|
|
386
390
|
}
|
|
387
391
|
current = parent;
|
|
388
392
|
}
|
|
389
|
-
if (directories.length === 0) {
|
|
390
|
-
directories.push(dirname(resolvedPath));
|
|
391
|
-
}
|
|
392
393
|
return [...directories.reverse(), resolvedPath];
|
|
393
394
|
}
|
|
394
395
|
|