@nekro-nxt/contracts 0.1.0 → 0.3.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"host-api.d.ts","sourceRoot":"","sources":["../../src/host-api.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAioB3B;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0EH,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgxB1D,CAAA;AAEV,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,gBAAgB,CAAA;AAC/D,MAAM,MAAM,aAAa,CAAC,IAAI,SAAS,mBAAmB,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;AAChH,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,mBAAmB,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;AAClH,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,mBAAmB,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;AACrH,MAAM,MAAM,qBAAqB,CAAC,QAAQ,IAAI,QAAQ,SAAS;IAC7D,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,CAAA;CACjD,GACG,KAAK,GACL,KAAK,CAAA;AACT,MAAM,MAAM,sBAAsB,CAAC,QAAQ,IAAI,QAAQ,SAAS;IAC9D,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,CAAA;CAClD,GACG,KAAK,GACL,KAAK,CAAA;AACT,MAAM,MAAM,uBAAuB,CAAC,QAAQ,IAAI,QAAQ,SAAS;IAC/D,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,MAAM,EAAE,OAAO,CAAC,CAAA;CACpD,GACG,MAAM,GACN,KAAK,CAAA;AA6BT,wBAAgB,wBAAwB,CAAC,MAAM,SAAS,SAAS,EAC/D,QAAQ,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC5D,KAAK,EAAE,OAAO,GACb,MAAM,CAER;AAED,wBAAgB,gBAAgB,CAAC,IAAI,SAAS,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAEjH"}
1
+ {"version":3,"file":"host-api.d.ts","sourceRoot":"","sources":["../../src/host-api.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAurB3B;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8EH,kEAAkE;;;;;;;;;;;;;;;;;IASlE,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiIvD;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgDH,0DAA0D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -6,4 +6,5 @@ export * from './management-api.js';
6
6
  export * from './runtime-compatibility.js';
7
7
  export * from './extension-capabilities.js';
8
8
  export * from './community.js';
9
+ export * from './community-personas.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nekro-nxt/contracts",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "exports": {
@@ -0,0 +1,81 @@
1
+ import { z } from 'zod'
2
+ import { CommunityAccountSchema } from './community.js'
3
+ import { AgentIdSchema } from './domain.js'
4
+
5
+ /**
6
+ * 社区人设在本机的投影:名称、头像、简介、作者介绍、标签与人设正文(对应智能体的 `persona`)。不含模型与扩展。
7
+ * Host 宽松读取社区响应并归一到这些结构;头像改写为本机代理地址,页面不直接跨域读取社区图片。
8
+ */
9
+ export const CommunityPersonaIdSchema = z.string().regex(/^psn_[0-9A-Za-z]+$/u)
10
+ export const CommunityPersonaRevisionIdSchema = z.string().regex(/^prv_[0-9A-Za-z]+$/u)
11
+
12
+ /** 人设正文上限,与智能体设定一致。 */
13
+ export const COMMUNITY_PERSONA_MAX_LENGTH = 64 * 1024
14
+ /** 发布头像上限(社区约定 ≤512 KiB 的 PNG、JPEG 或 WebP)。 */
15
+ export const COMMUNITY_PERSONA_AVATAR_MAX_BYTES = 512 * 1024
16
+ export const COMMUNITY_PERSONA_AVATAR_TYPES = ['image/png', 'image/jpeg', 'image/webp'] as const
17
+
18
+ const TagsSchema = z.array(z.string().min(1).max(40)).max(16)
19
+
20
+ export const CommunityPersonaSummarySchema = z.object({
21
+ id: CommunityPersonaIdSchema,
22
+ name: z.string().min(1).max(200),
23
+ summary: z.string().max(1000),
24
+ tags: TagsSchema,
25
+ /** 本机代理地址 `/api/community/personas/<id>/avatar?v=…`;没有头像时为 null。 */
26
+ avatarUrl: z.string().startsWith('/api/community/personas/').nullable(),
27
+ official: z.boolean(),
28
+ publisher: CommunityAccountSchema,
29
+ installs: z.number().int().nonnegative(),
30
+ updatedAt: z.number().int(),
31
+ pageUrl: z.string().url(),
32
+ })
33
+ export type CommunityPersonaSummary = z.output<typeof CommunityPersonaSummarySchema>
34
+
35
+ export const CommunityPersonaDetailSchema = CommunityPersonaSummarySchema.extend({
36
+ description: z.string().max(20_000),
37
+ persona: z.string().max(COMMUNITY_PERSONA_MAX_LENGTH),
38
+ revision: z.object({
39
+ id: CommunityPersonaRevisionIdSchema,
40
+ notes: z.string().max(2000),
41
+ createdAt: z.number().int(),
42
+ }),
43
+ review: z.object({ status: z.enum(['approved', 'flagged']), summary: z.string().max(2000).nullable() }).nullable(),
44
+ })
45
+ export type CommunityPersonaDetail = z.output<typeof CommunityPersonaDetailSchema>
46
+
47
+ export const CommunityPersonaReviewStatusSchema = z.enum(['pending', 'approved', 'flagged', 'rejected'])
48
+ export type CommunityPersonaReviewStatus = z.output<typeof CommunityPersonaReviewStatusSchema>
49
+
50
+ export const CommunityMyPersonaSchema = CommunityPersonaSummarySchema.extend({
51
+ status: z.enum(['listed', 'delisted']),
52
+ latestRevision: z.object({
53
+ id: CommunityPersonaRevisionIdSchema,
54
+ createdAt: z.number().int(),
55
+ reviewStatus: CommunityPersonaReviewStatusSchema,
56
+ reviewSummary: z.string().max(2000).nullable(),
57
+ }),
58
+ })
59
+ export type CommunityMyPersona = z.output<typeof CommunityMyPersonaSchema>
60
+
61
+ export const CommunityMyPersonasSchema = z.object({
62
+ items: z.array(CommunityMyPersonaSchema),
63
+ /** 本机智能体最近一次发布到当前社区的人设,用于「更新已发布的人设」。 */
64
+ agentLinks: z.record(AgentIdSchema, CommunityPersonaIdSchema),
65
+ })
66
+
67
+ /** 作者看到的审查状态文字。 */
68
+ export const communityPersonaReviewLabel = (
69
+ status: CommunityPersonaReviewStatus,
70
+ ): { readonly tone: 'neutral' | 'ok' | 'warn' | 'bad'; readonly label: string } => {
71
+ switch (status) {
72
+ case 'approved':
73
+ return { tone: 'ok', label: '已公开' }
74
+ case 'pending':
75
+ return { tone: 'neutral', label: '审查中' }
76
+ case 'flagged':
77
+ return { tone: 'warn', label: '待人工复核' }
78
+ case 'rejected':
79
+ return { tone: 'bad', label: '未通过' }
80
+ }
81
+ }
package/src/community.ts CHANGED
@@ -19,82 +19,294 @@ export const COMMUNITY_REVIEW_STATUSES = [
19
19
  export const CommunityReviewStatusSchema = z.enum(COMMUNITY_REVIEW_STATUSES)
20
20
  export type CommunityReviewStatus = z.output<typeof CommunityReviewStatusSchema>
21
21
 
22
- export const CommunityGradeSchema = z.enum(['A', 'B', 'C', 'D'])
22
+ /** 社区评级的六个维度(审查标准 v1),从正上方顺时针排列成六边形。 */
23
+ export const COMMUNITY_RATING_DIMENSIONS = [
24
+ 'security',
25
+ 'openness',
26
+ 'reliability',
27
+ 'lightweight',
28
+ 'usability',
29
+ 'craft',
30
+ ] as const
31
+ export type CommunityRatingDimension = (typeof COMMUNITY_RATING_DIMENSIONS)[number]
32
+
33
+ export const COMMUNITY_RATING_DIMENSION_LABELS: Readonly<Record<CommunityRatingDimension, string>> = {
34
+ security: '安全',
35
+ openness: '开放',
36
+ reliability: '稳定',
37
+ lightweight: '轻量',
38
+ usability: '易用',
39
+ craft: '工艺',
40
+ }
41
+
42
+ /** 社区的审查员,评级与审查记录以她署名。 */
43
+ export const COMMUNITY_REVIEWER_NAME = '小澄'
44
+
45
+ /** 社区判定的达成标签;不认识的标签不显示。扩展页面最多显示 {@link COMMUNITY_RATING_BADGE_LIMIT} 个。 */
46
+ export const COMMUNITY_RATING_BADGES: Readonly<
47
+ Record<string, { readonly label: string; readonly description: string }>
48
+ > = {
49
+ 'zero-permission': { label: '零权限', description: '没有申请任何权限。' },
50
+ 'least-privilege': { label: '最小权限', description: '声明的每项能力都用得上,安全满星。' },
51
+ 'no-network': { label: '不联网', description: '不访问任何网络。' },
52
+ 'scoped-network': { label: '限定地址联网', description: '只访问指定域名或用户在配置中填写的地址。' },
53
+ 'managed-secrets': { label: '凭据托管', description: '凭据都是配置中的凭据字段,经宿主读取,没有写进源码。' },
54
+ 'readable-source': { label: '源码可读', description: '没有混淆、压缩或内嵌大段编码内容。' },
55
+ 'open-source': { label: '开源', description: '填写了公开的源码仓库。' },
56
+ 'readable-errors': { label: '错误可读', description: '失败时都返回给用户看的说明,稳定满星。' },
57
+ 'stable-context': { label: '上下文稳定', description: '不占上下文,或注入的上下文稳定、不破坏提示缓存。' },
58
+ 'complete-docs': { label: '说明完整', description: '有图标和介绍,易用至少四星。' },
59
+ }
60
+ export const COMMUNITY_RATING_BADGE_LIMIT = 4
61
+
62
+ /** 一次发布的评级:六维星级、综合评分(各维度平均,保留一位小数)与达成标签。 */
63
+ export const CommunityRatingSchema = z.object({
64
+ standard: z.string().max(20),
65
+ score: z.number().min(1).max(5),
66
+ dimensions: z
67
+ .array(
68
+ z.object({
69
+ key: z.string().max(40),
70
+ stars: z.number().int().min(1).max(5),
71
+ headline: z.string().max(200),
72
+ cap: z.string().max(200).optional(),
73
+ }),
74
+ )
75
+ .max(16),
76
+ badges: z.array(z.string().max(40)).max(32),
77
+ })
78
+ export type CommunityRating = z.output<typeof CommunityRatingSchema>
79
+
80
+ /** 市场的排序方式。 */
81
+ export const COMMUNITY_EXTENSION_SORTS = [
82
+ { key: 'updated', label: '最近更新' },
83
+ { key: 'score', label: '综合评分' },
84
+ { key: 'downloads', label: '下载最多' },
85
+ { key: 'newest', label: '最新上架' },
86
+ ] as const
87
+ export type CommunityExtensionSort = (typeof COMMUNITY_EXTENSION_SORTS)[number]['key']
88
+ export const CommunityExtensionSortSchema = z.enum(['updated', 'score', 'downloads', 'newest'])
23
89
 
24
90
  export const CommunityReleaseIdSchema = z.string().regex(/^rel_[0-9A-Za-z]+$/u)
25
91
 
26
- export const CommunityAccountSchema = z
27
- .object({
28
- handle: z.string().min(1).max(80),
29
- displayName: z.string().max(200),
30
- avatarUrl: z.string().url().nullable(),
31
- })
32
- .strict()
92
+ export const CommunityAccountSchema = z.object({
93
+ handle: z.string().min(1).max(80),
94
+ displayName: z.string().max(200),
95
+ avatarUrl: z.string().url().nullable(),
96
+ })
33
97
  export type CommunityAccount = z.output<typeof CommunityAccountSchema>
34
98
 
35
- export const CommunityStatusSchema = z
36
- .object({
37
- communityUrl: z.string().url(),
38
- account: CommunityAccountSchema.nullable(),
39
- signedInAt: z.number().int().nullable(),
40
- })
41
- .strict()
99
+ export const CommunityEnvironmentSchema = z.enum(['production', 'staging', 'development'])
100
+ export type CommunityEnvironment = z.output<typeof CommunityEnvironmentSchema>
101
+
102
+ export const CommunityStatusSchema = z.object({
103
+ communityUrl: z.string().url(),
104
+ /** 社区自我声明的环境;连不上或旧版社区时为 null。 */
105
+ environment: CommunityEnvironmentSchema.nullable(),
106
+ account: CommunityAccountSchema.nullable(),
107
+ signedInAt: z.number().int().nullable(),
108
+ /** 最近一次更新检查发现的可更新扩展数量(只读缓存,不发起网络请求)。 */
109
+ updatesAvailable: z.number().int().nonnegative(),
110
+ })
42
111
  export type CommunityStatus = z.output<typeof CommunityStatusSchema>
43
112
 
44
- export const CommunityPermissionItemSchema = z
45
- .object({
46
- key: z.string().max(120),
47
- level: z.enum(['normal', 'elevated', 'high']),
48
- label: z.string().max(200),
49
- detail: z.string().max(2000).optional(),
50
- })
51
- .strict()
52
-
53
- export const CommunityReleaseSchema = z
54
- .object({
55
- id: CommunityReleaseIdSchema,
56
- reviewStatus: CommunityReviewStatusSchema,
57
- grade: CommunityGradeSchema.nullable(),
58
- permissions: z.array(CommunityPermissionItemSchema).max(64),
59
- packageSize: z.number().int().nonnegative(),
60
- requiresSdk: z.number().int().positive().nullable(),
61
- notes: z.string().max(2000),
62
- createdAt: z.number().int(),
63
- })
64
- .strict()
113
+ export const CommunityPermissionItemSchema = z.object({
114
+ key: z.string().max(120),
115
+ level: z.enum(['normal', 'elevated', 'high']),
116
+ label: z.string().max(200),
117
+ detail: z.string().max(2000).optional(),
118
+ /** `host`: approved when installed on this machine; `agent`: approved when enabled for an agent. */
119
+ layer: z.enum(['host', 'agent']).optional(),
120
+ })
121
+
122
+ export type CommunityPermissionItem = z.output<typeof CommunityPermissionItemSchema>
123
+
124
+ export const CommunityReleaseSchema = z.object({
125
+ id: CommunityReleaseIdSchema,
126
+ reviewStatus: CommunityReviewStatusSchema,
127
+ /** 审查完成后的评级;尚未审查、审查未完成或旧版社区时为 null。 */
128
+ rating: CommunityRatingSchema.nullable(),
129
+ permissions: z.array(CommunityPermissionItemSchema).max(64),
130
+ packageSize: z.number().int().nonnegative(),
131
+ requiresSdk: z.number().int().positive().nullable(),
132
+ notes: z.string().max(2000),
133
+ createdAt: z.number().int(),
134
+ })
65
135
  export type CommunityRelease = z.output<typeof CommunityReleaseSchema>
66
136
 
67
- export const CommunityExtensionSummarySchema = z
68
- .object({
69
- id: ExtensionIdSchema,
70
- scope: z.enum(['agent', 'host-adapter', 'host-ui']),
71
- displayName: z.string().max(200),
72
- summary: z.string().max(1000),
73
- tags: z.array(z.string().max(40)).max(16),
74
- publisher: CommunityAccountSchema,
75
- latest: CommunityReleaseSchema.nullable(),
76
- downloads: z.number().int().nonnegative(),
77
- updatedAt: z.number().int(),
78
- pageUrl: z.string().url(),
79
- })
80
- .strict()
137
+ /** 社区为官方扩展保留的发布者标识:官方扩展由多位官方成员维护,对外不显示个人账号。 */
138
+ export const COMMUNITY_OFFICIAL_HANDLE = 'nekro-nxt'
139
+
140
+ /** 发布者的展示文字:官方扩展显示「NekroNXT 官方」,其余显示 @账号。 */
141
+ export const communityPublisherLabel = (handle: string): string =>
142
+ handle === COMMUNITY_OFFICIAL_HANDLE ? 'NekroNXT 官方' : `@${handle}`
143
+
144
+ export const CommunityExtensionSummarySchema = z.object({
145
+ id: ExtensionIdSchema,
146
+ /** What the extension provides, derived from its Manifest; unknown future labels are dropped. */
147
+ provides: z.array(z.string().max(32)).max(8),
148
+ displayName: z.string().max(200),
149
+ summary: z.string().max(1000),
150
+ tags: z.array(z.string().max(40)).max(16),
151
+ /** 最新公开发布包内的扩展图标(社区的绝对地址);没有图标或旧版社区时为 null。 */
152
+ iconUrl: z.string().url().nullable(),
153
+ /** 由社区后台认定的官方扩展;此时发布者是社区保留的官方主页(`COMMUNITY_OFFICIAL_HANDLE`)。 */
154
+ official: z.boolean(),
155
+ publisher: CommunityAccountSchema,
156
+ latest: CommunityReleaseSchema.nullable(),
157
+ downloads: z.number().int().nonnegative(),
158
+ updatedAt: z.number().int(),
159
+ pageUrl: z.string().url(),
160
+ })
81
161
  export type CommunityExtensionSummary = z.output<typeof CommunityExtensionSummarySchema>
82
162
 
83
163
  export const CommunityExtensionDetailSchema = CommunityExtensionSummarySchema.extend({
84
164
  description: z.string().max(20_000),
85
165
  sourceUrl: z.string().url().nullable(),
166
+ /** 公开的审查记录:评级、总评、各维度说明,以及发现与自动检查的标题。 */
86
167
  review: z
87
168
  .object({
88
169
  status: CommunityReviewStatusSchema,
89
- grade: CommunityGradeSchema.nullable(),
170
+ rating: CommunityRatingSchema.nullable(),
90
171
  summary: z.string().max(2000).nullable(),
91
- highlights: z.array(z.object({ severity: z.string().max(20), title: z.string().max(200) }).strict()).max(16),
172
+ dimensions: z.array(z.object({ key: z.string().max(40), notes: z.string().max(2000) })).max(16),
173
+ findings: z
174
+ .array(z.object({ dimension: z.string().max(40), severity: z.string().max(20), title: z.string().max(200) }))
175
+ .max(64),
176
+ checks: z.array(z.object({ severity: z.string().max(20), title: z.string().max(200) })).max(64),
177
+ reviewedAt: z.number().int().nullable(),
92
178
  })
93
- .strict()
94
179
  .nullable(),
95
- }).strict()
180
+ })
96
181
  export type CommunityExtensionDetail = z.output<typeof CommunityExtensionDetailSchema>
97
182
 
183
+ /**
184
+ * 发布时随包提交的条目信息(作者自己写的介绍)。首次发布用于建条目;之后提供了哪项就覆盖哪项,未提供的保持不变。
185
+ */
186
+ export const COMMUNITY_LISTING_LIMITS = { summary: 160, description: 20_000, tags: 8, tag: 40 } as const
187
+
188
+ export const CommunityListingInputSchema = z.object({
189
+ summary: z.string().trim().max(COMMUNITY_LISTING_LIMITS.summary).optional(),
190
+ description: z.string().max(COMMUNITY_LISTING_LIMITS.description).optional(),
191
+ tags: z
192
+ .array(z.string().trim().min(1).max(COMMUNITY_LISTING_LIMITS.tag))
193
+ .max(COMMUNITY_LISTING_LIMITS.tags)
194
+ .optional(),
195
+ sourceUrl: z
196
+ .string()
197
+ .trim()
198
+ .url()
199
+ .refine((value) => /^https?:\/\//iu.test(value), '源码地址必须是 http(s) 链接。')
200
+ .optional(),
201
+ })
202
+ export type CommunityListingInput = z.output<typeof CommunityListingInputSchema>
203
+
204
+ export const CommunityEndpointSchema = z.object({
205
+ url: z.string().url(),
206
+ source: z.enum(['setting', 'environment', 'default']),
207
+ defaultUrl: z.string().url(),
208
+ environmentUrl: z.string().url().nullable(),
209
+ /** 当前地址是未加密的非本机地址。 */
210
+ insecure: z.boolean(),
211
+ })
212
+ export type CommunityEndpoint = z.output<typeof CommunityEndpointSchema>
213
+
214
+ export const CommunitySourceSchema = z.object({
215
+ kind: z.literal('community'),
216
+ communityUrl: z.string().url(),
217
+ releaseId: CommunityReleaseIdSchema,
218
+ publisherHandle: z.string().min(1).max(80),
219
+ installedAt: z.number().int().nonnegative(),
220
+ })
221
+ export type CommunitySource = z.output<typeof CommunitySourceSchema>
222
+
223
+ export const CommunityInstalledItemSchema = z.object({
224
+ extensionId: ExtensionIdSchema,
225
+ displayName: z.string(),
226
+ revisionId: z.string(),
227
+ source: CommunitySourceSchema,
228
+ /** 来源与当前社区地址一致时才能检查更新。 */
229
+ sameCommunity: z.boolean(),
230
+ /** 社区仍有这个条目。 */
231
+ found: z.boolean(),
232
+ delisted: z.boolean(),
233
+ delistedReason: z.string().nullable(),
234
+ releaseWithdrawn: z.boolean(),
235
+ latest: CommunityReleaseSchema.nullable(),
236
+ updateAvailable: z.boolean(),
237
+ addedPermissions: z.array(CommunityPermissionItemSchema),
238
+ })
239
+ export type CommunityInstalledItem = z.output<typeof CommunityInstalledItemSchema>
240
+
241
+ export const CommunityInstalledSchema = z.object({
242
+ checkedAt: z.number().int().nullable(),
243
+ items: z.array(CommunityInstalledItemSchema),
244
+ })
245
+
246
+ export const CommunityMyExtensionSchema = CommunityExtensionSummarySchema.extend({
247
+ releases: z.array(CommunityReleaseSchema.extend({ withdrawn: z.boolean() })),
248
+ delisted: z.boolean(),
249
+ delistedReason: z.string().nullable(),
250
+ })
251
+ export type CommunityMyExtension = z.output<typeof CommunityMyExtensionSchema>
252
+
253
+ /** 审查发现可归属的维度:六个评级维度加合规。 */
254
+ export const COMMUNITY_REVIEW_DIMENSION_LABELS: Readonly<Record<string, string>> = {
255
+ ...COMMUNITY_RATING_DIMENSION_LABELS,
256
+ compliance: '合规',
257
+ }
258
+
259
+ /** 作者看到的完整审查报告。 */
260
+ export const CommunityReviewReportSchema = z.object({
261
+ releaseId: CommunityReleaseIdSchema,
262
+ status: CommunityReviewStatusSchema,
263
+ rating: CommunityRatingSchema.nullable(),
264
+ deterministic: z.array(
265
+ z.object({
266
+ severity: z.enum(['info', 'warning', 'risk', 'block']),
267
+ title: z.string(),
268
+ detail: z.string(),
269
+ file: z.string().optional(),
270
+ line: z.number().int().optional(),
271
+ }),
272
+ ),
273
+ ai: z
274
+ .object({
275
+ summary: z.string(),
276
+ verdict: z.string(),
277
+ compliance: z.object({ ok: z.boolean(), notes: z.string() }).nullable(),
278
+ dimensions: z.array(
279
+ z.object({
280
+ key: z.string(),
281
+ stars: z.number().int().min(1).max(5),
282
+ headline: z.string(),
283
+ notes: z.string(),
284
+ /** 不满五星时拿下一颗星的修改建议。 */
285
+ nextStar: z.string().optional(),
286
+ }),
287
+ ),
288
+ findings: z.array(
289
+ z.object({
290
+ dimension: z.string(),
291
+ severity: z.enum(['info', 'suggestion', 'warning', 'risk', 'critical']),
292
+ title: z.string(),
293
+ detail: z.string(),
294
+ file: z.string().optional(),
295
+ line: z.number().int().optional(),
296
+ suggestion: z.string().optional(),
297
+ }),
298
+ ),
299
+ exploitability: z.string().optional(),
300
+ })
301
+ .nullable(),
302
+ model: z.string().nullable(),
303
+ error: z.string().nullable(),
304
+ decisions: z.array(z.object({ decision: z.string(), note: z.string(), by: z.string(), createdAt: z.number().int() })),
305
+ finishedAt: z.number().int().nullable(),
306
+ reportUrl: z.string().url(),
307
+ })
308
+ export type CommunityReviewReport = z.output<typeof CommunityReviewReportSchema>
309
+
98
310
  /** 安装者看到的审查标签:只描述审查发现,不做「安全」担保。 */
99
311
  export const communityReviewLabel = (
100
312
  status: CommunityReviewStatus,
@@ -2,10 +2,10 @@ import { z } from 'zod'
2
2
 
3
3
  /**
4
4
  * Host capability level this build implements. A Revision that declares `requires.sdk` above it is rejected at
5
- * import with an "upgrade NekroNXT" message instead of an opaque schema error. Bump only when a new optional
6
- * Manifest capability ships; never reuse a level for a different meaning.
5
+ * import with an "upgrade NekroNXT" message instead of an opaque schema error. Bump when a Manifest capability
6
+ * ships; never reuse a level for a different meaning. Level 7 is Manifest V7 (host instance + agent attachments).
7
7
  */
8
- export const EXTENSION_SDK_LEVEL = 6
8
+ export const EXTENSION_SDK_LEVEL = 7
9
9
 
10
10
  export const ExtensionRequiresSchema = z.object({ sdk: z.number().int().min(1).max(1000) }).strict()
11
11
  export type ExtensionRequires = z.output<typeof ExtensionRequiresSchema>
@@ -252,8 +252,8 @@ const mcpTarget = (server: ExtensionMcpServer): string =>
252
252
  : JSON.stringify(['streamable-http', server.name, server.url])
253
253
 
254
254
  /**
255
- * Optional Host capabilities of an agent-scope Revision. Every field is additive to Manifest V6: an absent field
256
- * means the Revision cannot use that capability, exactly as before the field existed.
255
+ * Agent-layer capabilities (`permissions.agent`): what the extension may do inside the agents it is enabled for. An
256
+ * absent field means the extension cannot use that capability.
257
257
  */
258
258
  export const ExtensionCapabilitiesSchema = z
259
259
  .object({
@@ -281,6 +281,37 @@ export const ExtensionCapabilitiesSchema = z
281
281
  .strict()
282
282
  export type ExtensionCapabilities = z.output<typeof ExtensionCapabilitiesSchema>
283
283
 
284
+ /**
285
+ * Host-layer capabilities (`permissions.host`): what the extension's single host instance may do through the `nxt`
286
+ * service its factory receives. Host storage is the extension's `shared` partition.
287
+ */
288
+ export const HostLayerCapabilitiesSchema = z
289
+ .object({
290
+ network: ExtensionNetworkCapabilitySchema.optional(),
291
+ storage: z
292
+ .object({ quotaBytes: z.number().int().min(1024).max(EXTENSION_STORAGE_MAX_QUOTA_BYTES).optional() })
293
+ .strict()
294
+ .optional(),
295
+ })
296
+ .strict()
297
+ export type HostLayerCapabilities = z.output<typeof HostLayerCapabilitiesSchema>
298
+
299
+ /** Host-layer capabilities in the agent-capability shape, so digests, expansion and summaries share one implementation. */
300
+ export const hostLayerAsCapabilities = (host: HostLayerCapabilities | undefined): ExtensionCapabilities | undefined =>
301
+ host === undefined || Object.keys(host).length === 0
302
+ ? undefined
303
+ : {
304
+ ...(host.network === undefined ? {} : { network: host.network }),
305
+ ...(host.storage === undefined
306
+ ? {}
307
+ : {
308
+ storage: {
309
+ scopes: ['shared'],
310
+ ...(host.storage.quotaBytes === undefined ? {} : { quotaBytes: host.storage.quotaBytes }),
311
+ },
312
+ }),
313
+ }
314
+
284
315
  const NETWORK_MODE_RANK = { domains: 0, config: 1, unrestricted: 2 } as const
285
316
 
286
317
  const networkExpands = (
@@ -360,9 +391,17 @@ export interface ExtensionCapabilitySummaryItem {
360
391
  readonly detail?: string
361
392
  }
362
393
 
363
- /** User-facing summary of declared capabilities, in a stable order, for approval and inspection pages. */
394
+ /**
395
+ * User-facing summary of declared capabilities, in a stable order, for approval and inspection pages. `layer: 'host'`
396
+ * phrases host-layer capabilities (passed through {@link hostLayerAsCapabilities}) for the host instance.
397
+ */
364
398
  export const summarizeExtensionCapabilities = (
365
399
  capabilities: ExtensionCapabilities | undefined,
400
+ options: {
401
+ readonly layer?: 'host' | 'agent'
402
+ /** Display name of a config field, so `network.mode: 'config'` names the fields as the user knows them. */
403
+ readonly fieldTitle?: (key: string) => string
404
+ } = {},
366
405
  ): readonly ExtensionCapabilitySummaryItem[] => {
367
406
  if (capabilities === undefined) return []
368
407
  const items: ExtensionCapabilitySummaryItem[] = []
@@ -370,11 +409,18 @@ export const summarizeExtensionCapabilities = (
370
409
  if (network?.mode === 'domains') {
371
410
  items.push({ key: 'network', risk: 'normal', label: '访问指定网站', detail: network.domains.join('、') })
372
411
  } else if (network?.mode === 'config') {
373
- items.push({ key: 'network', risk: 'normal', label: '访问你在配置中填写的地址', detail: network.fields.join('、') })
412
+ items.push({
413
+ key: 'network',
414
+ risk: 'normal',
415
+ label: '访问你在配置中填写的地址',
416
+ detail: network.fields.map((field) => options.fieldTitle?.(field) ?? field).join('、'),
417
+ })
374
418
  } else if (network?.mode === 'unrestricted') {
375
419
  items.push({ key: 'network', risk: 'high', label: '访问任意公网地址', detail: network.purpose })
376
420
  }
377
- if (capabilities.storage !== undefined) {
421
+ if (capabilities.storage !== undefined && options.layer === 'host') {
422
+ items.push({ key: 'storage', risk: 'normal', label: '在本机保存扩展数据,页面与启用它的智能体共用' })
423
+ } else if (capabilities.storage !== undefined) {
378
424
  const shared = capabilities.storage.scopes.includes('shared')
379
425
  items.push({
380
426
  key: 'storage',