ai-agent-config 2.6.1 ā 2.6.3
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/package.json +1 -1
- package/scripts/installer.js +2 -2
- package/scripts/secret-manager.js +30 -5
package/package.json
CHANGED
package/scripts/installer.js
CHANGED
|
@@ -251,8 +251,8 @@ function installToPlatform(platform, options = {}) {
|
|
|
251
251
|
function install(options = {}) {
|
|
252
252
|
const { force = false, skill = null, sync = true } = options;
|
|
253
253
|
|
|
254
|
-
// Sync repo first if needed
|
|
255
|
-
if (sync && !isRepoCached()) {
|
|
254
|
+
// Sync repo first if needed (always sync when force=true to get latest)
|
|
255
|
+
if (sync && (!isRepoCached() || force)) {
|
|
256
256
|
console.log("\nš¦ Syncing skills from repository...");
|
|
257
257
|
if (!syncRepo()) {
|
|
258
258
|
throw new Error("Failed to sync repository. Check your internet connection.");
|
|
@@ -238,11 +238,36 @@ function fetchSecretsFromBitwarden(sessionKey, secretNames) {
|
|
|
238
238
|
for (const secretName of secretNames) {
|
|
239
239
|
const item = items.find((i) => i.name === secretName);
|
|
240
240
|
|
|
241
|
-
if (item
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
241
|
+
if (item) {
|
|
242
|
+
// Try multiple sources for the secret value
|
|
243
|
+
let secretValue = null;
|
|
244
|
+
|
|
245
|
+
// Priority 1: Login password (most common for API keys)
|
|
246
|
+
if (item.login && item.login.password) {
|
|
247
|
+
secretValue = item.login.password;
|
|
248
|
+
}
|
|
249
|
+
// Priority 2: Secure note content
|
|
250
|
+
else if (item.notes && item.notes.trim()) {
|
|
251
|
+
secretValue = item.notes.trim();
|
|
252
|
+
}
|
|
253
|
+
// Priority 3: Custom field named "value" or "secret"
|
|
254
|
+
else if (item.fields && item.fields.length > 0) {
|
|
255
|
+
const valueField = item.fields.find(
|
|
256
|
+
(f) => f.name.toLowerCase() === "value" || f.name.toLowerCase() === "secret"
|
|
257
|
+
);
|
|
258
|
+
if (valueField && valueField.value) {
|
|
259
|
+
secretValue = valueField.value;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
if (secretValue) {
|
|
264
|
+
results.found.push({
|
|
265
|
+
name: secretName,
|
|
266
|
+
value: secretValue,
|
|
267
|
+
});
|
|
268
|
+
} else {
|
|
269
|
+
results.missing.push(secretName);
|
|
270
|
+
}
|
|
246
271
|
} else {
|
|
247
272
|
results.missing.push(secretName);
|
|
248
273
|
}
|