@nodeskai/genehub-types 2026.3.3 → 2026.3.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/dist/index.d.ts CHANGED
@@ -781,16 +781,18 @@ interface GeneAdapter {
781
781
  readonly product: string;
782
782
  detect(): Promise<boolean>;
783
783
  install(manifest: GeneManifest, options?: InstallOptions): Promise<InstallResult>;
784
+ /**
785
+ * Install a gene from an extracted directory containing all gene files.
786
+ * Used for multi-file genes downloaded as tarballs from the registry.
787
+ * Falls back to manifest-based install if not implemented.
788
+ */
789
+ installFromDirectory?(geneDir: string, manifest: GeneManifest, options?: InstallOptions): Promise<InstallResult>;
784
790
  uninstall(slug: string, options?: UninstallOptions): Promise<UninstallResult>;
785
791
  list(): Promise<InstalledGene[]>;
786
792
  isInstalled(slug: string): Promise<boolean>;
787
793
  getInstalledVersion(slug: string): Promise<string | null>;
788
- /**
789
- * Notify the host that a skill was added/removed/updated.
790
- * Implementations should invalidate caches and inject notifications
791
- * so the agent sees the change immediately.
792
- */
793
794
  notifySkillChange?(geneName: string, action: 'installed' | 'updated' | 'uninstalled'): Promise<void>;
795
+ triggerLearning?(prompt: string): Promise<void>;
794
796
  }
795
797
 
796
798
  declare const GeneCategory: z.ZodEnum<["development", "data", "operations", "network", "creative", "communication", "security", "efficiency"]>;
