@hol-org/rb-client 0.1.175 → 0.1.177

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/dist/index.cjs CHANGED
@@ -297,13 +297,6 @@ var metadataFacetSchema = import_zod2.z.record(
297
297
  jsonValueSchema
298
298
  ])
299
299
  ).optional();
300
- var searchHitMetadataSchema = import_zod2.z.object({
301
- delegationRoles: jsonValueSchema.optional(),
302
- delegationTaskTags: jsonValueSchema.optional(),
303
- delegationProtocols: jsonValueSchema.optional(),
304
- delegationSummary: jsonValueSchema.optional(),
305
- delegationSignals: jsonValueSchema.optional()
306
- }).passthrough();
307
300
  var searchHitSchema = import_zod2.z.object({
308
301
  id: import_zod2.z.string(),
309
302
  uaid: import_zod2.z.string(),
@@ -312,7 +305,7 @@ var searchHitSchema = import_zod2.z.object({
312
305
  description: import_zod2.z.string().optional(),
313
306
  capabilities: import_zod2.z.array(capabilityValueSchema),
314
307
  endpoints: import_zod2.z.union([import_zod2.z.record(jsonValueSchema), import_zod2.z.array(import_zod2.z.string())]).optional(),
315
- metadata: searchHitMetadataSchema.optional(),
308
+ metadata: import_zod2.z.record(jsonValueSchema).optional(),
316
309
  metadataFacet: metadataFacetSchema,
317
310
  profile: agentProfileSchema.optional(),
318
311
  protocols: import_zod2.z.array(import_zod2.z.string()).optional(),
@@ -358,22 +351,13 @@ var resolveResponseSchema = import_zod2.z.object({
358
351
  });
359
352
  var delegationPlanCandidateSchema = import_zod2.z.object({
360
353
  uaid: import_zod2.z.string(),
361
- label: import_zod2.z.string(),
362
- registry: import_zod2.z.string().optional(),
363
- agent: searchHitSchema,
364
354
  score: import_zod2.z.number(),
365
- matchedQueries: import_zod2.z.array(import_zod2.z.string()).optional(),
366
- matchedRoles: import_zod2.z.array(import_zod2.z.string()).optional(),
367
- matchedProtocols: import_zod2.z.array(import_zod2.z.string()).optional(),
368
- matchedSurfaces: import_zod2.z.array(import_zod2.z.string()).optional(),
369
- matchedLanguages: import_zod2.z.array(import_zod2.z.string()).optional(),
370
- matchedArtifacts: import_zod2.z.array(import_zod2.z.string()).optional(),
371
- matchedTaskTags: import_zod2.z.array(import_zod2.z.string()).optional(),
372
- reasons: import_zod2.z.array(import_zod2.z.string()).optional(),
373
- suggestedMessage: import_zod2.z.string().optional(),
374
- trustScore: import_zod2.z.number().optional(),
375
- verified: import_zod2.z.boolean().optional(),
376
- communicationSupported: import_zod2.z.boolean().optional(),
355
+ displayName: import_zod2.z.string().optional(),
356
+ summary: import_zod2.z.string().optional(),
357
+ protocols: import_zod2.z.array(import_zod2.z.string()).optional(),
358
+ surfaces: import_zod2.z.array(import_zod2.z.string()).optional(),
359
+ languages: import_zod2.z.array(import_zod2.z.string()).optional(),
360
+ artifacts: import_zod2.z.array(import_zod2.z.string()).optional(),
377
361
  availability: import_zod2.z.boolean().optional(),
378
362
  explanation: import_zod2.z.string().optional()
379
363
  }).passthrough();
@@ -1291,14 +1275,6 @@ var skillRegistryListResponseSchema = import_zod2.z.object({
1291
1275
  items: import_zod2.z.array(skillRegistryPublishSummarySchema),
1292
1276
  nextCursor: import_zod2.z.string().nullable()
1293
1277
  }).passthrough();
1294
- var skillSecurityBreakdownResponseSchema = import_zod2.z.object({
1295
- name: import_zod2.z.string(),
1296
- version: import_zod2.z.string(),
1297
- jobId: import_zod2.z.string(),
1298
- createdAt: import_zod2.z.string(),
1299
- safety: skillSafetySummarySchema.nullable(),
1300
- findings: import_zod2.z.array(skillSafetyFindingSchema)
1301
- }).passthrough();
1302
1278
  var skillCatalogChannelSchema = import_zod2.z.enum([
1303
1279
  "stable",
1304
1280
  "prerelease",
@@ -1352,52 +1328,17 @@ var skillDeprecationsResponseSchema = import_zod2.z.object({
1352
1328
  name: import_zod2.z.string(),
1353
1329
  items: import_zod2.z.array(skillDeprecationRecordSchema)
1354
1330
  }).passthrough();
1355
- var skillPublisherQuickstartCommandSchema = import_zod2.z.object({
1356
- id: import_zod2.z.string(),
1357
- label: import_zod2.z.string(),
1358
- description: import_zod2.z.string(),
1359
- command: import_zod2.z.string(),
1360
- href: import_zod2.z.string().nullable().optional()
1361
- }).passthrough();
1362
- var skillPublisherTemplatePresetSchema = import_zod2.z.object({
1363
- presetId: import_zod2.z.string(),
1364
- label: import_zod2.z.string(),
1365
- description: import_zod2.z.string(),
1366
- recommendedFor: import_zod2.z.string(),
1367
- command: import_zod2.z.string()
1368
- }).passthrough();
1369
- var skillPublisherMetadataSchema = import_zod2.z.object({
1370
- cliPackageUrl: import_zod2.z.string(),
1371
- cliCommand: import_zod2.z.string(),
1372
- actionMarketplaceUrl: import_zod2.z.string(),
1373
- repositoryUrl: import_zod2.z.string(),
1374
- guideUrl: import_zod2.z.string().nullable().optional(),
1375
- docsUrl: import_zod2.z.string().nullable().optional(),
1376
- submitUrl: import_zod2.z.string().nullable().optional(),
1377
- skillsIndexUrl: import_zod2.z.string().nullable().optional(),
1378
- quickstartCommands: import_zod2.z.array(skillPublisherQuickstartCommandSchema),
1379
- templatePresets: import_zod2.z.array(skillPublisherTemplatePresetSchema)
1380
- }).passthrough();
1381
- var skillTrustTierSchema = import_zod2.z.enum([
1382
- "unpublished",
1383
- "published",
1384
- "verified",
1385
- "hardened"
1386
- ]);
1387
- var skillStatusChecksSchema = import_zod2.z.object({
1388
- repoCommitIntegrity: import_zod2.z.boolean(),
1389
- manifestIntegrity: import_zod2.z.boolean(),
1390
- domainProof: import_zod2.z.boolean()
1391
- }).passthrough();
1392
- var skillStatusNextStepSchema = import_zod2.z.object({
1393
- id: import_zod2.z.string(),
1394
- label: import_zod2.z.string(),
1395
- description: import_zod2.z.string(),
1396
- href: import_zod2.z.string().nullable().optional(),
1397
- command: import_zod2.z.string().nullable().optional()
1331
+ var skillSecurityBreakdownResponseSchema = import_zod2.z.object({
1332
+ jobId: import_zod2.z.string(),
1333
+ score: import_zod2.z.number().nullable().optional(),
1334
+ findings: import_zod2.z.array(import_zod2.z.unknown()).optional(),
1335
+ summary: import_zod2.z.unknown().optional(),
1336
+ generatedAt: import_zod2.z.string().nullable().optional(),
1337
+ scannerVersion: import_zod2.z.string().nullable().optional()
1398
1338
  }).passthrough();
1399
1339
  var skillBadgeMetricSchema = import_zod2.z.enum([
1400
1340
  "version",
1341
+ "version_verification",
1401
1342
  "status",
1402
1343
  "verification",
1403
1344
  "repo_commit",
@@ -1409,17 +1350,6 @@ var skillBadgeMetricSchema = import_zod2.z.enum([
1409
1350
  "upvotes",
1410
1351
  "updated"
1411
1352
  ]);
1412
- var skillStatusResponseSchema = import_zod2.z.object({
1413
- name: import_zod2.z.string(),
1414
- version: import_zod2.z.string().nullable(),
1415
- published: import_zod2.z.boolean(),
1416
- verifiedDomain: import_zod2.z.boolean(),
1417
- trustTier: skillTrustTierSchema,
1418
- badgeMetric: skillBadgeMetricSchema,
1419
- checks: skillStatusChecksSchema,
1420
- nextSteps: import_zod2.z.array(skillStatusNextStepSchema),
1421
- publisher: skillPublisherMetadataSchema.nullable().optional()
1422
- }).passthrough();
1423
1353
  var skillBadgeStyleSchema = import_zod2.z.enum([
1424
1354
  "flat",
1425
1355
  "flat-square",
@@ -1534,7 +1464,34 @@ var skillRegistryConfigResponseSchema = import_zod2.z.object({
1534
1464
  maxTotalSizeBytes: import_zod2.z.number().int().nullable().optional(),
1535
1465
  allowedMimeTypes: import_zod2.z.array(import_zod2.z.string()).nullable().optional(),
1536
1466
  network: import_zod2.z.union([import_zod2.z.literal("mainnet"), import_zod2.z.literal("testnet")]).nullable().optional(),
1537
- publisher: skillPublisherMetadataSchema.nullable().optional()
1467
+ publisher: import_zod2.z.object({
1468
+ cliPackageUrl: import_zod2.z.string(),
1469
+ cliCommand: import_zod2.z.string(),
1470
+ actionMarketplaceUrl: import_zod2.z.string(),
1471
+ repositoryUrl: import_zod2.z.string(),
1472
+ guideUrl: import_zod2.z.string().nullable().optional(),
1473
+ docsUrl: import_zod2.z.string().nullable().optional(),
1474
+ submitUrl: import_zod2.z.string().nullable().optional(),
1475
+ skillsIndexUrl: import_zod2.z.string().nullable().optional(),
1476
+ quickstartCommands: import_zod2.z.array(
1477
+ import_zod2.z.object({
1478
+ id: import_zod2.z.string(),
1479
+ label: import_zod2.z.string(),
1480
+ description: import_zod2.z.string(),
1481
+ command: import_zod2.z.string(),
1482
+ href: import_zod2.z.string().nullable().optional()
1483
+ }).passthrough()
1484
+ ).optional().default([]),
1485
+ templatePresets: import_zod2.z.array(
1486
+ import_zod2.z.object({
1487
+ presetId: import_zod2.z.string(),
1488
+ label: import_zod2.z.string(),
1489
+ description: import_zod2.z.string(),
1490
+ recommendedFor: import_zod2.z.string(),
1491
+ command: import_zod2.z.string()
1492
+ }).passthrough()
1493
+ ).optional().default([])
1494
+ }).nullable().optional()
1538
1495
  }).passthrough();
1539
1496
  var skillRegistryOwnershipResponseSchema = import_zod2.z.object({
1540
1497
  name: import_zod2.z.string(),
@@ -1546,6 +1503,202 @@ var skillRegistryVoteStatusResponseSchema = import_zod2.z.object({
1546
1503
  upvotes: import_zod2.z.number().int(),
1547
1504
  hasUpvoted: import_zod2.z.boolean()
1548
1505
  }).passthrough();
1506
+ var skillTrustTierSchema = import_zod2.z.enum([
1507
+ "unclaimed",
1508
+ "validated",
1509
+ "published",
1510
+ "verified",
1511
+ "hardened"
1512
+ ]);
1513
+ var skillStatusNextStepSchema = import_zod2.z.object({
1514
+ kind: import_zod2.z.enum([
1515
+ "setup_validate",
1516
+ "publish_first_release",
1517
+ "verify_domain",
1518
+ "harden_workflow",
1519
+ "share_status"
1520
+ ]),
1521
+ priority: import_zod2.z.number().int(),
1522
+ id: import_zod2.z.string(),
1523
+ label: import_zod2.z.string(),
1524
+ description: import_zod2.z.string(),
1525
+ url: import_zod2.z.string().nullable().optional(),
1526
+ href: import_zod2.z.string().nullable().optional(),
1527
+ command: import_zod2.z.string().nullable().optional()
1528
+ }).passthrough();
1529
+ var skillPreviewSuggestedNextStepSchema = import_zod2.z.object({
1530
+ id: import_zod2.z.string(),
1531
+ label: import_zod2.z.string(),
1532
+ description: import_zod2.z.string(),
1533
+ command: import_zod2.z.string().optional(),
1534
+ href: import_zod2.z.string().optional()
1535
+ }).passthrough();
1536
+ var skillPreviewReportSchema = import_zod2.z.object({
1537
+ schema_version: import_zod2.z.literal("skill-preview.v1"),
1538
+ tool_version: import_zod2.z.string(),
1539
+ preview_id: import_zod2.z.string(),
1540
+ repo_url: import_zod2.z.string(),
1541
+ repo_owner: import_zod2.z.string(),
1542
+ repo_name: import_zod2.z.string(),
1543
+ default_branch: import_zod2.z.string(),
1544
+ commit_sha: import_zod2.z.string(),
1545
+ ref: import_zod2.z.string(),
1546
+ event_name: import_zod2.z.string(),
1547
+ workflow_run_url: import_zod2.z.string(),
1548
+ skill_dir: import_zod2.z.string(),
1549
+ name: import_zod2.z.string(),
1550
+ version: import_zod2.z.string(),
1551
+ validation_status: import_zod2.z.literal("passed"),
1552
+ findings: import_zod2.z.array(import_zod2.z.unknown()),
1553
+ package_summary: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown()),
1554
+ suggested_next_steps: import_zod2.z.array(skillPreviewSuggestedNextStepSchema),
1555
+ generated_at: import_zod2.z.string()
1556
+ }).passthrough();
1557
+ var skillPreviewRecordSchema = import_zod2.z.object({
1558
+ id: import_zod2.z.string(),
1559
+ previewId: import_zod2.z.string(),
1560
+ source: import_zod2.z.literal("github-oidc"),
1561
+ report: skillPreviewReportSchema,
1562
+ generatedAt: import_zod2.z.string(),
1563
+ expiresAt: import_zod2.z.string(),
1564
+ statusUrl: import_zod2.z.string(),
1565
+ authoritative: import_zod2.z.boolean()
1566
+ }).passthrough();
1567
+ var skillPreviewLookupResponseSchema = import_zod2.z.object({
1568
+ found: import_zod2.z.boolean(),
1569
+ authoritative: import_zod2.z.boolean(),
1570
+ preview: skillPreviewRecordSchema.nullable(),
1571
+ statusUrl: import_zod2.z.string().nullable(),
1572
+ expiresAt: import_zod2.z.string().nullable()
1573
+ }).passthrough();
1574
+ var skillStatusPreviewMetadataSchema = import_zod2.z.object({
1575
+ previewId: import_zod2.z.string(),
1576
+ repoUrl: import_zod2.z.string(),
1577
+ repoOwner: import_zod2.z.string(),
1578
+ repoName: import_zod2.z.string(),
1579
+ commitSha: import_zod2.z.string(),
1580
+ ref: import_zod2.z.string(),
1581
+ eventName: import_zod2.z.string(),
1582
+ skillDir: import_zod2.z.string(),
1583
+ generatedAt: import_zod2.z.string(),
1584
+ expiresAt: import_zod2.z.string(),
1585
+ statusUrl: import_zod2.z.string()
1586
+ }).passthrough();
1587
+ var skillStatusChecksSchema = import_zod2.z.object({
1588
+ repoCommitIntegrity: import_zod2.z.boolean(),
1589
+ manifestIntegrity: import_zod2.z.boolean(),
1590
+ domainProof: import_zod2.z.boolean()
1591
+ }).passthrough();
1592
+ var skillStatusVerificationSignalsSchema = import_zod2.z.object({
1593
+ publisherBound: import_zod2.z.boolean(),
1594
+ domainProof: import_zod2.z.boolean(),
1595
+ verifiedDomain: import_zod2.z.boolean(),
1596
+ previewValidated: import_zod2.z.boolean()
1597
+ }).passthrough();
1598
+ var skillStatusProvenanceSignalsSchema = import_zod2.z.object({
1599
+ repoCommitIntegrity: import_zod2.z.boolean(),
1600
+ manifestIntegrity: import_zod2.z.boolean(),
1601
+ canonicalRelease: import_zod2.z.boolean(),
1602
+ previewAvailable: import_zod2.z.boolean(),
1603
+ previewAuthoritative: import_zod2.z.boolean()
1604
+ }).passthrough();
1605
+ var skillStatusResponseSchema = import_zod2.z.object({
1606
+ name: import_zod2.z.string(),
1607
+ version: import_zod2.z.string().nullable(),
1608
+ published: import_zod2.z.boolean(),
1609
+ verifiedDomain: import_zod2.z.boolean(),
1610
+ trustTier: skillTrustTierSchema,
1611
+ badgeMetric: skillBadgeMetricSchema,
1612
+ checks: skillStatusChecksSchema,
1613
+ nextSteps: import_zod2.z.array(skillStatusNextStepSchema),
1614
+ verificationSignals: skillStatusVerificationSignalsSchema,
1615
+ provenanceSignals: skillStatusProvenanceSignalsSchema,
1616
+ publisher: skillRegistryConfigResponseSchema.shape.publisher,
1617
+ preview: skillStatusPreviewMetadataSchema.nullable().optional(),
1618
+ statusUrl: import_zod2.z.string().nullable().optional()
1619
+ }).passthrough();
1620
+ var skillQuotePreviewRangeSchema = import_zod2.z.object({
1621
+ min: import_zod2.z.number(),
1622
+ max: import_zod2.z.number()
1623
+ }).passthrough();
1624
+ var skillQuotePreviewResponseSchema = import_zod2.z.object({
1625
+ estimatedCredits: skillQuotePreviewRangeSchema,
1626
+ estimatedHbar: skillQuotePreviewRangeSchema,
1627
+ pricingVersion: import_zod2.z.string(),
1628
+ assumptions: import_zod2.z.array(import_zod2.z.string()),
1629
+ purchaseUrl: import_zod2.z.string().nullable(),
1630
+ publishUrl: import_zod2.z.string().nullable(),
1631
+ verificationUrl: import_zod2.z.string().nullable()
1632
+ }).passthrough();
1633
+ var skillConversionSignalsResponseSchema = import_zod2.z.object({
1634
+ repoUrl: import_zod2.z.string(),
1635
+ skillDir: import_zod2.z.string(),
1636
+ trustTier: skillTrustTierSchema,
1637
+ actionInstalled: import_zod2.z.boolean(),
1638
+ previewUploaded: import_zod2.z.boolean(),
1639
+ previewId: import_zod2.z.string().nullable(),
1640
+ lastValidateSuccessAt: import_zod2.z.string().nullable(),
1641
+ stalePreviewAgeDays: import_zod2.z.number().nullable(),
1642
+ published: import_zod2.z.boolean(),
1643
+ verified: import_zod2.z.boolean(),
1644
+ publishReady: import_zod2.z.boolean(),
1645
+ publishBlockedByMissingAuth: import_zod2.z.boolean(),
1646
+ statusUrl: import_zod2.z.string().nullable(),
1647
+ purchaseUrl: import_zod2.z.string().nullable(),
1648
+ publishUrl: import_zod2.z.string().nullable(),
1649
+ verificationUrl: import_zod2.z.string().nullable(),
1650
+ nextSteps: import_zod2.z.array(skillStatusNextStepSchema)
1651
+ }).passthrough();
1652
+ var skillInstallArtifactDescriptorSchema = import_zod2.z.object({
1653
+ url: import_zod2.z.string(),
1654
+ pointer: import_zod2.z.string().nullable(),
1655
+ sha256: import_zod2.z.string().nullable()
1656
+ }).passthrough();
1657
+ var skillInstallResolverDescriptorSchema = import_zod2.z.object({
1658
+ skillRef: import_zod2.z.string(),
1659
+ skillMdUrl: import_zod2.z.string(),
1660
+ manifestUrl: import_zod2.z.string()
1661
+ }).passthrough();
1662
+ var skillInstallBadgeDescriptorSchema = import_zod2.z.object({
1663
+ apiUrl: import_zod2.z.string(),
1664
+ imageUrl: import_zod2.z.string(),
1665
+ markdown: import_zod2.z.string(),
1666
+ html: import_zod2.z.string()
1667
+ }).passthrough();
1668
+ var skillInstallShareDescriptorSchema = import_zod2.z.object({
1669
+ canonicalUrl: import_zod2.z.string().nullable(),
1670
+ latestUrl: import_zod2.z.string().nullable(),
1671
+ markdownLink: import_zod2.z.string().nullable(),
1672
+ htmlLink: import_zod2.z.string().nullable(),
1673
+ badge: skillInstallBadgeDescriptorSchema.nullable()
1674
+ }).passthrough();
1675
+ var skillInstallSnippetSetSchema = import_zod2.z.object({
1676
+ cli: import_zod2.z.string(),
1677
+ claude: import_zod2.z.string(),
1678
+ cursor: import_zod2.z.string(),
1679
+ codex: import_zod2.z.string(),
1680
+ openclaw: import_zod2.z.string()
1681
+ }).passthrough();
1682
+ var skillInstallResponseSchema = import_zod2.z.object({
1683
+ name: import_zod2.z.string(),
1684
+ version: import_zod2.z.string(),
1685
+ skillRef: import_zod2.z.string(),
1686
+ network: import_zod2.z.union([import_zod2.z.literal("mainnet"), import_zod2.z.literal("testnet")]),
1687
+ detailUrl: import_zod2.z.string().nullable(),
1688
+ artifacts: import_zod2.z.object({
1689
+ skillMd: skillInstallArtifactDescriptorSchema,
1690
+ manifest: skillInstallArtifactDescriptorSchema
1691
+ }).passthrough(),
1692
+ resolvers: import_zod2.z.object({
1693
+ pinned: skillInstallResolverDescriptorSchema,
1694
+ latest: skillInstallResolverDescriptorSchema
1695
+ }).passthrough(),
1696
+ share: skillInstallShareDescriptorSchema,
1697
+ snippets: skillInstallSnippetSetSchema
1698
+ }).passthrough();
1699
+ var skillInstallCopyTelemetryResponseSchema = import_zod2.z.object({
1700
+ accepted: import_zod2.z.boolean()
1701
+ }).passthrough();
1549
1702
  var skillVerificationTierSchema = import_zod2.z.enum(["basic", "express"]);
1550
1703
  var skillVerificationStatusSchema = import_zod2.z.enum([
1551
1704
  "pending",
@@ -4154,28 +4307,6 @@ async function skillsConfig(client) {
4154
4307
  "skill registry config response"
4155
4308
  );
4156
4309
  }
4157
- async function getSkillStatus(client, params) {
4158
- const normalizedName = params.name.trim();
4159
- if (!normalizedName) {
4160
- throw new Error("name is required");
4161
- }
4162
- const query = new URLSearchParams();
4163
- query.set("name", normalizedName);
4164
- if (params.version?.trim()) {
4165
- query.set("version", params.version.trim());
4166
- }
4167
- const raw = await client.requestJson(
4168
- `/skills/status?${query.toString()}`,
4169
- {
4170
- method: "GET"
4171
- }
4172
- );
4173
- return client.parseWithSchema(
4174
- raw,
4175
- skillStatusResponseSchema,
4176
- "skill status response"
4177
- );
4178
- }
4179
4310
  async function listSkills(client, params = {}) {
4180
4311
  const query = new URLSearchParams();
4181
4312
  if (params.name) {
@@ -4345,6 +4476,18 @@ async function quoteSkillPublish(client, payload) {
4345
4476
  "skill registry quote response"
4346
4477
  );
4347
4478
  }
4479
+ async function quoteSkillPublishPreview(client, payload) {
4480
+ const raw = await client.requestJson("/skills/quote-preview", {
4481
+ method: "POST",
4482
+ body: payload,
4483
+ headers: { "content-type": "application/json" }
4484
+ });
4485
+ return client.parseWithSchema(
4486
+ raw,
4487
+ skillQuotePreviewResponseSchema,
4488
+ "skill quote preview response"
4489
+ );
4490
+ }
4348
4491
  async function publishSkill(client, payload) {
4349
4492
  const raw = await client.requestJson("/skills/publish", {
4350
4493
  method: "POST",
@@ -4509,6 +4652,192 @@ async function getSkillBadge(client, params) {
4509
4652
  "skill badge response"
4510
4653
  );
4511
4654
  }
4655
+ async function getSkillStatus(client, params) {
4656
+ const normalizedName = params.name.trim();
4657
+ if (!normalizedName) {
4658
+ throw new Error("name is required");
4659
+ }
4660
+ const query = new URLSearchParams();
4661
+ query.set("name", normalizedName);
4662
+ if (params.version?.trim()) {
4663
+ query.set("version", params.version.trim());
4664
+ }
4665
+ const raw = await client.requestJson(
4666
+ `/skills/status?${query.toString()}`,
4667
+ { method: "GET" }
4668
+ );
4669
+ return client.parseWithSchema(
4670
+ raw,
4671
+ skillStatusResponseSchema,
4672
+ "skill status response"
4673
+ );
4674
+ }
4675
+ async function getSkillStatusByRepo(client, params) {
4676
+ const repo = params.repo.trim();
4677
+ const skillDir = params.skillDir.trim();
4678
+ if (!repo) {
4679
+ throw new Error("repo is required");
4680
+ }
4681
+ if (!skillDir) {
4682
+ throw new Error("skillDir is required");
4683
+ }
4684
+ const query = new URLSearchParams();
4685
+ query.set("repo", repo);
4686
+ query.set("skillDir", skillDir);
4687
+ if (params.ref?.trim()) {
4688
+ query.set("ref", params.ref.trim());
4689
+ }
4690
+ const raw = await client.requestJson(
4691
+ `/skills/status/by-repo?${query.toString()}`,
4692
+ { method: "GET" }
4693
+ );
4694
+ return client.parseWithSchema(
4695
+ raw,
4696
+ skillStatusResponseSchema,
4697
+ "skill status response"
4698
+ );
4699
+ }
4700
+ async function getSkillConversionSignalsByRepo(client, params) {
4701
+ const repo = params.repo.trim();
4702
+ const skillDir = params.skillDir.trim();
4703
+ if (!repo) {
4704
+ throw new Error("repo is required");
4705
+ }
4706
+ if (!skillDir) {
4707
+ throw new Error("skillDir is required");
4708
+ }
4709
+ const query = new URLSearchParams();
4710
+ query.set("repo", repo);
4711
+ query.set("skillDir", skillDir);
4712
+ if (params.ref?.trim()) {
4713
+ query.set("ref", params.ref.trim());
4714
+ }
4715
+ const raw = await client.requestJson(
4716
+ `/skills/conversion-signals/by-repo?${query.toString()}`,
4717
+ { method: "GET" }
4718
+ );
4719
+ return client.parseWithSchema(
4720
+ raw,
4721
+ skillConversionSignalsResponseSchema,
4722
+ "skill conversion signals response"
4723
+ );
4724
+ }
4725
+ async function uploadSkillPreviewFromGithubOidc(client, payload) {
4726
+ const token = payload.token.trim();
4727
+ if (!token) {
4728
+ throw new Error("token is required");
4729
+ }
4730
+ const raw = await client.requestJson(
4731
+ "/skills/preview/github-oidc",
4732
+ {
4733
+ method: "POST",
4734
+ body: payload.report,
4735
+ headers: {
4736
+ "content-type": "application/json",
4737
+ authorization: `Bearer ${token}`
4738
+ }
4739
+ }
4740
+ );
4741
+ return client.parseWithSchema(
4742
+ raw,
4743
+ skillPreviewRecordSchema,
4744
+ "skill preview record response"
4745
+ );
4746
+ }
4747
+ async function getSkillPreview(client, params) {
4748
+ const normalizedName = params.name.trim();
4749
+ if (!normalizedName) {
4750
+ throw new Error("name is required");
4751
+ }
4752
+ const query = new URLSearchParams();
4753
+ query.set("name", normalizedName);
4754
+ if (params.version?.trim()) {
4755
+ query.set("version", params.version.trim());
4756
+ }
4757
+ const raw = await client.requestJson(
4758
+ `/skills/preview?${query.toString()}`,
4759
+ { method: "GET" }
4760
+ );
4761
+ return client.parseWithSchema(
4762
+ raw,
4763
+ skillPreviewLookupResponseSchema,
4764
+ "skill preview response"
4765
+ );
4766
+ }
4767
+ async function getSkillPreviewByRepo(client, params) {
4768
+ const repo = params.repo.trim();
4769
+ const skillDir = params.skillDir.trim();
4770
+ if (!repo) {
4771
+ throw new Error("repo is required");
4772
+ }
4773
+ if (!skillDir) {
4774
+ throw new Error("skillDir is required");
4775
+ }
4776
+ const query = new URLSearchParams();
4777
+ query.set("repo", repo);
4778
+ query.set("skillDir", skillDir);
4779
+ if (params.ref?.trim()) {
4780
+ query.set("ref", params.ref.trim());
4781
+ }
4782
+ const raw = await client.requestJson(
4783
+ `/skills/preview/by-repo?${query.toString()}`,
4784
+ { method: "GET" }
4785
+ );
4786
+ return client.parseWithSchema(
4787
+ raw,
4788
+ skillPreviewLookupResponseSchema,
4789
+ "skill preview by repo response"
4790
+ );
4791
+ }
4792
+ async function getSkillPreviewById(client, previewId) {
4793
+ const normalizedPreviewId = previewId.trim();
4794
+ if (!normalizedPreviewId) {
4795
+ throw new Error("previewId is required");
4796
+ }
4797
+ const raw = await client.requestJson(
4798
+ `/skills/preview/${encodeURIComponent(normalizedPreviewId)}`,
4799
+ { method: "GET" }
4800
+ );
4801
+ return client.parseWithSchema(
4802
+ raw,
4803
+ skillPreviewLookupResponseSchema,
4804
+ "skill preview by id response"
4805
+ );
4806
+ }
4807
+ async function getSkillInstall(client, skillRef) {
4808
+ const normalizedSkillRef = skillRef.trim();
4809
+ if (!normalizedSkillRef) {
4810
+ throw new Error("skillRef is required");
4811
+ }
4812
+ const raw = await client.requestJson(
4813
+ `/skills/${encodeURIComponent(normalizedSkillRef)}/install`,
4814
+ { method: "GET" }
4815
+ );
4816
+ return client.parseWithSchema(
4817
+ raw,
4818
+ skillInstallResponseSchema,
4819
+ "skill install response"
4820
+ );
4821
+ }
4822
+ async function recordSkillInstallCopy(client, skillRef, payload = {}) {
4823
+ const normalizedSkillRef = skillRef.trim();
4824
+ if (!normalizedSkillRef) {
4825
+ throw new Error("skillRef is required");
4826
+ }
4827
+ const raw = await client.requestJson(
4828
+ `/skills/${encodeURIComponent(normalizedSkillRef)}/telemetry/install-copy`,
4829
+ {
4830
+ method: "POST",
4831
+ body: payload,
4832
+ headers: { "content-type": "application/json" }
4833
+ }
4834
+ );
4835
+ return client.parseWithSchema(
4836
+ raw,
4837
+ skillInstallCopyTelemetryResponseSchema,
4838
+ "skill install copy telemetry response"
4839
+ );
4840
+ }
4512
4841
  async function listSkillTags(client) {
4513
4842
  const raw = await client.requestJson("/skills/tags", {
4514
4843
  method: "GET"
@@ -5028,15 +5357,9 @@ var RegistryBrokerClient = class _RegistryBrokerClient {
5028
5357
  async skillsConfig() {
5029
5358
  return skillsConfig(this);
5030
5359
  }
5031
- async getSkillStatus(params) {
5032
- return getSkillStatus(this, params);
5033
- }
5034
5360
  async listSkills(options) {
5035
5361
  return listSkills(this, options);
5036
5362
  }
5037
- async getSkillSecurityBreakdown(params) {
5038
- return getSkillSecurityBreakdown(this, params);
5039
- }
5040
5363
  async getSkillsCatalog(options) {
5041
5364
  return getSkillsCatalog(this, options);
5042
5365
  }
@@ -5052,6 +5375,9 @@ var RegistryBrokerClient = class _RegistryBrokerClient {
5052
5375
  async quoteSkillPublish(payload) {
5053
5376
  return quoteSkillPublish(this, payload);
5054
5377
  }
5378
+ async quoteSkillPublishPreview(payload) {
5379
+ return quoteSkillPublishPreview(this, payload);
5380
+ }
5055
5381
  async publishSkill(payload) {
5056
5382
  return publishSkill(this, payload);
5057
5383
  }
@@ -5076,6 +5402,36 @@ var RegistryBrokerClient = class _RegistryBrokerClient {
5076
5402
  async getSkillBadge(params) {
5077
5403
  return getSkillBadge(this, params);
5078
5404
  }
5405
+ async getSkillStatus(params) {
5406
+ return getSkillStatus(this, params);
5407
+ }
5408
+ async getSkillSecurityBreakdown(params) {
5409
+ return getSkillSecurityBreakdown(this, params);
5410
+ }
5411
+ async getSkillStatusByRepo(params) {
5412
+ return getSkillStatusByRepo(this, params);
5413
+ }
5414
+ async getSkillConversionSignalsByRepo(params) {
5415
+ return getSkillConversionSignalsByRepo(this, params);
5416
+ }
5417
+ async uploadSkillPreviewFromGithubOidc(payload) {
5418
+ return uploadSkillPreviewFromGithubOidc(this, payload);
5419
+ }
5420
+ async getSkillPreview(params) {
5421
+ return getSkillPreview(this, params);
5422
+ }
5423
+ async getSkillPreviewByRepo(params) {
5424
+ return getSkillPreviewByRepo(this, params);
5425
+ }
5426
+ async getSkillPreviewById(previewId) {
5427
+ return getSkillPreviewById(this, previewId);
5428
+ }
5429
+ async getSkillInstall(skillRef) {
5430
+ return getSkillInstall(this, skillRef);
5431
+ }
5432
+ async recordSkillInstallCopy(skillRef, payload) {
5433
+ return recordSkillInstallCopy(this, skillRef, payload);
5434
+ }
5079
5435
  async listSkillTags() {
5080
5436
  return listSkillTags(this);
5081
5437
  }
@@ -5457,9 +5813,20 @@ var RegistryBrokerClient = class _RegistryBrokerClient {
5457
5813
  }
5458
5814
  return nodeCrypto;
5459
5815
  }
5816
+ getSecureRandomBytes(size, feature) {
5817
+ const webCrypto = globalThis.crypto;
5818
+ if (webCrypto && typeof webCrypto.getRandomValues === "function") {
5819
+ const bytes = new Uint8Array(size);
5820
+ webCrypto.getRandomValues(bytes);
5821
+ return bytes;
5822
+ }
5823
+ return this.getNodeCrypto(feature).randomBytes(size);
5824
+ }
5460
5825
  createEphemeralKeyPair() {
5461
- const { randomBytes } = this.getNodeCrypto("generateEphemeralKeyPair");
5462
- const privateKeyBytes = randomBytes(32);
5826
+ const privateKeyBytes = this.getSecureRandomBytes(
5827
+ 32,
5828
+ "generateEphemeralKeyPair"
5829
+ );
5463
5830
  const publicKey = import_secp256k12.secp256k1.getPublicKey(privateKeyBytes, true);
5464
5831
  return {
5465
5832
  privateKey: import_buffer4.Buffer.from(privateKeyBytes).toString("hex"),