@gt-fe/eap-sdk 0.1.1 → 0.1.2

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.
Files changed (69) hide show
  1. package/README.md +378 -370
  2. package/dist/discovery/resolve-agent-project.d.ts.map +1 -1
  3. package/dist/discovery/resolve-agent-project.js +2 -3
  4. package/dist/discovery/resolve-agent-project.js.map +1 -1
  5. package/dist/lockfile/read-lockfile.js +2 -2
  6. package/dist/lockfile/read-lockfile.js.map +1 -1
  7. package/dist/lockfile/resolve-dependencies.js +11 -11
  8. package/dist/lockfile/resolve-dependencies.js.map +1 -1
  9. package/dist/packaging/package-agent-project.d.ts.map +1 -1
  10. package/dist/packaging/package-agent-project.js +10 -2
  11. package/dist/packaging/package-agent-project.js.map +1 -1
  12. package/dist/platform/client.d.ts +7 -0
  13. package/dist/platform/client.d.ts.map +1 -1
  14. package/dist/platform/client.js +16 -2
  15. package/dist/platform/client.js.map +1 -1
  16. package/dist/project/agent-project.js +1 -1
  17. package/dist/project/agent-project.js.map +1 -1
  18. package/dist/resources/extract-resource-package.js +7 -6
  19. package/dist/resources/extract-resource-package.js.map +1 -1
  20. package/dist/resources/index.d.ts +1 -0
  21. package/dist/resources/index.d.ts.map +1 -1
  22. package/dist/resources/index.js +1 -0
  23. package/dist/resources/index.js.map +1 -1
  24. package/dist/resources/install-agent-resource.d.ts.map +1 -1
  25. package/dist/resources/install-agent-resource.js +35 -3
  26. package/dist/resources/install-agent-resource.js.map +1 -1
  27. package/dist/resources/install-local-agent-resource.d.ts.map +1 -1
  28. package/dist/resources/install-local-agent-resource.js +20 -3
  29. package/dist/resources/install-local-agent-resource.js.map +1 -1
  30. package/dist/resources/skill-tool-dependencies.d.ts +46 -0
  31. package/dist/resources/skill-tool-dependencies.d.ts.map +1 -0
  32. package/dist/resources/skill-tool-dependencies.js +231 -0
  33. package/dist/resources/skill-tool-dependencies.js.map +1 -0
  34. package/dist/resources/uninstall-agent-resource.d.ts.map +1 -1
  35. package/dist/resources/uninstall-agent-resource.js +10 -0
  36. package/dist/resources/uninstall-agent-resource.js.map +1 -1
  37. package/dist/schema/agent/manifest.js +1 -1
  38. package/dist/schema/agent/manifest.js.map +1 -1
  39. package/dist/schema/agent/models.js +4 -4
  40. package/dist/schema/agent/models.js.map +1 -1
  41. package/dist/schema/common.d.ts.map +1 -1
  42. package/dist/schema/common.js +7 -5
  43. package/dist/schema/common.js.map +1 -1
  44. package/dist/schema/dependencies-lock.js +1 -1
  45. package/dist/schema/dependencies-lock.js.map +1 -1
  46. package/dist/schema/package-manifest.js +2 -2
  47. package/dist/schema/package-manifest.js.map +1 -1
  48. package/dist/schema/project-config.d.ts +7 -7
  49. package/dist/schema/project-config.js +4 -4
  50. package/dist/schema/project-config.js.map +1 -1
  51. package/dist/schema/skill/manifest.js +2 -2
  52. package/dist/schema/skill/manifest.js.map +1 -1
  53. package/dist/schema/tool/manifest.d.ts +14 -14
  54. package/dist/schema/tool/manifest.js +8 -8
  55. package/dist/schema/tool/manifest.js.map +1 -1
  56. package/dist/schema/zod-error-map.d.ts +3 -0
  57. package/dist/schema/zod-error-map.d.ts.map +1 -0
  58. package/dist/schema/zod-error-map.js +91 -0
  59. package/dist/schema/zod-error-map.js.map +1 -0
  60. package/dist/validation/validate-agent-directory.js +4 -4
  61. package/dist/validation/validate-agent-directory.js.map +1 -1
  62. package/dist/validation/validate-agent-project.js +4 -4
  63. package/dist/validation/validate-agent-project.js.map +1 -1
  64. package/dist/validation/validate-graph.d.ts.map +1 -1
  65. package/dist/validation/validate-graph.js +53 -15
  66. package/dist/validation/validate-graph.js.map +1 -1
  67. package/dist/validation/validate-local-llm.js +2 -2
  68. package/dist/validation/validate-local-llm.js.map +1 -1
  69. package/package.json +1 -1
@@ -4,6 +4,7 @@ import { updateAgentManifest } from '../project/index.js';
4
4
  import { ResourceCodeSchema } from '../schema/index.js';
5
5
  import { resolveAgentProject } from '../discovery/index.js';
6
6
  import { readLocalAgentResource } from './local-resource.js';