@@ -883,6 +885,8 @@ type Genome = {
883
885
  install_count: number;
884
886
  avg_rating: number;
885
887
  author: Author;
888
+ repository_url: string | null;
889
+ file_count: number;
886
890
  is_published: boolean;
887
891
  created_at: string;
888
892
  updated_at: string;
@@ -893,6 +897,13 @@ type GenomeVersion = {
893
897
  genome_id: string;
894
898
  version: string;
895
899
  genes: GenomeGeneRef[];
900
+ commit_sha: string | null;
901
+ git_tag: string | null;
902
+ files: {
903
+ path: string;
904
+ size: number;
905
+ sha: string;
906
+ }[] | null;
896
907
  changelog: string;
897
908
  is_latest: boolean;
898
909
  published_at: string;
@@ -936,6 +947,53 @@ type GeneRelation = {
936
947
  created_by: string;
937
948
  created_at: string;
938
949
  };
950
+ type AgentTemplateGeneRef = {
951
+ slug: string;
952
+ version: string;
953
+ };
954
+ type AgentTemplate = {
955
+ id: string;
956
+ name: string;
957
+ slug: string;
958
+ version: string;
959
+ description: string;
960
+ short_description: string;
961
+ role: string | null;
962
+ category: string;
963
+ tags: string[];
964
+ icon: string | null;
965
+ avatar_url: string | null;
966
+ genomes: AgentTemplateGeneRef[];
967
+ genes: AgentTemplateGeneRef[];
968
+ compatibility: string[];
969
+ install_count: number;
970
+ avg_rating: number;
971
+ author: Author;
972
+ publisher_id: string | null;
973
+ repository_url: string | null;
974
+ file_count: number;
975
+ is_published: boolean;
976
+ created_at: string;
977
+ updated_at: string;
978
+ deleted_at: string | null;
979
+ };
980
+ type AgentTemplateVersion = {
981
+ id: string;
982
+ template_id: string;
983
+ version: string;
984
+ genomes: AgentTemplateGeneRef[];
985
+ genes: AgentTemplateGeneRef[];
986
+ commit_sha: string | null;
987
+ git_tag: string | null;
988
+ files: {
989
+ path: string;
990
+ size: number;
991
+ sha: string;
992
+ }[] | null;
993
+ changelog: string;
994
+ is_latest: boolean;
995
+ published_at: string;
996
+ };
939
997
  type GeneVersion = {
940
998
  id: string;
941
999
  gene_id: string;
@@ -1008,6 +1066,7 @@ type CreateGenomeRequest = {
1008
1066
  id?: string;
1009
1067
  name: string;
1010
1068
  };
1069
+ files?: Record<string, string>;
1011
1070
  };
1012
1071
  type PublishGenomeVersionRequest = {
1013
1072
  version: string;
@@ -1017,7 +1076,13 @@ type PublishGenomeVersionRequest = {
1017
1076
  config_override?: Record<string, unknown>;
1018
1077
  }[];
1019
1078
  changelog?: string;
1079
+ files?: Record<string, string>;
1020
1080
  };
1081
+ type GenomeFileTreeResponse = ApiResponse<GeneFileEntry[]>;
1082
+ type GenomeFileContentResponse = ApiResponse<{
1083
+ path: string;
1084
+ content: string;
1085
+ }>;
1021
1086
  type FederatedSearchParams = {
1022
1087
  q: string;
1023
1088
  category?: string;
@@ -1045,8 +1110,76 @@ type FederatedSearchResponse = ApiResponse<{
1045
1110
  clawhub: number;
1046
1111
  };
1047
1112
  }>;
1113
+ type AgentTemplateListParams = {
1114
+ q?: string;
1115
+ category?: string;
1116
+ role?: string;
1117
+ sort?: 'newest' | 'popular' | 'rating';
1118
+ page?: number;
1119
+ page_size?: number;
1120
+ };
1121
+ type AgentTemplateListResponse = ApiResponse<PaginatedData<AgentTemplate>>;
1122
+ type AgentTemplateDetailResponse = ApiResponse<AgentTemplate>;
1123
+ type AgentTemplateVersionsResponse = ApiResponse<AgentTemplateVersion[]>;
1124
+ type CreateAgentTemplateRequest = {
1125
+ name: string;
1126
+ slug: string;
1127
+ version: string;
1128
+ description?: string;
1129
+ short_description?: string;
1130
+ role?: string;
1131
+ category?: string;
1132
+ tags?: string[];
1133
+ icon?: string;
1134
+ avatar_url?: string;
1135
+ genomes: {
1136
+ slug: string;
1137
+ version: string;
1138
+ }[];
1139
+ genes?: {
1140
+ slug: string;
1141
+ version: string;
1142
+ }[];
1143
+ compatibility?: string[];
1144
+ author?: {
1145
+ type: string;
1146
+ id?: string;
1147
+ name: string;
1148
+ };
1149
+ files?: Record<string, string>;
1150
+ };
1151
+ type PublishAgentTemplateVersionRequest = {
1152
+ version: string;
1153
+ genomes: {
1154
+ slug: string;
1155
+ version: string;
1156
+ }[];
1157
+ genes?: {
1158
+ slug: string;
1159
+ version: string;
1160
+ }[];
1161
+ changelog?: string;
1162
+ files?: Record<string, string>;
1163
+ };
1164
+ type AgentTemplateFileTreeResponse = ApiResponse<GeneFileEntry[]>;
1165
+ type AgentTemplateFileContentResponse = ApiResponse<{
1166
+ path: string;
1167
+ content: string;
1168
+ }>;
1169
+ type GeneFileEntry = {
1170
+ path: string;
1171
+ size: number;
1172
+ sha: string;
1173
+ type: 'file' | 'dir';
1174
+ };
1175
+ type GeneFileTreeResponse = ApiResponse<GeneFileEntry[]>;
1176
+ type GeneFileContentResponse = ApiResponse<{
1177
+ path: string;
1178
+ content: string;
1179
+ }>;
1048
1180
  type CreateGeneRequest = {
1049
1181
  manifest: Gene['manifest'];
1182
+ files?: Record<string, string>;
1050
1183
  source?: string;
1051
1184
  source_ref?: string;
1052
1185
  };
@@ -1089,11 +1222,18 @@ declare const ERROR_CODES: {
1089
1222
  readonly GENOME_VERSION_CONFLICT: 30003;
1090
1223
  readonly GENOME_VALIDATION_FAILED: 30004;
1091
1224
  readonly GENOME_VERSION_NOT_FOUND: 30005;
1225
+ readonly TEMPLATE_NOT_FOUND: 60001;
1226
+ readonly TEMPLATE_SLUG_EXISTS: 60002;
1227
+ readonly TEMPLATE_VERSION_CONFLICT: 60003;
1228
+ readonly TEMPLATE_VALIDATION_FAILED: 60004;
1229
+ readonly TEMPLATE_VERSION_NOT_FOUND: 60005;
1092
1230
  readonly DEPENDENCY_RESOLVE_FAILED: 40001;
1093
1231
  readonly COMPATIBILITY_MISMATCH: 40002;
1232
+ readonly GITEA_UNAVAILABLE: 50101;
1233
+ readonly GITEA_REPO_ERROR: 50102;
1094
1234
  readonly LEARNING_TASK_TIMEOUT: 50001;
1095
1235
  readonly LEARNING_CALLBACK_FAILED: 50002;
1096
1236
  readonly INTERNAL_ERROR: 90001;
1097
1237
  };
1098
1238
 
1099
- export { type ApiErrorResponse, type ApiKey, type ApiResponse, type Author, AuthorSchema, AuthorType, type CompatibilityEntry, CompatibilityEntrySchema, type CreateGeneRequest, type CreateGenomeRequest, type DependencyEntry, DependencyEntrySchema, ERROR_CODES, type EffectivenessReport, type FederatedGeneItem, type FederatedSearchParams, type FederatedSearchResponse, type Gene, type GeneAdapter, GeneCategory, type GeneConfig, GeneConfigSchema, type GeneDetailResponse, type GeneListParams, type GeneListResponse, type GeneManifest, type GeneManifestResponse, GeneManifestSchema, type GeneRelation, type GeneReview, GeneSource, GeneTag, type GeneVersion, type GeneVersionsResponse, type Genome, type GenomeDetailResponse, type GenomeGeneRef, type GenomeListParams, type GenomeListResponse, type GenomeResolveResponse, type GenomeResolveResult, type GenomeVersion, type GenomeVersionsResponse, type InstallOptions, type InstallResult, type InstalledGene, type Learning, LearningDecision, LearningMode, type LearningScenario, LearningScenarioSchema, LearningSchema, type McpServer, McpServerSchema, NanobotConfigSchema, OpenClawConfigSchema, type PaginatedData, ProductId, type PublishGenomeVersionRequest, type Publisher, type ResolveRequest, type ResolveResponse, type ResolvedGene, ReviewStatus, type Rule, RuleSchema, type Skill, SkillSchema, type UninstallOptions, type UninstallResult };
1239
+ export { type AgentTemplate, type AgentTemplateDetailResponse, type AgentTemplateFileContentResponse, type AgentTemplateFileTreeResponse, type AgentTemplateGeneRef, type AgentTemplateListParams, type AgentTemplateListResponse, type AgentTemplateVersion, type AgentTemplateVersionsResponse, type ApiErrorResponse, type ApiKey, type ApiResponse, type Author, AuthorSchema, AuthorType, type CompatibilityEntry, CompatibilityEntrySchema, type CreateAgentTemplateRequest, type CreateGeneRequest, type CreateGenomeRequest, type DependencyEntry, DependencyEntrySchema, ERROR_CODES, type EffectivenessReport, type FederatedGeneItem, type FederatedSearchParams, type FederatedSearchResponse, type Gene, type GeneAdapter, GeneCategory, type GeneConfig, GeneConfigSchema, type GeneDetailResponse, type GeneFileContentResponse, type GeneFileEntry, type GeneFileTreeResponse, type GeneListParams, type GeneListResponse, type GeneManifest, type GeneManifestResponse, GeneManifestSchema, type GeneRelation, type GeneReview, GeneSource, GeneTag, type GeneVersion, type GeneVersionsResponse, type Genome, type GenomeDetailResponse, type GenomeFileContentResponse, type GenomeFileTreeResponse, type GenomeGeneRef, type GenomeListParams, type GenomeListResponse, type GenomeResolveResponse, type GenomeResolveResult, type GenomeVersion, type GenomeVersionsResponse, type InstallOptions, type InstallResult, type InstalledGene, type Learning, LearningDecision, LearningMode, type LearningScenario, LearningScenarioSchema, LearningSchema, type McpServer, McpServerSchema, NanobotConfigSchema, OpenClawConfigSchema, type PaginatedData, ProductId, type PublishAgentTemplateVersionRequest, type PublishGenomeVersionRequest, type Publisher, type ResolveRequest, type ResolveResponse, type ResolvedGene, ReviewStatus, type Rule, RuleSchema, type Skill, SkillSchema, type UninstallOptions, type UninstallResult };
package/dist/index.js CHANGED
@@ -13,8 +13,15 @@ var ERROR_CODES = {
13
13
  GENOME_VERSION_CONFLICT: 30003,
14
14
  GENOME_VALIDATION_FAILED: 30004,
15
15
  GENOME_VERSION_NOT_FOUND: 30005,
16
+ TEMPLATE_NOT_FOUND: 60001,
17
+ TEMPLATE_SLUG_EXISTS: 60002,
18
+ TEMPLATE_VERSION_CONFLICT: 60003,
19
+ TEMPLATE_VALIDATION_FAILED: 60004,
20
+ TEMPLATE_VERSION_NOT_FOUND: 60005,
16
21
  DEPENDENCY_RESOLVE_FAILED: 40001,
17
22
  COMPATIBILITY_MISMATCH: 40002,
23
+ GITEA_UNAVAILABLE: 50101,
24
+ GITEA_REPO_ERROR: 50102,
18
25
  LEARNING_TASK_TIMEOUT: 50001,
19
26
  LEARNING_CALLBACK_FAILED: 50002,
20
27
  INTERNAL_ERROR: 90001
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api.ts","../src/enums.ts","../src/manifest.ts"],"sourcesContent":["import type { Gene, GeneVersion, Genome, GenomeResolveResult, GenomeVersion } from './gene.js';\n\nexport type ApiResponse<T = unknown> = {\n code: number;\n message: string;\n data: T;\n};\n\nexport type ApiErrorResponse = {\n code: number;\n error_code: string;\n message: string;\n data: null;\n};\n\nexport type PaginatedData<T> = {\n items: T[];\n total: number;\n page: number;\n page_size: number;\n total_pages: number;\n};\n\nexport type GeneListParams = {\n q?: string;\n category?: string;\n tags?: string[];\n compatibility?: string;\n sort?: 'newest' | 'popular' | 'rating';\n page?: number;\n page_size?: number;\n};\n\nexport type GeneListResponse = ApiResponse<PaginatedData<Gene>>;\nexport type GeneDetailResponse = ApiResponse<Gene>;\nexport type GeneManifestResponse = ApiResponse<Gene['manifest']>;\nexport type GeneVersionsResponse = ApiResponse<GeneVersion[]>;\nexport type GenomeListParams = {\n q?: string;\n category?: string;\n sort?: 'newest' | 'popular' | 'rating';\n page?: number;\n page_size?: number;\n};\n\nexport type GenomeListResponse = ApiResponse<PaginatedData<Genome>>;\nexport type GenomeDetailResponse = ApiResponse<Genome>;\nexport type GenomeVersionsResponse = ApiResponse<GenomeVersion[]>;\nexport type GenomeResolveResponse = ApiResponse<GenomeResolveResult>;\n\nexport type CreateGenomeRequest = {\n name: string;\n slug: string;\n version: string;\n description?: string;\n short_description?: string;\n category?: string;\n tags?: string[];\n icon?: string;\n genes: { slug: string; version: string; config_override?: Record<string, unknown> }[];\n compatibility?: string[];\n author?: { type: string; id?: string; name: string };\n};\n\nexport type PublishGenomeVersionRequest = {\n version: string;\n genes: { slug: string; version: string; config_override?: Record<string, unknown> }[];\n changelog?: string;\n};\n\nexport type FederatedSearchParams = {\n q: string;\n category?: string;\n limit?: number;\n};\n\nexport type FederatedGeneItem = {\n slug: string;\n name: string;\n description: string | null;\n version: string | null;\n category: string | null;\n tags: string[];\n source: 'local' | 'clawhub';\n score: number;\n install_count: number | null;\n avg_rating: number | null;\n clawhub_display_name?: string;\n};\n\nexport type FederatedSearchResponse = ApiResponse<{\n query: string;\n total: number;\n items: FederatedGeneItem[];\n sources: { local: number; clawhub: number };\n}>;\n\nexport type CreateGeneRequest = {\n manifest: Gene['manifest'];\n source?: string;\n source_ref?: string;\n};\n\nexport type ResolveRequest = {\n slug: string;\n version?: string;\n product?: string;\n};\n\nexport type ResolvedGene = {\n slug: string;\n version: string;\n manifest: unknown;\n optional: boolean;\n};\n\nexport type ResolveResponse = ApiResponse<{\n plan: ResolvedGene[];\n warnings: string[];\n}>;\n\nexport type EffectivenessReport = {\n gene_slug: string;\n gene_version: string;\n product: string;\n instance_id: string;\n metric_type: 'user_positive' | 'user_negative' | 'agent_self_eval' | 'task_success';\n value: number;\n context?: string;\n timestamp: string;\n};\n\nexport const ERROR_CODES = {\n TOKEN_INVALID: 10001,\n TOKEN_EXPIRED: 10002,\n PERMISSION_DENIED: 10003,\n GENE_NOT_FOUND: 20001,\n GENE_VERSION_CONFLICT: 20002,\n GENE_SLUG_EXISTS: 20003,\n GENE_MANIFEST_INVALID: 20004,\n GENE_VERSION_NOT_FOUND: 20005,\n GENOME_NOT_FOUND: 30001,\n GENOME_SLUG_EXISTS: 30002,\n GENOME_VERSION_CONFLICT: 30003,\n GENOME_VALIDATION_FAILED: 30004,\n GENOME_VERSION_NOT_FOUND: 30005,\n DEPENDENCY_RESOLVE_FAILED: 40001,\n COMPATIBILITY_MISMATCH: 40002,\n LEARNING_TASK_TIMEOUT: 50001,\n LEARNING_CALLBACK_FAILED: 50002,\n INTERNAL_ERROR: 90001,\n} as const;\n","import { z } from 'zod';\n\nexport const GeneCategory = z.enum([\n 'development',\n 'data',\n 'operations',\n 'network',\n 'creative',\n 'communication',\n 'security',\n 'efficiency',\n]);\nexport type GeneCategory = z.infer<typeof GeneCategory>;\n\nexport const GeneTag = z.enum(['ability', 'personality', 'knowledge', 'tool']);\nexport type GeneTag = z.infer<typeof GeneTag>;\n\nexport const GeneSource = z.enum(['official', 'clawhub', 'evomap', 'community', 'agent', 'github']);\nexport type GeneSource = z.infer<typeof GeneSource>;\n\nexport const ReviewStatus = z.enum(['draft', 'pending', 'approved', 'rejected', 'flagged']);\nexport type ReviewStatus = z.infer<typeof ReviewStatus>;\n\nexport const ProductId = z.enum(['openclaw', 'nanobot', 'deskclaw', 'generic']);\nexport type ProductId = z.infer<typeof ProductId>;\n\nexport const AuthorType = z.enum(['human', 'agent']);\nexport type AuthorType = z.infer<typeof AuthorType>;\n\nexport const LearningMode = z.enum(['learn', 'create', 'forget']);\nexport type LearningMode = z.infer<typeof LearningMode>;\n\nexport const LearningDecision = z.enum([\n 'direct_install',\n 'learned',\n 'failed',\n 'created',\n 'forgotten',\n 'simplified',\n 'forget_failed',\n]);\nexport type LearningDecision = z.infer<typeof LearningDecision>;\n","import { z } from 'zod';\nimport { AuthorType, GeneCategory, GeneTag, ProductId } from './enums.js';\n\nconst SLUG_REGEX = /^[a-z0-9][a-z0-9-]{1,62}[a-z0-9]$/;\nconst SEMVER_REGEX = /^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9.]+)?$/;\n\nexport const AuthorSchema = z.object({\n type: AuthorType,\n name: z.string().max(128),\n ref: z.string().optional().default(''),\n});\nexport type Author = z.infer<typeof AuthorSchema>;\n\nexport const CompatibilityEntrySchema = z.object({\n product: ProductId,\n min_version: z.string().optional().default('0.0.0'),\n});\nexport type CompatibilityEntry = z.infer<typeof CompatibilityEntrySchema>;\n\nexport const DependencyEntrySchema = z.object({\n slug: z.string().regex(SLUG_REGEX),\n version: z.string(),\n optional: z.boolean().optional().default(false),\n});\nexport type DependencyEntry = z.infer<typeof DependencyEntrySchema>;\n\nexport const SkillSchema = z.object({\n name: z.string().min(1).max(128),\n always: z.boolean().optional().default(false),\n content: z.string().optional(),\n file: z.string().optional(),\n});\nexport type Skill = z.infer<typeof SkillSchema>;\n\nexport const RuleSchema = z.object({\n name: z.string().min(1).max(128),\n content: z.string(),\n applies_to: z.string().optional(),\n});\nexport type Rule = z.infer<typeof RuleSchema>;\n\nexport const OpenClawConfigSchema = z.object({\n openclaw_config: z.record(z.unknown()).optional(),\n tool_allow: z.array(z.string()).optional(),\n});\n\nexport const NanobotConfigSchema = z.object({\n capabilities: z.array(z.string()).optional(),\n requires: z\n .object({\n bins: z.array(z.string()).optional(),\n env: z.array(z.string()).optional(),\n })\n .optional(),\n always: z.boolean().optional(),\n os: z.array(z.string()).optional(),\n install: z\n .array(\n z.object({\n id: z.string(),\n kind: z.string(),\n formula: z.string().optional(),\n bins: z.array(z.string()).optional(),\n label: z.string().optional(),\n }),\n )\n .optional(),\n});\n\nexport const GeneConfigSchema = z.object({\n common: z.record(z.unknown()).optional(),\n openclaw: OpenClawConfigSchema.optional(),\n nanobot: NanobotConfigSchema.optional(),\n});\nexport type GeneConfig = z.infer<typeof GeneConfigSchema>;\n\nexport const McpServerSchema = z.object({\n name: z.string(),\n transport: z.enum(['stdio', 'http']).optional().default('stdio'),\n command: z.string().optional(),\n args: z.array(z.string()).optional(),\n env: z.record(z.string()).optional(),\n url: z.string().optional(),\n headers: z.record(z.string()).optional(),\n});\nexport type McpServer = z.infer<typeof McpServerSchema>;\n\nexport const LearningScenarioSchema = z.object({\n title: z.string(),\n context: z.string(),\n expected_focus: z.string(),\n});\nexport type LearningScenario = z.infer<typeof LearningScenarioSchema>;\n\nexport const LearningSchema = z.object({\n force_deep_learn: z.boolean().optional().default(false),\n objectives: z.array(z.string()).optional(),\n scenarios: z.array(LearningScenarioSchema).optional(),\n});\nexport type Learning = z.infer<typeof LearningSchema>;\n\nexport const GeneManifestSchema = z.object({\n slug: z.string().regex(SLUG_REGEX, 'slug 必须为 kebab-case,3-64 字符'),\n name: z.string().min(1).max(128),\n version: z.string().regex(SEMVER_REGEX, '版本号必须符合 SemVer'),\n description: z.string(),\n short_description: z.string().max(256),\n category: GeneCategory,\n tags: z.array(GeneTag).min(1),\n icon: z.string().max(64).optional(),\n author: AuthorSchema.optional(),\n\n compatibility: z.array(CompatibilityEntrySchema).min(1),\n\n dependencies: z.array(DependencyEntrySchema).optional().default([]),\n synergies: z.array(z.string()).optional().default([]),\n\n skill: SkillSchema,\n rules: z.array(RuleSchema).optional().default([]),\n config: GeneConfigSchema.optional(),\n mcp_servers: z.array(McpServerSchema).optional().default([]),\n learning: LearningSchema.optional(),\n});\nexport type GeneManifest = z.infer<typeof GeneManifestSchema>;\n"],"mappings":"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","names":["z","z"]}
1
+ {"version":3,"sources":["../src/api.ts","../src/enums.ts","../src/manifest.ts"],"sourcesContent":["import type {\n AgentTemplate,\n AgentTemplateVersion,\n Gene,\n GeneVersion,\n Genome,\n GenomeResolveResult,\n GenomeVersion,\n} from './gene.js';\n\nexport type ApiResponse<T = unknown> = {\n code: number;\n message: string;\n data: T;\n};\n\nexport type ApiErrorResponse = {\n code: number;\n error_code: string;\n message: string;\n data: null;\n};\n\nexport type PaginatedData<T> = {\n items: T[];\n total: number;\n page: number;\n page_size: number;\n total_pages: number;\n};\n\nexport type GeneListParams = {\n q?: string;\n category?: string;\n tags?: string[];\n compatibility?: string;\n sort?: 'newest' | 'popular' | 'rating';\n page?: number;\n page_size?: number;\n};\n\nexport type GeneListResponse = ApiResponse<PaginatedData<Gene>>;\nexport type GeneDetailResponse = ApiResponse<Gene>;\nexport type GeneManifestResponse = ApiResponse<Gene['manifest']>;\nexport type GeneVersionsResponse = ApiResponse<GeneVersion[]>;\nexport type GenomeListParams = {\n q?: string;\n category?: string;\n sort?: 'newest' | 'popular' | 'rating';\n page?: number;\n page_size?: number;\n};\n\nexport type GenomeListResponse = ApiResponse<PaginatedData<Genome>>;\nexport type GenomeDetailResponse = ApiResponse<Genome>;\nexport type GenomeVersionsResponse = ApiResponse<GenomeVersion[]>;\nexport type GenomeResolveResponse = ApiResponse<GenomeResolveResult>;\n\nexport type CreateGenomeRequest = {\n name: string;\n slug: string;\n version: string;\n description?: string;\n short_description?: string;\n category?: string;\n tags?: string[];\n icon?: string;\n genes: { slug: string; version: string; config_override?: Record<string, unknown> }[];\n compatibility?: string[];\n author?: { type: string; id?: string; name: string };\n files?: Record<string, string>;\n};\n\nexport type PublishGenomeVersionRequest = {\n version: string;\n genes: { slug: string; version: string; config_override?: Record<string, unknown> }[];\n changelog?: string;\n files?: Record<string, string>;\n};\n\nexport type GenomeFileTreeResponse = ApiResponse<GeneFileEntry[]>;\nexport type GenomeFileContentResponse = ApiResponse<{ path: string; content: string }>;\n\nexport type FederatedSearchParams = {\n q: string;\n category?: string;\n limit?: number;\n};\n\nexport type FederatedGeneItem = {\n slug: string;\n name: string;\n description: string | null;\n version: string | null;\n category: string | null;\n tags: string[];\n source: 'local' | 'clawhub';\n score: number;\n install_count: number | null;\n avg_rating: number | null;\n clawhub_display_name?: string;\n};\n\nexport type FederatedSearchResponse = ApiResponse<{\n query: string;\n total: number;\n items: FederatedGeneItem[];\n sources: { local: number; clawhub: number };\n}>;\n\nexport type AgentTemplateListParams = {\n q?: string;\n category?: string;\n role?: string;\n sort?: 'newest' | 'popular' | 'rating';\n page?: number;\n page_size?: number;\n};\n\nexport type AgentTemplateListResponse = ApiResponse<PaginatedData<AgentTemplate>>;\nexport type AgentTemplateDetailResponse = ApiResponse<AgentTemplate>;\nexport type AgentTemplateVersionsResponse = ApiResponse<AgentTemplateVersion[]>;\n\nexport type CreateAgentTemplateRequest = {\n name: string;\n slug: string;\n version: string;\n description?: string;\n short_description?: string;\n role?: string;\n category?: string;\n tags?: string[];\n icon?: string;\n avatar_url?: string;\n genomes: { slug: string; version: string }[];\n genes?: { slug: string; version: string }[];\n compatibility?: string[];\n author?: { type: string; id?: string; name: string };\n files?: Record<string, string>;\n};\n\nexport type PublishAgentTemplateVersionRequest = {\n version: string;\n genomes: { slug: string; version: string }[];\n genes?: { slug: string; version: string }[];\n changelog?: string;\n files?: Record<string, string>;\n};\n\nexport type AgentTemplateFileTreeResponse = ApiResponse<GeneFileEntry[]>;\nexport type AgentTemplateFileContentResponse = ApiResponse<{ path: string; content: string }>;\n\nexport type GeneFileEntry = {\n path: string;\n size: number;\n sha: string;\n type: 'file' | 'dir';\n};\n\nexport type GeneFileTreeResponse = ApiResponse<GeneFileEntry[]>;\nexport type GeneFileContentResponse = ApiResponse<{ path: string; content: string }>;\n\nexport type CreateGeneRequest = {\n manifest: Gene['manifest'];\n files?: Record<string, string>;\n source?: string;\n source_ref?: string;\n};\n\nexport type ResolveRequest = {\n slug: string;\n version?: string;\n product?: string;\n};\n\nexport type ResolvedGene = {\n slug: string;\n version: string;\n manifest: unknown;\n optional: boolean;\n};\n\nexport type ResolveResponse = ApiResponse<{\n plan: ResolvedGene[];\n warnings: string[];\n}>;\n\nexport type EffectivenessReport = {\n gene_slug: string;\n gene_version: string;\n product: string;\n instance_id: string;\n metric_type: 'user_positive' | 'user_negative' | 'agent_self_eval' | 'task_success';\n value: number;\n context?: string;\n timestamp: string;\n};\n\nexport const ERROR_CODES = {\n TOKEN_INVALID: 10001,\n TOKEN_EXPIRED: 10002,\n PERMISSION_DENIED: 10003,\n GENE_NOT_FOUND: 20001,\n GENE_VERSION_CONFLICT: 20002,\n GENE_SLUG_EXISTS: 20003,\n GENE_MANIFEST_INVALID: 20004,\n GENE_VERSION_NOT_FOUND: 20005,\n GENOME_NOT_FOUND: 30001,\n GENOME_SLUG_EXISTS: 30002,\n GENOME_VERSION_CONFLICT: 30003,\n GENOME_VALIDATION_FAILED: 30004,\n GENOME_VERSION_NOT_FOUND: 30005,\n TEMPLATE_NOT_FOUND: 60001,\n TEMPLATE_SLUG_EXISTS: 60002,\n TEMPLATE_VERSION_CONFLICT: 60003,\n TEMPLATE_VALIDATION_FAILED: 60004,\n TEMPLATE_VERSION_NOT_FOUND: 60005,\n DEPENDENCY_RESOLVE_FAILED: 40001,\n COMPATIBILITY_MISMATCH: 40002,\n GITEA_UNAVAILABLE: 50101,\n GITEA_REPO_ERROR: 50102,\n LEARNING_TASK_TIMEOUT: 50001,\n LEARNING_CALLBACK_FAILED: 50002,\n INTERNAL_ERROR: 90001,\n} as const;\n","import { z } from 'zod';\n\nexport const GeneCategory = z.enum([\n 'development',\n 'data',\n 'operations',\n 'network',\n 'creative',\n 'communication',\n 'security',\n 'efficiency',\n]);\nexport type GeneCategory = z.infer<typeof GeneCategory>;\n\nexport const GeneTag = z.enum(['ability', 'personality', 'knowledge', 'tool']);\nexport type GeneTag = z.infer<typeof GeneTag>;\n\nexport const GeneSource = z.enum(['official', 'clawhub', 'evomap', 'community', 'agent', 'github']);\nexport type GeneSource = z.infer<typeof GeneSource>;\n\nexport const ReviewStatus = z.enum(['draft', 'pending', 'approved', 'rejected', 'flagged']);\nexport type ReviewStatus = z.infer<typeof ReviewStatus>;\n\nexport const ProductId = z.enum(['openclaw', 'nanobot', 'deskclaw', 'generic']);\nexport type ProductId = z.infer<typeof ProductId>;\n\nexport const AuthorType = z.enum(['human', 'agent']);\nexport type AuthorType = z.infer<typeof AuthorType>;\n\nexport const LearningMode = z.enum(['learn', 'create', 'forget']);\nexport type LearningMode = z.infer<typeof LearningMode>;\n\nexport const LearningDecision = z.enum([\n 'direct_install',\n 'learned',\n 'failed',\n 'created',\n 'forgotten',\n 'simplified',\n 'forget_failed',\n]);\nexport type LearningDecision = z.infer<typeof LearningDecision>;\n","import { z } from 'zod';\nimport { AuthorType, GeneCategory, GeneTag, ProductId } from './enums.js';\n\nconst SLUG_REGEX = /^[a-z0-9][a-z0-9-]{1,62}[a-z0-9]$/;\nconst SEMVER_REGEX = /^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9.]+)?$/;\n\nexport const AuthorSchema = z.object({\n type: AuthorType,\n name: z.string().max(128),\n ref: z.string().optional().default(''),\n});\nexport type Author = z.infer<typeof AuthorSchema>;\n\nexport const CompatibilityEntrySchema = z.object({\n product: ProductId,\n min_version: z.string().optional().default('0.0.0'),\n});\nexport type CompatibilityEntry = z.infer<typeof CompatibilityEntrySchema>;\n\nexport const DependencyEntrySchema = z.object({\n slug: z.string().regex(SLUG_REGEX),\n version: z.string(),\n optional: z.boolean().optional().default(false),\n});\nexport type DependencyEntry = z.infer<typeof DependencyEntrySchema>;\n\nexport const SkillSchema = z.object({\n name: z.string().min(1).max(128),\n always: z.boolean().optional().default(false),\n content: z.string().optional(),\n file: z.string().optional(),\n});\nexport type Skill = z.infer<typeof SkillSchema>;\n\nexport const RuleSchema = z.object({\n name: z.string().min(1).max(128),\n content: z.string(),\n applies_to: z.string().optional(),\n});\nexport type Rule = z.infer<typeof RuleSchema>;\n\nexport const OpenClawConfigSchema = z.object({\n openclaw_config: z.record(z.unknown()).optional(),\n tool_allow: z.array(z.string()).optional(),\n});\n\nexport const NanobotConfigSchema = z.object({\n capabilities: z.array(z.string()).optional(),\n requires: z\n .object({\n bins: z.array(z.string()).optional(),\n env: z.array(z.string()).optional(),\n })\n .optional(),\n always: z.boolean().optional(),\n os: z.array(z.string()).optional(),\n install: z\n .array(\n z.object({\n id: z.string(),\n kind: z.string(),\n formula: z.string().optional(),\n bins: z.array(z.string()).optional(),\n label: z.string().optional(),\n }),\n )\n .optional(),\n});\n\nexport const GeneConfigSchema = z.object({\n common: z.record(z.unknown()).optional(),\n openclaw: OpenClawConfigSchema.optional(),\n nanobot: NanobotConfigSchema.optional(),\n});\nexport type GeneConfig = z.infer<typeof GeneConfigSchema>;\n\nexport const McpServerSchema = z.object({\n name: z.string(),\n transport: z.enum(['stdio', 'http']).optional().default('stdio'),\n command: z.string().optional(),\n args: z.array(z.string()).optional(),\n env: z.record(z.string()).optional(),\n url: z.string().optional(),\n headers: z.record(z.string()).optional(),\n});\nexport type McpServer = z.infer<typeof McpServerSchema>;\n\nexport const LearningScenarioSchema = z.object({\n title: z.string(),\n context: z.string(),\n expected_focus: z.string(),\n});\nexport type LearningScenario = z.infer<typeof LearningScenarioSchema>;\n\nexport const LearningSchema = z.object({\n force_deep_learn: z.boolean().optional().default(false),\n objectives: z.array(z.string()).optional(),\n scenarios: z.array(LearningScenarioSchema).optional(),\n});\nexport type Learning = z.infer<typeof LearningSchema>;\n\nexport const GeneManifestSchema = z.object({\n slug: z.string().regex(SLUG_REGEX, 'slug 必须为 kebab-case,3-64 字符'),\n name: z.string().min(1).max(128),\n version: z.string().regex(SEMVER_REGEX, '版本号必须符合 SemVer'),\n description: z.string(),\n short_description: z.string().max(256),\n category: GeneCategory,\n tags: z.array(GeneTag).min(1),\n icon: z.string().max(64).optional(),\n author: AuthorSchema.optional(),\n\n compatibility: z.array(CompatibilityEntrySchema).min(1),\n\n dependencies: z.array(DependencyEntrySchema).optional().default([]),\n synergies: z.array(z.string()).optional().default([]),\n\n skill: SkillSchema,\n rules: z.array(RuleSchema).optional().default([]),\n config: GeneConfigSchema.optional(),\n mcp_servers: z.array(McpServerSchema).optional().default([]),\n learning: LearningSchema.optional(),\n});\nexport type GeneManifest = z.infer<typeof GeneManifestSchema>;\n"],"mappings":"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","names":["z","z"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodeskai/genehub-types",
3
- "version": "2026.3.3",
3
+ "version": "2026.3.4",
4
4
  "description": "GeneHub 共享类型定义与 Zod schemas",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",