@ytinnovation/harness-core 0.0.3 → 0.1.1

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 (89) hide show
  1. package/dist/assets/publish.d.ts +86 -0
  2. package/dist/assets/publish.d.ts.map +1 -0
  3. package/dist/assets/publish.js +305 -0
  4. package/dist/assets/publish.js.map +1 -0
  5. package/dist/cli-version/command.d.ts +12 -0
  6. package/dist/cli-version/command.d.ts.map +1 -0
  7. package/dist/cli-version/command.js +142 -0
  8. package/dist/cli-version/command.js.map +1 -0
  9. package/dist/cli-version/compare-versions.d.ts +6 -0
  10. package/dist/cli-version/compare-versions.d.ts.map +1 -0
  11. package/dist/cli-version/compare-versions.js +29 -0
  12. package/dist/cli-version/compare-versions.js.map +1 -0
  13. package/dist/cli-version/detect-install-context.d.ts +9 -0
  14. package/dist/cli-version/detect-install-context.d.ts.map +1 -0
  15. package/dist/cli-version/detect-install-context.js +37 -0
  16. package/dist/cli-version/detect-install-context.js.map +1 -0
  17. package/dist/cli-version/fetch-npm-latest.d.ts +6 -0
  18. package/dist/cli-version/fetch-npm-latest.d.ts.map +1 -0
  19. package/dist/cli-version/fetch-npm-latest.js +43 -0
  20. package/dist/cli-version/fetch-npm-latest.js.map +1 -0
  21. package/dist/cli-version/maybe-check-cli-update.d.ts +26 -0
  22. package/dist/cli-version/maybe-check-cli-update.d.ts.map +1 -0
  23. package/dist/cli-version/maybe-check-cli-update.js +80 -0
  24. package/dist/cli-version/maybe-check-cli-update.js.map +1 -0
  25. package/dist/cli-version/prompt.d.ts +13 -0
  26. package/dist/cli-version/prompt.d.ts.map +1 -0
  27. package/dist/cli-version/prompt.js +45 -0
  28. package/dist/cli-version/prompt.js.map +1 -0
  29. package/dist/cli-version/read-installed-version.d.ts +2 -0
  30. package/dist/cli-version/read-installed-version.d.ts.map +1 -0
  31. package/dist/cli-version/read-installed-version.js +16 -0
  32. package/dist/cli-version/read-installed-version.js.map +1 -0
  33. package/dist/cli-version/resolve-npm-registry.d.ts +2 -0
  34. package/dist/cli-version/resolve-npm-registry.d.ts.map +1 -0
  35. package/dist/cli-version/resolve-npm-registry.js +15 -0
  36. package/dist/cli-version/resolve-npm-registry.js.map +1 -0
  37. package/dist/cli-version/self-update.d.ts +12 -0
  38. package/dist/cli-version/self-update.d.ts.map +1 -0
  39. package/dist/cli-version/self-update.js +33 -0
  40. package/dist/cli-version/self-update.js.map +1 -0
  41. package/dist/config/command.d.ts +2 -0
  42. package/dist/config/command.d.ts.map +1 -1
  43. package/dist/config/command.js +57 -46
  44. package/dist/config/command.js.map +1 -1
  45. package/dist/index.d.ts +5 -5
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +3 -2
  48. package/dist/index.js.map +1 -1
  49. package/dist/kernel/create.d.ts.map +1 -1
  50. package/dist/kernel/create.js +4 -1
  51. package/dist/kernel/create.js.map +1 -1
  52. package/dist/mcp/command.d.ts +6 -0
  53. package/dist/mcp/command.d.ts.map +1 -1
  54. package/dist/mcp/command.js +17 -0
  55. package/dist/mcp/command.js.map +1 -1
  56. package/dist/mcp/publish-config.d.ts +5 -0
  57. package/dist/mcp/publish-config.d.ts.map +1 -0
  58. package/dist/mcp/publish-config.js +38 -0
  59. package/dist/mcp/publish-config.js.map +1 -0
  60. package/dist/rule/command.d.ts +6 -0
  61. package/dist/rule/command.d.ts.map +1 -1
  62. package/dist/rule/command.js +17 -0
  63. package/dist/rule/command.js.map +1 -1
  64. package/dist/rule/publish-config.d.ts +5 -0
  65. package/dist/rule/publish-config.d.ts.map +1 -0
  66. package/dist/rule/publish-config.js +33 -0
  67. package/dist/rule/publish-config.js.map +1 -0
  68. package/dist/skills/command.d.ts +8 -5
  69. package/dist/skills/command.d.ts.map +1 -1
  70. package/dist/skills/command.js +47 -333
  71. package/dist/skills/command.js.map +1 -1
  72. package/dist/skills/install.d.ts +3 -0
  73. package/dist/skills/install.d.ts.map +1 -1
  74. package/dist/skills/install.js +16 -3
  75. package/dist/skills/install.js.map +1 -1
  76. package/dist/skills/providers/harness-service.d.ts.map +1 -1
  77. package/dist/skills/providers/harness-service.js +12 -3
  78. package/dist/skills/providers/harness-service.js.map +1 -1
  79. package/dist/skills/publish-config.d.ts +5 -0
  80. package/dist/skills/publish-config.d.ts.map +1 -0
  81. package/dist/skills/publish-config.js +33 -0
  82. package/dist/skills/publish-config.js.map +1 -0
  83. package/dist/skills/publish.d.ts +1 -1
  84. package/dist/skills/publish.d.ts.map +1 -1
  85. package/dist/skills/publish.js +3 -21
  86. package/dist/skills/publish.js.map +1 -1
  87. package/dist/skills/types.d.ts +3 -55
  88. package/dist/skills/types.d.ts.map +1 -1
  89. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
