release-skill 0.2.3 → 0.2.4
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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +2 -2
- package/.kimi-plugin/plugin.json +1 -1
- package/CHANGELOG.md +22 -0
- package/CONTRIBUTING.md +27 -0
- package/INSTALL.md +95 -139
- package/INSTALL.zh-CN.md +70 -121
- package/README.md +264 -913
- package/README.zh-CN.md +222 -535
- package/adapters/claude/.claude-plugin/marketplace.json +1 -1
- package/adapters/claude/.claude-plugin/plugin.json +1 -1
- package/adapters/claude/bin/release-skill.bundle.mjs +19054 -17573
- package/adapters/claude/schemas/release-plan.schema.json +137 -0
- package/adapters/claude/schemas/release-project.schema.json +93 -0
- package/adapters/claude/schemas/release-run.schema.json +70 -2
- package/adapters/codex/.codex-plugin/plugin.json +2 -2
- package/adapters/codex/bin/release-skill.bundle.mjs +19054 -17573
- package/adapters/codex/schemas/release-plan.schema.json +137 -0
- package/adapters/codex/schemas/release-project.schema.json +93 -0
- package/adapters/codex/schemas/release-run.schema.json +70 -2
- package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
- package/adapters/kimi/bin/release-skill.bundle.mjs +19054 -17573
- package/adapters/kimi/schemas/release-plan.schema.json +137 -0
- package/adapters/kimi/schemas/release-project.schema.json +93 -0
- package/adapters/kimi/schemas/release-run.schema.json +70 -2
- package/adapters/workbuddy/.codebuddy-plugin/plugin.json +1 -1
- package/adapters/workbuddy/bin/release-skill.bundle.mjs +19054 -17573
- package/adapters/workbuddy/schemas/release-plan.schema.json +137 -0
- package/adapters/workbuddy/schemas/release-project.schema.json +93 -0
- package/adapters/workbuddy/schemas/release-run.schema.json +70 -2
- package/bin/release-skill.bundle.mjs +19054 -17573
- package/package.json +1 -1
- package/schemas/release-plan.schema.json +137 -0
- package/schemas/release-project.schema.json +93 -0
- package/schemas/release-run.schema.json +70 -2
- package/src/adapters/plugin-marketplace.mjs +1190 -435
- package/src/commands/prepare.mjs +380 -40
- package/src/commands/publish.mjs +107 -75
- package/src/commands/reconcile.mjs +92 -327
- package/src/commands/setup.mjs +148 -20
- package/src/commands/verify.mjs +304 -20
- package/src/core/baseline.mjs +8 -1
- package/src/core/checkpoints.mjs +50 -7
- package/src/core/config.mjs +15 -0
- package/src/core/errors.mjs +2 -0
- package/src/core/installation-contract.mjs +341 -0
- package/src/core/plan.mjs +129 -6
- package/src/platforms/codebuddy.mjs +193 -280
- package/src/platforms/codex.mjs +369 -0
- package/src/platforms/kimi.mjs +164 -119
- package/src/platforms/registry.mjs +24 -6
package/package.json
CHANGED
|
@@ -420,6 +420,95 @@
|
|
|
420
420
|
},
|
|
421
421
|
"smokeExpectedJson": {
|
|
422
422
|
"type": "object"
|
|
423
|
+
},
|
|
424
|
+
"installationContract": {
|
|
425
|
+
"type": "object",
|
|
426
|
+
"description": "可审计的安装契约规范对象",
|
|
427
|
+
"additionalProperties": false,
|
|
428
|
+
"properties": {
|
|
429
|
+
"algorithmVersion": {
|
|
430
|
+
"type": "integer",
|
|
431
|
+
"minimum": 1
|
|
432
|
+
},
|
|
433
|
+
"distributionType": {
|
|
434
|
+
"type": "string",
|
|
435
|
+
"minLength": 1
|
|
436
|
+
},
|
|
437
|
+
"manifestRelativePath": {
|
|
438
|
+
"type": "string",
|
|
439
|
+
"minLength": 1
|
|
440
|
+
},
|
|
441
|
+
"normalizedManifest": {
|
|
442
|
+
"type": "object"
|
|
443
|
+
},
|
|
444
|
+
"marketplaceSourceType": {
|
|
445
|
+
"type": "string",
|
|
446
|
+
"enum": [
|
|
447
|
+
"bundled-family",
|
|
448
|
+
"standalone-index"
|
|
449
|
+
]
|
|
450
|
+
},
|
|
451
|
+
"includeMarketplaceEntry": {
|
|
452
|
+
"type": "boolean"
|
|
453
|
+
},
|
|
454
|
+
"marketplaceIndexRelativePath": {
|
|
455
|
+
"type": "string",
|
|
456
|
+
"minLength": 1
|
|
457
|
+
},
|
|
458
|
+
"normalizedSelectedEntry": {
|
|
459
|
+
"type": "object"
|
|
460
|
+
},
|
|
461
|
+
"verificationRecipeVersion": {
|
|
462
|
+
"type": "string",
|
|
463
|
+
"minLength": 1
|
|
464
|
+
}
|
|
465
|
+
},
|
|
466
|
+
"required": [
|
|
467
|
+
"algorithmVersion",
|
|
468
|
+
"distributionType",
|
|
469
|
+
"manifestRelativePath",
|
|
470
|
+
"normalizedManifest",
|
|
471
|
+
"marketplaceSourceType",
|
|
472
|
+
"includeMarketplaceEntry",
|
|
473
|
+
"verificationRecipeVersion"
|
|
474
|
+
]
|
|
475
|
+
},
|
|
476
|
+
"installationContractDigest": {
|
|
477
|
+
"type": "string",
|
|
478
|
+
"pattern": "^[a-f0-9]{64}$",
|
|
479
|
+
"description": "安装契约摘要,用于在远端状态未变化时跳过重复验证"
|
|
480
|
+
},
|
|
481
|
+
"marketplaceSourceType": {
|
|
482
|
+
"type": "string",
|
|
483
|
+
"enum": [
|
|
484
|
+
"bundled-family",
|
|
485
|
+
"standalone-index"
|
|
486
|
+
],
|
|
487
|
+
"description": "市场来源类型:bundled-family(技能族自带市场文件)或 standalone-index(独立市场仓库);每个平台每次发布只冻结一种来源"
|
|
488
|
+
},
|
|
489
|
+
"marketplaceCommitSha": {
|
|
490
|
+
"type": "string",
|
|
491
|
+
"pattern": "^[0-9a-f]{40}$",
|
|
492
|
+
"description": "独立市场仓库冻结提交 SHA(standalone-index 专用)"
|
|
493
|
+
},
|
|
494
|
+
"marketplaceRef": {
|
|
495
|
+
"type": "string",
|
|
496
|
+
"minLength": 1,
|
|
497
|
+
"description": "独立市场仓库冻结引用(standalone-index 专用)"
|
|
498
|
+
},
|
|
499
|
+
"marketplaceIndexPath": {
|
|
500
|
+
"type": "string",
|
|
501
|
+
"minLength": 1,
|
|
502
|
+
"description": "独立市场索引相对路径(standalone-index 专用)"
|
|
503
|
+
},
|
|
504
|
+
"marketplaceName": {
|
|
505
|
+
"type": "string",
|
|
506
|
+
"minLength": 1,
|
|
507
|
+
"description": "独立市场名称(standalone-index 专用)"
|
|
508
|
+
},
|
|
509
|
+
"selectedEntry": {
|
|
510
|
+
"type": "object",
|
|
511
|
+
"description": "冻结的唯一选中市场条目(standalone-index 专用)"
|
|
423
512
|
}
|
|
424
513
|
},
|
|
425
514
|
"allOf": [
|
|
@@ -493,12 +582,35 @@
|
|
|
493
582
|
"properties": {
|
|
494
583
|
"type": {
|
|
495
584
|
"enum": [
|
|
585
|
+
"claude-plugin",
|
|
586
|
+
"codex-plugin",
|
|
496
587
|
"kimi-plugin",
|
|
497
588
|
"codebuddy-plugin"
|
|
498
589
|
]
|
|
499
590
|
}
|
|
500
591
|
}
|
|
501
592
|
},
|
|
593
|
+
"then": {}
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
"if": {
|
|
597
|
+
"properties": {
|
|
598
|
+
"type": {
|
|
599
|
+
"enum": [
|
|
600
|
+
"claude-plugin",
|
|
601
|
+
"codex-plugin",
|
|
602
|
+
"kimi-plugin",
|
|
603
|
+
"codebuddy-plugin"
|
|
604
|
+
]
|
|
605
|
+
},
|
|
606
|
+
"marketplaceSourceType": {
|
|
607
|
+
"const": "bundled-family"
|
|
608
|
+
}
|
|
609
|
+
},
|
|
610
|
+
"required": [
|
|
611
|
+
"marketplaceSourceType"
|
|
612
|
+
]
|
|
613
|
+
},
|
|
502
614
|
"then": {
|
|
503
615
|
"not": {
|
|
504
616
|
"required": [
|
|
@@ -507,6 +619,31 @@
|
|
|
507
619
|
}
|
|
508
620
|
}
|
|
509
621
|
},
|
|
622
|
+
{
|
|
623
|
+
"if": {
|
|
624
|
+
"properties": {
|
|
625
|
+
"type": {
|
|
626
|
+
"enum": [
|
|
627
|
+
"claude-plugin",
|
|
628
|
+
"codex-plugin",
|
|
629
|
+
"kimi-plugin",
|
|
630
|
+
"codebuddy-plugin"
|
|
631
|
+
]
|
|
632
|
+
},
|
|
633
|
+
"marketplaceSourceType": {
|
|
634
|
+
"const": "standalone-index"
|
|
635
|
+
}
|
|
636
|
+
},
|
|
637
|
+
"required": [
|
|
638
|
+
"marketplaceSourceType"
|
|
639
|
+
]
|
|
640
|
+
},
|
|
641
|
+
"then": {
|
|
642
|
+
"required": [
|
|
643
|
+
"marketplaceRepo"
|
|
644
|
+
]
|
|
645
|
+
}
|
|
646
|
+
},
|
|
510
647
|
{
|
|
511
648
|
"if": {
|
|
512
649
|
"required": [
|
|
@@ -213,6 +213,20 @@
|
|
|
213
213
|
"minimum": 30000,
|
|
214
214
|
"maximum": 900000,
|
|
215
215
|
"description": "Timeout in milliseconds for plugin marketplace install commands (claude-plugin, codex-plugin). Kimi Code has no scriptable install command, so for kimi-plugin this bounds the read-only observation/verification only, not an install command. CodeBuddy/WorkBuddy has no scriptable install command that can pin a frozen ref, so for codebuddy-plugin this likewise bounds the read-only observation/verification only. Only valid for claude-plugin, codex-plugin, kimi-plugin, and codebuddy-plugin distributions."
|
|
216
|
+
},
|
|
217
|
+
"marketplaceSourceType": {
|
|
218
|
+
"type": "string",
|
|
219
|
+
"enum": [
|
|
220
|
+
"bundled-family",
|
|
221
|
+
"standalone-index"
|
|
222
|
+
],
|
|
223
|
+
"description": "市场来源类型:bundled-family(技能族自带市场文件)或 standalone-index(独立市场仓库);每个平台每次发布只冻结一种来源"
|
|
224
|
+
},
|
|
225
|
+
"marketplaceIndexPath": {
|
|
226
|
+
"type": "string",
|
|
227
|
+
"minLength": 1,
|
|
228
|
+
"pattern": "^(?!/)(?!\\.\\/)(?!.*\\\\)(?!.*:)(?!\\.\\.(/|$))(?!\\.$)(?!.*\\/\\.\\.\\/)(?!.*\\/\\.\\.$)(?!.*\\/\\.\\/)(?!.*\\/\\/)(?!.*\\0)(?!.*\\/\\.$)(?!.*\\/$).*$",
|
|
229
|
+
"description": "Bundled marketplace index relative path override;仅插件 distribution 允许"
|
|
216
230
|
}
|
|
217
231
|
},
|
|
218
232
|
"allOf": [
|
|
@@ -305,12 +319,39 @@
|
|
|
305
319
|
"properties": {
|
|
306
320
|
"type": {
|
|
307
321
|
"enum": [
|
|
322
|
+
"claude-plugin",
|
|
323
|
+
"codex-plugin",
|
|
308
324
|
"kimi-plugin",
|
|
309
325
|
"codebuddy-plugin"
|
|
310
326
|
]
|
|
311
327
|
}
|
|
312
328
|
}
|
|
313
329
|
},
|
|
330
|
+
"then": {
|
|
331
|
+
"required": [
|
|
332
|
+
"marketplaceSourceType"
|
|
333
|
+
]
|
|
334
|
+
}
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"if": {
|
|
338
|
+
"properties": {
|
|
339
|
+
"type": {
|
|
340
|
+
"enum": [
|
|
341
|
+
"claude-plugin",
|
|
342
|
+
"codex-plugin",
|
|
343
|
+
"kimi-plugin",
|
|
344
|
+
"codebuddy-plugin"
|
|
345
|
+
]
|
|
346
|
+
},
|
|
347
|
+
"marketplaceSourceType": {
|
|
348
|
+
"const": "bundled-family"
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
"required": [
|
|
352
|
+
"marketplaceSourceType"
|
|
353
|
+
]
|
|
354
|
+
},
|
|
314
355
|
"then": {
|
|
315
356
|
"not": {
|
|
316
357
|
"required": [
|
|
@@ -319,6 +360,58 @@
|
|
|
319
360
|
}
|
|
320
361
|
}
|
|
321
362
|
},
|
|
363
|
+
{
|
|
364
|
+
"if": {
|
|
365
|
+
"properties": {
|
|
366
|
+
"type": {
|
|
367
|
+
"enum": [
|
|
368
|
+
"claude-plugin",
|
|
369
|
+
"codex-plugin",
|
|
370
|
+
"kimi-plugin",
|
|
371
|
+
"codebuddy-plugin"
|
|
372
|
+
]
|
|
373
|
+
},
|
|
374
|
+
"marketplaceSourceType": {
|
|
375
|
+
"const": "bundled-family"
|
|
376
|
+
}
|
|
377
|
+
},
|
|
378
|
+
"required": [
|
|
379
|
+
"marketplaceSourceType"
|
|
380
|
+
]
|
|
381
|
+
},
|
|
382
|
+
"then": {
|
|
383
|
+
"not": {
|
|
384
|
+
"required": [
|
|
385
|
+
"marketplaceRepo"
|
|
386
|
+
]
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"if": {
|
|
392
|
+
"properties": {
|
|
393
|
+
"type": {
|
|
394
|
+
"enum": [
|
|
395
|
+
"claude-plugin",
|
|
396
|
+
"codex-plugin",
|
|
397
|
+
"kimi-plugin",
|
|
398
|
+
"codebuddy-plugin"
|
|
399
|
+
]
|
|
400
|
+
},
|
|
401
|
+
"marketplaceSourceType": {
|
|
402
|
+
"const": "standalone-index"
|
|
403
|
+
}
|
|
404
|
+
},
|
|
405
|
+
"required": [
|
|
406
|
+
"marketplaceSourceType"
|
|
407
|
+
]
|
|
408
|
+
},
|
|
409
|
+
"then": {
|
|
410
|
+
"required": [
|
|
411
|
+
"marketplaceRepo"
|
|
412
|
+
]
|
|
413
|
+
}
|
|
414
|
+
},
|
|
322
415
|
{
|
|
323
416
|
"if": {
|
|
324
417
|
"required": [
|
|
@@ -139,9 +139,13 @@
|
|
|
139
139
|
"failed",
|
|
140
140
|
"skipped",
|
|
141
141
|
"pending",
|
|
142
|
-
"uncertain"
|
|
142
|
+
"uncertain",
|
|
143
|
+
"deferred",
|
|
144
|
+
"PASSED_AUTOMATIC",
|
|
145
|
+
"PASSED_MANUAL",
|
|
146
|
+
"NOT_REQUIRED_UNCHANGED"
|
|
143
147
|
],
|
|
144
|
-
"description": "Result status of this checkpoint (uncertain = started, result unknown)"
|
|
148
|
+
"description": "Result status of this checkpoint (uncertain = started, result unknown; deferred = marketplace action postponed to verify phase; PASSED_AUTOMATIC/PASSED_MANUAL/NOT_REQUIRED_UNCHANGED 为验证阶段专用状态)"
|
|
145
149
|
},
|
|
146
150
|
"preObserve": {
|
|
147
151
|
"type": "string",
|
|
@@ -211,6 +215,70 @@
|
|
|
211
215
|
"type": "string"
|
|
212
216
|
}
|
|
213
217
|
}
|
|
218
|
+
},
|
|
219
|
+
"reason": {
|
|
220
|
+
"type": "string",
|
|
221
|
+
"description": "Stable reason code for deferred checkpoints (e.g. CONSUMER_VERIFICATION_DEFERRED)"
|
|
222
|
+
},
|
|
223
|
+
"phase": {
|
|
224
|
+
"type": "string",
|
|
225
|
+
"description": "Phase identifier for deferred checkpoints (e.g. post-publish-verification)"
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"consumerVerificationReceipts": {
|
|
231
|
+
"type": "array",
|
|
232
|
+
"description": "消费端验证收据,每个 marketplace action 一条记录",
|
|
233
|
+
"items": {
|
|
234
|
+
"type": "object",
|
|
235
|
+
"required": [
|
|
236
|
+
"actionId",
|
|
237
|
+
"unitId",
|
|
238
|
+
"platform",
|
|
239
|
+
"result",
|
|
240
|
+
"installationContractDigest",
|
|
241
|
+
"algorithmVersion",
|
|
242
|
+
"planDigest",
|
|
243
|
+
"verifiedAt"
|
|
244
|
+
],
|
|
245
|
+
"additionalProperties": false,
|
|
246
|
+
"properties": {
|
|
247
|
+
"actionId": {
|
|
248
|
+
"type": "string",
|
|
249
|
+
"minLength": 1
|
|
250
|
+
},
|
|
251
|
+
"unitId": {
|
|
252
|
+
"type": "string",
|
|
253
|
+
"minLength": 1
|
|
254
|
+
},
|
|
255
|
+
"platform": {
|
|
256
|
+
"type": "string",
|
|
257
|
+
"minLength": 1
|
|
258
|
+
},
|
|
259
|
+
"result": {
|
|
260
|
+
"type": "string",
|
|
261
|
+
"enum": [
|
|
262
|
+
"PASSED_AUTOMATIC",
|
|
263
|
+
"PASSED_MANUAL",
|
|
264
|
+
"NOT_REQUIRED_UNCHANGED"
|
|
265
|
+
]
|
|
266
|
+
},
|
|
267
|
+
"installationContractDigest": {
|
|
268
|
+
"type": "string",
|
|
269
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
270
|
+
},
|
|
271
|
+
"algorithmVersion": {
|
|
272
|
+
"type": "integer",
|
|
273
|
+
"minimum": 1
|
|
274
|
+
},
|
|
275
|
+
"planDigest": {
|
|
276
|
+
"type": "string",
|
|
277
|
+
"minLength": 1
|
|
278
|
+
},
|
|
279
|
+
"verifiedAt": {
|
|
280
|
+
"type": "string",
|
|
281
|
+
"format": "date-time"
|
|
214
282
|
}
|
|
215
283
|
}
|
|
216
284
|
}
|