agents_skill_vault 0.2.0 → 0.3.0
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.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6bb7916e4c84c115dfd3da09e0203c4477c2c5cbbcd018902a006feef2eb8ca0
|
|
4
|
+
data.tar.gz: c17693603e9d5ecca7f1fca6291eddfd336e7e306a340d2c1ffa43f13c2bbad8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 43fcce93096dff841ccd7b79e67e341f4cd2d6bfe05f83de1f7a9229bc04ec625a986198c1df6cd8bdb062328d7170024f9423ab6bad4e3b4e52daf89a921a96
|
|
7
|
+
data.tar.gz: 546f557a9f545b00fb5297db174a767aecdf08449807297e90654a91758602b931b26ff0c5016fdd909ae335065086f672057ebe231a0a1a9599d2c1f5a0cf3a
|
data/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
|
-
## [
|
|
1
|
+
## [0.3.0] - 2026-02-04
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **Sync works for individual skills from multi-skill repositories**
|
|
6
|
+
Previously, syncing a skill like `vault.sync("user/repo/skill-name")` would fail if the resource was added as part of a full repository. The sync operation would try to re-add the skill instead of updating it, causing a `DuplicateLabel` error. Now it correctly finds and updates existing skills.
|
|
7
|
+
|
|
8
|
+
- **Legacy resources are now upgraded automatically**
|
|
9
|
+
Resources added before version 0.3.0 had `nil` values for `skill_name`. Syncing these resources now automatically fills in the missing `skill_name`, upgrading them to the current format.
|
|
10
|
+
|
|
11
|
+
- **Fixed crash when adding repositories**
|
|
12
|
+
Adding a repository would crash with `uninitialized constant Errors::Error`. This was caused by a missing require statement in the git operations module. The error is now properly raised and handled.
|
|
2
13
|
|
|
3
14
|
## [0.2.0] - 2026-01-29
|
|
4
15
|
|
|
@@ -30,8 +41,6 @@
|
|
|
30
41
|
|
|
31
42
|
## [0.1.0] - 2026-01-25
|
|
32
43
|
|
|
33
|
-
## [0.1.0] - 2026-01-25
|
|
34
|
-
|
|
35
44
|
### Features
|
|
36
45
|
|
|
37
46
|
- Add GitHub repositories, folders, or individual files to a local vault
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "open3"
|
|
4
|
+
require_relative "errors/base"
|
|
4
5
|
|
|
5
6
|
module AgentsSkillVault
|
|
6
7
|
# Provides Git operations for cloning, syncing, and managing repositories.
|
|
@@ -139,7 +140,7 @@ module AgentsSkillVault
|
|
|
139
140
|
def run_command(command)
|
|
140
141
|
stdout, stderr, status = Open3.capture3(command)
|
|
141
142
|
|
|
142
|
-
raise Error, "Command failed: #{command}\n#{stderr}" unless status.success?
|
|
143
|
+
raise Errors::Error, "Command failed: #{command}\n#{stderr}" unless status.success?
|
|
143
144
|
|
|
144
145
|
[stdout, stderr]
|
|
145
146
|
end
|
|
@@ -131,7 +131,7 @@ module AgentsSkillVault
|
|
|
131
131
|
|
|
132
132
|
resource = build_skill_resource(
|
|
133
133
|
skill_label, repo_url, parsed_url, skill[:folder_path],
|
|
134
|
-
skill[:folder_path], target_path
|
|
134
|
+
skill[:folder_path], target_path, skill[:folder_path]
|
|
135
135
|
)
|
|
136
136
|
|
|
137
137
|
validate_and_update_resource(resource, skill[:folder_path], target_path)
|
|
@@ -108,6 +108,7 @@ module AgentsSkillVault
|
|
|
108
108
|
def process_skill_sync(resource, skill, existing_resources)
|
|
109
109
|
skill_label = "#{resource.username}/#{resource.repo}/#{skill[:skill_name]}"
|
|
110
110
|
existing = existing_resources.find { |r| r.skill_name == skill[:skill_name] }
|
|
111
|
+
existing ||= existing_resources.find { |r| r.label == skill_label }
|
|
111
112
|
|
|
112
113
|
if existing
|
|
113
114
|
revalidate_existing_skill(resource, existing, skill)
|
|
@@ -130,7 +131,9 @@ module AgentsSkillVault
|
|
|
130
131
|
updated = Resource.from_h(
|
|
131
132
|
existing.to_h.merge(
|
|
132
133
|
validation_status: result[:valid] ? :valid_skill : :invalid_skill,
|
|
133
|
-
validation_errors: result[:errors]
|
|
134
|
+
validation_errors: result[:errors],
|
|
135
|
+
skill_name: existing.skill_name || skill[:skill_name],
|
|
136
|
+
is_skill: true
|
|
134
137
|
),
|
|
135
138
|
storage_path: storage_path
|
|
136
139
|
)
|