1
  import { mkdir, readFile, writeFile } from 'node:fs/promises';
2
2
  import { homedir } from 'node:os';
3
- import { dirname, isAbsolute, join } from 'node:path';
3
+ import { dirname, isAbsolute, join, resolve } from 'node:path';
4
4
  import { HarnessError } from '../contracts/errors.js';
5
5
  import { prepareSkillInstallByName, prepareSkillInstallByUrl, resolveSkillPackageFromUrl } from './install.js';
6
- import { createGitLabSkillPublishBackend, prepareSkillPublish, resolveLocalSkillGitIdentity } from './publish.js';
7
- import { createGitLabRestSkillPublishClient } from './gitlab-skill-publish-client.js';
6
+ import { resolveLocalGitIdentity, runServiceManifestPublish } from '../assets/publish.js';
7
+ import { renderSkillPublishHelp, skillPublishConfig } from './publish-config.js';
8
8
  import { createDefaultInternalSkillProvider } from './default-internal-skill-provider.js';
9
9
  import { createStubExternalProvider } from './providers/stub.js';
10
10
  import { parseEnterpriseAssetIdFromSourceRef } from './providers/harness-service.js';
@@ -36,10 +36,10 @@ function renderSkillHelp(programName = 'harness') {
36
36
  '子命令:',
37
37
  ' list [--remote] [--json] 查看本地或远程热门 Skills。',
38
38
  ' search <query> [--json] 搜索可安装的 Skill。',
39
- ' install <name> [--global] [--agents] [--target cursor,agents] 按名称安装 Skill。',
39
+ ' install <name> [-g|--global] [--agents] [--target cursor,agents] 按名称安装 Skill。',
40
40
  ' install --url <url> [--agents] [--target cursor,agents] 按 URL 安装 Skill。',
41
41
  ' remove <name> 移除已安装 Skill。',
42
- ' publish --manifest <path> [--repo <path>] [--target-dir <dir>] [--branch <name>] [--target-branch <name>] [--message <message>]',
42
+ ' publish --manifest <path> [--json] 上传 Skill 到企业资产库等待审核。',
43
43
  ' -h, --help 查看帮助。',
44
44
  ].join('\n');
45
45
  }
@@ -57,6 +57,24 @@ function toInstallTargetPath(targetDir, skillName) {
57
57
  const normalizedSkillName = skillName.trim();
58
58
  return join(targetDir, normalizedSkillName, 'SKILL.md');
59
59
  }