7
+ import { ensureLocalSkillToolDependencies, readSkillToolDependencies } from './skill-tool-dependencies.js';
7
8
  export function installLocalAgentResource(options) {
8
9
  const code = ResourceCodeSchema.parse(options.code);
9
10
  const project = resolveAgentProject(options.root ? { root: options.root } : {});
@@ -19,8 +20,24 @@ export function installLocalAgentResource(options) {
19
20
  if (existing?.source === 'registry') {
20
21
  throw new Error(`Local ${options.kind} ${code} conflicts with its Registry lock entry`);
21
22
  }
22
- lock.resources[kind] = [
23
- ...lock.resources[kind].filter((entry) => entry.code !== code),
23
+ if (options.kind === 'skill') {
24
+ ensureLocalSkillToolDependencies({
25
+ root: project.root,
26
+ skillCode: code,
27
+ dependencies: readSkillToolDependencies(resourceDirectory),
28
+ installLocalTool: (dependency) => {
29
+ installLocalAgentResource({
30
+ root: project.root,
31
+ kind: 'tool',
32
+ code: dependency.code,
33
+ version: dependency.version,
34
+ });
35
+ },
36
+ });
37
+ }
38
+ const nextLock = readEapLock(project.root) ?? emptyLock();
39
+ nextLock.resources[kind] = [
40
+ ...nextLock.resources[kind].filter((entry) => entry.code !== code),
24
41
  {
25
42
  code,
26
43
  version,
@@ -29,7 +46,7 @@ export function installLocalAgentResource(options) {
29
46
  digest: local.digest,
30
47
  },
31
48
  ];
32
- writeEapLock(project.root, lock);
49
+ writeEapLock(project.root, nextLock);
33
50
  updateAgentManifest({
34
51
  root: project.root,
35
52
  update: (manifest) => options.kind === 'tool'
@@ -1 +1 @@
1
- {"version":3,"file":"install-local-agent-resource.js","sourceRoot":"","sources":["../../src/resources/install-local-agent-resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-local-agent-resource.js","sourceRoot":"","sources":["../../src/resources/install-local-agent-resource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * A Skill can scope tools with `toolsets` (the Runtime spelling) or the
3
+ * contract's older `toolRefs` spelling. Only object entries with an explicit
4
+ * `code` identify installable Toolsets. String entries are tool names used for
5
+ * runtime filtering and must already be provided by the Agent.
6
+ */
7
+ export interface SkillToolDependency {
8
+ code: string;
9
+ version?: string;
10
+ }
11
+ export interface EnsureSkillToolDependenciesOptions {
12
+ root: string;
13
+ skillCode: string;
14
+ dependencies: SkillToolDependency[];
15
+ installRegistryTool: (dependency: Required<SkillToolDependency>) => Promise<void>;
16
+ installLocalTool: (dependency: SkillToolDependency) => void;
17
+ hasRegistryCredentials?: boolean;
18
+ }
19
+ /** Read installable Toolset references from a materialized Skill directory. */
20
+ export declare function readSkillToolDependencies(directory: string): SkillToolDependency[];
21
+ /** Read all Skill tool names for uninstall/reference checks. */
22
+ export declare function readSkillToolReferenceNames(directory: string): string[];
23
+ export interface InstalledSkillToolReference {
24
+ skillCode: string;
25
+ skillVersion: string;
26
+ }
27
+ /** Find declared Skills that still reference a Toolset code. */
28
+ export declare function findInstalledSkillToolReferences(root: string, toolCode: string): InstalledSkillToolReference[];
29
+ /**
30
+ * Offline reconciliation used by the synchronous local-resource API. Existing
31
+ * Agent toolRefs always win; local dependencies are added immediately, while a
32
+ * missing Registry dependency is reported with the exact install command.
33
+ */
34
+ export declare function ensureLocalSkillToolDependencies(options: {
35
+ root: string;
36
+ skillCode: string;
37
+ dependencies: SkillToolDependency[];
38
+ installLocalTool: (dependency: SkillToolDependency) => void;
39
+ }): void;
40
+ /**
41
+ * Reconcile Skill Toolset dependencies with the Agent's top-level toolRefs.
42
+ * Agent dependencies remain the lock/materialization unit; a Skill never gets
43
+ * an independent lock file or a second Tool installation namespace.
44
+ */
45
+ export declare function ensureSkillToolDependencies(options: EnsureSkillToolDependenciesOptions): Promise<void>;
46
+ //# sourceMappingURL=skill-tool-dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-tool-dependencies.d.ts","sourceRoot":"","sources":["../../src/resources/skill-tool-dependencies.ts"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kCAAkC;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,mBAAmB,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,mBAAmB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,gBAAgB,EAAE,CAAC,UAAU,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5D,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,+EAA+E;AAC/E,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAqClF;AAED,gEAAgE;AAChE,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAmCvE;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,gEAAgE;AAChE,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,2BAA2B,EAAE,CAgB/B;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,gBAAgB,EAAE,CAAC,UAAU,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC7D,GAAG,IAAI,CA8BP;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAoDf"}
@@ -0,0 +1,231 @@
1
+ import { existsSync, lstatSync, readFileSync } from 'node:fs';
2
+ import { resolve } from 'node:path';
3
+ import { parseSkillMd } from '@gt-fe/eap-contracts';
4
+ import { resolveAgentProject } from '../discovery/index.js';
5
+ import { readEapLock } from '../lockfile/index.js';
6
+ import { updateAgentManifest } from '../project/index.js';
7
+ import { AgentManifestSchema } from '../schema/index.js';
8
+ import { findLocalSkillEntryFile, readLocalAgentResource } from './local-resource.js';
9
+ /** Read installable Toolset references from a materialized Skill directory. */
10
+ export function readSkillToolDependencies(directory) {
11
+ const manifestPath = resolve(directory, 'skill.manifest.json');
12
+ if (!isRegularFile(manifestPath))
13
+ return [];
14
+ let value;
15
+ try {
16
+ value = JSON.parse(readFileSync(manifestPath, 'utf8'));
17
+ }
18
+ catch (error) {
19
+ const reason = error instanceof Error ? error.message : String(error);
20
+ throw new Error(`Skill manifest is not valid JSON: ${manifestPath} (${reason})`);
21
+ }
22
+ if (!value || typeof value !== 'object' || Array.isArray(value))
23
+ return [];
24
+ const manifest = value;
25
+ const dependencies = [];
26
+ const byCode = new Map();
27
+ for (const field of ['toolsets', 'toolRefs']) {
28
+ const refs = manifest[field];
29
+ if (!Array.isArray(refs))
30
+ continue;
31
+ for (const ref of refs) {
32
+ const dependency = parseInstallableDependency(ref);
33
+ if (!dependency)
34
+ continue;
35
+ const previous = byCode.get(dependency.code);
36
+ if (previous) {
37
+ if (previous.version && dependency.version && previous.version !== dependency.version) {
38
+ throw new Error(`Skill ${String(manifest.code ?? '(unknown)')} declares conflicting Toolset versions for ${dependency.code}: ${previous.version} and ${dependency.version}`);
39
+ }
40
+ if (!previous.version && dependency.version)
41
+ previous.version = dependency.version;
42
+ continue;
43
+ }
44
+ byCode.set(dependency.code, dependency);
45
+ dependencies.push(dependency);
46
+ }
47
+ }
48
+ return dependencies;
49
+ }
50
+ /** Read all Skill tool names for uninstall/reference checks. */
51
+ export function readSkillToolReferenceNames(directory) {
52
+ const manifestPath = resolve(directory, 'skill.manifest.json');
53
+ if (!isRegularFile(manifestPath))
54
+ return readSkillMdAllowedTools(directory);
55
+ let value;
56
+ try {
57
+ value = JSON.parse(readFileSync(manifestPath, 'utf8'));
58
+ }
59
+ catch (error) {
60
+ const reason = error instanceof Error ? error.message : String(error);
61
+ throw new Error(`Skill manifest is not valid JSON: ${manifestPath} (${reason})`);
62
+ }
63
+ if (!value || typeof value !== 'object' || Array.isArray(value))
64
+ return [];
65
+ const names = new Set();
66
+ const manifest = value;
67
+ for (const field of ['toolsets', 'toolRefs']) {
68
+ const refs = manifest[field];
69
+ if (!Array.isArray(refs))
70
+ continue;
71
+ for (const ref of refs) {
72
+ if (typeof ref === 'string' && ref.trim()) {
73
+ names.add(ref.trim());
74
+ continue;
75
+ }
76
+ if (!ref || typeof ref !== 'object' || Array.isArray(ref))
77
+ continue;
78
+ const record = ref;
79
+ for (const fieldName of ['code', 'toolset', 'toolId', 'name']) {
80
+ const name = record[fieldName];
81
+ if (typeof name === 'string' && name.trim()) {
82
+ names.add(name.trim());
83
+ break;
84
+ }
85
+ }
86
+ }
87
+ }
88
+ return [...names, ...readSkillMdAllowedTools(directory)].sort();
89
+ }
90
+ /** Find declared Skills that still reference a Toolset code. */
91
+ export function findInstalledSkillToolReferences(root, toolCode) {
92
+ const project = resolveAgentProject({ root });
93
+ const manifest = AgentManifestSchema.parse(JSON.parse(readFileSync(project.manifestPath, 'utf8')));
94
+ const lock = readEapLock(project.root);
95
+ const references = [];
96
+ for (const skillRef of manifest.skillRefs) {
97
+ const locked = lock?.resources.skills.find((entry) => entry.code === skillRef.code);
98
+ const sourcePath = locked
99
+ ? resolve(project.root, locked.path)
100
+ : resolve(project.root, 'skills', skillRef.code);
101
+ if (!existsAsDirectory(sourcePath))
102
+ continue;
103
+ if (!readSkillToolReferenceNames(sourcePath).includes(toolCode))
104
+ continue;
105
+ references.push({ skillCode: skillRef.code, skillVersion: skillRef.version });
106
+ }
107
+ return references.sort((left, right) => left.skillCode.localeCompare(right.skillCode));
108
+ }
109
+ /**
110
+ * Offline reconciliation used by the synchronous local-resource API. Existing
111
+ * Agent toolRefs always win; local dependencies are added immediately, while a
112
+ * missing Registry dependency is reported with the exact install command.
113
+ */
114
+ export function ensureLocalSkillToolDependencies(options) {
115
+ if (options.dependencies.length === 0)
116
+ return;
117
+ const project = resolveAgentProject({ root: options.root });
118
+ const manifest = AgentManifestSchema.parse(JSON.parse(readFileSync(project.manifestPath, 'utf8')));
119
+ const lock = readEapLock(project.root);
120
+ for (const dependency of options.dependencies) {
121
+ const existing = manifest.toolRefs.find((ref) => ref.code === dependency.code);
122
+ if (existing)
123
+ continue;
124
+ const locked = lock?.resources.tools.find((entry) => entry.code === dependency.code);
125
+ const localDirectory = resolve(project.root, 'tools', dependency.code);
126
+ if (existsAsDirectory(localDirectory)) {
127
+ options.installLocalTool({
128
+ code: dependency.code,
129
+ ...(dependency.version ? { version: dependency.version } : {}),
130
+ });
131
+ continue;
132
+ }
133
+ const version = dependency.version ?? locked?.version;
134
+ if (locked?.source === 'registry' && version) {
135
+ throw new Error(`本地 Skill ${options.skillCode} 依赖 Registry Toolset ${dependency.code}@${version},请先运行 eap install ${dependency.code} --type tool --version ${version}`);
136
+ }
137
+ throw new Error(`本地 Skill ${options.skillCode} 依赖 Toolset ${dependency.code}${version ? `@${version}` : ''},但当前项目未安装。请先安装该 Tool,再重新安装 Skill。`);
138
+ }
139
+ }
140
+ /**
141
+ * Reconcile Skill Toolset dependencies with the Agent's top-level toolRefs.
142
+ * Agent dependencies remain the lock/materialization unit; a Skill never gets
143
+ * an independent lock file or a second Tool installation namespace.
144
+ */
145
+ export async function ensureSkillToolDependencies(options) {
146
+ if (options.dependencies.length === 0)
147
+ return;
148
+ const project = resolveAgentProject({ root: options.root });
149
+ for (const dependency of options.dependencies) {
150
+ const manifest = AgentManifestSchema.parse(JSON.parse(readFileSync(project.manifestPath, 'utf8')));
151
+ const existing = manifest.toolRefs.find((ref) => ref.code === dependency.code);
152
+ const lock = readEapLock(project.root);
153
+ const locked = lock?.resources.tools.find((entry) => entry.code === dependency.code);
154
+ const localDirectory = resolve(project.root, 'tools', dependency.code);
155
+ const local = existsAsDirectory(localDirectory)
156
+ ? readLocalAgentResource(localDirectory, 'tool', dependency.code)
157
+ : undefined;
158
+ if (locked?.source === 'registry' && local) {
159
+ throw new Error(`Registry Toolset ${dependency.code} conflicts with local directory ${localDirectory}`);
160
+ }
161
+ // An Agent-level reference is the authority. This is what makes Portal
162
+ // Agent initialization and standalone Skill installation deterministic
163
+ // when a Skill asks for a different version of the same Toolset.
164
+ const version = existing?.version ?? dependency.version ?? locked?.version ?? local?.version;
165
+ if (locked?.source === 'local' && local) {
166
+ addAgentToolRef(project.root, dependency.code, version ?? local.version);
167
+ continue;
168
+ }
169
+ if (locked?.source === 'registry'
170
+ && locked.version === version
171
+ && version
172
+ && existsAsDirectory(resolve(project.root, locked.path))) {
173
+ addAgentToolRef(project.root, dependency.code, version);
174
+ continue;
175
+ }
176
+ if (local) {
177
+ options.installLocalTool({ code: dependency.code, ...(version ? { version } : {}) });
178
+ continue;
179
+ }
180
+ if (!version) {
181
+ throw new Error(`Skill ${options.skillCode} declares Toolset ${dependency.code} without a version. Add { "code": "${dependency.code}", "version": "x.y.z" } to the Skill manifest or install the Tool explicitly first.`);
182
+ }
183
+ if (options.hasRegistryCredentials === false) {
184
+ throw new Error(`Skill ${options.skillCode} requires Registry Toolset ${dependency.code}@${version}. Install it first with eap install ${dependency.code} --type tool --version ${version}.`);
185
+ }
186
+ await options.installRegistryTool({ code: dependency.code, version });
187
+ }
188
+ }
189
+ function addAgentToolRef(root, code, version) {
190
+ updateAgentManifest({
191
+ root,
192
+ update: (manifest) => manifest.toolRefs.some((ref) => ref.code === code)
193
+ ? manifest
194
+ : { ...manifest, toolRefs: [...manifest.toolRefs, { code, version }] },
195
+ });
196
+ }
197
+ function parseInstallableDependency(value) {
198
+ if (!value || typeof value !== 'object' || Array.isArray(value))
199
+ return undefined;
200
+ const record = value;
201
+ // `toolId`/`name` identify child tools for Runtime filtering, not an
202
+ // installable Toolset. Only `code` (current spelling) or `toolset` (legacy
203
+ // spelling) can be resolved through the Agent Tool registry.
204
+ const rawCode = record.code ?? record.toolset;
205
+ if (typeof rawCode !== 'string' || !rawCode.trim())
206
+ return undefined;
207
+ const code = rawCode.trim();
208
+ const rawVersion = record.version;
209
+ const version = typeof rawVersion === 'string' && rawVersion.trim() ? rawVersion.trim() : undefined;
210
+ return { code, ...(version ? { version } : {}) };
211
+ }
212
+ function readSkillMdAllowedTools(directory) {
213
+ const entry = findLocalSkillEntryFile(directory);
214
+ if (entry !== 'SKILL.md' && entry !== 'skill.md')
215
+ return [];
216
+ const parsed = parseSkillMd(readFileSync(resolve(directory, entry), 'utf8'));
217
+ return parsed?.frontmatter.allowedTools?.filter((name) => name.trim()).map((name) => name.trim()) ?? [];
218
+ }
219
+ function existsAsDirectory(path) {
220
+ if (!existsSync(path))
221
+ return false;
222
+ const stat = lstatSync(path);
223
+ return stat.isDirectory() && !stat.isSymbolicLink();
224
+ }
225
+ function isRegularFile(path) {
226
+ if (!existsSync(path))
227
+ return false;
228
+ const stat = lstatSync(path);
229
+ return stat.isFile() && !stat.isSymbolicLink();
230
+ }
231
+ //# sourceMappingURL=skill-tool-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-tool-dependencies.js","sourceRoot":"","sources":["../../src/resources/skill-tool-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAsBtF,+EAA+E;AAC/E,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACzD,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC/D,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5C,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAY,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,qCAAqC,YAAY,KAAK,MAAM,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3E,MAAM,QAAQ,GAAG,KAAgC,CAAC;IAClD,MAAM,YAAY,GAA0B,EAAE,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;IACtD,KAAK,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,UAAU,CAAU,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS;QACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU;gBAAE,SAAS;YAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,QAAQ,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;oBACtF,MAAM,IAAI,KAAK,CACb,SAAS,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,WAAW,CAAC,8CAA8C,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,QAAQ,UAAU,CAAC,OAAO,EAAE,CAC5J,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO;oBAAE,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBACnF,SAAS;YACX,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACxC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,2BAA2B,CAAC,SAAiB;IAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC/D,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;QAAE,OAAO,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAE5E,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAY,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,qCAAqC,YAAY,KAAK,MAAM,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE3E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,KAAgC,CAAC;IAClD,KAAK,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,UAAU,CAAU,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS;QACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1C,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,SAAS;YACpE,MAAM,MAAM,GAAG,GAA8B,CAAC;YAC9C,KAAK,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAU,EAAE,CAAC;gBACvE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC5C,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACvB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAClE,CAAC;AAOD,gEAAgE;AAChE,MAAM,UAAU,gCAAgC,CAC9C,IAAY,EACZ,QAAgB;IAEhB,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACnG,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,UAAU,GAAkC,EAAE,CAAC;IAErD,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpF,MAAM,UAAU,GAAG,MAAM;YACvB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;YACpC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;YAAE,SAAS;QAC7C,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAS;QAC1E,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AACzF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,OAKhD;IACC,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC9C,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACnG,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/E,IAAI,QAAQ;YAAE,SAAS;QAEvB,MAAM,MAAM,GAAG,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;QACrF,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACvE,IAAI,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,gBAAgB,CAAC;gBACvB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,MAAM,EAAE,OAAO,CAAC;QACtD,IAAI,MAAM,EAAE,MAAM,KAAK,UAAU,IAAI,OAAO,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,SAAS,wBAAwB,UAAU,CAAC,IAAI,IAAI,OAAO,qBAAqB,UAAU,CAAC,IAAI,0BAA0B,OAAO,EAAE,CACvJ,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,SAAS,eAAe,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,mCAAmC,CAC9H,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAA2C;IAE3C,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE9C,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACnG,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;QACrF,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,iBAAiB,CAAC,cAAc,CAAC;YAC7C,CAAC,CAAC,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;YACjE,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,MAAM,EAAE,MAAM,KAAK,UAAU,IAAI,KAAK,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,CAAC,IAAI,mCAAmC,cAAc,EAAE,CAAC,CAAC;QAC1G,CAAC;QACD,uEAAuE;QACvE,uEAAuE;QACvE,iEAAiE;QACjE,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,UAAU,CAAC,OAAO,IAAI,MAAM,EAAE,OAAO,IAAI,KAAK,EAAE,OAAO,CAAC;QAE7F,IAAI,MAAM,EAAE,MAAM,KAAK,OAAO,IAAI,KAAK,EAAE,CAAC;YACxC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YACzE,SAAS;QACX,CAAC;QACD,IACE,MAAM,EAAE,MAAM,KAAK,UAAU;eAC1B,MAAM,CAAC,OAAO,KAAK,OAAO;eAC1B,OAAO;eACP,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EACxD,CAAC;YACD,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxD,SAAS;QACX,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACrF,SAAS;QACX,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,SAAS,OAAO,CAAC,SAAS,qBAAqB,UAAU,CAAC,IAAI,sCAAsC,UAAU,CAAC,IAAI,qFAAqF,CACzM,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,SAAS,OAAO,CAAC,SAAS,8BAA8B,UAAU,CAAC,IAAI,IAAI,OAAO,uCAAuC,UAAU,CAAC,IAAI,0BAA0B,OAAO,GAAG,CAC7K,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,IAAY,EAAE,OAAe;IAClE,mBAAmB,CAAC;QAClB,IAAI;QACJ,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;YACtE,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE;KACzE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClF,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,qEAAqE;IACrE,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC;IAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IACrE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACpG,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAiB;IAChD,MAAM,KAAK,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7E,OAAO,MAAM,EAAE,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAC1G,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;AACjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall-agent-resource.d.ts","sourceRoot":"","sources":["../../src/resources/uninstall-agent-resource.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,6BAA6B;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAUD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,6BAA6B,GACrC,wBAAwB,CA4C1B"}
1
+ {"version":3,"file":"uninstall-agent-resource.d.ts","sourceRoot":"","sources":["../../src/resources/uninstall-agent-resource.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,6BAA6B;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAUD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,6BAA6B,GACrC,wBAAwB,CAuD1B"}
@@ -6,6 +6,7 @@ import { ResourceCodeSchema } from '../schema/index.js';
6
6
  import { resolveAgentProject } from '../discovery/index.js';
7
7
  import { removeDirectoryChild } from './resource-files.js';
8
8
  import { readLocalAgentResource } from './local-resource.js';
9
+ import { findInstalledSkillToolReferences } from './skill-tool-dependencies.js';
9
10
  export function uninstallAgentResource(options) {
10
11
  const code = ResourceCodeSchema.parse(options.code);
11
12
  const project = resolveAgentProject(options.root ? { root: options.root } : {});
@@ -20,6 +21,15 @@ export function uninstallAgentResource(options) {
20
21
  throw new Error(`Resource ${code} is installed as more than one resource type; specify --type tool or skill`);
21
22
  }
22
23
  const candidate = candidates[0];
24
+ if (candidate.kind === 'tool') {
25
+ const skillReferences = findInstalledSkillToolReferences(project.root, code);
26
+ if (skillReferences.length > 0) {
27
+ const details = skillReferences
28
+ .map((reference) => `${reference.skillCode}@${reference.skillVersion}`)
29
+ .join('、');
30
+ throw new Error(`Tool ${code} 仍被 Skill 引用:${details}。请先更新这些 Skill,或到平台重新配置并移除该 Tool 引用,然后重新安装 Skill 后再卸载 Tool。`);
31
+ }
32
+ }
23
33
  const kind = candidate.kind === 'tool' ? 'tools' : 'skills';
24
34
  const nextLock = {
25
35
  ...lock,
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall-agent-resource.js","sourceRoot":"","sources":["../../src/resources/uninstall-agent-resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall-agent-resource.js","sourceRoot":"","sources":["../../src/resources/uninstall-agent-resource.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { GraphSchema } from '../graph.js';
4
4
  import { AgentModelsSchema } from './models.js';
5
5
  const ManifestVersionSchema = z
6
6
  .string()
7
- .regex(/^\d+\.\d+\.\d+$/, 'Agent version must use major.minor.patch format')
7
+ .regex(/^\d+\.\d+\.\d+$/, 'Agent version 必须使用 major.minor.patch 格式(如 1.2.3)')
8
8
  .describe('Agent 的三段式语义化版本号。');
9
9
  const AgentConfigSchema = z.object({
10
10
  timeout: z.number().int().min(1_000).max(3_600_000).optional().describe('执行超时,单位为毫秒。有 graph.json 时以图 config.timeout 为准。'),
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/schema/agent/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/schema/agent/manifest.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { z } from 'zod';
2
2
  export const AgentModelsSchema = z.object({
3
- default: z.string().min(1).describe('默认模型;llm 节点未写 model 时使用。'),
4
- allowed: z.array(z.string().min(1)).max(6).optional().describe('图上允许的模型 code;可含 default。解析时会把 default 并入并去重。最多 6 个(含 default)。'),
3
+ default: z.string().min(1, 'models.default 不能为空,请填写默认模型 code。').describe('默认模型;llm 节点未写 model 时使用。'),
4
+ allowed: z.array(z.string().min(1, 'models.allowed 中的模型 code 不能为空。')).max(6, 'models.allowed 最多填写 6 个模型。').optional().describe('图上允许的模型 code;可含 default。解析时会把 default 并入并去重。最多 6 个(含 default)。'),
5
5
  }).strict().superRefine((value, context) => {
6
6
  const seenInAllowed = new Set();
7
7
  for (const [index, name] of (value.allowed ?? []).entries()) {
8
8
  if (seenInAllowed.has(name)) {
9
9
  context.addIssue({
10
10
  code: z.ZodIssueCode.custom,
11
- message: `Model ${name} is duplicated in models.allowed`,
11
+ message: `models.allowed 中模型 ${name} 重复出现,请去重。`,
12
12
  path: ['allowed', index],
13
13
  });
14
14
  }
@@ -18,7 +18,7 @@ export const AgentModelsSchema = z.object({
18
18
  if (unique.size > 6) {
19
19
  context.addIssue({
20
20
  code: z.ZodIssueCode.custom,
21
- message: 'models.default + models.allowed may contain at most 6 unique models',
21
+ message: 'models.default models.allowed 合计最多 6 个不同模型,请删减后重试。',
22
22
  path: ['allowed'],
23
23
  });
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/schema/agent/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAC/D,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC5D,gEAAgE,CACjE;CACF,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACzC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5D,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,QAAQ,CAAC;gBACf,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,SAAS,IAAI,kCAAkC;gBACxD,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;aACzB,CAAC,CAAC;QACL,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAS,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,qEAAqE;YAC9E,IAAI,EAAE,CAAC,SAAS,CAAC;SAClB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC,QAAQ,CAAC,0DAA0D,CAAC,CAAC;AAIxE,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/schema/agent/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACpG,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC5H,gEAAgE,CACjE;CACF,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACzC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5D,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,QAAQ,CAAC;gBACf,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,sBAAsB,IAAI,YAAY;gBAC/C,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;aACzB,CAAC,CAAC;QACL,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAS,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,sDAAsD;YAC/D,IAAI,EAAE,CAAC,SAAS,CAAC;SAClB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC,QAAQ,CAAC,0DAA0D,CAAC,CAAC;AAIxE,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/schema/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe,aAIgB,CAAC;AAE7C,eAAO,MAAM,kBAAkB,aAAwD,CAAC;AAExF,eAAO,MAAM,qBAAqB,aAMZ,CAAC;AAEvB,eAAO,MAAM,kBAAkB,aAGkB,CAAC;AAElD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMpE;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED,eAAO,MAAM,yBAAyB,2CAEW,CAAC;AAElD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,qEAc5C"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/schema/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,eAAe,aAIgB,CAAC;AAE7C,eAAO,MAAM,kBAAkB,aAAwD,CAAC;AAExF,eAAO,MAAM,qBAAqB,aAMZ,CAAC;AAEvB,eAAO,MAAM,kBAAkB,aAGkB,CAAC;AAElD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMpE;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED,eAAO,MAAM,yBAAyB,2CAKW,CAAC;AAElD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,qEAc5C"}
@@ -1,17 +1,19 @@
1
1
  import { z } from 'zod';
2
+ import { installZodErrorMap } from './zod-error-map.js';
3
+ installZodErrorMap();
2
4
  export const AgentCodeSchema = z
3
5
  .string()
4
- .regex(/^[a-z0-9][a-z0-9_-]*$/, 'Agent code must contain only lowercase letters, digits, hyphens, and underscores')
6
+ .regex(/^[a-z0-9][a-z0-9_-]*$/, 'Agent code 只能包含小写字母、数字、连字符和下划线')
5
7
  .max(64)
6
8
  .describe('Agent 编码,只能包含小写字母、数字、连字符和下划线。');
7
9
  export const ResourceCodeSchema = AgentCodeSchema.describe('资源编码,只能包含小写字母、数字、连字符和下划线。');
8
10
  export const SemanticVersionSchema = z
9
11
  .string()
10
- .regex(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/, 'Version must be a semantic version')
12
+ .regex(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/, '版本号必须是语义化版本(例如 1.2.3)')
11
13
  .describe('语义化版本号。');
12
14
  export const Sha256DigestSchema = z
13
15
  .string()
14
- .regex(/^sha256:[a-f0-9]{64}$/, 'Digest must be a sha256:<hex> value')
16
+ .regex(/^sha256:[a-f0-9]{64}$/, '摘要必须是 sha256:<64 位十六进制值>')
15
17
  .describe('SHA-256 摘要,格式为 sha256:<64 位十六进制值>。');
16
18
  export function isPortableProjectRelativePath(value) {
17
19
  const normalized = value.replace(/\\/g, '/');
@@ -27,7 +29,7 @@ export function normalizeProjectRelativePath(value) {
27
29
  return normalized.startsWith('./') ? normalized.slice(2) : normalized;
28
30
  }
29
31
  export const ProjectRelativePathSchema = z.string()
30
- .refine(isPortableProjectRelativePath, 'Path must be a portable project-relative path')
32
+ .refine(isPortableProjectRelativePath, '路径必须是相对项目根目录的可移植路径(portable project-relative path;正斜杠、禁止绝对路径或路径遍历)')
31
33
  .describe('相对于项目根目录的可移植路径,使用正斜杠且不允许绝对路径或路径遍历。');
32
34
  export function uniqueCodeArray(label) {
33
35
  return z.array(ResourceCodeSchema).superRefine((values, context) => {
@@ -36,7 +38,7 @@ export function uniqueCodeArray(label) {
36
38
  if (seen.has(value)) {
37
39
  context.addIssue({
38
40
  code: z.ZodIssueCode.custom,
39
- message: `${label} entries must be unique`,
41
+ message: `${label} 中存在重复项,请去重。`,
40
42
  path: [index],
41
43
  });
42
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/schema/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,EAAE;KACR,KAAK,CAAC,uBAAuB,EAAE,kFAAkF,CAAC;KAClH,GAAG,CAAC,EAAE,CAAC;KACP,QAAQ,CAAC,+BAA+B,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AAExF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,KAAK,CACJ,2HAA2H,EAC3H,oCAAoC,CACrC;KACA,QAAQ,CAAC,SAAS,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,EAAE;KACR,KAAK,CAAC,uBAAuB,EAAE,qCAAqC,CAAC;KACrE,QAAQ,CAAC,oCAAoC,CAAC,CAAC;AAElD,MAAM,UAAU,6BAA6B,CAAC,KAAa;IACzD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/F,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1C,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC;AACnH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,EAAE;KAChD,MAAM,CAAC,6BAA6B,EAAE,+CAA+C,CAAC;KACtF,QAAQ,CAAC,oCAAoC,CAAC,CAAC;AAElD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;oBAC3B,OAAO,EAAE,GAAG,KAAK,yBAAyB;oBAC1C,IAAI,EAAE,CAAC,KAAK,CAAC;iBACd,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/schema/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,kBAAkB,EAAE,CAAC;AAErB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,EAAE;KACR,KAAK,CAAC,uBAAuB,EAAE,gCAAgC,CAAC;KAChE,GAAG,CAAC,EAAE,CAAC;KACP,QAAQ,CAAC,+BAA+B,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AAExF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,KAAK,CACJ,2HAA2H,EAC3H,uBAAuB,CACxB;KACA,QAAQ,CAAC,SAAS,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,EAAE;KACR,KAAK,CAAC,uBAAuB,EAAE,0BAA0B,CAAC;KAC1D,QAAQ,CAAC,oCAAoC,CAAC,CAAC;AAElD,MAAM,UAAU,6BAA6B,CAAC,KAAa;IACzD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/F,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1C,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC;AACnH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,EAAE;KAChD,MAAM,CACL,6BAA6B,EAC7B,oEAAoE,CACrE;KACA,QAAQ,CAAC,oCAAoC,CAAC,CAAC;AAElD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;oBAC3B,OAAO,EAAE,GAAG,KAAK,cAAc;oBAC/B,IAAI,EAAE,CAAC,KAAK,CAAC;iBACd,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  const ArtifactCodeSchema = z.string().min(1).max(64)
3
- .regex(/^[a-z0-9][a-z0-9_-]*$/, 'Artifact code must contain only lowercase letters, digits, hyphens, and underscores');
3
+ .regex(/^[a-z0-9][a-z0-9_-]*$/, 'Artifact code 只能包含小写字母、数字、连字符和下划线');
4
4
  export const LockedArtifactSchema = z.object({
5
5
  code: ArtifactCodeSchema.describe('Toolset 或 Skill 制品编码。'),
6
6
  version: z.string().min(1).describe('锁定的制品版本。'),
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies-lock.js","sourceRoot":"","sources":["../../src/schema/dependencies-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;KACjD,KAAK,CAAC,uBAAuB,EAAE,qFAAqF,CAAC,CAAC;AAEzH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,4BAA4B,EAAE,8CAA8C,CAAC;SACnG,QAAQ,CAAC,wBAAwB,CAAC;CACtC,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;CACzC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC,CAAC"}
1
+ {"version":3,"file":"dependencies-lock.js","sourceRoot":"","sources":["../../src/schema/dependencies-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;KACjD,KAAK,CAAC,uBAAuB,EAAE,mCAAmC,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,4BAA4B,EAAE,8CAA8C,CAAC;SACnG,QAAQ,CAAC,wBAAwB,CAAC;CACtC,CAAC,CAAC,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;CACzC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC,CAAC"}
@@ -17,7 +17,7 @@ function uniquePackageAgents() {
17
17
  if (identities.has(identity)) {
18
18
  context.addIssue({
19
19
  code: z.ZodIssueCode.custom,
20
- message: `Duplicate packaged Agent: ${identity}`,
20
+ message: `打包清单中存在重复的 Agent:${identity}`,
21
21
  path: [index],
22
22
  });
23
23
  }
@@ -32,7 +32,7 @@ function uniquePackageFiles() {
32
32
  if (paths.has(file.path)) {
33
33
  context.addIssue({
34
34
  code: z.ZodIssueCode.custom,
35
- message: `Duplicate package file record: ${file.path}`,
35
+ message: `打包清单中存在重复的文件记录:${file.path}`,
36
36
  path: [index, 'path'],
37
37
  });
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"package-manifest.js","sourceRoot":"","sources":["../../src/schema/package-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEzF,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,qBAAqB;CAC/B,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;AAE9C,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC5D,MAAM,EAAE,kBAAkB;CAC3B,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEtC,SAAS,mBAAmB;IAC1B,OAAO,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QAC3E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClD,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;oBAC3B,OAAO,EAAE,6BAA6B,QAAQ,EAAE;oBAChD,IAAI,EAAE,CAAC,KAAK,CAAC;iBACd,CAAC,CAAC;YACL,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;oBAC3B,OAAO,EAAE,kCAAkC,IAAI,CAAC,IAAI,EAAE;oBACtD,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;iBACtB,CAAC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACzD,MAAM,EAAE,mBAAmB,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACtE,KAAK,EAAE,kBAAkB,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CAC/D,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"package-manifest.js","sourceRoot":"","sources":["../../src/schema/package-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEzF,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,qBAAqB;CAC/B,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;AAE9C,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC5D,MAAM,EAAE,kBAAkB;CAC3B,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEtC,SAAS,mBAAmB;IAC1B,OAAO,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QAC3E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClD,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;oBAC3B,OAAO,EAAE,oBAAoB,QAAQ,EAAE;oBACvC,IAAI,EAAE,CAAC,KAAK,CAAC;iBACd,CAAC,CAAC;YACL,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;oBAC3B,OAAO,EAAE,kBAAkB,IAAI,CAAC,IAAI,EAAE;oBACtC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;iBACtB,CAAC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACzD,MAAM,EAAE,mBAAmB,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACtE,KAAK,EAAE,kBAAkB,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CAC/D,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC"}