skills-manager-cli 2026.9.5 → 2026.9.9
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 +16 -6
- package/README.zh-CN.md +16 -6
- package/dist/cli/main.js +41 -4
- package/dist/cli/main.js.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/ports/github-api.js +22 -0
- package/dist/core/ports/github-api.js.map +1 -0
- package/dist/core/services/distribute-service.js +0 -0
- package/dist/core/services/distribute-service.js.map +1 -1
- package/dist/core/services/index.js +8 -2
- package/dist/core/services/index.js.map +1 -1
- package/dist/core/services/init-service.js +53 -17
- package/dist/core/services/init-service.js.map +1 -1
- package/dist/core/services/install-service.js +1 -0
- package/dist/core/services/install-service.js.map +1 -1
- package/dist/core/services/provenance-service.js +61 -0
- package/dist/core/services/provenance-service.js.map +1 -0
- package/dist/core/services/registry-service.js +13 -5
- package/dist/core/services/registry-service.js.map +1 -1
- package/dist/core/services/skill-lock-service.js +98 -0
- package/dist/core/services/skill-lock-service.js.map +1 -0
- package/dist/core/services/source-service.js +61 -9
- package/dist/core/services/source-service.js.map +1 -1
- package/dist/dashboard/server/detection-log.js +20 -0
- package/dist/dashboard/server/detection-log.js.map +1 -0
- package/dist/dashboard/server/main.js +129 -24
- package/dist/dashboard/server/main.js.map +1 -1
- package/dist/dashboard-web/assets/{index-BtkWyamF.js → index-DSQV4D7B.js} +6 -6
- package/dist/dashboard-web/index.html +1 -1
- package/dist/infra/git-cli.js +57 -4
- package/dist/infra/git-cli.js.map +1 -1
- package/dist/infra/git-transport-retry.js +46 -0
- package/dist/infra/git-transport-retry.js.map +1 -0
- package/dist/infra/github-api-client.js +163 -0
- package/dist/infra/github-api-client.js.map +1 -0
- package/dist/infra/index.js +1 -0
- package/dist/infra/index.js.map +1 -1
- package/dist/infra/shell-runner.js +6 -1
- package/dist/infra/shell-runner.js.map +1 -1
- package/dist/shared/validation.js +8 -7
- package/dist/shared/validation.js.map +1 -1
- package/docs/CLI.md +10 -1
- package/package.json +2 -1
- package/skills/skills-manager/SKILL.md +182 -0
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { SkillsManagerError } from '../../shared/errors.js';
|
|
3
3
|
import { assertSafeSkillName, parseSkillMarkdownMetadata } from '../../shared/validation.js';
|
|
4
|
+
import { lockEntryToSource } from './skill-lock-service.js';
|
|
4
5
|
/**
|
|
5
6
|
* Reverse of distribute (ADR-0006): fold skills already living in detected
|
|
6
7
|
* agents' global runtime directories into the hub. Content moves into hub
|
|
7
8
|
* `skills/<name>/`; each origin is preserved under hub `.backups/` and becomes
|
|
8
|
-
* a managed symlink back to the hub entity.
|
|
9
|
+
* a managed symlink back to the hub entity. Provenance: no guessed sources,
|
|
10
|
+
* but `npx skills` lockfile evidence is adopted when present (ADR-0011).
|
|
9
11
|
*/
|
|
10
12
|
export class InitService {
|
|
11
13
|
fs;
|
|
@@ -15,7 +17,8 @@ export class InitService {
|
|
|
15
17
|
distribute;
|
|
16
18
|
catalog;
|
|
17
19
|
backups;
|
|
18
|
-
|
|
20
|
+
skillLock;
|
|
21
|
+
constructor(fs, home, skillHome, registry, distribute, catalog, backups, skillLock) {
|
|
19
22
|
this.fs = fs;
|
|
20
23
|
this.home = home;
|
|
21
24
|
this.skillHome = skillHome;
|
|
@@ -23,12 +26,15 @@ export class InitService {
|
|
|
23
26
|
this.distribute = distribute;
|
|
24
27
|
this.catalog = catalog;
|
|
25
28
|
this.backups = backups;
|
|
29
|
+
this.skillLock = skillLock;
|
|
26
30
|
}
|
|
27
31
|
run(request = {}) {
|
|
28
32
|
const agents = this.resolveAgents(request.agents);
|
|
29
33
|
const scans = this.scanGroups(agents);
|
|
30
34
|
this.assertPrefer(request.prefer, scans.map((scan) => scan.runtimeDir));
|
|
31
35
|
const { skills: discovered, invalid } = this.discover(scans);
|
|
36
|
+
// Import evidence is read once per run; read-only, and absent locks cost nothing.
|
|
37
|
+
const lockEntries = this.skillLock.load();
|
|
32
38
|
// Classification is read-only, so dry-run reports the exact plan untouched.
|
|
33
39
|
const imports = [];
|
|
34
40
|
const skippedManaged = new Set();
|
|
@@ -77,29 +83,52 @@ export class InitService {
|
|
|
77
83
|
return result;
|
|
78
84
|
}
|
|
79
85
|
this.skillHome.ensure();
|
|
86
|
+
// Phase 1 — stage per skill: content moves into the hub (isolated failures
|
|
87
|
+
// never abort the batch). Phase 2 — commit as one user operation: one
|
|
88
|
+
// registry write, one restore point, one index write.
|
|
89
|
+
const staged = [];
|
|
80
90
|
for (const item of imports) {
|
|
81
91
|
try {
|
|
82
|
-
this.
|
|
83
|
-
result.imported.push(item.skill.name);
|
|
92
|
+
staged.push(this.stageImport(item.skill, item.groups, item.choice, lockEntries));
|
|
84
93
|
}
|
|
85
94
|
catch (error) {
|
|
86
95
|
result.failed.push({ skill: item.skill.name, reason: error.message });
|
|
87
96
|
result.choices = Object.fromEntries(Object.entries(result.choices).filter(([name]) => name !== item.skill.name));
|
|
88
97
|
}
|
|
89
98
|
}
|
|
99
|
+
if (staged.length > 0) {
|
|
100
|
+
const registryPatches = staged.flatMap((item) => (item.registryPatch ? [item.registryPatch] : []));
|
|
101
|
+
if (registryPatches.length > 0)
|
|
102
|
+
this.registry.ensureEntries(registryPatches);
|
|
103
|
+
const batch = this.distribute.applyMany(staged.map((item) => item.applyRequest));
|
|
104
|
+
for (const outcome of batch.applies) {
|
|
105
|
+
const skill = outcome.request.skills[0];
|
|
106
|
+
if (!outcome.error) {
|
|
107
|
+
result.imported.push(skill);
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
result.failed.push({ skill, reason: outcome.error.message });
|
|
111
|
+
result.choices = Object.fromEntries(Object.entries(result.choices).filter(([name]) => name !== skill));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
90
114
|
this.backups.prune();
|
|
91
115
|
return result;
|
|
92
116
|
}
|
|
93
117
|
/**
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
118
|
+
* Stage one skill's import with its conflict decision applied: content
|
|
119
|
+
* moves into the hub now; the registry write and the back-symlinking are
|
|
120
|
+
* returned for the batch commit. `choice` is a runtime dir (or any agent id
|
|
121
|
+
* sharing it) whose copy wins, or 'hub' to keep the hub copy and only
|
|
122
|
+
* back-symlink origins. Lock evidence (when the skill name matches an `npx
|
|
123
|
+
* skills` entry) upgrades the import from snapshot to update-managed in the
|
|
124
|
+
* same write (ADR-0011).
|
|
97
125
|
*/
|
|
98
|
-
|
|
126
|
+
stageImport(skill, groups, choice, lockEntries) {
|
|
99
127
|
assertSafeSkillName(skill.name);
|
|
100
128
|
const hubHas = this.registry.skillExists(skill.name);
|
|
101
129
|
const winnerGroup = choice && choice !== 'hub' ? this.groupForChoice(groups, choice, skill.name) : hubHas ? null : groups[0];
|
|
102
130
|
const locations = groups.flat();
|
|
131
|
+
let registryPatch = null;
|
|
103
132
|
if (winnerGroup) {
|
|
104
133
|
if (hubHas) {
|
|
105
134
|
// The runtime copy wins: preserve the hub entity before it is replaced.
|
|
@@ -108,14 +137,20 @@ export class InitService {
|
|
|
108
137
|
const hubDir = this.registry.skillDir(skill.name);
|
|
109
138
|
// Copy through symlinks: the hub needs the entity's contents, not a link to it.
|
|
110
139
|
this.fs.copyDirectoryContents(this.entityPathOf(winnerGroup[0].path), hubDir);
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
140
|
+
const evidence = lockEntryToSource(lockEntries.get(skill.name));
|
|
141
|
+
registryPatch = {
|
|
142
|
+
skill: skill.name,
|
|
143
|
+
patch: {
|
|
144
|
+
imported: true,
|
|
145
|
+
imported_at: new Date().toISOString(),
|
|
146
|
+
title: skill.title,
|
|
147
|
+
description: skill.description,
|
|
148
|
+
// Every origin's agents are this skill's desired consumers (catalog ids only).
|
|
149
|
+
consumers: this.agentsForLocations(locations),
|
|
150
|
+
// Adopted evidence replaces the default source-less shape; no evidence keeps the snapshot honest.
|
|
151
|
+
...(evidence ? { source: evidence } : {}),
|
|
152
|
+
},
|
|
153
|
+
};
|
|
119
154
|
}
|
|
120
155
|
// Real directories are preserved as backups and vacated; symlinked entries are
|
|
121
156
|
// simply removed — distribute lays a managed symlink down in every origin's place.
|
|
@@ -125,7 +160,8 @@ export class InitService {
|
|
|
125
160
|
else
|
|
126
161
|
this.fs.move(location.path, this.backupDirFor(skill.name));
|
|
127
162
|
}
|
|
128
|
-
|
|
163
|
+
const agents = this.agentsForLocations(locations);
|
|
164
|
+
return { skill: skill.name, registryPatch, applyRequest: { to: 'user', skills: [skill.name], agents, mode: 'symlink' } };
|
|
129
165
|
}
|
|
130
166
|
assertPrefer(prefer, scannedDirs) {
|
|
131
167
|
if (!prefer || prefer.length === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-service.js","sourceRoot":"","sources":["../../../src/core/services/init-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init-service.js","sourceRoot":"","sources":["../../../src/core/services/init-service.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAM7F,OAAO,EAAE,iBAAiB,EAA8C,MAAM,yBAAyB,CAAC;AAgExG;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IAEH,EAAE;IACF,IAAI;IACJ,SAAS;IACT,QAAQ;IACR,UAAU;IACV,OAAO;IACP,OAAO;IACP,SAAS;IAR5B,YACmB,EAAkB,EAClB,IAAe,EACf,SAA2B,EAC3B,QAAyB,EACzB,UAA6B,EAC7B,OAAuB,EACvB,OAAsB,EACtB,SAA2B;kBAP3B,EAAE;oBACF,IAAI;yBACJ,SAAS;wBACT,QAAQ;0BACR,UAAU;uBACV,OAAO;uBACP,OAAO;yBACP,SAAS;IACzB,CAAC;IAEJ,GAAG,CAAC,OAAO,GAAmB,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACxE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7D,kFAAkF;QAClF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAE1C,4EAA4E;QAC5E,MAAM,OAAO,GAA6F,EAAE,CAAC;QAC7G,MAAM,cAAc,GAAG,IAAI,GAAG,EAAa,CAAC;QAC5C,MAAM,SAAS,GAAmB,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAClE,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9G,IAAI,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM;gBAAE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEzC,qFAAqF;YACrF,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACpG,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACvJ,IAAI,aAAa,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC7B,SAAS,CAAC,IAAI,CAAC;oBACb,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;oBAC/D,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC7C,GAAG,EAAE,MAAM;iBACZ,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,MAAM,GAAkB;YAC5B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC1G,UAAU;YACV,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE;YACX,cAAc,EAAE,CAAC,GAAG,cAAc,CAAC;YACnC,SAAS;YACT,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC;SACrB,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACxB,2EAA2E;QAC3E,sEAAsE;QACtE,sDAAsD;QACtD,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjF,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACnH,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnG,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACjF,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACnB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,SAAS;gBACX,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7D,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;OAQG;IACK,WAAW,CAAC,KAA0B,EAAE,MAAqB,EAAE,MAA0B,EAAE,WAAmD;QACpJ,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7H,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAEhC,IAAI,aAAa,GAAkC,IAAI,CAAC;QACxD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,MAAM,EAAE,CAAC;gBACX,wEAAwE;gBACxE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClD,gFAAgF;YAChF,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YAC9E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAChE,aAAa,GAAG;gBACd,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,KAAK,EAAE;oBACL,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACrC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,+EAA+E;oBAC/E,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;oBAC7C,kGAAkG;oBAClG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1C;aACF,CAAC;QACJ,CAAC;QACD,+EAA+E;QAC/E,mFAAmF;QACnF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,SAAS;gBAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;gBACrF,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;IAC3H,CAAC;IAEO,YAAY,CAAC,MAAqC,EAAE,WAA8B;QACxF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,MAAM;YAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAEO,iBAAiB,CAAC,IAAY,EAAE,WAAwB;QAC9D,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QACjC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC;YAAE,OAAO,YAAY,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,SAAS,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9D,MAAM,IAAI,kBAAkB,CAC1B,qBAAqB,EACrB,gBAAgB,IAAI,4EAA4E,CACjG,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,MAAqC,EAAE,MAAqB,EAAE,KAAgB,EAAE,MAAe,EAAE,WAAwB;QAC1I,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACtD,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClB,IAAI,MAAM;oBAAE,OAAO,KAAK,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChI,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,KAAK;gBAAE,OAAO,KAAK,CAAC;YAClE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,cAAc,CAAC,MAAqB;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACpD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC;YACtF,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACjH,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAEO,gBAAgB,CAAC,KAAkB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEO,SAAS,CAAC,MAAqB,EAAE,MAA0B;QACjE,IAAI,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACvE,IAAI,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9C,CAAC;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACjC,CAAC;IAEO,cAAc,CAAC,MAAqB,EAAE,MAAc,EAAE,KAAgB;QAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrI,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,kBAAkB,CAAC,yBAAyB,EAAE,eAAe,MAAM,gBAAgB,KAAK,2GAA2G,CAAC,CAAC;QACjN,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wFAAwF;IAChF,aAAa,CAAC,SAA8B;QAClD,OAAO,SAAS,CAAC,MAAM,CAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;YACvF,OAAO,KAAK,KAAK,CAAC,CAAC;gBACjB,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,0FAA0F;IAClF,YAAY,CAAC,YAAoB;QACvC,IAAI,OAAO,GAAG,YAAY,CAAC;QAC3B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YAC9E,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,kBAAkB,CAAC,IAAyB;QAClD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjG,CAAC;IAED,qFAAqF;IAC7E,gBAAgB,CAAC,WAAmB,EAAE,KAAgB;QAC5D,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACrG,CAAC;IAEO,YAAY,CAAC,KAAgB;QACnC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;QAC5E,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QAClE,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,YAAY,CAAC,UAAkB;QACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,eAAe;gBAAE,SAAS;YACrC,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,UAAU;gBAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAEO,aAAa,CAAC,SAAwC;QAC5D,MAAM,GAAG,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC/F,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,mIAAmI,CAAC,CAAC;QACtL,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,kBAAkB,CAAC,oBAAoB,EAAE,wBAAwB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QACnK,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,gFAAgF;IACxE,UAAU,CAAC,QAA2B;QAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC1C,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,QAAQ,KAAK,IAAI;gBAAE,SAAS,CAAC,kDAAkD;YACnF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1C,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,4EAA4E;IACpE,QAAQ,CAAC,MAAmB;QAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkC,CAAC;QACzD,MAAM,OAAO,GAA6C,EAAE,CAAC;QAC7D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,WAAW;gBAAE,SAAS;YAC7D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5D,yEAAyE;gBACzE,mEAAmE;gBACnE,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACrG,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAClD,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,MAAM;oBAAE,SAAS;gBACjD,IAAI,IAAY,CAAC;gBACjB,IAAI,KAAa,CAAC;gBAClB,IAAI,WAAmB,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;oBACzE,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBAClD,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;oBACvC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,uEAAuE;oBACvE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;oBACtE,SAAS;gBACX,CAAC;gBACD,MAAM,QAAQ,GAAsB,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBAC7G,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,QAAQ;oBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;;oBACzF,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;IAChG,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-service.js","sourceRoot":"","sources":["../../../src/core/services/install-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"install-service.js","sourceRoot":"","sources":["../../../src/core/services/install-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAM9E,MAAM,OAAO,cAAc;IAEN,EAAE;IACF,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,KAAK;IACL,UAAU;IAN7B,YACmB,EAAkB,EAClB,IAAe,EACf,QAAyB,EACzB,MAAqB,EACrB,KAAkB,EAClB,UAA8B;kBAL9B,EAAE;oBACF,IAAI;wBACJ,QAAQ;sBACR,MAAM;qBACN,KAAK;0BACL,UAAU;IAC1B,CAAC;IAEJ,WAAW,CAAC,cAA8B,EAAE,UAA6B,EAAE,SAA4B,EAAE,cAAkC,EAAE,OAAO,GAA4B,EAAE;QAChL,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QACpD,4EAA4E;QAC5E,mEAAmE;QACnE,MAAM,SAAS,GAAG,cAAc,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9G,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC9C,MAAM,IAAI,kBAAkB,CAAC,yBAAyB,EAAE,4CAA4C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3I,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IAC1G,CAAC;IAED,WAAW,CAAC,IAAiB;QAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACjG,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACvE,CAAC;IAED,0BAA0B,CAAC,KAA2G;QACpI,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1G,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,gBAAgB,CAAC,UAA6B,EAAE,SAA4B;QAClF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACzG,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC;QAC7H,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,EAAE,yCAAyC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACzJ,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,oBAAoB,CAAC,KAAsB,EAAE,MAAsB,EAAE,SAAmB;QAC9F,gBAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,WAAW;YAAE,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,EAAE,qCAAqC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACpK,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE;YACpC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS;YACT,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;gBACtC,GAAG,EAAE,MAAM,CAAC,OAAO;gBACnB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,IAAI;gBACvB,eAAe,EAAE,MAAM,CAAC,MAAM;gBAC9B,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;aAC/D;YACD,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { lockEntryToSource } from './skill-lock-service.js';
|
|
2
|
+
/**
|
|
3
|
+
* Provenance backfill for skills that entered the hub without a usable source
|
|
4
|
+
* (ADR-0012). `adopt` re-runs the ADR-0011 lockfile-evidence adoption over the
|
|
5
|
+
* legacy imported queue — the same evidence gate init applies at import time,
|
|
6
|
+
* minus the "must be a fresh import this run" condition, which is exactly the
|
|
7
|
+
* gap that left pre-ADR-0011 imports source-less. Guessed sources are out of
|
|
8
|
+
* scope here: guessing happens in an agent session and only ever lands through
|
|
9
|
+
* `edit` after the user approves each skill.
|
|
10
|
+
*/
|
|
11
|
+
export class ProvenanceService {
|
|
12
|
+
registry;
|
|
13
|
+
lock;
|
|
14
|
+
constructor(registry, lock) {
|
|
15
|
+
this.registry = registry;
|
|
16
|
+
this.lock = lock;
|
|
17
|
+
}
|
|
18
|
+
pending() {
|
|
19
|
+
const importedWithoutSource = [];
|
|
20
|
+
const locallyAuthored = [];
|
|
21
|
+
for (const [skill, entry] of Object.entries(this.registry.load().skills || {})) {
|
|
22
|
+
if (entry.archived || !this.registry.skillExists(skill))
|
|
23
|
+
continue;
|
|
24
|
+
if (entry.source?.url)
|
|
25
|
+
continue;
|
|
26
|
+
if (entry.imported)
|
|
27
|
+
importedWithoutSource.push({ skill, importedAt: entry.imported_at ?? null });
|
|
28
|
+
else
|
|
29
|
+
locallyAuthored.push(skill);
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
importedWithoutSource: importedWithoutSource.sort((a, b) => a.skill.localeCompare(b.skill)),
|
|
33
|
+
locallyAuthored: locallyAuthored.sort((a, b) => a.localeCompare(b)),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
adopt(options = {}) {
|
|
37
|
+
const pending = new Set(this.pending().importedWithoutSource.map((item) => item.skill));
|
|
38
|
+
const entries = this.lock.load();
|
|
39
|
+
const adopted = [];
|
|
40
|
+
const skipped = [];
|
|
41
|
+
const targets = options.skills && options.skills.length > 0 ? options.skills : [...pending];
|
|
42
|
+
for (const skill of targets) {
|
|
43
|
+
if (!pending.has(skill)) {
|
|
44
|
+
skipped.push({ skill, reason: 'not_pending' });
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
const source = lockEntryToSource(entries.get(skill));
|
|
48
|
+
if (!source) {
|
|
49
|
+
skipped.push({ skill, reason: 'no_lock_evidence' });
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
adopted.push({ skill, source });
|
|
53
|
+
}
|
|
54
|
+
if (!options.dryRun) {
|
|
55
|
+
for (const { skill, source } of adopted)
|
|
56
|
+
this.registry.editSafeFields(skill, { source });
|
|
57
|
+
}
|
|
58
|
+
return { dryRun: Boolean(options.dryRun), adopted, skipped };
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=provenance-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance-service.js","sourceRoot":"","sources":["../../../src/core/services/provenance-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,12 +73,20 @@ export class RegistryService {
|
|
|
73
73
|
return files.sort();
|
|
74
74
|
}
|
|
75
75
|
ensureEntry(skill, patch = {}) {
|
|
76
|
-
|
|
76
|
+
return this.ensureEntries([{ skill, patch }])[0];
|
|
77
|
+
}
|
|
78
|
+
/** Batch ensure: one registry load + one save for N entries, instead of N full-file round trips. */
|
|
79
|
+
ensureEntries(items) {
|
|
80
|
+
for (const item of items)
|
|
81
|
+
assertSafeSkillName(item.skill);
|
|
77
82
|
const registry = this.load();
|
|
78
83
|
registry.skills ||= {};
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
const skills = { ...registry.skills };
|
|
85
|
+
for (const item of items) {
|
|
86
|
+
skills[item.skill] = this.defaultEntry(item.skill, { ...(skills[item.skill] || {}), ...item.patch });
|
|
87
|
+
}
|
|
88
|
+
this.save({ skills });
|
|
89
|
+
return items.map((item) => skills[item.skill]);
|
|
82
90
|
}
|
|
83
91
|
removeEntry(skill) {
|
|
84
92
|
const registry = this.load();
|
|
@@ -107,7 +115,7 @@ export class RegistryService {
|
|
|
107
115
|
category: 'experimental',
|
|
108
116
|
tags: [],
|
|
109
117
|
consumers,
|
|
110
|
-
source: { type: 'local', url: null, subpath: null, ref: null, upstream_commit: null },
|
|
118
|
+
source: { type: 'local', url: null, subpath: null, ref: null, upstream_commit: null, upstream_tree: null, baseline_hash: null },
|
|
111
119
|
update_policy: 'manual',
|
|
112
120
|
description: '',
|
|
113
121
|
...patch,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-service.js","sourceRoot":"","sources":["../../../src/core/services/registry-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"registry-service.js","sourceRoot":"","sources":["../../../src/core/services/registry-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import os from 'node:os';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
const SKILL_FILE_SUFFIX = '/SKILL.md';
|
|
4
|
+
/**
|
|
5
|
+
* Map one lock entry to a registry source, or null when the entry holds no
|
|
6
|
+
* usable evidence (ADR-0011). Only source types skills-manager can actually
|
|
7
|
+
* update are adopted — a recorded-but-unupdatable source is worse than an
|
|
8
|
+
* honest snapshot. `skillFolderHash` (an upstream Git tree SHA) carries over
|
|
9
|
+
* as `baseline_hash`: the only anchor to the upstream version at install time.
|
|
10
|
+
*/
|
|
11
|
+
export function lockEntryToSource(entry) {
|
|
12
|
+
if (!entry || typeof entry !== 'object')
|
|
13
|
+
return null;
|
|
14
|
+
const sourceType = typeof entry.sourceType === 'string' ? entry.sourceType : '';
|
|
15
|
+
const skillPath = typeof entry.skillPath === 'string' ? entry.skillPath : '';
|
|
16
|
+
// Every source type requires a usable skillPath — it is the evidence of where
|
|
17
|
+
// the skill lived upstream (ADR-0011 decision 4).
|
|
18
|
+
if (!skillPath.endsWith(SKILL_FILE_SUFFIX))
|
|
19
|
+
return null;
|
|
20
|
+
const baselineHash = typeof entry.skillFolderHash === 'string' ? entry.skillFolderHash : null;
|
|
21
|
+
if (sourceType === 'github' || sourceType === 'git') {
|
|
22
|
+
const sourceUrl = typeof entry.sourceUrl === 'string' ? entry.sourceUrl : '';
|
|
23
|
+
if (!sourceUrl)
|
|
24
|
+
return null;
|
|
25
|
+
return {
|
|
26
|
+
type: 'git',
|
|
27
|
+
url: sourceUrl,
|
|
28
|
+
// '' means the repo root itself is the skill folder; null is the registry's word for that.
|
|
29
|
+
subpath: skillPath.slice(0, -SKILL_FILE_SUFFIX.length) || null,
|
|
30
|
+
ref: typeof entry.ref === 'string' && entry.ref ? entry.ref : null,
|
|
31
|
+
baseline_hash: baselineHash,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
// A local source's path is its identity: with url+subpath recorded, update and
|
|
35
|
+
// doctor treat it like any sourced skill (update re-copies from the local path).
|
|
36
|
+
// Without a sourceUrl it degrades to an audited snapshot.
|
|
37
|
+
if (sourceType === 'local') {
|
|
38
|
+
const sourceUrl = typeof entry.sourceUrl === 'string' ? entry.sourceUrl : '';
|
|
39
|
+
return {
|
|
40
|
+
type: 'local',
|
|
41
|
+
url: sourceUrl || null,
|
|
42
|
+
subpath: skillPath.slice(0, -SKILL_FILE_SUFFIX.length) || null,
|
|
43
|
+
ref: null,
|
|
44
|
+
baseline_hash: baselineHash,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Reads the `npx skills` machine-global lockfile as import evidence
|
|
51
|
+
* (ADR-0011). Upstream keeps it centralized — one file for every agent — at
|
|
52
|
+
* `$XDG_STATE_HOME/skills/.skill-lock.json` or `~/.agents/.skill-lock.json`.
|
|
53
|
+
* Read-only: skills-manager never writes, rewrites, or cleans this file.
|
|
54
|
+
*/
|
|
55
|
+
export class SkillLockService {
|
|
56
|
+
fs;
|
|
57
|
+
options;
|
|
58
|
+
constructor(fs, options = {}) {
|
|
59
|
+
this.fs = fs;
|
|
60
|
+
this.options = options;
|
|
61
|
+
}
|
|
62
|
+
lockPath() {
|
|
63
|
+
// An empty XDG_STATE_HOME is unset per the XDG spec, not a root path.
|
|
64
|
+
const xdg = this.options.env?.XDG_STATE_HOME;
|
|
65
|
+
if (xdg)
|
|
66
|
+
return path.join(xdg, 'skills', '.skill-lock.json');
|
|
67
|
+
return path.join(this.options.userHomeDir ?? os.homedir(), '.agents', '.skill-lock.json');
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Parsed entries keyed by skill name. Empty when the lock is absent,
|
|
71
|
+
* malformed, or not schema v3 (upstream wipes pre-v3 locks itself; an
|
|
72
|
+
* unknown future schema is ignored rather than guessed at).
|
|
73
|
+
*/
|
|
74
|
+
load() {
|
|
75
|
+
const file = this.lockPath();
|
|
76
|
+
if (this.fs.kind(file) !== 'file')
|
|
77
|
+
return new Map();
|
|
78
|
+
let parsed;
|
|
79
|
+
try {
|
|
80
|
+
parsed = JSON.parse(this.fs.readText(file));
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return new Map(); // Broken evidence is no evidence — never an init failure.
|
|
84
|
+
}
|
|
85
|
+
if (!parsed || typeof parsed !== 'object')
|
|
86
|
+
return new Map();
|
|
87
|
+
const lock = parsed;
|
|
88
|
+
if (lock.version !== 3)
|
|
89
|
+
return new Map();
|
|
90
|
+
const entries = new Map();
|
|
91
|
+
for (const [name, entry] of Object.entries(lock.skills ?? {})) {
|
|
92
|
+
if (entry && typeof entry === 'object')
|
|
93
|
+
entries.set(name, entry);
|
|
94
|
+
}
|
|
95
|
+
return entries;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=skill-lock-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-lock-service.js","sourceRoot":"","sources":["../../../src/core/services/skill-lock-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,45 @@ import os from 'node:os';
|
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { SkillsManagerError } from '../../shared/errors.js';
|
|
5
5
|
import { assertPathInside, assertSafeSkillName, parseSkillMarkdownMetadata } from '../../shared/validation.js';
|
|
6
|
+
const OWNER_REPO_PATTERN = /^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/;
|
|
7
|
+
const GITHUB_REPO_URL_PATTERN = /^https:\/\/github\.com\/([^/]+)\/([^/#?]+)\/?$/;
|
|
8
|
+
/** Canonical GitHub repo URL from owner + repo (strips a redundant `.git`). */
|
|
9
|
+
function githubRepoUrl(owner, repo) {
|
|
10
|
+
return `https://github.com/${owner}/${repo.replace(/\.git$/, '')}.git`;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Normalize a git source locator (`owner/repo` shorthand or GitHub repo URL) to the
|
|
14
|
+
* canonical repo URL — the same shapes `normalize` accepts, minus the local-path
|
|
15
|
+
* probe, so callers that mean "this is a git source" never misread a same-named
|
|
16
|
+
* local directory as the identity.
|
|
17
|
+
*/
|
|
18
|
+
export function normalizeGitSourceUrl(input) {
|
|
19
|
+
const value = input.trim();
|
|
20
|
+
if (OWNER_REPO_PATTERN.test(value)) {
|
|
21
|
+
const [owner, repo] = value.split('/');
|
|
22
|
+
return githubRepoUrl(owner, repo);
|
|
23
|
+
}
|
|
24
|
+
const githubRepo = value.match(GITHUB_REPO_URL_PATTERN);
|
|
25
|
+
if (githubRepo)
|
|
26
|
+
return githubRepoUrl(githubRepo[1], githubRepo[2]);
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Parse a GitHub repo locator — `owner/repo` shorthand or a github.com repo
|
|
31
|
+
* URL — into its owner/repo pair. Returns null for anything else (non-GitHub
|
|
32
|
+
* URLs included). The single place that decides "what is a GitHub source".
|
|
33
|
+
*/
|
|
34
|
+
export function parseGitHubRepoRef(input) {
|
|
35
|
+
const value = input.trim();
|
|
36
|
+
if (OWNER_REPO_PATTERN.test(value)) {
|
|
37
|
+
const [owner, repo] = value.split('/');
|
|
38
|
+
return { owner, repo: repo.replace(/\.git$/, '') };
|
|
39
|
+
}
|
|
40
|
+
const githubRepo = value.match(GITHUB_REPO_URL_PATTERN);
|
|
41
|
+
if (githubRepo)
|
|
42
|
+
return { owner: githubRepo[1], repo: githubRepo[2].replace(/\.git$/, '') };
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
6
45
|
export class SourceService {
|
|
7
46
|
fs;
|
|
8
47
|
git;
|
|
@@ -18,18 +57,18 @@ export class SourceService {
|
|
|
18
57
|
throw new SkillsManagerError('missing_source', 'Source is required');
|
|
19
58
|
if (this.fs.exists(input))
|
|
20
59
|
return { input, repoUrl: path.resolve(input), isLocal: true };
|
|
21
|
-
if (
|
|
22
|
-
|
|
60
|
+
if (OWNER_REPO_PATTERN.test(input)) {
|
|
61
|
+
const [owner, repo] = input.split('/');
|
|
62
|
+
return { input, repoUrl: githubRepoUrl(owner, repo), isLocal: false };
|
|
23
63
|
}
|
|
24
64
|
const githubTree = input.match(/^https:\/\/github\.com\/([^/]+)\/([^/]+)\/tree\/(.+)$/);
|
|
25
65
|
if (githubTree) {
|
|
26
66
|
const [, owner, repo, treeRest] = githubTree;
|
|
27
|
-
return { input, repoUrl:
|
|
67
|
+
return { input, repoUrl: githubRepoUrl(owner, repo), treeRest, isLocal: false };
|
|
28
68
|
}
|
|
29
|
-
const githubRepo = input.match(
|
|
69
|
+
const githubRepo = input.match(GITHUB_REPO_URL_PATTERN);
|
|
30
70
|
if (githubRepo) {
|
|
31
|
-
|
|
32
|
-
return { input, repoUrl: `https://github.com/${owner}/${repo.replace(/\.git$/, '')}.git`, isLocal: false };
|
|
71
|
+
return { input, repoUrl: githubRepoUrl(githubRepo[1], githubRepo[2]), isLocal: false };
|
|
33
72
|
}
|
|
34
73
|
return { input, repoUrl: input, isLocal: false };
|
|
35
74
|
}
|
|
@@ -44,12 +83,25 @@ export class SourceService {
|
|
|
44
83
|
const tree = normalized.treeRest ? this.resolveGitHubTreeRef(normalized.repoUrl, normalized.treeRest) : (forcedRef ? { ref: forcedRef } : {});
|
|
45
84
|
const repoDir = path.join(this.tempRoot, `skills-source-${randomUUID()}`, 'repo');
|
|
46
85
|
this.fs.makeDirectory(path.dirname(repoDir));
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
this.git.checkout(repoDir, tree.ref);
|
|
86
|
+
// Every git source downloads shallow; the adapter maps the ref intent to --branch / init+fetch and lands HEAD there (ADR-0013).
|
|
87
|
+
this.git.clone(normalized.repoUrl, repoDir, { ref: tree.ref });
|
|
50
88
|
const commit = this.git.revParseHead(repoDir);
|
|
51
89
|
return { ...normalized, ...tree, repoDir, commit };
|
|
52
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Source anchor for update decisions (ADR-0013): the tree SHA of the skill's
|
|
93
|
+
* own sub-directory, resolved in the checked-out clone — so a checkout and its
|
|
94
|
+
* anchors are captured in one consistent state. Local sources carry no git
|
|
95
|
+
* anchor (null); a skill anchored at the repo root records the commit SHA,
|
|
96
|
+
* matching what the GitHub Trees API reports for the root.
|
|
97
|
+
*/
|
|
98
|
+
upstreamTree(checkout, subpath) {
|
|
99
|
+
if (checkout.isLocal)
|
|
100
|
+
return null;
|
|
101
|
+
if (!subpath)
|
|
102
|
+
return checkout.commit;
|
|
103
|
+
return this.git.revParseTree(checkout.repoDir, subpath);
|
|
104
|
+
}
|
|
53
105
|
discover(source) {
|
|
54
106
|
const baseDir = source.baseSubpath ? path.join(source.repoDir, source.baseSubpath) : source.repoDir;
|
|
55
107
|
if (this.fs.kind(baseDir) !== 'directory')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-service.js","sourceRoot":"","sources":["../../../src/core/services/source-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAE/G,MAAM,OAAO,aAAa;IACK,EAAE;IAAmC,GAAG;IAA4B,QAAQ;IAAzG,YAA6B,EAAkB,EAAmB,GAAY,EAAmB,QAAQ,GAAG,EAAE,CAAC,MAAM,EAAE;kBAA1F,EAAE;mBAAmC,GAAG;wBAA4B,QAAQ;IAAiB,CAAC;IAE3H,SAAS,CAAC,MAAc;QACtB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAEzF,IAAI,
|
|
1
|
+
{"version":3,"file":"source-service.js","sourceRoot":"","sources":["../../../src/core/services/source-service.ts"],"names":[],"mappings":"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"}
|