60
+ /**
61
+ * 写入多文件 skill 的附属文件(相对 SKILL.md 所在目录)。
62
+ * 跳过与入口路径相同的文件,避免覆盖已注入 asset id 头的 SKILL.md。
63
+ */
64
+ async function writeSkillBundleFiles(targetPath, bundleFiles) {
65
+ if (!bundleFiles?.length) {
66
+ return;
67
+ }
68
+ const baseDir = dirname(targetPath);
69
+ for (const file of bundleFiles) {
70
+ const bundlePath = resolve(baseDir, file.path);
71
+ if (bundlePath === targetPath) {
72
+ continue;
73
+ }
74
+ await mkdir(dirname(bundlePath), { recursive: true });
75
+ await writeFile(bundlePath, file.content, 'utf8');
76
+ }
77
+ }
60
78
  async function planSkillInstall(skillName, targetPath, nextContent) {
61
79
  try {
62
80
  const existingContent = await readFile(targetPath, 'utf8');
@@ -87,122 +105,6 @@ async function planSkillInstall(skillName, targetPath, nextContent) {
87
105
  throw error;
88
106
  }
89
107
  }
90
- function renderSkillPublishHelp(programName = 'harness') {
91
- return [
92
- '发布 Skill 到企业资产库,进入审核流程。',
93
- '',
94
- '用法:',
95
- ` ${programName} skill publish --manifest <path> [--repo <path>] [--target-dir <dir>] [--branch <name>] [--target-branch <name>] [--message <message>] [--json]`,
96
- '',
97
- '参数:',
98
- ' --manifest <path> Skill 清单 JSON 路径(必填)',
99
- ' --repo <path> Git 仓库地址(兼容 GitLab;未传且已配置 HARNESS_SERVICE_URL 时走企业服务上传)',
100
- ' --target-dir <dir> 仓库内目标目录,默认 skills/<manifest.name>',
101
- ' --branch <name> 发布分支,默认 publish/<name>-<version>',
102
- ' --target-branch <name> Merge Request 目标分支,默认 main',
103
- ' --message <message> 提交/MR 说明,默认 Publish <name> <version>',
104
- ' --json 机器可读 JSON 输出',
105
- '',
106
- '发布前准备:',
107
- ' 1. manifest.json 与 entrypoint 文件(通常为 SKILL.md)放在同一目录',
108
- ' 2. 配置本地 Git 身份:git config --local user.name / user.email',
109
- '',
110
- 'manifest.json 格式:',
111
- ' {',
112
- ' "name": "review-helper",',
113
- ' "version": "1.0.0",',
114
- ' "description": "Skill 简介",',
115
- ' "entrypoint": "SKILL.md",',
116
- ' "tags": ["review"]',
117
- ' }',
118
- '',
119
- ' 必填字段:name、version、description、entrypoint、tags',
120
- ' 可选字段:author、repository、managedBy',
121
- '',
122
- '目录示例:',
123
- ' my-skill/',
124
- ' manifest.json',
125
- ' SKILL.md',
126
- '',
127
- '企业发布(默认):',
128
- ' 配置 HARNESS_SERVICE_URL 后,不传 --repo 即可上传到 harness-service,由 Admin Console 审核。',
129
- '',
130
- '兼容 GitLab 发布示例:',
131
- ` ${programName} skill publish --manifest ./skills/review-helper/manifest.json --repo git@gitlab.example.com:harness/skills.git --target-dir skills/review-helper --target-branch main`,
132
- '',
133
- '环境变量回退:',
134
- ' HARNESS_SKILL_PUBLISH_REPO、HARNESS_SKILL_PUBLISH_TARGET_DIR、HARNESS_SKILL_PUBLISH_TARGET_BRANCH',
135
- ' HARNESS_SKILL_PUBLISH_TOKEN 或 HARNESS_GITLAB_TOKEN(GitLab 鉴权;无 Token 时仅离线 mock)',
136
- ].join('\n');
137
- }
138
- function resolveHarnessServiceBaseUrl() {
139
- const baseUrl = process.env.HARNESS_SERVICE_URL?.trim() || process.env.HARNESS_CLOUD_BASE_URL?.trim();
140
- return baseUrl ? baseUrl.replace(/\/+$/, '') : null;
141
- }
142
- async function publishSkillToHarnessService(args) {
143
- const packageRoot = dirname(args.manifestPath);
144
- const entrypointPath = join(packageRoot, ...args.manifest.entrypoint.replace(/\\/g, '/').replace(/^\.\//, '').split('/'));
145
- const [manifestRaw, entryRaw] = await Promise.all([
146
- readFile(args.manifestPath, 'utf8'),
147
- readFile(entrypointPath, 'utf8'),
148
- ]);
149
- const response = await fetch(`${args.baseUrl}/assets`, {
150
- method: 'POST',
151
- headers: { 'content-type': 'application/json' },
152
- body: JSON.stringify({
153
- type: 'skill',
154
- name: args.manifest.name,
155
- version: args.manifest.version,
156
- content: [
157
- '# Skill Package',
158
- '',
159
- '## manifest.json',
160
- '```json',
161
- manifestRaw.trim(),
162
- '```',
163
- '',
164
- `## ${args.manifest.entrypoint}`,
165
- '```markdown',
166
- entryRaw.trim(),
167
- '```',
168
- ].join('\n'),
169
- description: args.manifest.description,
170
- tags: args.manifest.tags,
171
- createdBy: `${args.authorName} <${args.authorEmail}>`,
172
- metadata: {
173
- source: 'cli-skill-publish',
174
- targetPath: `.cursor/skills/${args.manifest.name}/SKILL.md`,
175
- manifest: args.manifest,
176
- },
177
- }),
178
- });
179
- const text = await response.text();
180
- const body = text ? JSON.parse(text) : null;
181
- if (!response.ok) {
182
- throw new HarnessError('SKILL_PUBLISH_SERVICE_FAILED', `harness-service skill publish failed with HTTP ${response.status}: ${text || response.statusText}`);
183
- }
184
- return body;
185
- }
186
- function resolveDefaultSkillPublishBackend() {
187
- const token = process.env.HARNESS_SKILL_PUBLISH_TOKEN?.trim() || process.env.HARNESS_GITLAB_TOKEN?.trim();
188
- if (token) {
189
- return createGitLabSkillPublishBackend({
190
- client: createGitLabRestSkillPublishClient({ token }),
191
- });
192
- }
193
- return {
194
- prepare: async (request) => ({
195
- repositoryPath: request.repositoryPath,
196
- mergeRequest: {
197
- id: `mock-${request.manifest.name}-${request.manifest.version}`,
198
- title: request.mergeRequestTitle,
199
- description: request.mergeRequestDescription,
200
- branchName: request.branchName,
201
- targetBranch: request.targetBranch,
202
- },
203
- }),
204
- };
205
- }
206
108
  function toOutputValue(value) {
207
109
  const normalized = value?.trim();
208
110
  return normalized ? normalized : 'unknown';
@@ -215,98 +117,15 @@ function toInstallOutputMetadata(record) {
215
117
  version: toOutputValue(record.manifest?.version),
216
118
  };
217
119
  }
218
- function normalizeSkillManifest(candidate) {
219
- if (!candidate || typeof candidate !== 'object' || Array.isArray(candidate)) {
220
- return null;
221
- }
222
- const value = candidate;
223
- const name = typeof value.name === 'string' ? value.name.trim() : '';
224
- const version = typeof value.version === 'string' ? value.version.trim() : '';
225
- const description = typeof value.description === 'string' ? value.description.trim() : '';
226
- const entrypoint = typeof value.entrypoint === 'string' ? value.entrypoint.trim() : '';
227
- const tags = Array.isArray(value.tags) ? value.tags.filter((tag) => typeof tag === 'string') : [];
228
- if (!name || !version || !description || !entrypoint) {
229
- return null;
230
- }
231
- const manifest = {
232
- name,
233
- version,
234
- description,
235
- entrypoint,
236
- tags,
237
- };
238
- if (typeof value.author === 'string' && value.author.trim()) {
239
- manifest.author = value.author.trim();
240
- }
241
- if (typeof value.repository === 'string' && value.repository.trim()) {
242
- manifest.repository = value.repository.trim();
243
- }
244
- if (value.managedBy === 'harness') {
245
- manifest.managedBy = 'harness';
246
- }
247
- return manifest;
248
- }
249
- async function readPublishManifest(manifestPath) {
250
- let raw;
251
- try {
252
- raw = await readFile(manifestPath, 'utf8');
253
- }
254
- catch (error) {
255
- if (error.code === 'ENOENT') {
256
- throw new Error(`Missing skill manifest at ${manifestPath}.`);
257
- }
258
- throw error;
259
- }
260
- let parsed;
261
- try {
262
- parsed = JSON.parse(raw);
263
- }
264
- catch {
265
- throw new Error(`Invalid JSON in skill manifest: ${manifestPath}.`);
266
- }
267
- const manifest = normalizeSkillManifest(parsed);
268
- if (!manifest) {
269
- throw new Error(`Invalid skill manifest shape at ${manifestPath}.`);
270
- }
271
- return manifest;
272
- }
273
- function parseSkillPublishArgs(args) {
274
- const out = {
275
- manifestPath: '',
120
+ function skillManifestInstallJsonPayload(manifest) {
121
+ return {
122
+ name: manifest.name,
123
+ version: manifest.version,
124
+ description: manifest.description,
125
+ entrypoint: manifest.entrypoint,
126
+ tags: manifest.tags,
127
+ ...(manifest.managedBy ? { managedBy: manifest.managedBy } : {}),
276
128
  };
277
- for (let i = 0; i < args.length; i += 1) {
278
- const token = args[i];
279
- const value = args[i + 1];
280
- if (!token?.startsWith('--') || !value) {
281
- return null;
282
- }
283
- if (token === '--manifest') {
284
- out.manifestPath = value;
285
- }
286
- else if (token === '--repo') {
287
- out.repositoryPath = value;
288
- }
289
- else if (token === '--target-dir') {
290
- out.targetDirectory = value;
291
- }
292
- else if (token === '--branch') {
293
- out.branchName = value;
294
- }
295
- else if (token === '--target-branch') {
296
- out.targetBranch = value;
297
- }
298
- else if (token === '--message') {
299
- out.commitMessage = value;
300
- }
301
- else {
302
- return null;
303
- }
304
- i += 1;
305
- }
306
- if (!out.manifestPath) {
307
- return null;
308
- }
309
- return out;
310
129
  }
311
130
  export async function runSkillCommand(args, options = {}) {
312
131
  const startedAt = Date.now();
@@ -397,8 +216,8 @@ export async function runSkillCommand(args, options = {}) {
397
216
  return 0;
398
217
  }
399
218
  if (subcommand === 'install') {
400
- const globalInstall = commandArgs.includes('--global');
401
- const { targets, rest: installArgs } = parseInstallTargets(commandArgs.slice(1).filter((arg) => arg !== '--global'));
219
+ const globalInstall = commandArgs.includes('--global') || commandArgs.includes('-g');
220
+ const { targets, rest: installArgs } = parseInstallTargets(commandArgs.slice(1).filter((arg) => arg !== '--global' && arg !== '-g'));
402
221
  const activeRegistryPath = resolveSkillRegistryPath({
403
222
  workspaceRoot,
404
223
  homeRegistryPath: resolveHomeRegistryPath(options),
@@ -472,6 +291,7 @@ export async function runSkillCommand(args, options = {}) {
472
291
  if (skillPlan.action === 'create') {
473
292
  await mkdir(dirname(skillPlan.targetPath), { recursive: true });
474
293
  await writeFile(skillPlan.targetPath, prepared.packageContent, 'utf8');
294
+ await writeSkillBundleFiles(skillPlan.targetPath, prepared.packageBundleFiles);
475
295
  }
476
296
  const installedRecord = {
477
297
  ...prepared.installedRecord,
@@ -546,6 +366,7 @@ export async function runSkillCommand(args, options = {}) {
546
366
  if (skillPlan.action === 'create') {
547
367
  await mkdir(dirname(skillPlan.targetPath), { recursive: true });
548
368
  await writeFile(skillPlan.targetPath, prepared.packageContent, 'utf8');
369
+ await writeSkillBundleFiles(skillPlan.targetPath, prepared.packageBundleFiles);
549
370
  }
550
371
  const recordWithPath = {
551
372
  ...installedRecord,
@@ -574,6 +395,8 @@ export async function runSkillCommand(args, options = {}) {
574
395
  revision: installMetadata.revision,
575
396
  version: installMetadata.version,
576
397
  installPath: recordWithPath.installPath,
398
+ global: globalInstall,
399
+ manifest: skillManifestInstallJsonPayload(recordWithPath.manifest),
577
400
  };
578
401
  console.log(json ? renderJson(payload) : renderSuccessBlock('Skill 安装完成', [
579
402
  ['名称', recordWithPath.skillName],
@@ -615,125 +438,16 @@ export async function runSkillCommand(args, options = {}) {
615
438
  return 0;
616
439
  }
617
440
  if (subcommand === 'publish') {
618
- const publishTail = commandArgs.slice(1);
619
- if (publishTail.length === 0
620
- || publishTail.includes('--help')
621
- || publishTail.includes('-h')) {
622
- console.log(renderSkillPublishHelp());
623
- return 0;
624
- }
625
- const publishArgs = parseSkillPublishArgs(publishTail);
626
- if (!publishArgs) {
627
- console.error(renderErrorBlock({
628
- title: 'Skill 发布参数无效',
629
- message: renderSkillPublishHelp(),
630
- code: 'SKILL_INVALID_ARGS',
631
- }));
632
- return 1;
633
- }
634
- const backend = options.publishBackend ?? resolveDefaultSkillPublishBackend();
635
- try {
636
- const cwdForManifest = options.workspaceRoot ?? process.cwd();
637
- const resolvedManifestPath = isAbsolute(publishArgs.manifestPath)
638
- ? publishArgs.manifestPath
639
- : join(cwdForManifest, publishArgs.manifestPath);
640
- const manifest = await readPublishManifest(resolvedManifestPath);
641
- const serviceBaseUrl = resolveHarnessServiceBaseUrl();
642
- if (serviceBaseUrl && !publishArgs.repositoryPath?.trim()) {
643
- const gitIdentity = await (options.resolveGitIdentity ?? resolveLocalSkillGitIdentity)(options.workspaceRoot ?? process.cwd());
644
- if (!gitIdentity.name || !gitIdentity.email) {
645
- throw new HarnessError('SKILL_PUBLISH_MISSING_GIT_IDENTITY', 'Missing local Git identity. Configure user.name and user.email before publishing a skill.');
646
- }
647
- const serviceResult = await publishSkillToHarnessService({
648
- baseUrl: serviceBaseUrl,
649
- manifest,
650
- manifestPath: resolvedManifestPath,
651
- authorName: gitIdentity.name,
652
- authorEmail: gitIdentity.email,
653
- });
654
- const payload = {
655
- status: 'uploaded',
656
- serviceUrl: serviceBaseUrl,
657
- review: 'admin-console',
658
- result: serviceResult,
659
- };
660
- console.log(json ? renderJson(payload) : renderSuccessBlock('Skill 已上传,等待审核', [
661
- ['服务地址', serviceBaseUrl],
662
- ['审核入口', 'Admin Console'],
663
- ['结果', JSON.stringify(serviceResult)],
664
- ]));
665
- return 0;
666
- }
667
- const repositoryPath = publishArgs.repositoryPath?.trim() ?? process.env.HARNESS_SKILL_PUBLISH_REPO?.trim();
668
- if (!repositoryPath) {
669
- console.error(renderErrorBlock({
670
- title: '缺少发布目标仓库',
671
- message: '未配置企业 GitLab 仓库路径。',
672
- code: 'SKILL_PUBLISH_MISSING_REPOSITORY',
673
- suggestions: ['传入 --repo <path>,或设置 HARNESS_SKILL_PUBLISH_REPO。'],
674
- }));
675
- return 1;
676
- }
677
- const targetDirectory = publishArgs.targetDirectory?.trim() ??
678
- process.env.HARNESS_SKILL_PUBLISH_TARGET_DIR?.trim() ??
679
- `skills/${manifest.name}`;
680
- const branchName = publishArgs.branchName?.trim() || `publish/${manifest.name}-${manifest.version}`;
681
- const targetBranch = publishArgs.targetBranch?.trim() ?? process.env.HARNESS_SKILL_PUBLISH_TARGET_BRANCH?.trim() ?? 'main';
682
- const commitMessage = publishArgs.commitMessage?.trim() || `Publish ${manifest.name} ${manifest.version}`;
683
- const prepared = await prepareSkillPublish(manifest, {
684
- backend,
685
- repositoryPath,
686
- targetDirectory,
687
- branchName,
688
- targetBranch,
689
- commitMessage,
690
- cwd: options.workspaceRoot ?? process.cwd(),
691
- resolveGitIdentity: options.resolveGitIdentity,
692
- manifestPath: resolvedManifestPath,
693
- });
694
- const payload = {
695
- status: 'prepared',
696
- repositoryPath: prepared.repositoryPath,
697
- targetDirectory,
698
- branchName: prepared.mergeRequest.branchName,
699
- targetBranch: prepared.mergeRequest.targetBranch,
700
- mergeRequest: prepared.mergeRequest,
701
- };
702
- console.log(json ? renderJson(payload) : renderSuccessBlock('Skill 发布请求已准备', [
703
- ['仓库', prepared.repositoryPath],
704
- ['目标目录', targetDirectory],
705
- ['分支', prepared.mergeRequest.branchName],
706
- ['目标分支', prepared.mergeRequest.targetBranch],
707
- ['Merge Request', prepared.mergeRequest.webUrl ?? prepared.mergeRequest.id],
708
- ]));
709
- return 0;
710
- }
711
- catch (error) {
712
- if (error instanceof HarnessError) {
713
- console.error(renderErrorBlock({ title: 'Skill 发布失败', message: error.message, code: error.code }));
714
- if (error.code === 'SKILL_PUBLISH_MISSING_GIT_IDENTITY') {
715
- console.error(renderWarningBlock('需要配置 Git 身份', [], [
716
- 'git config --local user.name "Your Name"',
717
- 'git config --local user.email "you@example.com"',
718
- ]));
719
- }
720
- return 1;
721
- }
722
- const message = error instanceof Error ? error.message : String(error);
723
- if (message.includes('Missing local Git identity')) {
724
- console.error(renderErrorBlock({
725
- title: 'Skill 发布失败',
726
- message,
727
- suggestions: [
728
- 'git config --local user.name "Your Name"',
729
- 'git config --local user.email "you@example.com"',
730
- ],
731
- }));
732
- return 1;
733
- }
734
- console.error(renderErrorBlock({ title: 'Skill 发布失败', message }));
735
- return 1;
736
- }
441
+ const publishTail = commandArgs.slice(1).filter((arg) => arg !== '--json');
442
+ return runServiceManifestPublish({
443
+ publishTail,
444
+ workspaceRoot: options.workspaceRoot,
445
+ json,
446
+ resolveGitIdentity: options.resolveGitIdentity ?? resolveLocalGitIdentity,
447
+ fetchImpl: options.fetchImpl,
448
+ baseUrl: options.baseUrl,
449
+ config: skillPublishConfig,
450
+ });
737
451
  }
738
452
  console.error(renderErrorBlock({
739
453
  title: '未知 Skill 子命令',
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/skills/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/skills/command.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { PublishedAssetBundleFile } from '../assets/published-content.js';
1
2
  import type { InstalledSkillRecord, InternalSkillProvider, ResolvedSkillPackage } from './types.js';
2
3
  export interface InstallSkillByNameOptions {
3
4
  provider: InternalSkillProvider;
@@ -10,10 +11,12 @@ export interface InstallSkillByUrlOptions {
10
11
  export interface PreparedSkillInstallByUrl {
11
12
  installedRecord: InstalledSkillRecord;
12
13
  packageContent: string;
14
+ packageBundleFiles?: readonly PublishedAssetBundleFile[];
13
15
  }
14
16
  export interface PreparedSkillInstallByName {
15
17
  installedRecord: InstalledSkillRecord;
16
18
  packageContent: string;
19
+ packageBundleFiles?: readonly PublishedAssetBundleFile[];
17
20
  }
18
21
  export declare function resolveSkillPackageFromUrl(url: URL): Promise<ResolvedSkillPackage>;
19
22
  export declare function installSkillByName(skillName: string, options: InstallSkillByNameOptions): Promise<InstalledSkillRecord>;
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/skills/install.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,oBAAoB,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,oBAAoB,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;CACxB;AA2DD,wBAAsB,0BAA0B,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAsCxF;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,oBAAoB,CAAC,CAG/B;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,0BAA0B,CAAC,CA6BrC;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,oBAAoB,CAAC,CAG/B;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CA+BpC"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/skills/install.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,oBAAoB,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;CAC1D;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,oBAAoB,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;CAC1D;AAkED,wBAAsB,0BAA0B,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAsCxF;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,oBAAoB,CAAC,CAG/B;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,0BAA0B,CAAC,CAgCrC;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,oBAAoB,CAAC,CAG/B;AAED,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAkCpC"}
@@ -31,13 +31,19 @@ function resolveJsonUrlPackage(parsed, url) {
31
31
  };
32
32
  }
33
33
  const files = Array.isArray(parsed.files) ? parsed.files : [];
34
- const skillFile = files.find((file) => isRecord(file) &&
34
+ const validFiles = files.filter((file) => isRecord(file) &&
35
35
  typeof file.path === 'string' &&
36
- typeof file.content === 'string' &&
37
- file.path.split('/').pop() === 'SKILL.md');
36
+ typeof file.content === 'string');
37
+ const skillFile = validFiles.find((file) => file.path.split('/').pop() === 'SKILL.md');
38
38
  if (!skillFile) {
39
39
  return null;
40
40
  }
41
+ // 入口同级目录前缀(如 `my-skill/`),用于把 bundle 文件路径相对化到 SKILL.md 所在目录。
42
+ const entrypointDir = skillFile.path.slice(0, skillFile.path.length - 'SKILL.md'.length);
43
+ const bundleFiles = validFiles.map((file) => ({
44
+ path: file.path.startsWith(entrypointDir) ? file.path.slice(entrypointDir.length) : file.path,
45
+ content: file.content,
46
+ }));
41
47
  const parsedManifest = parseSkillManifestFromSkillMarkdown(skillFile.content);
42
48
  return {
43
49
  manifest: parsedManifest ?? {
@@ -50,6 +56,7 @@ function resolveJsonUrlPackage(parsed, url) {
50
56
  revision: typeof parsed.revision === 'string' ? parsed.revision : null,
51
57
  content: skillFile.content,
52
58
  sourceRef: url.toString(),
59
+ ...(bundleFiles.length > 1 ? { bundleFiles } : {}),
53
60
  };
54
61
  }
55
62
  export async function resolveSkillPackageFromUrl(url) {
@@ -109,6 +116,9 @@ export async function prepareSkillInstallByName(skillName, options) {
109
116
  manifest: resolved.manifest,
110
117
  }),
111
118
  packageContent: resolved.content,
119
+ ...(resolved.bundleFiles && resolved.bundleFiles.length > 0
120
+ ? { packageBundleFiles: resolved.bundleFiles }
121
+ : {}),
112
122
  };
113
123
  }
114
124
  export async function installSkillByUrl(skillUrl, options) {
@@ -138,6 +148,9 @@ export async function prepareSkillInstallByUrl(skillUrl, options) {
138
148
  manifest: resolved.manifest,
139
149
  }),
140
150
  packageContent: resolved.content,
151
+ ...(resolved.bundleFiles && resolved.bundleFiles.length > 0
152
+ ? { packageBundleFiles: resolved.bundleFiles }
153
+ : {}),
141
154
  };
142
155
  }
143
156
  //# sourceMappingURL=install.js.map