@nekro-nxt/contracts 0.0.0-stage → 0.1.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.
- package/LICENSE +21 -0
- package/README.md +6 -2
- package/dist/index.mjs +4475 -0
- package/dist/index.mjs.map +1 -0
- package/lib/types/community.d.ts +226 -0
- package/lib/types/community.d.ts.map +1 -0
- package/lib/types/config-schema.d.ts +133 -0
- package/lib/types/config-schema.d.ts.map +1 -0
- package/lib/types/domain.d.ts +291 -0
- package/lib/types/domain.d.ts.map +1 -0
- package/lib/types/extension-capabilities.d.ts +277 -0
- package/lib/types/extension-capabilities.d.ts.map +1 -0
- package/lib/types/extension-ui.d.ts +789 -0
- package/lib/types/extension-ui.d.ts.map +1 -0
- package/lib/types/host-api.d.ts +9120 -0
- package/lib/types/host-api.d.ts.map +1 -0
- package/lib/types/index.d.ts +9 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/management-api.d.ts +108 -0
- package/lib/types/management-api.d.ts.map +1 -0
- package/lib/types/runtime-compatibility.d.ts +72 -0
- package/lib/types/runtime-compatibility.d.ts.map +1 -0
- package/package.json +40 -3
- package/src/community.ts +120 -0
- package/src/config-schema.ts +351 -0
- package/src/domain.ts +365 -0
- package/src/extension-capabilities.ts +473 -0
- package/src/extension-ui.ts +433 -0
- package/src/host-api.ts +3383 -0
- package/src/index.ts +8 -0
- package/src/management-api.ts +168 -0
- package/src/runtime-compatibility.ts +28 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["NonEmptyStringSchema"],"sources":["../src/domain.ts","../src/config-schema.ts","../src/extension-capabilities.ts","../src/extension-ui.ts","../src/runtime-compatibility.ts","../src/management-api.ts","../src/community.ts","../src/host-api.ts"],"sourcesContent":["import { z } from 'zod'\n\nconst brandedId = <Prefix extends string, Brand extends string>(prefix: Prefix, brand: Brand) =>\n z\n .string()\n .regex(new RegExp(`^${prefix}_[0-9A-Za-z]+$`), `${brand} has an invalid format.`)\n .brand(brand)\n\nexport const AgentIdSchema = brandedId('agt', 'AgentId')\nexport const AgentRevisionIdSchema = brandedId('arev', 'AgentRevisionId')\nexport const ConnectionIdSchema = brandedId('con', 'ConnectionId')\nexport const ConnectionEventIdSchema = brandedId('cev', 'ConnectionEventId')\nexport const ChannelIdSchema = brandedId('chn', 'ChannelId')\nexport const ChannelEventIdSchema = brandedId('evt', 'ChannelEventId')\nexport const PlatformIdentityIdSchema = brandedId('pid', 'PlatformIdentityId')\nexport const ChannelMemberIdSchema = brandedId('mbr', 'ChannelMemberId')\nexport const AdmissionIdSchema = brandedId('adm', 'AdmissionId')\nexport const OutboundIntentIdSchema = brandedId('out', 'OutboundIntentId')\nexport const LogicalMessageIdSchema = brandedId('msg', 'LogicalMessageId')\nexport const PhysicalDeliveryIdSchema = brandedId('phy', 'PhysicalDeliveryId')\nexport const AssetIdSchema = brandedId('ast', 'AssetId')\nexport const EpisodeIdSchema = brandedId('eps', 'EpisodeId')\nexport const EpisodeHandoffIdSchema = brandedId('hof', 'EpisodeHandoffId')\nexport const ExtensionIdSchema = brandedId('ext', 'ExtensionId')\nexport const ExtensionRevisionIdSchema = brandedId('xrv', 'ExtensionRevisionId')\nexport const DshPluginPackageIdSchema = brandedId('dsp', 'DshPluginPackageId')\nexport const DshPluginEntryIdSchema = brandedId('dse', 'DshPluginEntryId')\nexport const HostUiPageInstanceIdSchema = brandedId('hup', 'HostUiPageInstanceId')\nexport const AuthoringTaskIdSchema = brandedId('aut', 'AuthoringTaskId')\nexport const AuthoringAttemptIdSchema = brandedId('aua', 'AuthoringAttemptId')\n\nexport type AgentId = z.infer<typeof AgentIdSchema>\nexport type AgentRevisionId = z.infer<typeof AgentRevisionIdSchema>\nexport type ConnectionId = z.infer<typeof ConnectionIdSchema>\nexport type ConnectionEventId = z.infer<typeof ConnectionEventIdSchema>\nexport type ChannelId = z.infer<typeof ChannelIdSchema>\nexport type ChannelEventId = z.infer<typeof ChannelEventIdSchema>\nexport type PlatformIdentityId = z.infer<typeof PlatformIdentityIdSchema>\nexport type ChannelMemberId = z.infer<typeof ChannelMemberIdSchema>\nexport type AdmissionId = z.infer<typeof AdmissionIdSchema>\nexport type OutboundIntentId = z.infer<typeof OutboundIntentIdSchema>\nexport type LogicalMessageId = z.infer<typeof LogicalMessageIdSchema>\nexport type PhysicalDeliveryId = z.infer<typeof PhysicalDeliveryIdSchema>\nexport type AssetId = z.infer<typeof AssetIdSchema>\nexport type EpisodeId = z.infer<typeof EpisodeIdSchema>\nexport type EpisodeHandoffId = z.infer<typeof EpisodeHandoffIdSchema>\nexport type ExtensionId = z.infer<typeof ExtensionIdSchema>\nexport type ExtensionRevisionId = z.infer<typeof ExtensionRevisionIdSchema>\nexport type DshPluginPackageId = z.infer<typeof DshPluginPackageIdSchema>\nexport type DshPluginEntryId = z.infer<typeof DshPluginEntryIdSchema>\nexport type HostUiPageInstanceId = z.infer<typeof HostUiPageInstanceIdSchema>\nexport type AuthoringTaskId = z.infer<typeof AuthoringTaskIdSchema>\nexport type AuthoringAttemptId = z.infer<typeof AuthoringAttemptIdSchema>\n\nexport const AdapterActivityKeySchema = z\n .string()\n .trim()\n .min(1)\n .max(128)\n .regex(/^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)*$/u, 'Adapter activity key has an invalid format.')\n\nexport type AdapterActivityKey = z.infer<typeof AdapterActivityKeySchema>\n\nconst PromptTextSegmentSchema = z.object({ type: z.literal('text'), text: z.string() }).strict()\n\nconst PromptReferenceLabelSchema = z.string().trim().min(1).max(120)\n\nconst PromptReferenceSegmentSchema = z.discriminatedUnion('kind', [\n z\n .object({\n type: z.literal('reference'),\n kind: z.literal('platform-user'),\n targetId: PlatformIdentityIdSchema,\n labelSnapshot: PromptReferenceLabelSchema,\n })\n .strict(),\n z\n .object({\n type: z.literal('reference'),\n kind: z.literal('channel'),\n targetId: ChannelIdSchema,\n labelSnapshot: PromptReferenceLabelSchema,\n })\n .strict(),\n z\n .object({\n type: z.literal('reference'),\n kind: z.literal('extension'),\n targetId: ExtensionIdSchema,\n labelSnapshot: PromptReferenceLabelSchema,\n })\n .strict(),\n])\n\nexport const PromptSegmentSchema = z.union([PromptTextSegmentSchema, PromptReferenceSegmentSchema])\n\nexport const PROMPT_DOCUMENT_MAX_REFERENCES = 128\nexport const PROMPT_DOCUMENT_MAX_PLAIN_TEXT_LENGTH = 64 * 1024\n\nexport const PromptDocumentV1Schema = z\n .object({ version: z.literal(1), segments: z.array(PromptSegmentSchema) })\n .strict()\n .superRefine((document, context) => {\n const referenceCount = document.segments.filter((segment) => segment.type === 'reference').length\n if (referenceCount > PROMPT_DOCUMENT_MAX_REFERENCES) {\n context.addIssue({\n code: 'custom',\n message: `Prompt document must not contain more than ${PROMPT_DOCUMENT_MAX_REFERENCES} references.`,\n path: ['segments'],\n })\n }\n const plainTextLength = document.segments.reduce(\n (length, segment) => length + (segment.type === 'text' ? segment.text.length : segment.labelSnapshot.length + 1),\n 0,\n )\n if (plainTextLength > PROMPT_DOCUMENT_MAX_PLAIN_TEXT_LENGTH) {\n context.addIssue({\n code: 'custom',\n message: `Prompt document plain-text projection must not exceed ${PROMPT_DOCUMENT_MAX_PLAIN_TEXT_LENGTH} characters.`,\n path: ['segments'],\n })\n }\n })\n\nexport type PromptSegment = z.output<typeof PromptSegmentSchema>\nexport type PromptDocumentV1 = z.output<typeof PromptDocumentV1Schema>\n\nexport const promptDocumentFromText = (text: string): PromptDocumentV1 =>\n normalizePromptDocument({ version: 1, segments: text.length === 0 ? [] : [{ type: 'text', text }] })\n\nexport const promptDocumentPlainText = (document: PromptDocumentV1): string =>\n document.segments.map((segment) => (segment.type === 'text' ? segment.text : `@${segment.labelSnapshot}`)).join('')\n\nexport const normalizePromptDocument = (input: unknown): PromptDocumentV1 => {\n const parsed = PromptDocumentV1Schema.parse(input)\n const segments: PromptSegment[] = []\n for (const segment of parsed.segments) {\n if (segment.type === 'text') {\n if (segment.text.length === 0) continue\n const previous = segments.at(-1)\n if (previous?.type === 'text') {\n segments[segments.length - 1] = { type: 'text', text: `${previous.text}${segment.text}` }\n } else {\n segments.push(segment)\n }\n continue\n }\n segments.push(segment)\n }\n return PromptDocumentV1Schema.parse({ version: 1, segments })\n}\n\nexport type JsonValue = null | boolean | number | string | JsonValue[] | { readonly [key: string]: JsonValue }\n\nexport const JsonValueSchema = z.json()\n\nexport function parseJsonValue(input: unknown): JsonValue {\n return JsonValueSchema.parse(input)\n}\n\n/** Package identity and source for one DSH extension visible in the current Host. */\nexport interface DshPluginCatalogEntry {\n readonly packageName: string\n readonly packageVersion: string\n readonly origin: 'builtin' | 'profile' | 'dynamic' | 'installed'\n readonly settingsNamespaces: readonly string[]\n readonly loadError?: { readonly code: string; readonly message: string }\n}\n\nexport type DshPluginInstallSource = 'registry' | 'tarball' | 'imported'\nexport type DshPluginActivationScope = 'host' | 'agent'\n\nexport interface DshPluginPackageRecord {\n readonly id: DshPluginPackageId\n readonly packageName: string\n readonly packageVersion: string\n readonly source: DshPluginInstallSource\n readonly packageDigest: string\n readonly integrity?: string\n readonly lockfileDigest: string\n readonly manifest: JsonValue\n readonly approvedBuilds: readonly string[]\n readonly installedAt: number\n}\n\nexport interface DshPluginEntryRecord {\n readonly id: DshPluginEntryId\n readonly packageId: DshPluginPackageId\n readonly entryKey: string\n readonly moduleName: string\n readonly suggestedScope: DshPluginActivationScope\n readonly selectedScope?: DshPluginActivationScope\n readonly config: JsonValue\n readonly createdAt: number\n}\n\nexport interface DshPluginActivationRecord {\n readonly entryId: DshPluginEntryId\n readonly targetKey: string\n readonly target: DshPluginActivationScope\n readonly agentId?: AgentId\n readonly activatedAt: number\n}\n\nexport interface DshPluginDiagnosticRecord {\n readonly entryId: DshPluginEntryId\n readonly targetKey: string\n readonly status: 'active' | 'load-failed' | 'restore-failed' | 'dispose-failed'\n readonly phase: 'import' | 'apply' | 'update' | 'dispose' | 'restore'\n readonly message?: string\n readonly observedAt: number\n}\n\nexport interface DshSettingsNamespaceView {\n readonly ns: string\n readonly schema: unknown\n readonly resolved: unknown\n readonly base?: unknown\n readonly user?: unknown\n readonly applies: 'live' | 'restart'\n readonly secrets: readonly { readonly path: readonly string[]; readonly set: boolean }[]\n readonly revision: number\n readonly writable: boolean\n readonly owner?: { readonly packageName: string; readonly packageVersion: string }\n}\n\nexport type DshSettingsPathOperation =\n | { readonly op: 'set'; readonly path: readonly string[]; readonly value: unknown }\n | { readonly op: 'unset'; readonly path: readonly string[] }\n\nexport interface DshSettingsMutationRequest {\n readonly expectedRevision: number\n readonly ops: readonly DshSettingsPathOperation[]\n}\n\nexport interface DshCredentialView {\n readonly configured: boolean\n readonly source?: string\n readonly writable: boolean\n}\n\nconst utf8ByteLength = (value: string): number => new TextEncoder().encode(value).byteLength\n\nexport const RICH_EXTENSION_MAX_BYTES = 64 * 1024\n\nexport const RichExtensionSchema = JsonValueSchema.refine(\n (value) => utf8ByteLength(JSON.stringify(value)) <= RICH_EXTENSION_MAX_BYTES,\n `rich extension must not exceed ${RICH_EXTENSION_MAX_BYTES} bytes.`,\n)\n\nexport const RichTargetUrlSchema = z\n .url()\n .max(2048)\n .refine((value) => {\n const protocol = new URL(value).protocol\n return protocol === 'http:' || protocol === 'https:'\n }, 'rich target URL must use HTTP or HTTPS.')\n\nexport const MessagePartSchema = z.discriminatedUnion('type', [\n z.object({ type: z.literal('text'), text: z.string() }).strict(),\n z.object({ type: z.literal('mention'), memberId: ChannelMemberIdSchema }).strict(),\n z.object({ type: z.literal('image'), assetId: AssetIdSchema, alt: z.string().optional() }).strict(),\n z.object({ type: z.literal('file'), assetId: AssetIdSchema, name: z.string().optional() }).strict(),\n z.object({ type: z.literal('audio'), assetId: AssetIdSchema }).strict(),\n z.object({ type: z.literal('quote'), messageId: LogicalMessageIdSchema }).strict(),\n z\n .object({\n type: z.literal('rich'),\n adapterKey: z.string().trim().min(1).max(64),\n kind: z.string().trim().min(1).max(64),\n summary: z.string().trim().min(1).max(500),\n title: z.string().trim().min(1).max(200).optional(),\n source: z.string().trim().min(1).max(80).optional(),\n targetUrl: RichTargetUrlSchema.optional(),\n previewAssetId: AssetIdSchema.optional(),\n extension: RichExtensionSchema.optional(),\n })\n .strict(),\n])\n\nexport type MessagePart = z.infer<typeof MessagePartSchema>\n\nexport const MessagePartsSchema = z.array(MessagePartSchema)\nexport const NonEmptyMessagePartsSchema = MessagePartsSchema.min(1)\n\nexport function parseMessageParts(input: unknown): MessagePart[] {\n return MessagePartsSchema.parse(input)\n}\n\nconst collectRichAssetIds = (value: JsonValue | undefined, into: AssetId[]): void => {\n if (value === null || value === undefined || typeof value === 'boolean' || typeof value === 'number') return\n if (typeof value === 'string') return\n if (Array.isArray(value)) {\n for (const item of value) collectRichAssetIds(item, into)\n return\n }\n for (const [key, child] of Object.entries(value)) {\n if ((key === 'imageAssetId' || key === 'previewAssetId') && typeof child === 'string') {\n const parsed = AssetIdSchema.safeParse(child)\n if (parsed.success) into.push(parsed.data)\n } else {\n collectRichAssetIds(child, into)\n }\n }\n}\n\nexport const messagePartAssetIds = (part: MessagePart): readonly AssetId[] => {\n if (part.type === 'image' || part.type === 'file' || part.type === 'audio') return [part.assetId]\n if (part.type !== 'rich') return []\n const ids: AssetId[] = []\n if (part.previewAssetId) ids.push(part.previewAssetId)\n collectRichAssetIds(part.extension, ids)\n return ids\n}\n\nexport const messagePartAssetId = (part: MessagePart): AssetId | undefined => messagePartAssetIds(part)[0]\n\nconst asJsonRecord = (value: JsonValue | undefined): Readonly<Record<string, JsonValue>> | undefined =>\n value !== null && typeof value === 'object' && !Array.isArray(value) ? value : undefined\n\nconst richItemLine = (value: JsonValue): string | undefined => {\n const item = asJsonRecord(value)\n if (!item) return undefined\n const sender = typeof item['sender'] === 'string' ? item['sender'] : undefined\n const text = typeof item['text'] === 'string' ? item['text'] : undefined\n const card = asJsonRecord(item['card'])\n const cardSummary =\n typeof card?.['summary'] === 'string'\n ? card['summary']\n : typeof card?.['title'] === 'string'\n ? card['title']\n : undefined\n const imageName = typeof item['imageName'] === 'string' ? item['imageName'] : undefined\n const imageText = typeof item['imageAssetId'] === 'string' ? `[图片${imageName ? ` ${imageName}` : ''}]` : undefined\n const body = [text, cardSummary ? `[卡片] ${cardSummary}` : undefined, imageText]\n .filter((part): part is string => Boolean(part && part.length > 0))\n .join(' ')\n if (!sender && !body) return undefined\n return sender ? `${sender}:${body}` : body\n}\n\n/** Flatten a rich part for search and model context. */\nexport const richPartContextText = (part: Extract<MessagePart, { type: 'rich' }>): string => {\n const header = [part.summary, part.title, part.source].filter(\n (value, index, all): value is string =>\n typeof value === 'string' && value.length > 0 && all.indexOf(value) === index,\n )\n const items = asJsonRecord(part.extension)?.['items']\n const itemLines = Array.isArray(items)\n ? items.flatMap((item) => {\n const line = richItemLine(item)\n return line === undefined ? [] : [line]\n })\n : []\n return [...header, ...itemLines].join('\\n')\n}\n\nexport const messagePartsSearchText = (parts: readonly MessagePart[]): string =>\n parts\n .flatMap((part) => {\n if (part.type === 'text') return [part.text]\n if (part.type === 'rich') return [richPartContextText(part)]\n return []\n })\n .join('\\n')\n","import { z } from 'zod'\nimport { JsonValueSchema, type JsonValue } from './domain.js'\n\n/**\n * The single configuration format: serialized Schemastery (`Schema.toJSON()`), restricted to the subset the\n * product form can render and the Host can validate without executing Schema callbacks.\n *\n * Supported nodes: object (dict), string, number, natural, percent, boolean, const, union of consts (enum) and\n * array of primitives. `meta.role: 'secret'` marks a write-only credential. NekroNXT reads three extra meta keys:\n * `hint` (help text), `advanced` (collapsed by default) and `visibleWhen` (show only when a sibling equals a value).\n */\nexport const CONFIG_SCHEMA_MAX_BYTES = 64 * 1024\n\nconst DescriptionSchema = z.union([z.string(), z.record(z.string(), z.string())])\n\nexport const ConfigSchemaMetaSchema = z\n .object({\n description: DescriptionSchema.optional(),\n hint: z.string().max(500).optional(),\n required: z.boolean().optional(),\n default: JsonValueSchema.optional(),\n role: z.string().max(32).optional(),\n hidden: z.boolean().optional(),\n min: z.number().finite().optional(),\n max: z.number().finite().optional(),\n step: z.number().finite().positive().optional(),\n pattern: z.object({ source: z.string().max(500), flags: z.string().max(8).optional() }).optional(),\n advanced: z.boolean().optional(),\n group: z.string().max(40).optional(),\n visibleWhen: z\n .object({ key: z.string().min(1).max(64), equals: JsonValueSchema })\n .strict()\n .optional(),\n })\n .loose()\n\nexport type ConfigSchemaMeta = z.output<typeof ConfigSchemaMetaSchema>\n\nexport type ConfigSchemaNode =\n | {\n readonly type: 'object'\n readonly dict: Readonly<Record<string, ConfigSchemaNode>>\n readonly meta?: ConfigSchemaMeta | undefined\n }\n | {\n readonly type: 'string' | 'number' | 'natural' | 'percent' | 'boolean'\n readonly meta?: ConfigSchemaMeta | undefined\n }\n | { readonly type: 'const'; readonly value: JsonValue; readonly meta?: ConfigSchemaMeta | undefined }\n | { readonly type: 'union'; readonly list: readonly ConfigSchemaNode[]; readonly meta?: ConfigSchemaMeta | undefined }\n | { readonly type: 'array'; readonly inner: ConfigSchemaNode; readonly meta?: ConfigSchemaMeta | undefined }\n\nconst SAFE_KEY = /^(?!__proto__$|prototype$|constructor$)[A-Za-z_$][\\w$-]{0,63}$/u\n\nexport const ConfigSchemaNodeSchema: z.ZodType<ConfigSchemaNode> = z.lazy(() =>\n z.union([\n z\n .object({\n type: z.literal('object'),\n dict: z.record(z.string().regex(SAFE_KEY), ConfigSchemaNodeSchema),\n meta: ConfigSchemaMetaSchema.optional(),\n })\n .loose(),\n z\n .object({\n type: z.enum(['string', 'number', 'natural', 'percent', 'boolean']),\n meta: ConfigSchemaMetaSchema.optional(),\n })\n .loose(),\n z.object({ type: z.literal('const'), value: JsonValueSchema, meta: ConfigSchemaMetaSchema.optional() }).loose(),\n z\n .object({\n type: z.literal('union'),\n list: z.array(ConfigSchemaNodeSchema).min(1).max(64),\n meta: ConfigSchemaMetaSchema.optional(),\n })\n .loose(),\n z\n .object({ type: z.literal('array'), inner: ConfigSchemaNodeSchema, meta: ConfigSchemaMetaSchema.optional() })\n .loose(),\n ]),\n)\n\n/** A whole configuration document: always an object at the root. */\nexport const ConfigSchemaDocumentSchema = ConfigSchemaNodeSchema.refine(\n (node) => node.type === 'object',\n '配置 Schema 的根节点必须是 object。',\n).refine((node) => new TextEncoder().encode(JSON.stringify(node)).length <= CONFIG_SCHEMA_MAX_BYTES, {\n message: `配置 Schema 不能超过 ${CONFIG_SCHEMA_MAX_BYTES} 字节。`,\n})\n\nexport type ConfigSchemaDocument = Extract<ConfigSchemaNode, { readonly type: 'object' }>\n\nexport const EMPTY_CONFIG_SCHEMA: ConfigSchemaDocument = { type: 'object', dict: {} }\n\nexport type ConfigFieldKind = 'string' | 'number' | 'boolean' | 'enum' | 'secret' | 'array' | 'object'\n\nexport interface ConfigField {\n readonly key: string\n readonly kind: ConfigFieldKind\n readonly title: string\n readonly hint?: string\n readonly required: boolean\n readonly default?: JsonValue\n readonly advanced: boolean\n readonly group?: string\n readonly options?: readonly { readonly value: JsonValue; readonly label: string }[]\n readonly node: ConfigSchemaNode\n}\n\nexport const configDescription = (meta: ConfigSchemaMeta | undefined): string | undefined => {\n const description = meta?.description\n if (typeof description === 'string') return description\n if (description) return description['zh-CN'] ?? description['zh'] ?? Object.values(description)[0]\n return undefined\n}\n\nconst isEnumUnion = (node: ConfigSchemaNode): node is Extract<ConfigSchemaNode, { readonly type: 'union' }> =>\n node.type === 'union' && node.list.every((option) => option.type === 'const')\n\nexport const configFieldKind = (node: ConfigSchemaNode): ConfigFieldKind => {\n if (node.meta?.role === 'secret') return 'secret'\n if (node.type === 'string') return 'string'\n if (node.type === 'number' || node.type === 'natural' || node.type === 'percent') return 'number'\n if (node.type === 'boolean') return 'boolean'\n if (node.type === 'array') return 'array'\n if (node.type === 'object') return 'object'\n if (node.type === 'const' || isEnumUnion(node)) return 'enum'\n throw new TypeError('配置 Schema 只支持常量组成的 union。')\n}\n\n/** Flattens the top level of a document into product form fields (order preserved). */\nconst jsonLabel = (value: JsonValue): string => (typeof value === 'string' ? value : JSON.stringify(value))\n\nexport const configFields = (document: ConfigSchemaDocument): readonly ConfigField[] =>\n Object.entries(document.dict).map(([key, node]) => {\n const kind = configFieldKind(node)\n const title = configDescription(node.meta) ?? key\n const options =\n node.type === 'union' && isEnumUnion(node)\n ? node.list.map((option) => ({\n value: option.type === 'const' ? option.value : null,\n label: configDescription(option.meta) ?? (option.type === 'const' ? jsonLabel(option.value) : ''),\n }))\n : node.type === 'const'\n ? [{ value: node.value, label: configDescription(node.meta) ?? jsonLabel(node.value) }]\n : undefined\n return {\n key,\n kind,\n title,\n ...(node.meta?.hint === undefined ? {} : { hint: node.meta.hint }),\n required: node.meta?.required === true,\n ...(node.meta?.default === undefined ? {} : { default: node.meta.default }),\n advanced: node.meta?.advanced === true,\n ...(node.meta?.group === undefined ? {} : { group: node.meta.group }),\n ...(options === undefined ? {} : { options }),\n node,\n }\n })\n\nexport const configSecretKeys = (document: ConfigSchemaDocument): readonly string[] =>\n configFields(document)\n .filter((field) => field.kind === 'secret')\n .map((field) => field.key)\n\nexport interface ConfigValidationIssue {\n readonly path: string\n readonly message: string\n}\n\nconst isRecord = (value: unknown): value is Readonly<Record<string, JsonValue>> =>\n typeof value === 'object' && value !== null && !Array.isArray(value)\n\nconst sameJson = (left: JsonValue, right: JsonValue): boolean => JSON.stringify(left) === JSON.stringify(right)\n\nconst validateNode = (\n node: ConfigSchemaNode,\n value: JsonValue | undefined,\n path: string,\n label: string,\n issues: ConfigValidationIssue[],\n): JsonValue | undefined => {\n const resolved = value ?? node.meta?.default\n if (resolved === undefined || resolved === null) {\n if (node.meta?.required === true) issues.push({ path, message: `请填写${label}。` })\n if (node.type === 'object') return validateNode(node, {}, path, label, issues)\n return undefined\n }\n switch (node.type) {\n case 'object': {\n if (!isRecord(resolved)) {\n issues.push({ path, message: `${label}必须是对象。` })\n return undefined\n }\n const output: Record<string, JsonValue> = {}\n for (const key of Object.keys(resolved)) {\n if (!Object.hasOwn(node.dict, key))\n issues.push({ path: path ? `${path}.${key}` : key, message: `未知配置项:${key}` })\n }\n for (const [key, child] of Object.entries(node.dict)) {\n const childPath = path ? `${path}.${key}` : key\n const next = validateNode(child, resolved[key], childPath, configDescription(child.meta) ?? key, issues)\n if (next !== undefined) output[key] = next\n }\n return output\n }\n case 'string': {\n if (typeof resolved !== 'string') {\n issues.push({ path, message: `${label}必须是文本。` })\n return undefined\n }\n if (node.meta?.required === true && resolved.trim().length === 0)\n issues.push({ path, message: `请填写${label}。` })\n const pattern = node.meta?.pattern\n if (pattern && resolved.length > 0 && !new RegExp(pattern.source, pattern.flags ?? '').test(resolved)) {\n issues.push({ path, message: `${label}的格式不正确。` })\n }\n return resolved\n }\n case 'number':\n case 'natural':\n case 'percent': {\n if (typeof resolved !== 'number' || !Number.isFinite(resolved)) {\n issues.push({ path, message: `${label}必须是数字。` })\n return undefined\n }\n if (node.type === 'natural' && (!Number.isInteger(resolved) || resolved < 0)) {\n issues.push({ path, message: `${label}必须是非负整数。` })\n }\n if (node.type === 'percent' && (resolved < 0 || resolved > 1))\n issues.push({ path, message: `${label}必须在 0 到 1 之间。` })\n if (node.meta?.min !== undefined && resolved < node.meta.min)\n issues.push({ path, message: `${label}不能小于 ${node.meta.min}。` })\n if (node.meta?.max !== undefined && resolved > node.meta.max)\n issues.push({ path, message: `${label}不能大于 ${node.meta.max}。` })\n return resolved\n }\n case 'boolean':\n if (typeof resolved !== 'boolean') {\n issues.push({ path, message: `${label}必须是开关值。` })\n return undefined\n }\n return resolved\n case 'const':\n if (!sameJson(resolved, node.value)) issues.push({ path, message: `${label}的取值无效。` })\n return resolved\n case 'union':\n if (!node.list.some((option) => option.type === 'const' && sameJson(option.value, resolved))) {\n issues.push({ path, message: `${label}的取值无效。` })\n }\n return resolved\n case 'array': {\n if (!Array.isArray(resolved)) {\n issues.push({ path, message: `${label}必须是列表。` })\n return undefined\n }\n return resolved.flatMap((item, index) => {\n const next = validateNode(node.inner, item, `${path}[${index}]`, `${label}第 ${index + 1} 项`, issues)\n return next === undefined ? [] : [next]\n })\n }\n }\n}\n\n/**\n * Validates a configuration value against a document and fills declared defaults. Secret fields are not part of the\n * stored value; callers pass them through the credential store instead.\n */\nexport const validateConfigValue = (\n document: ConfigSchemaDocument,\n value: JsonValue | undefined,\n options: { readonly skipKeys?: readonly string[] } = {},\n): { readonly value: Readonly<Record<string, JsonValue>>; readonly issues: readonly ConfigValidationIssue[] } => {\n const skip = new Set(options.skipKeys ?? [])\n const issues: ConfigValidationIssue[] = []\n const input = isRecord(value) ? value : value === undefined || value === null ? {} : undefined\n if (input === undefined) return { value: {}, issues: [{ path: '', message: '配置必须是对象。' }] }\n const filtered: ConfigSchemaDocument = {\n ...document,\n dict: Object.fromEntries(Object.entries(document.dict).filter(([key]) => !skip.has(key))),\n }\n const output = validateNode(filtered, input, '', '配置', issues)\n return { value: isRecord(output) ? output : {}, issues }\n}\n\n/** Throws the first validation issue as a user-readable error. */\nexport const parseConfigValue = (\n document: ConfigSchemaDocument,\n value: JsonValue | undefined,\n options: { readonly skipKeys?: readonly string[] } = {},\n): Readonly<Record<string, JsonValue>> => {\n const result = validateConfigValue(document, value, options)\n const first = result.issues[0]\n if (first) throw new TypeError(first.message)\n return result.value\n}\n\ninterface FieldOptions<Value extends JsonValue> {\n readonly hint?: string\n readonly default?: Value\n readonly required?: boolean\n readonly advanced?: boolean\n readonly group?: string\n}\n\nconst fieldMeta = <Value extends JsonValue>(title: string, options: FieldOptions<Value> = {}): ConfigSchemaMeta => ({\n description: title,\n ...(options.hint === undefined ? {} : { hint: options.hint }),\n ...(options.default === undefined ? {} : { default: options.default }),\n ...(options.required === undefined ? {} : { required: options.required }),\n ...(options.advanced === undefined ? {} : { advanced: options.advanced }),\n ...(options.group === undefined ? {} : { group: options.group }),\n})\n\n/** Builds serialized Schemastery documents without depending on the Schemastery runtime. */\nexport const configSchema = {\n object: (dict: Readonly<Record<string, ConfigSchemaNode>>): ConfigSchemaDocument => ({ type: 'object', dict }),\n string: (title: string, options: FieldOptions<string> & { readonly multiline?: boolean } = {}): ConfigSchemaNode => ({\n type: 'string',\n meta: { ...fieldMeta(title, options), ...(options.multiline ? { role: 'textarea' } : {}) },\n }),\n secret: (title: string, options: Omit<FieldOptions<string>, 'default'> = {}): ConfigSchemaNode => ({\n type: 'string',\n meta: { ...fieldMeta(title, options), role: 'secret' },\n }),\n number: (\n title: string,\n options: FieldOptions<number> & { readonly min?: number; readonly max?: number; readonly integer?: boolean } = {},\n ): ConfigSchemaNode => ({\n type: options.integer ? 'natural' : 'number',\n meta: {\n ...fieldMeta(title, options),\n ...(options.min === undefined ? {} : { min: options.min }),\n ...(options.max === undefined ? {} : { max: options.max }),\n },\n }),\n boolean: (title: string, options: FieldOptions<boolean> = {}): ConfigSchemaNode => ({\n type: 'boolean',\n meta: fieldMeta(title, options),\n }),\n enum: (\n title: string,\n choices: readonly { readonly value: string | number; readonly label: string }[],\n options: FieldOptions<string | number> = {},\n ): ConfigSchemaNode => ({\n type: 'union',\n list: choices.map((choice) => ({ type: 'const', value: choice.value, meta: { description: choice.label } })),\n meta: fieldMeta(title, options),\n }),\n} as const\n","import { z } from 'zod'\n\n/**\n * Host capability level this build implements. A Revision that declares `requires.sdk` above it is rejected at\n * import with an \"upgrade NekroNXT\" message instead of an opaque schema error. Bump only when a new optional\n * Manifest capability ships; never reuse a level for a different meaning.\n */\nexport const EXTENSION_SDK_LEVEL = 6\n\nexport const ExtensionRequiresSchema = z.object({ sdk: z.number().int().min(1).max(1000) }).strict()\nexport type ExtensionRequires = z.output<typeof ExtensionRequiresSchema>\n\n/** `api.example.com` or `*.example.com` (subdomains only); lower-case DNS labels, no scheme, port or path. */\nexport const ExtensionNetworkDomainSchema = z\n .string()\n .trim()\n .toLowerCase()\n .max(253)\n .regex(/^(\\*\\.)?(?=.{1,253}$)([a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)(\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+$/u, {\n message: '网络域名必须是 api.example.com 或 *.example.com 形式,不含协议、端口和路径。',\n })\n\nexport const ExtensionNetworkCapabilitySchema = z.discriminatedUnion('mode', [\n z\n .object({\n mode: z.literal('domains'),\n domains: z.array(ExtensionNetworkDomainSchema).min(1).max(32),\n })\n .strict(),\n z\n .object({\n mode: z.literal('config'),\n /** Top-level config fields whose current value is a URL or host the user typed. */\n fields: z.array(z.string().trim().min(1).max(64)).min(1).max(8),\n })\n .strict(),\n z\n .object({\n mode: z.literal('unrestricted'),\n /** Shown to the user next to the risk acknowledgement. */\n purpose: z.string().trim().min(4).max(200),\n })\n .strict(),\n])\nexport type ExtensionNetworkCapability = z.output<typeof ExtensionNetworkCapabilitySchema>\n\nexport const EXTENSION_STORAGE_SCOPES = ['agent', 'channel', 'member', 'shared'] as const\nexport const ExtensionStorageScopeSchema = z.enum(EXTENSION_STORAGE_SCOPES)\nexport type ExtensionStorageScope = z.output<typeof ExtensionStorageScopeSchema>\n\nexport const EXTENSION_STORAGE_DEFAULT_QUOTA_BYTES = 8 * 1024 * 1024\nexport const EXTENSION_STORAGE_MAX_QUOTA_BYTES = 64 * 1024 * 1024\n\nexport const ExtensionStorageCapabilitySchema = z\n .object({\n scopes: z.array(ExtensionStorageScopeSchema).min(1).max(EXTENSION_STORAGE_SCOPES.length),\n quotaBytes: z.number().int().min(1024).max(EXTENSION_STORAGE_MAX_QUOTA_BYTES).optional(),\n })\n .strict()\n .refine((value) => new Set(value.scopes).size === value.scopes.length, '存储作用域不能重复。')\nexport type ExtensionStorageCapability = z.output<typeof ExtensionStorageCapabilitySchema>\n\nexport const EXTENSION_CONTEXT_STATIC_MAX_CHARS = 4000\nexport const EXTENSION_CONTEXT_DYNAMIC_MAX_CHARS = 2000\n\nexport const ExtensionContextContributionSchema = z\n .object({\n name: z\n .string()\n .trim()\n .regex(/^[a-z0-9][a-z0-9-]{0,39}$/u, '上下文名称只能使用小写字母、数字和连字符。'),\n kind: z.enum(['static', 'dynamic']),\n maxChars: z.number().int().min(1).max(EXTENSION_CONTEXT_STATIC_MAX_CHARS),\n })\n .strict()\n .refine(\n (value) => value.kind === 'static' || value.maxChars <= EXTENSION_CONTEXT_DYNAMIC_MAX_CHARS,\n `动态上下文最多 ${EXTENSION_CONTEXT_DYNAMIC_MAX_CHARS} 字。`,\n )\nexport type ExtensionContextContribution = z.output<typeof ExtensionContextContributionSchema>\n\nexport const EXTENSION_LLM_MAX_CALLS_PER_TURN = 20\nexport const EXTENSION_LLM_MAX_OUTPUT_TOKENS = 8192\n\nexport const ExtensionLlmCapabilitySchema = z\n .object({\n maxCallsPerTurn: z.number().int().min(1).max(EXTENSION_LLM_MAX_CALLS_PER_TURN),\n maxOutputTokens: z.number().int().min(64).max(EXTENSION_LLM_MAX_OUTPUT_TOKENS),\n })\n .strict()\nexport type ExtensionLlmCapability = z.output<typeof ExtensionLlmCapabilitySchema>\n\nexport const EXTENSION_INBOUND_HOOK_MAX_TIMEOUT_MS = 15_000\n\nexport const ExtensionInboundHookCapabilitySchema = z\n .object({\n /** `triggered`: only messages that would wake the agent anyway; `all`: every message in bound channels. */\n reads: z.enum(['triggered', 'all']),\n mayHide: z.boolean(),\n mayForceTrigger: z.boolean(),\n timeoutMs: z.number().int().min(100).max(EXTENSION_INBOUND_HOOK_MAX_TIMEOUT_MS),\n })\n .strict()\nexport type ExtensionInboundHookCapability = z.output<typeof ExtensionInboundHookCapabilitySchema>\n\nexport const EXTENSION_JOB_MAX_RUNTIME = 50\n\nexport const ExtensionDeclaredJobSchema = z\n .object({\n id: z\n .string()\n .trim()\n .regex(/^[a-z0-9][a-z0-9-]{0,39}$/u, '定时任务 id 只能使用小写字母、数字和连字符。'),\n label: z.string().trim().min(1).max(200),\n cron: z.string().trim().min(9).max(120),\n timezone: z.string().trim().min(1).max(64).optional(),\n })\n .strict()\nexport type ExtensionDeclaredJob = z.output<typeof ExtensionDeclaredJobSchema>\n\nexport const ExtensionJobsCapabilitySchema = z\n .object({\n /** Fixed schedules; each fires in every channel bound to the agent that enables the extension. */\n declared: z\n .array(ExtensionDeclaredJobSchema)\n .max(8)\n .refine((jobs) => new Set(jobs.map(({ id }) => id)).size === jobs.length, '定时任务 id 不能重复。')\n .optional(),\n /** Jobs the extension creates at runtime (`ctx.nxt.jobs.schedule`), at most this many active per agent. */\n runtime: z\n .object({ maxActive: z.number().int().min(1).max(EXTENSION_JOB_MAX_RUNTIME) })\n .strict()\n .optional(),\n })\n .strict()\nexport type ExtensionJobsCapability = z.output<typeof ExtensionJobsCapabilitySchema>\n\nconst AdapterKeySchema = z.string().trim().min(1).max(64)\n\nexport const ExtensionPlatformCapabilitySchema = z\n .object({\n /** Typed actions an Adapter declares, as `{ adapter, action }`. */\n actions: z\n .array(z.object({ adapter: AdapterKeySchema, action: z.string().regex(/^[a-z0-9_]{1,64}$/u) }).strict())\n .max(32)\n .default([]),\n /** Adapters whose raw API passthrough the extension may call. */\n raw: z.array(AdapterKeySchema).max(8).default([]),\n })\n .strict()\nexport type ExtensionPlatformCapability = z.output<typeof ExtensionPlatformCapabilitySchema>\n\n/** A header or environment value: literal text, or the current value of a `meta.role: 'secret'` config field. */\nexport const ExtensionMcpValueSchema = z.union([\n z.string().max(4096),\n z.object({ secret: z.string().trim().min(1).max(64) }).strict(),\n])\nexport type ExtensionMcpValue = z.output<typeof ExtensionMcpValueSchema>\n\n/** Becomes the model-facing tool prefix `mcp__<name>__`. */\nexport const ExtensionMcpServerNameSchema = z.string().regex(/^[A-Za-z0-9_-]{1,32}$/u)\n\nconst McpValueMapSchema = z\n .record(z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]{0,127}$/u), ExtensionMcpValueSchema)\n .refine((value) => Object.keys(value).length <= 32, '最多 32 项。')\n .default({})\n\nexport const ExtensionMcpServerSchema = z.discriminatedUnion('transport', [\n z\n .object({\n transport: z.literal('streamable-http'),\n name: ExtensionMcpServerNameSchema,\n url: z\n .string()\n .url()\n .refine((value) => /^https?:\\/\\//iu.test(value), 'MCP 地址必须是 http 或 https。'),\n headers: McpValueMapSchema,\n })\n .strict(),\n z\n .object({\n transport: z.literal('stdio'),\n name: ExtensionMcpServerNameSchema,\n command: z.string().trim().min(1).max(512),\n args: z.array(z.string().max(4096)).max(64).default([]),\n env: McpValueMapSchema,\n })\n .strict(),\n])\nexport type ExtensionMcpServer = z.output<typeof ExtensionMcpServerSchema>\n\n/**\n * MCP servers the Host connects for the agent while the extension is enabled; their tools appear as\n * `mcp__<name>__<tool>`. `stdio` runs a program on the Host and is only created from the administrator's form.\n */\nexport const ExtensionMcpCapabilitySchema = z\n .object({\n servers: z\n .array(ExtensionMcpServerSchema)\n .min(1)\n .max(8)\n .refine((value) => new Set(value.map(({ name }) => name)).size === value.length, 'MCP 服务名称不能重复。'),\n })\n .strict()\nexport type ExtensionMcpCapability = z.output<typeof ExtensionMcpCapabilitySchema>\n\n/** One header or environment row of the administrator's form; secret rows become credential config fields. */\nconst McpFormValueSchema = z\n .object({\n name: z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]{0,127}$/u, '名称只能包含字母、数字、下划线和连字符。'),\n value: z.string().max(4096),\n secret: z.boolean().default(false),\n })\n .strict()\n\nexport const McpServerFormSchema = z.discriminatedUnion('transport', [\n z\n .object({\n transport: z.literal('streamable-http'),\n name: ExtensionMcpServerNameSchema,\n url: z.string().url(),\n headers: z.array(McpFormValueSchema).max(32).default([]),\n })\n .strict(),\n z\n .object({\n transport: z.literal('stdio'),\n name: ExtensionMcpServerNameSchema,\n command: z.string().trim().min(1).max(512),\n args: z.array(z.string().max(4096)).max(64).default([]),\n env: z.array(McpFormValueSchema).max(32).default([]),\n })\n .strict(),\n])\nexport type McpServerForm = z.output<typeof McpServerFormSchema>\n\n/** Secret config fields an MCP declaration reads. */\nexport const mcpSecretFields = (mcp: ExtensionMcpCapability | undefined): readonly string[] => [\n ...new Set(\n (mcp?.servers ?? []).flatMap((server) =>\n Object.values(server.transport === 'stdio' ? server.env : server.headers).flatMap((value) =>\n typeof value === 'string' ? [] : [value.secret],\n ),\n ),\n ),\n]\n\n/** What a server connects to; changing it needs a new approval, unlike its credentials. */\nconst mcpTarget = (server: ExtensionMcpServer): string =>\n server.transport === 'stdio'\n ? JSON.stringify(['stdio', server.name, server.command, server.args])\n : JSON.stringify(['streamable-http', server.name, server.url])\n\n/**\n * Optional Host capabilities of an agent-scope Revision. Every field is additive to Manifest V6: an absent field\n * means the Revision cannot use that capability, exactly as before the field existed.\n */\nexport const ExtensionCapabilitiesSchema = z\n .object({\n network: ExtensionNetworkCapabilitySchema.optional(),\n storage: ExtensionStorageCapabilitySchema.optional(),\n assets: z\n .object({ write: z.literal(true) })\n .strict()\n .optional(),\n history: z\n .object({ read: z.literal(true) })\n .strict()\n .optional(),\n inboundHook: ExtensionInboundHookCapabilitySchema.optional(),\n jobs: ExtensionJobsCapabilitySchema.optional(),\n platform: ExtensionPlatformCapabilitySchema.optional(),\n llm: ExtensionLlmCapabilitySchema.optional(),\n mcp: ExtensionMcpCapabilitySchema.optional(),\n context: z\n .array(ExtensionContextContributionSchema)\n .max(8)\n .refine((value) => new Set(value.map(({ name }) => name)).size === value.length, '上下文名称不能重复。')\n .optional(),\n })\n .strict()\nexport type ExtensionCapabilities = z.output<typeof ExtensionCapabilitiesSchema>\n\nconst NETWORK_MODE_RANK = { domains: 0, config: 1, unrestricted: 2 } as const\n\nconst networkExpands = (\n previous: ExtensionNetworkCapability | undefined,\n next: ExtensionNetworkCapability | undefined,\n): boolean => {\n if (next === undefined) return false\n if (previous === undefined) return true\n if (NETWORK_MODE_RANK[next.mode] !== NETWORK_MODE_RANK[previous.mode]) {\n return NETWORK_MODE_RANK[next.mode] > NETWORK_MODE_RANK[previous.mode]\n }\n if (next.mode === 'domains' && previous.mode === 'domains') {\n return next.domains.some((domain) => !previous.domains.includes(domain))\n }\n if (next.mode === 'config' && previous.mode === 'config') {\n return next.fields.some((field) => !previous.fields.includes(field))\n }\n return false\n}\n\n/**\n * Whether `next` asks for something an approval of `previous` did not cover. Narrowing never needs approval;\n * storage quota is bounded by the Host maximum and is not an expansion. Context contributions are capped text\n * shown in the trace, so adding one is not an expansion either.\n */\nexport const extensionCapabilitiesExpand = (\n previous: ExtensionCapabilities | undefined,\n next: ExtensionCapabilities | undefined,\n): boolean => {\n if (next === undefined) return false\n if (networkExpands(previous?.network, next.network)) return true\n if (next.storage?.scopes.some((scope) => !(previous?.storage?.scopes ?? []).includes(scope))) return true\n if (next.assets !== undefined && previous?.assets === undefined) return true\n if (next.history !== undefined && previous?.history === undefined) return true\n const platformKey = ({ adapter, action }: { readonly adapter: string; readonly action: string }) =>\n `${adapter}:${action}`\n const previousActions = new Set((previous?.platform?.actions ?? []).map(platformKey))\n if ((next.platform?.actions ?? []).some((entry) => !previousActions.has(platformKey(entry)))) return true\n if ((next.platform?.raw ?? []).some((adapter) => !(previous?.platform?.raw ?? []).includes(adapter))) return true\n const hook = next.inboundHook\n const previousHook = previous?.inboundHook\n if (\n hook !== undefined &&\n (previousHook === undefined ||\n (hook.reads === 'all' && previousHook.reads === 'triggered') ||\n (hook.mayHide && !previousHook.mayHide) ||\n (hook.mayForceTrigger && !previousHook.mayForceTrigger))\n ) {\n return true\n }\n if (\n next.jobs?.runtime !== undefined &&\n (previous?.jobs?.runtime === undefined || next.jobs.runtime.maxActive > previous.jobs.runtime.maxActive)\n ) {\n return true\n }\n const previousMcp = new Set((previous?.mcp?.servers ?? []).map(mcpTarget))\n if ((next.mcp?.servers ?? []).some((server) => !previousMcp.has(mcpTarget(server)))) return true\n if (\n next.llm !== undefined &&\n (previous?.llm === undefined ||\n next.llm.maxCallsPerTurn > previous.llm.maxCallsPerTurn ||\n next.llm.maxOutputTokens > previous.llm.maxOutputTokens)\n ) {\n return true\n }\n return false\n}\n\n/** Capability risk tiers shown on the approval page (§7 of the capability decision). */\nexport type ExtensionCapabilityRisk = 'normal' | 'sensitive' | 'high'\n\nexport interface ExtensionCapabilitySummaryItem {\n readonly key: string\n readonly risk: ExtensionCapabilityRisk\n readonly label: string\n readonly detail?: string\n}\n\n/** User-facing summary of declared capabilities, in a stable order, for approval and inspection pages. */\nexport const summarizeExtensionCapabilities = (\n capabilities: ExtensionCapabilities | undefined,\n): readonly ExtensionCapabilitySummaryItem[] => {\n if (capabilities === undefined) return []\n const items: ExtensionCapabilitySummaryItem[] = []\n const network = capabilities.network\n if (network?.mode === 'domains') {\n items.push({ key: 'network', risk: 'normal', label: '访问指定网站', detail: network.domains.join('、') })\n } else if (network?.mode === 'config') {\n items.push({ key: 'network', risk: 'normal', label: '访问你在配置中填写的地址', detail: network.fields.join('、') })\n } else if (network?.mode === 'unrestricted') {\n items.push({ key: 'network', risk: 'high', label: '访问任意公网地址', detail: network.purpose })\n }\n if (capabilities.storage !== undefined) {\n const shared = capabilities.storage.scopes.includes('shared')\n items.push({\n key: 'storage',\n risk: shared ? 'sensitive' : 'normal',\n label: shared ? '保存数据,并在启用它的智能体之间共享' : '为这个智能体保存数据',\n })\n }\n if (capabilities.assets !== undefined)\n items.push({ key: 'assets', risk: 'normal', label: '在当前频道生成图片或文件' })\n if (capabilities.history !== undefined)\n items.push({ key: 'history', risk: 'normal', label: '读取当前频道的聊天记录' })\n const hook = capabilities.inboundHook\n if (hook !== undefined) {\n const effects = [\n hook.mayHide ? '对智能体隐藏消息' : '',\n hook.mayForceTrigger ? '让智能体回应原本不会回应的消息' : '',\n ]\n .filter((effect) => effect !== '')\n .join('、')\n items.push({\n key: 'inboundHook',\n risk: hook.reads === 'all' ? 'high' : 'sensitive',\n label: hook.reads === 'all' ? '查看频道里的全部消息' : '在智能体回应前查看要回应的消息',\n ...(effects === '' ? {} : { detail: `可以${effects}` }),\n })\n }\n const jobs = capabilities.jobs\n if (jobs?.declared !== undefined && jobs.declared.length > 0) {\n items.push({\n key: 'jobs.declared',\n risk: 'normal',\n label: '按固定计划唤醒智能体',\n detail: jobs.declared.map(({ label }) => label).join('、'),\n })\n }\n if (jobs?.runtime !== undefined) {\n items.push({\n key: 'jobs.runtime',\n risk: 'sensitive',\n label: '创建定时任务唤醒智能体',\n detail: `同时最多 ${jobs.runtime.maxActive} 个`,\n })\n }\n const platform = capabilities.platform\n if (platform !== undefined && platform.actions.length > 0) {\n items.push({\n key: 'platform.actions',\n // Actions such as muting or removing members affect other people, so every typed action is confirmed.\n risk: 'high',\n label: '在平台上执行操作',\n detail: platform.actions.map(({ adapter, action }) => `${adapter} · ${action}`).join('、'),\n })\n }\n if (platform !== undefined && platform.raw.length > 0) {\n items.push({\n key: 'platform.raw',\n risk: 'high',\n label: '直接调用平台原始接口',\n detail: platform.raw.join('、'),\n })\n }\n if (capabilities.llm !== undefined) {\n items.push({\n key: 'llm',\n risk: 'sensitive',\n label: '使用这个智能体的模型',\n detail: `每轮最多 ${capabilities.llm.maxCallsPerTurn} 次,计入智能体用量`,\n })\n }\n for (const server of capabilities.mcp?.servers ?? []) {\n items.push(\n server.transport === 'stdio'\n ? {\n key: `mcp.${server.name}`,\n risk: 'high',\n label: `在本机运行 MCP 程序 ${server.name}`,\n detail: [server.command, ...server.args].join(' '),\n }\n : {\n key: `mcp.${server.name}`,\n risk: 'sensitive',\n label: `连接 MCP 服务 ${server.name}`,\n detail: new URL(server.url).host,\n },\n )\n }\n if (capabilities.context !== undefined && capabilities.context.length > 0) {\n items.push({\n key: 'context',\n risk: 'normal',\n label: '向智能体提供补充说明',\n detail: capabilities.context.map(({ name }) => name).join('、'),\n })\n }\n return items\n}\n","import { z } from 'zod'\nimport { ExtensionCapabilitiesSchema } from './extension-capabilities.js'\nimport { ExtensionIdSchema, ExtensionRevisionIdSchema, HostUiPageInstanceIdSchema } from './domain.js'\nimport { ConfigSchemaDocumentSchema } from './config-schema.js'\n\nexport const HostUiPermissionSchema = z.enum([\n 'agents.read',\n 'channels.read',\n 'connections.read',\n 'extensions.read',\n 'dsh-plugins.read',\n 'runtime.read',\n 'messages.read',\n 'assets.read',\n 'agents.manage',\n 'channels.manage',\n 'connections.manage',\n 'credentials.write',\n 'messages.send',\n 'notifications.publish',\n 'network.request',\n])\n\nexport type HostUiPermission = z.output<typeof HostUiPermissionSchema>\n\nexport const HOST_UI_KIT_COMPONENT_NAMES = [\n 'Button',\n 'IconButton',\n 'Input',\n 'Textarea',\n 'Select',\n 'Switch',\n 'Tabs',\n 'Dialog',\n 'Popover',\n 'Tooltip',\n 'Field',\n 'StatusBadge',\n 'InlineFeedback',\n 'EmptyState',\n 'Spinner',\n 'PageHeader',\n 'MetricStrip',\n 'Metric',\n 'Section',\n 'Stack',\n 'Grid',\n 'DataTable',\n 'PropertyList',\n 'PropertyRow',\n] as const\n\nexport const HostUiKitComponentNameSchema = z.enum(HOST_UI_KIT_COMPONENT_NAMES)\n\nexport type HostUiKitComponentName = z.output<typeof HostUiKitComponentNameSchema>\n\nexport const HostUiPageGeometryEvidenceSchema = z\n .object({\n entryId: z\n .string()\n .trim()\n .regex(/^[a-z](?:[a-z0-9-]{0,62}[a-z0-9])?$/u),\n objectPane: z.enum(['navigation', 'hidden']),\n viewport: z\n .object({\n width: z.number().finite().positive().max(16_384),\n height: z.number().finite().positive().max(16_384),\n })\n .strict(),\n insets: z\n .object({\n top: z.number().finite().nonnegative().max(512),\n right: z.number().finite().nonnegative().max(512),\n bottom: z.number().finite().nonnegative().max(512),\n left: z.number().finite().nonnegative().max(512),\n })\n .strict(),\n contentAxesAligned: z.boolean(),\n horizontalOverflow: z.boolean(),\n titleDistinct: z.boolean(),\n })\n .strict()\n\nexport type HostUiPageGeometryEvidence = z.output<typeof HostUiPageGeometryEvidenceSchema>\n\nexport const HostIconNameSchema = z.enum([\n 'app-window',\n 'bar-chart',\n 'book-open',\n 'boxes',\n 'database',\n 'file-text',\n 'folder',\n 'globe',\n 'layout-dashboard',\n 'puzzle',\n 'terminal',\n 'workflow',\n 'wrench',\n])\n\nexport type HostIconName = z.output<typeof HostIconNameSchema>\n\nexport const HostPageIconSchema = z.discriminatedUnion('kind', [\n z.object({ kind: z.literal('host-icon'), name: HostIconNameSchema }).strict(),\n z\n .object({\n kind: z.literal('svg'),\n path: z\n .string()\n .trim()\n .regex(/^assets\\/[a-z0-9][a-z0-9/_-]*\\.svg$/u),\n sha256: z.string().regex(/^[a-f0-9]{64}$/u),\n })\n .strict(),\n])\n\nexport type HostPageIcon = z.output<typeof HostPageIconSchema>\n\nexport const HostPageContributionSchema = z\n .object({\n kind: z.literal('host-page'),\n entryId: z\n .string()\n .trim()\n .regex(/^[a-z](?:[a-z0-9-]{0,62}[a-z0-9])?$/u),\n title: z.string().trim().min(1).max(40),\n description: z.string().trim().max(120).optional(),\n icon: HostPageIconSchema,\n objectPane: z.enum(['navigation', 'hidden']),\n startPath: z\n .string()\n .trim()\n .regex(/^(?:[a-z0-9][a-z0-9/_-]*)?$/u),\n })\n .strict()\n\nexport type HostPageContribution = z.output<typeof HostPageContributionSchema>\n\nexport const HostUiNavigationItemSchema = z\n .object({\n id: z.string().trim().min(1).max(80),\n label: z.string().trim().min(1).max(80),\n description: z.string().trim().max(120).optional(),\n icon: HostPageIconSchema.optional(),\n badge: z.string().trim().max(24).optional(),\n status: z.enum(['neutral', 'info', 'success', 'warning', 'error']).optional(),\n disabledReason: z.string().trim().max(160).optional(),\n path: z\n .string()\n .trim()\n .regex(/^(?:[a-z0-9][a-z0-9/_-]*)?$/u),\n })\n .strict()\n\nexport const HostUiNavigationGroupSchema = z\n .object({\n id: z.string().trim().min(1).max(80),\n label: z.string().trim().max(80).optional(),\n items: z.array(HostUiNavigationItemSchema).max(256),\n })\n .strict()\n\nexport const HostUiNavigationModelSchema = z\n .object({\n revision: z.number().int().nonnegative(),\n groups: z.array(HostUiNavigationGroupSchema).max(16),\n })\n .strict()\n .refine((model) => model.groups.reduce((total, group) => total + group.items.length, 0) <= 256, {\n message: 'Host UI navigation cannot contain more than 256 items.',\n })\n\nexport type HostUiNavigationModel = z.output<typeof HostUiNavigationModelSchema>\n\nexport const HostUiNetworkOriginSchema = z\n .string()\n .url()\n .transform((value, context) => {\n const url = new URL(value)\n if (url.protocol !== 'http:' && url.protocol !== 'https:') {\n context.addIssue({ code: 'custom', message: 'Host UI network origins must use HTTP(S).' })\n return z.NEVER\n }\n if (url.pathname !== '/' || url.search || url.hash || url.username || url.password) {\n context.addIssue({ code: 'custom', message: 'Host UI network origins cannot contain paths or credentials.' })\n return z.NEVER\n }\n return url.origin\n })\n\nexport const HostUiPermissionDeclarationSchema = z\n .object({\n permissions: z.array(HostUiPermissionSchema).max(HostUiPermissionSchema.options.length),\n networkOrigins: z.array(HostUiNetworkOriginSchema).max(32).default([]),\n /** Host capabilities of an agent-scope Revision; absent keeps the pre-capability digest unchanged. */\n capabilities: ExtensionCapabilitiesSchema.optional(),\n })\n .strict()\n .superRefine((value, context) => {\n if (new Set(value.permissions).size !== value.permissions.length) {\n context.addIssue({ code: 'custom', path: ['permissions'], message: 'Host UI permissions must be unique.' })\n }\n if (new Set(value.networkOrigins).size !== value.networkOrigins.length) {\n context.addIssue({ code: 'custom', path: ['networkOrigins'], message: 'Host UI network origins must be unique.' })\n }\n if (value.networkOrigins.length > 0 && !value.permissions.includes('network.request')) {\n context.addIssue({\n code: 'custom',\n path: ['networkOrigins'],\n message: 'Host UI network origins require network.request.',\n })\n }\n })\n\nexport type HostUiPermissionDeclaration = z.output<typeof HostUiPermissionDeclarationSchema>\n\nexport const HostUiOwnerSchema = z.discriminatedUnion('kind', [\n z\n .object({\n kind: z.literal('extension'),\n extensionId: ExtensionIdSchema,\n revisionId: ExtensionRevisionIdSchema,\n })\n .strict(),\n z\n .object({\n kind: z.literal('dsh-plugin'),\n entryId: z.string().trim().min(1),\n artifactDigest: z.string().regex(/^[a-f0-9]{64}$/u),\n })\n .strict(),\n])\n\nexport type HostUiOwner = z.output<typeof HostUiOwnerSchema>\n\nexport const HostUiPageEntrySchema = z\n .object({\n pageInstanceId: HostUiPageInstanceIdSchema,\n owner: HostUiOwnerSchema,\n entryId: z.string().trim().min(1).max(64),\n title: z.string().trim().min(1).max(40),\n description: z.string().trim().max(120).optional(),\n icon: HostPageIconSchema,\n objectPane: z.enum(['navigation', 'hidden']),\n startPath: z.string(),\n visible: z.boolean(),\n sortOrder: z.number().int().nonnegative(),\n routeBase: z.string().regex(/^\\/apps\\/hup_[0-9A-Za-z]+$/u),\n client: z\n .object({\n moduleUrl: z.string().startsWith('/'),\n buildKey: z.string().regex(/^[a-f0-9]{64}$/u),\n })\n .strict(),\n diagnostic: z\n .object({\n status: z.enum(['ready', 'load-failed', 'navigation-failed', 'rpc-failed', 'restore-failed']),\n message: z.string().optional(),\n observedAt: z.number().int().safe().nonnegative(),\n })\n .strict()\n .optional(),\n createdAt: z.number().int().safe().nonnegative(),\n updatedAt: z.number().int().safe().nonnegative(),\n })\n .strict()\n\nexport type HostUiPageEntry = z.output<typeof HostUiPageEntrySchema>\n\nexport const HostUiPagePreferencesSchema = z\n .object({\n revision: z.number().int().nonnegative(),\n entries: z.array(\n z\n .object({\n pageInstanceId: HostUiPageInstanceIdSchema,\n visible: z.boolean(),\n })\n .strict(),\n ),\n })\n .strict()\n\nexport type HostUiPagePreferences = z.output<typeof HostUiPagePreferencesSchema>\n\nexport const DshNxtHostUiSchema = z\n .object({\n schemaVersion: z.literal(1),\n entryKey: z.string().trim().min(1).max(120),\n client: z\n .string()\n .trim()\n .regex(/^(?!\\/)(?!.*(?:^|\\/)\\.\\.(?:\\/|$))[a-zA-Z0-9._/-]+\\.m?js$/u),\n css: z\n .string()\n .trim()\n .regex(/^(?!\\/)(?!.*(?:^|\\/)\\.\\.(?:\\/|$))[a-zA-Z0-9._/-]+\\.css$/u)\n .optional(),\n pages: z.array(HostPageContributionSchema).min(1).max(8),\n permissions: HostUiPermissionDeclarationSchema.default({ permissions: [], networkOrigins: [] }),\n })\n .strict()\n\nexport type DshNxtHostUi = z.output<typeof DshNxtHostUiSchema>\n\n/** Where the product shell may place an extension panel. The Host decides the concrete page and position. */\nexport const ExtensionPanelAnchorSchema = z.enum(['agent', 'channel', 'extension', 'connection'])\nexport type ExtensionPanelAnchor = z.output<typeof ExtensionPanelAnchorSchema>\n\nexport const AGENT_PANEL_ANCHORS = ['agent', 'channel', 'extension'] as const satisfies readonly ExtensionPanelAnchor[]\nexport const ADAPTER_PANEL_ANCHORS = ['connection', 'channel'] as const satisfies readonly ExtensionPanelAnchor[]\n\nexport const PanelDensitySchema = z.enum(['compact', 'full'])\nexport type PanelDensity = z.output<typeof PanelDensitySchema>\n\nexport const ConnectionPanelRoleSchema = z.enum(['setup', 'status', 'diagnostics'])\nexport type ConnectionPanelRole = z.output<typeof ConnectionPanelRoleSchema>\n\nexport const ToolViewDensitySchema = z.enum(['chip', 'card'])\nexport type ToolViewDensity = z.output<typeof ToolViewDensitySchema>\n\nconst ContributionIdSchema = z\n .string()\n .trim()\n .regex(/^[a-z](?:[a-z0-9-]{0,62}[a-z0-9])?$/u)\n\nconst panelFields = {\n id: ContributionIdSchema,\n anchor: ExtensionPanelAnchorSchema,\n title: z.string().trim().min(1).max(24),\n icon: HostIconNameSchema.optional(),\n densities: z.array(PanelDensitySchema).min(1).max(2),\n role: ConnectionPanelRoleSchema.optional(),\n when: z\n .object({\n channelKinds: z\n .array(z.enum(['internal', 'direct', 'group']))\n .min(1)\n .max(3)\n .optional(),\n })\n .strict()\n .optional(),\n}\n\nconst checkPanel = (\n value: {\n readonly anchor: ExtensionPanelAnchor\n readonly densities: readonly PanelDensity[]\n readonly role?: ConnectionPanelRole | undefined\n readonly when?: { readonly channelKinds?: readonly string[] | undefined } | undefined\n },\n context: z.RefinementCtx,\n): void => {\n if (new Set(value.densities).size !== value.densities.length) {\n context.addIssue({ code: 'custom', path: ['densities'], message: '面板密度不能重复。' })\n }\n if (value.anchor === 'connection' && value.role === undefined) {\n context.addIssue({\n code: 'custom',\n path: ['role'],\n message: '连接面板必须声明 setup、status 或 diagnostics 角色。',\n })\n }\n if (value.anchor !== 'connection' && value.role !== undefined) {\n context.addIssue({ code: 'custom', path: ['role'], message: '只有连接面板可以声明角色。' })\n }\n if (value.when?.channelKinds !== undefined && value.anchor !== 'channel') {\n context.addIssue({ code: 'custom', path: ['when'], message: '只有频道面板可以按频道类型限定。' })\n }\n if (\n value.when?.channelKinds !== undefined &&\n new Set(value.when.channelKinds).size !== value.when.channelKinds.length\n ) {\n context.addIssue({ code: 'custom', path: ['when', 'channelKinds'], message: '频道类型不能重复。' })\n }\n}\n\n/** Client-side registration options for one panel; identical to the Manifest contribution without `kind`. */\nexport const ExtensionPanelDeclarationSchema = z.object(panelFields).strict().superRefine(checkPanel)\nexport type ExtensionPanelDeclaration = z.output<typeof ExtensionPanelDeclarationSchema>\n\nexport const PanelContributionSchema = z\n .object({ kind: z.literal('panel'), ...panelFields })\n .strict()\n .superRefine(checkPanel)\nexport type PanelContribution = z.output<typeof PanelContributionSchema>\n\nexport const ToolViewContributionSchema = z\n .object({ kind: z.literal('tool-view'), tool: z.string().trim().min(1).max(64) })\n .strict()\nexport type ToolViewContribution = z.output<typeof ToolViewContributionSchema>\n\nexport const RichKindSchema = z\n .string()\n .trim()\n .regex(/^[a-z0-9][a-z0-9._-]{0,62}$/u)\n\nexport const MessageRendererContributionSchema = z\n .object({ kind: z.literal('message-renderer'), richKind: RichKindSchema })\n .strict()\nexport type MessageRendererContribution = z.output<typeof MessageRendererContributionSchema>\n\n/** Optional configuration surface shared by every extension scope. */\nexport const ExtensionConfigDeclarationSchema = z.object({ schema: ConfigSchemaDocumentSchema }).strict()\nexport type ExtensionConfigDeclaration = z.output<typeof ExtensionConfigDeclarationSchema>\n\n/** Product projection of what one Revision contributes to the shell. */\nexport const ExtensionUiContributionsSchema = z\n .object({\n panels: z.array(PanelContributionSchema).max(16),\n toolViews: z.array(z.string().trim().min(1).max(64)).max(32),\n messageRenderers: z.array(RichKindSchema).max(32),\n })\n .strict()\nexport type ExtensionUiContributions = z.output<typeof ExtensionUiContributionsSchema>\n\nexport const EMPTY_EXTENSION_UI_CONTRIBUTIONS: ExtensionUiContributions = {\n panels: [],\n toolViews: [],\n messageRenderers: [],\n}\n\n/** Read permission each Client data hook requires; the host enforces it in every runtime that renders a Client. */\nexport const EXTENSION_DATA_HOOK_PERMISSIONS = {\n useAgent: 'agents.read',\n useChannel: 'channels.read',\n useConnection: 'connections.read',\n useChannelRuntime: 'runtime.read',\n} as const satisfies Readonly<Record<string, HostUiPermission>>\n\nexport type ExtensionDataHookName = keyof typeof EXTENSION_DATA_HOOK_PERMISSIONS\n","import { z } from 'zod'\n\nexport const RuntimeCompatibilityDiagnosticSchema = z\n .object({\n objectKind: z.enum(['agent', 'model-provider', 'extension', 'dsh-plugin', 'adapter', 'client-page']),\n objectId: z.string().min(1),\n objectVersion: z.string().min(1),\n configurationRevision: z.string(),\n runtimeFingerprint: z.string().min(1),\n status: z.enum(['checking', 'compatible', 'isolated']),\n phase: z.enum(['configuration', 'dependency', 'build', 'load', 'render', 'restore', 'dispose']),\n reason: z.string().max(2048).optional(),\n retryable: z.boolean(),\n checkedAt: z.number().int().nonnegative(),\n })\n .strict()\nexport type RuntimeCompatibilityDiagnostic = z.infer<typeof RuntimeCompatibilityDiagnosticSchema>\n\nexport const HostUpgradeSummarySchema = z\n .object({\n runtimeVersion: z.string().min(1),\n sessionCompatibilityId: z.string().min(1),\n backupId: z.string().optional(),\n resetContexts: z.boolean(),\n diagnostics: z.array(RuntimeCompatibilityDiagnosticSchema),\n })\n .strict()\nexport type HostUpgradeSummary = z.infer<typeof HostUpgradeSummarySchema>\n","import { z } from 'zod'\n\nconst NonEmptyStringSchema = z.string().trim().min(1)\nconst Base64UrlSchema = z.string().regex(/^[A-Za-z0-9_-]+$/u)\n\nexport const ServerInstanceIdSchema = z\n .string()\n .regex(/^nxt_instance_[0-9A-HJKMNP-TV-Z]{26}$/u)\n .brand<'ServerInstanceId'>()\nexport type ServerInstanceId = z.output<typeof ServerInstanceIdSchema>\n\nexport const ManagementDeviceIdSchema = z\n .string()\n .regex(/^nxt_device_[0-9A-HJKMNP-TV-Z]{26}$/u)\n .brand<'ManagementDeviceId'>()\nexport type ManagementDeviceId = z.output<typeof ManagementDeviceIdSchema>\n\nexport const InstanceDescriptorWireSchema = z\n .object({\n format: z.literal('nxt.instance-descriptor'),\n descriptorVersion: z.number().int().positive(),\n instanceId: ServerInstanceIdSchema,\n releaseId: NonEmptyStringSchema.max(256),\n productVersion: NonEmptyStringSchema.max(64),\n managementProtocol: z.number().int().positive(),\n desktopChromeProtocol: z.number().int().positive(),\n transport: NonEmptyStringSchema.max(80),\n })\n .passthrough()\nexport type InstanceDescriptorWire = z.output<typeof InstanceDescriptorWireSchema>\n\nexport const InstanceDescriptorSchema = z\n .object({\n format: z.literal('nxt.instance-descriptor'),\n descriptorVersion: z.literal(1),\n instanceId: ServerInstanceIdSchema,\n releaseId: NonEmptyStringSchema.max(256),\n productVersion: NonEmptyStringSchema.max(64),\n managementProtocol: z.union([z.literal(1), z.literal(2)]),\n desktopChromeProtocol: z.literal(1),\n transport: z.enum(['loopback-http', 'auto-tls-pinned-v1', 'explicit-http-v1']),\n })\n .strict()\n .superRefine((value, context) => {\n const valid =\n (value.managementProtocol === 1 &&\n (value.transport === 'loopback-http' || value.transport === 'auto-tls-pinned-v1')) ||\n (value.managementProtocol === 2 && value.transport === 'explicit-http-v1')\n if (!valid) context.addIssue({ code: 'custom', message: 'management protocol 与 transport 不匹配。' })\n })\nexport type InstanceDescriptor = z.output<typeof InstanceDescriptorSchema>\n\nexport const ManagementChallengeResponseSchema = z\n .object({\n challengeId: Base64UrlSchema,\n serverNonce: Base64UrlSchema,\n instanceId: ServerInstanceIdSchema,\n spkiSha256: Base64UrlSchema,\n expiresAt: z.number().int().positive(),\n })\n .strict()\nexport type ManagementChallengeResponse = z.output<typeof ManagementChallengeResponseSchema>\n\nexport const InsecureHttpManagementChallengeResponseSchema = z\n .object({\n challengeId: Base64UrlSchema,\n serverNonce: Base64UrlSchema,\n instanceId: ServerInstanceIdSchema,\n transportBinding: Base64UrlSchema,\n expiresAt: z.number().int().positive(),\n })\n .strict()\nexport type InsecureHttpManagementChallengeResponse = z.output<typeof InsecureHttpManagementChallengeResponseSchema>\n\nexport const ManagementDeviceEnrollmentRequestSchema = z\n .object({\n challengeId: Base64UrlSchema,\n clientNonce: Base64UrlSchema,\n proof: Base64UrlSchema,\n label: z.string().trim().min(1).max(80),\n clientReleaseId: NonEmptyStringSchema.max(256),\n })\n .strict()\nexport type ManagementDeviceEnrollmentRequest = z.input<typeof ManagementDeviceEnrollmentRequestSchema>\n\nexport const ManagementDeviceEnrollmentResponseSchema = z\n .object({\n deviceId: ManagementDeviceIdSchema,\n deviceSecret: Base64UrlSchema,\n })\n .strict()\nexport type ManagementDeviceEnrollmentResponse = z.output<typeof ManagementDeviceEnrollmentResponseSchema>\n\nexport const ManagementSessionRequestSchema = z\n .object({ deviceId: ManagementDeviceIdSchema, deviceSecret: Base64UrlSchema })\n .strict()\nexport type ManagementSessionRequest = z.input<typeof ManagementSessionRequestSchema>\n\nexport const ManagementSessionResponseSchema = z\n .object({ authenticated: z.literal(true), deviceId: ManagementDeviceIdSchema, csrfToken: Base64UrlSchema })\n .strict()\nexport type ManagementSessionResponse = z.output<typeof ManagementSessionResponseSchema>\n\nexport const ManagementDeviceViewSchema = z\n .object({\n id: ManagementDeviceIdSchema,\n label: z.string().trim().min(1).max(80),\n createdAt: z.number().int().nonnegative(),\n lastUsedAt: z.number().int().nonnegative().optional(),\n revokedAt: z.number().int().nonnegative().optional(),\n /** The device this request is signed in with. */\n current: z.boolean().optional(),\n })\n .strict()\nexport type ManagementDeviceView = z.output<typeof ManagementDeviceViewSchema>\n\nexport const ClientNotificationSchema = z\n .object({\n id: z.string().trim().min(1).max(160),\n kind: z.enum(['action-required']),\n title: z.string().trim().min(1).max(80),\n body: z.string().trim().min(1).max(240),\n occurredAt: z.number().int().nonnegative(),\n route: z\n .string()\n .regex(\n /^\\/(?:(?:live|channels|agents|workshop|wiring|settings|apps|work|connections|users|extensions)(?:\\/[^?#]*)?)?$/u,\n )\n .optional(),\n })\n .strict()\nexport type ClientNotification = z.output<typeof ClientNotificationSchema>\n\nexport const MANAGEMENT_PAIR_PROOF_PREFIX = 'nxt-management-pair-v1' as const\n\nexport const managementPairProofMessage = (input: {\n readonly challengeId: string\n readonly serverNonce: string\n readonly clientNonce: string\n readonly instanceId: ServerInstanceId\n readonly spkiSha256: string\n}): string =>\n [\n MANAGEMENT_PAIR_PROOF_PREFIX,\n input.challengeId,\n input.serverNonce,\n input.clientNonce,\n input.instanceId,\n input.spkiSha256,\n ].join('\\n')\n\nexport const INSECURE_HTTP_MANAGEMENT_PAIR_PROOF_PREFIX = 'nxt-management-pair-insecure-http-v1' as const\n\nexport const insecureHttpManagementPairProofMessage = (input: {\n readonly challengeId: string\n readonly serverNonce: string\n readonly clientNonce: string\n readonly instanceId: ServerInstanceId\n readonly transportBinding: string\n}): string =>\n [\n INSECURE_HTTP_MANAGEMENT_PAIR_PROOF_PREFIX,\n input.challengeId,\n input.serverNonce,\n input.clientNonce,\n input.instanceId,\n input.transportBinding,\n ].join('\\n')\n","import { z } from 'zod'\nimport { ExtensionIdSchema } from './domain.js'\n\n/**\n * NekroNXT 社区在本机的投影。Host 代理社区开放接口并把结果归一到这些结构;社区新增的字段在 Host 处丢弃,\n * 不直接透传给页面。审查状态与社区 `ReviewStatus` 一致。\n */\nexport const COMMUNITY_REVIEW_STATUSES = [\n 'pending',\n 'reviewing',\n 'passed',\n 'passed_with_notes',\n 'flagged',\n 'held',\n 'risk_confirmed',\n 'rejected',\n 'incomplete',\n] as const\nexport const CommunityReviewStatusSchema = z.enum(COMMUNITY_REVIEW_STATUSES)\nexport type CommunityReviewStatus = z.output<typeof CommunityReviewStatusSchema>\n\nexport const CommunityGradeSchema = z.enum(['A', 'B', 'C', 'D'])\n\nexport const CommunityReleaseIdSchema = z.string().regex(/^rel_[0-9A-Za-z]+$/u)\n\nexport const CommunityAccountSchema = z\n .object({\n handle: z.string().min(1).max(80),\n displayName: z.string().max(200),\n avatarUrl: z.string().url().nullable(),\n })\n .strict()\nexport type CommunityAccount = z.output<typeof CommunityAccountSchema>\n\nexport const CommunityStatusSchema = z\n .object({\n communityUrl: z.string().url(),\n account: CommunityAccountSchema.nullable(),\n signedInAt: z.number().int().nullable(),\n })\n .strict()\nexport type CommunityStatus = z.output<typeof CommunityStatusSchema>\n\nexport const CommunityPermissionItemSchema = z\n .object({\n key: z.string().max(120),\n level: z.enum(['normal', 'elevated', 'high']),\n label: z.string().max(200),\n detail: z.string().max(2000).optional(),\n })\n .strict()\n\nexport const CommunityReleaseSchema = z\n .object({\n id: CommunityReleaseIdSchema,\n reviewStatus: CommunityReviewStatusSchema,\n grade: CommunityGradeSchema.nullable(),\n permissions: z.array(CommunityPermissionItemSchema).max(64),\n packageSize: z.number().int().nonnegative(),\n requiresSdk: z.number().int().positive().nullable(),\n notes: z.string().max(2000),\n createdAt: z.number().int(),\n })\n .strict()\nexport type CommunityRelease = z.output<typeof CommunityReleaseSchema>\n\nexport const CommunityExtensionSummarySchema = z\n .object({\n id: ExtensionIdSchema,\n scope: z.enum(['agent', 'host-adapter', 'host-ui']),\n displayName: z.string().max(200),\n summary: z.string().max(1000),\n tags: z.array(z.string().max(40)).max(16),\n publisher: CommunityAccountSchema,\n latest: CommunityReleaseSchema.nullable(),\n downloads: z.number().int().nonnegative(),\n updatedAt: z.number().int(),\n pageUrl: z.string().url(),\n })\n .strict()\nexport type CommunityExtensionSummary = z.output<typeof CommunityExtensionSummarySchema>\n\nexport const CommunityExtensionDetailSchema = CommunityExtensionSummarySchema.extend({\n description: z.string().max(20_000),\n sourceUrl: z.string().url().nullable(),\n review: z\n .object({\n status: CommunityReviewStatusSchema,\n grade: CommunityGradeSchema.nullable(),\n summary: z.string().max(2000).nullable(),\n highlights: z.array(z.object({ severity: z.string().max(20), title: z.string().max(200) }).strict()).max(16),\n })\n .strict()\n .nullable(),\n}).strict()\nexport type CommunityExtensionDetail = z.output<typeof CommunityExtensionDetailSchema>\n\n/** 安装者看到的审查标签:只描述审查发现,不做「安全」担保。 */\nexport const communityReviewLabel = (\n status: CommunityReviewStatus,\n): { readonly tone: 'neutral' | 'ok' | 'accent' | 'warn' | 'bad'; readonly label: string } => {\n switch (status) {\n case 'passed':\n return { tone: 'ok', label: '审查通过' }\n case 'passed_with_notes':\n return { tone: 'accent', label: '审查通过,有建议' }\n case 'flagged':\n return { tone: 'warn', label: '有风险,待复审' }\n case 'risk_confirmed':\n return { tone: 'warn', label: '有风险' }\n case 'held':\n return { tone: 'bad', label: '暂停公开,待复审' }\n case 'rejected':\n return { tone: 'bad', label: '未通过' }\n case 'pending':\n case 'reviewing':\n case 'incomplete':\n return { tone: 'neutral', label: '风险未知' }\n }\n}\n","import { z } from 'zod'\nimport { McpServerFormSchema } from './extension-capabilities.js'\nimport { HostUpgradeSummarySchema, RuntimeCompatibilityDiagnosticSchema } from './runtime-compatibility.js'\nimport {\n AgentIdSchema,\n AgentRevisionIdSchema,\n AuthoringAttemptIdSchema,\n AuthoringTaskIdSchema,\n AssetIdSchema,\n ChannelEventIdSchema,\n AdapterActivityKeySchema,\n ChannelIdSchema,\n ChannelMemberIdSchema,\n ConnectionIdSchema,\n ConnectionEventIdSchema,\n DshPluginEntryIdSchema,\n DshPluginPackageIdSchema,\n ExtensionIdSchema,\n ExtensionRevisionIdSchema,\n HostUiPageInstanceIdSchema,\n EpisodeIdSchema,\n JsonValueSchema,\n LogicalMessageIdSchema,\n RichExtensionSchema,\n RichTargetUrlSchema,\n OutboundIntentIdSchema,\n PlatformIdentityIdSchema,\n PromptDocumentV1Schema,\n promptDocumentPlainText,\n} from './domain.js'\nimport { ClientNotificationSchema, ManagementDeviceIdSchema, ManagementDeviceViewSchema } from './management-api.js'\nimport { ConfigSchemaDocumentSchema } from './config-schema.js'\nimport {\n CommunityExtensionDetailSchema,\n CommunityExtensionSummarySchema,\n CommunityReleaseIdSchema,\n CommunityReviewStatusSchema,\n CommunityStatusSchema,\n} from './community.js'\nimport {\n DshNxtHostUiSchema,\n EMPTY_EXTENSION_UI_CONTRIBUTIONS,\n ExtensionUiContributionsSchema,\n PanelContributionSchema,\n RichKindSchema,\n HostPageContributionSchema,\n HostIconNameSchema,\n HostUiKitComponentNameSchema,\n HostUiPageGeometryEvidenceSchema,\n HostUiPageEntrySchema,\n HostUiPermissionDeclarationSchema,\n} from './extension-ui.js'\n\nconst EmptyParamsSchema = z.object({}).strict()\nconst NoRequestBodySchema = z.undefined()\nconst NonEmptyStringSchema = z.string().trim().min(1)\nconst DynamicIdSchema = NonEmptyStringSchema\n\nconst DynamicAttemptStatusSchema = z.enum([\n 'awaiting-approval',\n 'starting-host',\n 'client-pending',\n 'running',\n 'waiting',\n 'rejected',\n 'failed',\n 'cancelled',\n 'stopped',\n])\n\nconst DynamicHalfStateSchema = z\n .object({\n status: z.enum(['absent', 'pending', 'stopped', 'running', 'waiting', 'failed']),\n waitingFor: z.array(z.string()),\n error: z.string().optional(),\n })\n .strict()\n\nconst DynamicAttemptErrorSchema = z\n .object({\n phase: z.enum(['approval', 'host-load', 'host-apply', 'client-load', 'client-apply', 'client-render']),\n message: z.string(),\n stack: z.string().optional(),\n pluginId: DynamicIdSchema,\n packageId: DynamicIdSchema,\n pluginRunId: DynamicIdSchema,\n })\n .strict()\n\nconst DynamicLatestRunSchema = z\n .object({\n pluginRunId: DynamicIdSchema,\n packageId: DynamicIdSchema,\n mode: z.enum(['run', 'update']),\n status: DynamicAttemptStatusSchema,\n approvalRequestId: DynamicIdSchema.optional(),\n requiresApproval: z.boolean().optional(),\n host: DynamicHalfStateSchema,\n client: DynamicHalfStateSchema,\n error: DynamicAttemptErrorSchema.optional(),\n })\n .strict()\n\nconst AuthoringTaskStatusSchema = z.enum([\n 'working',\n 'awaiting-approval',\n 'running',\n 'ready',\n 'repairing',\n 'failed',\n 'interrupted',\n 'stopped',\n 'completed',\n])\n\nconst AuthoringAttemptStateSchema = z.enum([\n 'drafting',\n 'preflight-failed',\n 'awaiting-approval',\n 'starting-host',\n 'loading-client',\n 'verifying',\n 'active',\n 'failed',\n 'rejected',\n 'stopped',\n])\n\nconst AuthoringAttemptSummarySchema = z\n .object({\n id: AuthoringAttemptIdSchema,\n ordinal: z.number().int().positive(),\n name: z.string(),\n purpose: z.string(),\n state: AuthoringAttemptStateSchema,\n riskDigest: z.string().regex(/^[a-f0-9]{64}$/u),\n host: DynamicHalfStateSchema,\n client: DynamicHalfStateSchema,\n error: z\n .object({\n phase: z.enum([\n 'preflight',\n 'approval',\n 'host-load',\n 'host-apply',\n 'client-load',\n 'client-apply',\n 'client-render',\n 'verification',\n 'settlement',\n 'restore',\n ]),\n message: z.string(),\n repairable: z.boolean(),\n })\n .strict()\n .optional(),\n createdAt: z.number().int().nonnegative(),\n settledAt: z.number().int().nonnegative().optional(),\n })\n .strict()\n\nconst AuthoringTaskSummarySchema = z\n .object({\n id: AuthoringTaskIdSchema,\n agentId: AgentIdSchema,\n channelId: ChannelIdSchema,\n episodeId: EpisodeIdSchema,\n title: z.string(),\n requirementSummary: z.string(),\n status: AuthoringTaskStatusSchema,\n approvalPolicy: z.enum(['risk-stable', 'fully-automatic']),\n approvedRiskDigest: z\n .string()\n .regex(/^[a-f0-9]{64}$/u)\n .optional(),\n revision: z.number().int().positive(),\n activeAttempt: AuthoringAttemptSummarySchema.optional(),\n candidateAttempt: AuthoringAttemptSummarySchema.optional(),\n /** Latest attempt that still carries product verification evidence; it can be restored as the candidate. */\n verifiedAttempt: AuthoringAttemptSummarySchema.optional(),\n createdAt: z.number().int().nonnegative(),\n updatedAt: z.number().int().nonnegative(),\n })\n .strict()\nconst ConnectionAliasInputSchema = z\n .string()\n .trim()\n .max(80)\n .transform((value) => value || undefined)\nconst ConnectionAliasOutputSchema = z.string().trim().min(1).max(80)\n\nexport const HostApiErrorSchema = z\n .object({\n error: z\n .object({\n code: NonEmptyStringSchema,\n message: z.string(),\n })\n .strict(),\n })\n .strict()\n\nconst AgentModelSchema = z\n .object({\n provider: NonEmptyStringSchema,\n model: NonEmptyStringSchema,\n reasoningEffort: NonEmptyStringSchema.optional(),\n })\n .strict()\n\nexport const ImageUnderstandingPolicyApiSchema = z\n .object({\n history: z\n .object({\n mode: z.literal('persistent-distinct'),\n detail: z.enum(['low', 'auto', 'high']),\n restoreAfterCompaction: z\n .object({\n recentMessages: z.number().int().min(1).max(100),\n maxImages: z.number().int().min(1).max(50),\n })\n .strict(),\n })\n .strict(),\n textModel: z.discriminatedUnion('mode', [\n z.object({ mode: z.literal('disabled') }).strict(),\n z\n .object({\n mode: z.literal('auxiliary'),\n model: AgentModelSchema,\n maxTokens: z.number().int().min(256).max(8192),\n })\n .strict(),\n ]),\n })\n .strict()\n\nconst AgentCapabilitiesSchema = z\n .object({\n subagents: z.boolean(),\n fileTools: z.boolean(),\n webSearch: z.boolean(),\n dynamicCreation: z.boolean(),\n developmentShell: z.boolean(),\n unrestrictedFileAccess: z.boolean(),\n /** Absent in older clients means on. */\n scheduledTasks: z.boolean().default(true),\n })\n .strict()\n\nexport const DynamicClientApprovalPolicySchema = z.enum(['manual', 'automatic'])\n\nexport const NotificationEventKeySchema = z.enum(['dynamic-client-approval-requested'])\nexport type NotificationEventKey = z.output<typeof NotificationEventKeySchema>\n\nexport const NotificationSettingsViewSchema = z\n .object({\n revision: z.number().int().positive().optional(),\n system: z.object({ enabled: z.boolean() }).strict(),\n bark: z\n .object({\n enabled: z.boolean(),\n serverUrl: z.url(),\n deviceKeyConfigured: z.boolean(),\n })\n .strict(),\n events: z.record(NotificationEventKeySchema, z.boolean()),\n })\n .strict()\n\nexport const UpdateNotificationSettingsRequestSchema = z\n .object({\n expectedRevision: z.number().int().positive().optional(),\n system: z.object({ enabled: z.boolean() }).strict(),\n bark: z\n .object({\n enabled: z.boolean(),\n serverUrl: z.url(),\n deviceKey: z.string().trim().min(1).max(2048).optional(),\n clearDeviceKey: z.boolean().optional(),\n })\n .strict(),\n events: z.record(NotificationEventKeySchema, z.boolean()),\n })\n .strict()\n .refine((value) => !(value.bark.deviceKey !== undefined && value.bark.clearDeviceKey === true), {\n message: '不能同时更新并清除 Bark Device Key。',\n path: ['bark'],\n })\n\nexport const TestBarkNotificationRequestSchema = z\n .object({ serverUrl: z.url(), deviceKey: z.string().trim().min(1).max(2048).optional() })\n .strict()\n\nexport const ClientNotificationFeedResponseSchema = z\n .object({\n cursor: z.number().int().nonnegative(),\n notifications: z.array(ClientNotificationSchema),\n })\n .strict()\n\nconst AgentRevisionRequestContentSchema = z\n .object({\n displayName: z.string().trim().min(1).max(80),\n persona: z\n .string()\n .max(64 * 1024)\n .default(''),\n personaDocument: PromptDocumentV1Schema.optional(),\n model: AgentModelSchema,\n imagePolicy: ImageUnderstandingPolicyApiSchema.optional(),\n dynamicClientApprovalPolicy: DynamicClientApprovalPolicySchema.optional(),\n })\n .strict()\n\nconst validatePersonaDocumentProjection = (\n value: z.output<typeof AgentRevisionRequestContentSchema>,\n context: z.core.$RefinementCtx<z.output<typeof AgentRevisionRequestContentSchema>>,\n): void => {\n if (value.personaDocument !== undefined && promptDocumentPlainText(value.personaDocument) !== value.persona) {\n context.addIssue({\n code: 'custom',\n message: '人设文本必须与结构化人设文档一致。',\n path: ['personaDocument'],\n input: value,\n })\n }\n}\n\nconst CreateAgentRequestSchema = AgentRevisionRequestContentSchema.extend({\n capabilities: AgentCapabilitiesSchema.optional(),\n}).superRefine((value, context) => {\n validatePersonaDocumentProjection(value, context)\n})\n\nconst ReviseAgentRequestSchema = AgentRevisionRequestContentSchema.extend({\n expectedCurrentRevisionId: AgentRevisionIdSchema,\n}).superRefine((value, context) => {\n validatePersonaDocumentProjection(value, context)\n})\n\n// The default that fills `scheduledTasks` for older clients must not turn it on in a partial update.\nconst UpdateAgentCapabilitiesRequestSchema = AgentCapabilitiesSchema.partial()\n .extend({ scheduledTasks: z.boolean().optional() })\n .strict()\n .refine((value) => Object.values(value).some((entry) => entry !== undefined), '至少提供一个能力。')\n\nconst TriggerPolicySchema = z.enum(['always', 'mentioned-or-replied', 'command', 'observe-only'])\n\nexport const WorkTreeOrderSchema = z\n .object({\n agentIds: z.array(AgentIdSchema),\n channelIdsByAgent: z.record(AgentIdSchema, z.array(ChannelIdSchema)),\n unboundChannelIds: z.array(ChannelIdSchema),\n })\n .strict()\n\nexport type WorkTreeOrder = z.output<typeof WorkTreeOrderSchema>\n\nconst SnapshotMessagePartSchema = z.discriminatedUnion('type', [\n z.object({ type: z.literal('text'), text: z.string() }).strict(),\n z\n .object({ type: z.literal('mention'), memberId: ChannelMemberIdSchema, displayName: z.string().optional() })\n .strict(),\n z.object({ type: z.literal('image'), assetId: AssetIdSchema, alt: z.string().optional() }).strict(),\n z.object({ type: z.literal('file'), assetId: AssetIdSchema, name: z.string().optional() }).strict(),\n z.object({ type: z.literal('audio'), assetId: AssetIdSchema }).strict(),\n z.object({ type: z.literal('quote'), messageId: LogicalMessageIdSchema }).strict(),\n z\n .object({\n type: z.literal('rich'),\n adapterKey: z.string().trim().min(1).max(64),\n kind: z.string().trim().min(1).max(64),\n summary: z.string().trim().min(1).max(500),\n title: z.string().trim().min(1).max(200).optional(),\n source: z.string().trim().min(1).max(80).optional(),\n targetUrl: RichTargetUrlSchema.optional(),\n previewAssetId: AssetIdSchema.optional(),\n extension: RichExtensionSchema.optional(),\n })\n .strict(),\n])\n\nexport const HostSnapshotMessageSchema = z\n .object({\n id: z.union([ChannelEventIdSchema, OutboundIntentIdSchema]),\n channelId: ChannelIdSchema,\n role: z.enum(['member', 'agent', 'system']),\n parts: z.array(SnapshotMessagePartSchema),\n sender: z.object({ memberId: ChannelMemberIdSchema, displayName: z.string().optional() }).strict().optional(),\n mentionedConnectionAccount: z.boolean().optional(),\n activityKey: AdapterActivityKeySchema.optional(),\n targetLogicalMessageId: LogicalMessageIdSchema.optional(),\n occurredAt: z.number().finite(),\n deliveryState: z.enum(['planned', 'sending', 'sent', 'partially-sent', 'failed', 'unknown']).optional(),\n /** Latest administrator resolution of an unsettled delivery; history keeps the original receipt state. */\n deliveryResolution: z\n .object({\n action: z.enum(['retry', 'confirm-delivered']),\n resolvedAt: z.number().int().safe().nonnegative(),\n })\n .strict()\n .optional(),\n origin: z.enum(['admin-console']).optional(),\n /** What the agent's inbound hooks decided for this message, when anything differs from the default. */\n inboundHook: z\n .object({\n trigger: z.enum(['default', 'suppress', 'force']),\n hidden: z.boolean(),\n annotation: z.string().optional(),\n extensions: z.array(z.string()),\n problems: z.array(z.string()).optional(),\n })\n .strict()\n .optional(),\n /** A scheduled task came due: a Host fact shown as a notice, not a member message. */\n scheduledTask: z\n .object({ label: z.string(), extensionName: z.string().optional(), note: z.string().optional() })\n .strict()\n .optional(),\n })\n .strict()\n\nexport type HostSnapshotMessage = z.output<typeof HostSnapshotMessageSchema>\n\nexport const HostConnectionEventSchema = z\n .object({\n id: ConnectionEventIdSchema,\n connectionId: ConnectionIdSchema,\n activityKey: AdapterActivityKeySchema,\n summary: z.string(),\n actor: z.object({ identityId: PlatformIdentityIdSchema, displayName: z.string().optional() }).strict().optional(),\n subject: z.object({ identityId: PlatformIdentityIdSchema, displayName: z.string().optional() }).strict().optional(),\n occurredAt: z.number().int().safe().nonnegative(),\n })\n .strict()\n\nexport type HostConnectionEvent = z.output<typeof HostConnectionEventSchema>\n\nconst PlatformUserChannelPreviewSchema = z\n .object({\n id: ChannelIdSchema,\n displayName: z.string().trim().min(1).max(120).optional(),\n kind: z.enum(['internal', 'direct', 'group']),\n })\n .strict()\n\nconst PlatformUserFacetAdapterSchema = z\n .object({ key: NonEmptyStringSchema, displayName: NonEmptyStringSchema, userCount: z.number().int().nonnegative() })\n .strict()\n\nconst PlatformUserFacetConnectionSchema = z\n .object({\n id: ConnectionIdSchema,\n adapterKey: NonEmptyStringSchema,\n displayName: NonEmptyStringSchema,\n userCount: z.number().int().nonnegative(),\n })\n .strict()\n\nexport const PlatformUserListResponseSchema = z\n .object({\n total: z.number().int().nonnegative(),\n items: z.array(\n z\n .object({\n identityId: PlatformIdentityIdSchema,\n displayName: z.string().trim().min(1).max(120).optional(),\n adapter: z.object({ key: NonEmptyStringSchema, displayName: NonEmptyStringSchema }).strict(),\n connection: z.object({ id: ConnectionIdSchema, displayName: NonEmptyStringSchema }).strict(),\n activeChannelCount: z.number().int().nonnegative(),\n channelPreview: z.array(PlatformUserChannelPreviewSchema).max(3),\n historicalOnly: z.boolean(),\n })\n .strict(),\n ),\n facets: z\n .object({\n adapters: z.array(PlatformUserFacetAdapterSchema),\n connections: z.array(PlatformUserFacetConnectionSchema),\n })\n .strict(),\n nextCursor: PlatformIdentityIdSchema.optional(),\n })\n .strict()\n\nexport type PlatformUserListResponse = z.output<typeof PlatformUserListResponseSchema>\n\nexport const ChannelFactSseItemSchema = z\n .object({\n kind: z.enum(['inbound', 'outbound']),\n sourceId: z.union([ChannelEventIdSchema, OutboundIntentIdSchema]),\n message: HostSnapshotMessageSchema,\n })\n .strict()\n\nexport const ChannelFactSseDataSchema = z\n .object({\n channelId: ChannelIdSchema,\n revision: z.number().int().positive(),\n items: z.array(ChannelFactSseItemSchema).min(1),\n })\n .strict()\n\nexport const ChannelRuntimePhaseSchema = z.enum(['idle', 'thinking', 'using-tool', 'waiting-input', 'unavailable'])\n\nexport const ChannelRuntimeUsageSchema = z\n .object({\n inputTokens: z.number().int().nonnegative(),\n outputTokens: z.number().int().nonnegative(),\n totalTokens: z.number().int().nonnegative().optional(),\n cacheReadTokens: z.number().int().nonnegative().optional(),\n cacheWriteTokens: z.number().int().nonnegative().optional(),\n reasoningTokens: z.number().int().nonnegative().optional(),\n })\n .strict()\n\nexport const ChannelRuntimeToolSchema = z\n .object({\n callId: NonEmptyStringSchema,\n name: NonEmptyStringSchema,\n displayName: NonEmptyStringSchema,\n state: z.enum(['running', 'succeeded', 'failed']),\n inputPreview: z.string().optional(),\n resultPreview: z.string().optional(),\n wroteToChannel: z.boolean().optional(),\n deliveryState: z.enum(['sent', 'partially-sent', 'failed', 'unknown']).optional(),\n durationMs: z.number().int().nonnegative().optional(),\n })\n .strict()\n\nexport const ChannelRuntimeStepSchema = z\n .object({\n step: z.number().int().nonnegative(),\n tools: z.array(ChannelRuntimeToolSchema),\n internalOutput: z\n .object({\n kind: z.literal('internal-output'),\n text: z.string().optional(),\n reasoning: z.string().optional(),\n })\n .strict()\n .optional(),\n durationMs: z.number().int().nonnegative().optional(),\n firstTokenMs: z.number().int().nonnegative().optional(),\n usage: ChannelRuntimeUsageSchema.optional(),\n })\n .strict()\n\nexport const ChannelRuntimeTurnSchema = z\n .object({\n turn: z.number().int().nonnegative(),\n state: z.enum(['in-progress', 'completed', 'unreplied', 'aborted', 'error', 'max-tokens', 'interrupted']),\n producedReply: z.boolean(),\n responseState: z.enum(['not-required', 'pending', 'sent', 'finished', 'protocol-failed', 'interrupted']),\n error: z.object({ code: NonEmptyStringSchema, message: z.string() }).strict().optional(),\n steps: z.array(ChannelRuntimeStepSchema),\n durationMs: z.number().int().nonnegative().optional(),\n /** Session log time the turn opened. */\n startedAt: z.number().int().safe().nonnegative().optional(),\n /** Session log time the turn closed; absent while it is still running. */\n endedAt: z.number().int().safe().nonnegative().optional(),\n /** Newest Channel Event of the admission that opened this turn; absent for non-channel turns. */\n triggerEventId: ChannelEventIdSchema.optional(),\n })\n .strict()\n\nexport const ChannelRuntimeOccupancySchema = z\n .object({\n projectedTokens: z.number().int().nonnegative(),\n contextWindow: z.number().int().positive(),\n breakdown: z\n .object({\n systemTokens: z.number().int().nonnegative(),\n toolsTokens: z.number().int().nonnegative(),\n messageTokens: z.number().int().nonnegative(),\n })\n .strict()\n .optional(),\n })\n .strict()\n\nexport const ChannelRuntimeCacheSampleSchema = z\n .object({\n turn: z.number().int().nonnegative(),\n step: z.number().int().nonnegative(),\n at: z.number().nonnegative().optional(),\n uncachedInputTokens: z.number().int().nonnegative(),\n cacheReadTokens: z.number().int().nonnegative().optional(),\n cacheWriteTokens: z.number().int().nonnegative().optional(),\n })\n .strict()\n\nexport const ChannelRuntimeCacheSchema = z\n .object({\n scope: z.literal('episode'),\n aggregate: z\n .object({\n usageRequestCount: z.number().int().nonnegative(),\n observedRequestCount: z.number().int().nonnegative(),\n shareRequestCount: z.number().int().nonnegative(),\n hitRequestCount: z.number().int().nonnegative(),\n uncachedInputTokens: z.number().int().nonnegative(),\n cacheReadTokens: z.number().int().nonnegative(),\n cacheWriteTokens: z.number().int().nonnegative(),\n averageRequestReadShare: z.number().min(0).max(1).optional(),\n })\n .strict(),\n recent: z\n .object({\n windowSize: z.number().int().positive(),\n samples: z.array(ChannelRuntimeCacheSampleSchema),\n })\n .strict(),\n })\n .strict()\n\nexport const ChannelRuntimePerformanceSampleSchema = z\n .object({\n turn: z.number().int().nonnegative(),\n step: z.number().int().nonnegative(),\n at: z.number().nonnegative().optional(),\n firstTokenMs: z.number().int().nonnegative().optional(),\n decodeMs: z.number().int().nonnegative().optional(),\n outputTokens: z.number().int().nonnegative().optional(),\n })\n .strict()\n\nexport const ChannelRuntimePerformanceSchema = z\n .object({\n scope: z.literal('episode'),\n aggregate: z\n .object({\n steps: z.number().int().nonnegative(),\n llmMs: z.number().nonnegative(),\n toolMs: z.number().nonnegative(),\n ttftMs: z.number().nonnegative(),\n ttftSteps: z.number().int().nonnegative(),\n decodeMs: z.number().nonnegative(),\n decodeTokens: z.number().int().nonnegative(),\n decodeSteps: z.number().int().nonnegative(),\n retryCount: z.number().int().nonnegative(),\n retryDelayMs: z.number().nonnegative(),\n })\n .strict(),\n recent: z\n .object({\n windowSize: z.number().int().positive(),\n samples: z.array(ChannelRuntimePerformanceSampleSchema),\n })\n .strict(),\n })\n .strict()\n\nexport const ChannelRuntimeProjectionSchema = z\n .object({\n channelId: ChannelIdSchema,\n agentId: AgentIdSchema.optional(),\n episodeId: EpisodeIdSchema.optional(),\n phase: ChannelRuntimePhaseSchema,\n summary: z.string(),\n pendingInjectCount: z.number().int().nonnegative(),\n occupancy: ChannelRuntimeOccupancySchema.optional(),\n cache: ChannelRuntimeCacheSchema.optional(),\n performance: ChannelRuntimePerformanceSchema.optional(),\n turns: z.array(ChannelRuntimeTurnSchema),\n })\n .strict()\n\nexport const ChannelRuntimeSseDataSchema = ChannelRuntimeProjectionSchema.extend({\n revision: z.number().int().positive(),\n truncated: z.boolean().optional(),\n}).strict()\n\nexport type ChannelRuntimePhase = z.output<typeof ChannelRuntimePhaseSchema>\nexport type ChannelRuntimeUsage = z.output<typeof ChannelRuntimeUsageSchema>\nexport type ChannelRuntimeOccupancy = z.output<typeof ChannelRuntimeOccupancySchema>\nexport type ChannelRuntimeCacheSample = z.output<typeof ChannelRuntimeCacheSampleSchema>\nexport type ChannelRuntimeCache = z.output<typeof ChannelRuntimeCacheSchema>\nexport type ChannelRuntimePerformanceSample = z.output<typeof ChannelRuntimePerformanceSampleSchema>\nexport type ChannelRuntimePerformance = z.output<typeof ChannelRuntimePerformanceSchema>\nexport type ChannelRuntimeProjection = z.output<typeof ChannelRuntimeProjectionSchema>\nexport type ChannelRuntimeSseData = z.output<typeof ChannelRuntimeSseDataSchema>\nexport type ChannelFactSseData = z.output<typeof ChannelFactSseDataSchema>\n\nconst AdapterConnectionCreationSchema = z\n .object({\n mode: z.enum(['schema-form', 'qr-login']),\n actionLabel: z.string().trim().min(1).optional(),\n pendingLabel: z.string().trim().min(1).optional(),\n })\n .strict()\n\nconst AdapterConnectionDescriptorSchema = z\n .object({\n key: NonEmptyStringSchema,\n displayName: z.string(),\n description: z.string(),\n provisioning: z.enum(['user-created', 'system-singleton']),\n aliasEditable: z.boolean(),\n channelDiscovery: z.enum(['host-created', 'adapter-observed']),\n channelKinds: z.array(z.enum(['internal', 'direct', 'group'])).min(1),\n activities: z.array(\n z\n .object({\n key: AdapterActivityKeySchema,\n scope: z.enum(['channel', 'connection']),\n displayName: z.string().trim().min(1),\n description: z.string().trim().min(1),\n icon: HostIconNameSchema.optional(),\n triggerable: z.boolean(),\n channelKinds: z.array(z.enum(['internal', 'direct', 'group'])).optional(),\n })\n .strict(),\n ),\n features: z\n .object({\n processingFeedback: z\n .object({ channelKinds: z.array(z.enum(['direct', 'group'])).min(1) })\n .strict()\n .optional(),\n })\n .strict(),\n diagnostics: z.object({ receive: z.boolean(), send: z.boolean() }).strict(),\n creation: AdapterConnectionCreationSchema.optional(),\n /** Typed platform actions the Adapter offers to agent extensions (`ctx.nxt.platform`). */\n platformActions: z\n .array(\n z\n .object({\n name: z.string().regex(/^[a-z0-9_]{1,64}$/u),\n title: z.string(),\n description: z.string(),\n risk: z.enum(['low', 'admin']),\n channelKinds: z.array(z.enum(['direct', 'group'])).min(1),\n parameters: z\n .object({\n type: z.literal('object'),\n properties: z.record(z.string(), JsonValueSchema),\n required: z.array(z.string()).optional(),\n })\n .strict(),\n })\n .strict(),\n )\n .optional(),\n rawApi: z.object({ description: z.string() }).strict().optional(),\n configSchema: ConfigSchemaDocumentSchema,\n })\n .strict()\n\nconst AdapterCapabilityStateSchema = z\n .object({\n state: z.enum(['available', 'disabled', 'unsupported', 'degraded', 'unknown']),\n reason: z.string().optional(),\n })\n .strict()\n\nconst ActivityTriggerOverridesSchema = z.record(AdapterActivityKeySchema, z.boolean())\n\nexport const HostSyncCursorSchema = z\n .object({\n epoch: z.string().regex(/^[a-zA-Z0-9_-]{1,100}$/u),\n sequence: z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),\n })\n .strict()\n\nexport const AgentAppearanceSchema = z\n .object({\n hue: z.number().int().min(0).max(359).optional(),\n avatarAssetId: AssetIdSchema.optional(),\n })\n .strict()\n\nexport type AgentAppearance = z.output<typeof AgentAppearanceSchema>\n\n/** Upper bound of a reported unread count; `unreadCapped` marks that more exist. */\nexport const CHANNEL_UNREAD_COUNT_CAP = 99\n\nexport const ChannelActivitySummarySchema = z\n .object({\n lastActivityAt: z.number().int().safe().nonnegative().optional(),\n lastMessage: z\n .object({\n role: z.enum(['member', 'agent', 'admin', 'system']),\n author: z.string().max(120),\n preview: z.string().max(160),\n occurredAt: z.number().int().safe().nonnegative(),\n })\n .strict()\n .optional(),\n unreadCount: z.number().int().nonnegative().max(CHANNEL_UNREAD_COUNT_CAP),\n unreadCapped: z.boolean(),\n })\n .strict()\n\nexport type ChannelActivitySummary = z.output<typeof ChannelActivitySummarySchema>\n\nexport const AttentionItemSchema = z\n .object({\n /** Stable fingerprint; a recurrence of the same condition gets a new fingerprint. */\n id: z.string().min(1).max(200),\n kind: z.enum([\n 'delivery-unconfirmed',\n 'delivery-failed',\n 'turn-failed',\n 'authoring-approval',\n 'connection-unhealthy',\n 'agent-model-unavailable',\n 'agent-vision-unavailable',\n ]),\n severity: z.enum(['critical', 'warning', 'info']),\n subject: z\n .object({\n kind: z.enum(['outbound', 'channel', 'authoring-task', 'connection', 'agent']),\n id: NonEmptyStringSchema,\n })\n .strict(),\n related: z\n .object({\n channelId: ChannelIdSchema.optional(),\n agentId: AgentIdSchema.optional(),\n connectionId: ConnectionIdSchema.optional(),\n taskId: AuthoringTaskIdSchema.optional(),\n outboundId: OutboundIntentIdSchema.optional(),\n })\n .strict(),\n title: z.string().min(1).max(120),\n detail: z.string().max(400),\n action: z\n .object({\n kind: z.enum(['open-channel', 'resolve-delivery', 'open-authoring-task', 'open-connection', 'open-agent']),\n label: z.string().min(1).max(40),\n })\n .strict(),\n occurredAt: z.number().int().safe().nonnegative(),\n })\n .strict()\n\nexport type AttentionItem = z.output<typeof AttentionItemSchema>\n\nexport const AttentionListSchema = z\n .object({\n revision: z.string().min(1),\n items: z.array(AttentionItemSchema).max(200),\n })\n .strict()\n\nexport const ChannelPendingContextSchema = z\n .object({\n channelId: ChannelIdSchema,\n episodeId: EpisodeIdSchema.optional(),\n items: z.array(\n z\n .object({\n admissionId: NonEmptyStringSchema,\n /** `next-step`: injected at the next safe step boundary; `next-turn`: waits for a later turn. */\n target: z.enum(['next-step', 'next-turn']),\n events: z.array(\n z\n .object({\n eventId: ChannelEventIdSchema,\n author: z.string().max(120),\n preview: z.string().max(160),\n receivedAt: z.number().int().safe().nonnegative(),\n })\n .strict(),\n ),\n })\n .strict(),\n ),\n })\n .strict()\n\nexport type ChannelPendingContext = z.output<typeof ChannelPendingContextSchema>\n\nexport const ACTIVITY_MAX_WINDOW_MS = 24 * 60 * 60 * 1000\nexport const ACTIVITY_MIN_BUCKET_MS = 60 * 1000\nexport const ACTIVITY_MAX_BUCKETS = 288\n\nconst ActivityDurationSchema = z.string().regex(/^[1-9][0-9]{0,4}[mh]$/u)\n\nexport const activityDurationMs = (value: string): number => {\n const amount = Number(value.slice(0, -1))\n return value.endsWith('h') ? amount * 60 * 60 * 1000 : amount * 60 * 1000\n}\n\nexport const ActivityQuerySchema = z\n .object({\n window: ActivityDurationSchema.default('2h'),\n bucket: ActivityDurationSchema.default('5m'),\n })\n .strict()\n .superRefine((value, context) => {\n const window = activityDurationMs(value.window)\n const bucket = activityDurationMs(value.bucket)\n if (window > ACTIVITY_MAX_WINDOW_MS)\n context.addIssue({ code: 'custom', path: ['window'], message: '统计窗口不能超过 24 小时。' })\n if (bucket < ACTIVITY_MIN_BUCKET_MS)\n context.addIssue({ code: 'custom', path: ['bucket'], message: '统计间隔不能小于 1 分钟。' })\n if (bucket > window) context.addIssue({ code: 'custom', path: ['bucket'], message: '统计间隔不能大于统计窗口。' })\n if (window / bucket > ACTIVITY_MAX_BUCKETS) {\n context.addIssue({ code: 'custom', path: ['bucket'], message: `统计桶不能超过 ${ACTIVITY_MAX_BUCKETS} 个。` })\n }\n })\n\nexport const ChannelActivitySeriesSchema = z\n .object({\n from: z.number().int().safe().nonnegative(),\n to: z.number().int().safe().nonnegative(),\n bucketMs: z.number().int().positive(),\n channels: z.array(\n z\n .object({\n channelId: ChannelIdSchema,\n counts: z.array(z.number().int().nonnegative()).max(ACTIVITY_MAX_BUCKETS),\n total: z.number().int().nonnegative(),\n })\n .strict(),\n ),\n })\n .strict()\n\nexport type ChannelActivitySeries = z.output<typeof ChannelActivitySeriesSchema>\n\nexport const ScheduledTaskIdSchema = z.string().regex(/^job_[0-9A-Za-z]+$/u)\n\n/**\n * One scheduled task of an agent in one channel. `chat` tasks come from the agent's scheduling tools; `declared` and\n * `runtime` tasks belong to an extension (Manifest plan or `ctx.nxt.jobs`).\n */\nexport const ScheduledTaskSchema = z\n .object({\n id: ScheduledTaskIdSchema,\n agentId: AgentIdSchema,\n channelId: ChannelIdSchema,\n source: z.enum(['chat', 'declared', 'runtime']),\n extensionId: ExtensionIdSchema.optional(),\n extensionName: z.string().optional(),\n label: z.string(),\n note: z.string().optional(),\n schedule: z.discriminatedUnion('kind', [\n z.object({ kind: z.literal('once'), at: z.number().int().safe() }).strict(),\n z.object({ kind: z.literal('cron'), cron: z.string(), timezone: z.string() }).strict(),\n ]),\n /** `inactive`: the owning extension is disabled for this agent, so the task stays silent. */\n state: z.enum(['scheduled', 'paused', 'finished', 'inactive']),\n nextRunAt: z.number().int().safe().optional(),\n lastFiredAt: z.number().int().safe().optional(),\n createdAt: z.number().int().safe(),\n })\n .strict()\n\nexport type ScheduledTask = z.output<typeof ScheduledTaskSchema>\n\nexport const HostSnapshotSchema = z\n .object({\n upgrade: HostUpgradeSummarySchema.optional(),\n cursor: HostSyncCursorSchema,\n diagnosticsSampledAt: z.number().int().nonnegative(),\n productMetadata: z\n .object({\n displayName: NonEmptyStringSchema,\n organizationName: NonEmptyStringSchema,\n version: NonEmptyStringSchema,\n releaseId: NonEmptyStringSchema,\n repositoryUrl: z.url(),\n licenseSpdx: NonEmptyStringSchema.nullable(),\n dshVersion: NonEmptyStringSchema.optional(),\n })\n .strict()\n .optional(),\n models: z.array(\n z\n .object({\n provider: NonEmptyStringSchema,\n providerName: NonEmptyStringSchema,\n id: NonEmptyStringSchema,\n name: z.string(),\n description: z.string().optional(),\n inputModalities: z.array(z.string()).optional(),\n })\n .strict(),\n ),\n capabilityAvailability: z\n .object({\n subagents: z.object({ available: z.boolean() }).strict(),\n webSearch: z\n .object({\n provider: z.literal('deepseek-official'),\n available: z.boolean(),\n credentialConfigured: z.boolean(),\n credentialReference: NonEmptyStringSchema,\n maxUsesPerCall: z.number().int().nonnegative(),\n maxResultsPerCall: z.number().int().nonnegative(),\n timeoutMs: z.number().int().nonnegative(),\n })\n .strict(),\n })\n .strict(),\n connectionAdapters: z.array(AdapterConnectionDescriptorSchema),\n notificationSettings: NotificationSettingsViewSchema,\n agents: z.array(\n z\n .object({\n id: AgentIdSchema,\n displayName: z.string(),\n persona: z.string(),\n personaDocument: PromptDocumentV1Schema,\n model: AgentModelSchema,\n capabilities: AgentCapabilitiesSchema,\n imagePolicy: ImageUnderstandingPolicyApiSchema,\n dynamicClientApprovalPolicy: DynamicClientApprovalPolicySchema,\n imageDiagnostics: z\n .object({\n route: z\n .object({\n mode: z.enum(['direct', 'delegated', 'unavailable']),\n provider: z.string().optional(),\n model: z.string().optional(),\n })\n .strict(),\n activeSessions: z.number().int().nonnegative(),\n residentImages: z.number().int().nonnegative(),\n duplicateImagesSkipped: z.number().int().nonnegative(),\n lastInspection: z\n .object({\n mode: z.enum(['direct', 'delegated']),\n imageCount: z.number().int().nonnegative(),\n provider: z.string().optional(),\n model: z.string().optional(),\n cacheHit: z.boolean(),\n usage: ChannelRuntimeUsageSchema.optional(),\n errorCode: z.string().optional(),\n })\n .strict()\n .optional(),\n lastRestoration: z\n .object({\n compactionId: z.string(),\n candidateCount: z.number().int().nonnegative(),\n restoredCount: z.number().int().nonnegative(),\n skippedCount: z.number().int().nonnegative(),\n error: z.string().optional(),\n })\n .strict()\n .optional(),\n blockers: z.array(z.string()),\n })\n .strict(),\n currentRevisionId: AgentRevisionIdSchema,\n runtimeStatus: z.enum(['idle', 'running']),\n runtimePhase: ChannelRuntimePhaseSchema.default('idle'),\n createdAt: z.number().finite(),\n channels: z.array(ChannelIdSchema),\n appearance: AgentAppearanceSchema.default({}),\n })\n .strict(),\n ),\n channels: z.array(\n z\n .object({\n id: ChannelIdSchema,\n connectionId: ConnectionIdSchema,\n platformChannelId: NonEmptyStringSchema,\n kind: z.enum(['internal', 'group', 'direct']),\n displayName: z.string().optional(),\n boundAgentId: AgentIdSchema.optional(),\n runtimePhase: ChannelRuntimePhaseSchema.default('idle'),\n activity: ChannelActivitySummarySchema.default({ unreadCount: 0, unreadCapped: false }),\n bindings: z.array(\n z\n .object({\n channelId: ChannelIdSchema,\n agentId: AgentIdSchema,\n triggerPolicy: TriggerPolicySchema,\n processingFeedback: z.enum(['auto', 'off']).default('auto'),\n activityTriggerOverrides: ActivityTriggerOverridesSchema.default({}),\n boundAt: z.number().int().safe().nonnegative(),\n })\n .strict(),\n ),\n })\n .strict(),\n ),\n workTreeOrder: WorkTreeOrderSchema.default({\n agentIds: [],\n channelIdsByAgent: {},\n unboundChannelIds: [],\n }),\n messages: z.array(HostSnapshotMessageSchema),\n connections: z.array(\n z\n .object({\n id: ConnectionIdSchema,\n adapterKey: NonEmptyStringSchema,\n alias: ConnectionAliasOutputSchema.optional(),\n activityTriggerDefaults: z.array(AdapterActivityKeySchema).default([]),\n status: z\n .object({\n state: z.enum(['stopped', 'connecting', 'connected', 'reconnecting', 'failed']),\n message: z.string().optional(),\n credentialConfigured: z.boolean(),\n proactiveSend: z.boolean(),\n accountReference: z.string().optional(),\n implementation: z\n .object({\n name: z.string().optional(),\n version: z.string().optional(),\n protocolVersion: z.string().optional(),\n })\n .strict()\n .optional(),\n optionalCapabilities: z\n .record(z.string(), z.enum(['unknown', 'available', 'unsupported', 'degraded']))\n .optional(),\n activities: z.record(z.string(), AdapterCapabilityStateSchema).default({}),\n processingFeedback: AdapterCapabilityStateSchema.optional(),\n })\n .strict()\n .default({ state: 'stopped', credentialConfigured: false, proactiveSend: false, activities: {} }),\n channelCount: z.number().int().nonnegative(),\n knownChannels: z.array(\n z.object({ id: ChannelIdSchema, name: z.string(), kind: z.enum(['internal', 'group', 'direct']) }).strict(),\n ),\n lastInbound: z\n .object({\n channelId: ChannelIdSchema,\n platformMessageId: NonEmptyStringSchema,\n receivedAt: z.number().int().safe().nonnegative(),\n })\n .strict()\n .optional(),\n receiveTest: z.lazy(() => ConnectionTestResultSchema).optional(),\n sendTest: z.lazy(() => ConnectionTestResultSchema).optional(),\n configuration: z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])).default({}),\n })\n .strict(),\n ),\n archivedConnections: z\n .array(\n z\n .object({\n id: ConnectionIdSchema,\n adapterKey: NonEmptyStringSchema,\n alias: ConnectionAliasOutputSchema.optional(),\n channelCount: z.number().int().nonnegative(),\n archivedAt: z.number().int().safe().nonnegative(),\n })\n .strict(),\n )\n .default([]),\n extensions: z.array(\n z\n .object({\n id: ExtensionIdSchema,\n scope: z.enum(['agent', 'host-adapter', 'host-ui']),\n slug: NonEmptyStringSchema,\n displayName: z.string(),\n description: z.string(),\n createdByAgentId: AgentIdSchema.optional(),\n revisions: z.array(\n z\n .object({\n id: ExtensionRevisionIdSchema,\n revisionNumber: z.number().int().positive(),\n format: z.enum(['current', 'unavailable']).optional(),\n ui: ExtensionUiContributionsSchema.default(EMPTY_EXTENSION_UI_CONTRIBUTIONS),\n configSchema: ConfigSchemaDocumentSchema.optional(),\n createdAt: z.number().int().safe().nonnegative(),\n scope: z.enum(['agent', 'host-adapter', 'host-ui']),\n contributions: z.array(z.string()),\n verification: z\n .object({\n verifiedAt: z.number().int().nonnegative(),\n dshVersion: z.string(),\n contractVersion: z.string(),\n hostBuilt: z.boolean(),\n clientBuilt: z.boolean(),\n buildKey: z.string(),\n toolInvocationCount: z.number().int().nonnegative(),\n rpcMethods: z.array(z.string()),\n renderedPanels: z.array(z.string()).default([]),\n renderedToolViews: z.array(z.string()).default([]),\n renderedMessageRenderers: z.array(z.string()).default([]),\n renderedPages: z.array(HostPageContributionSchema).max(8).optional(),\n usedUiComponents: z.array(HostUiKitComponentNameSchema).optional(),\n pageGeometry: z.array(HostUiPageGeometryEvidenceSchema).max(8).optional(),\n permissions: HostUiPermissionDeclarationSchema.optional(),\n permissionDigest: z\n .string()\n .regex(/^[a-f0-9]{64}$/u)\n .optional(),\n permissionApprovalRequired: z.boolean().optional(),\n adapter: z\n .object({\n apiVersion: z.literal(2),\n key: NonEmptyStringSchema,\n descriptorDigest: z.string().regex(/^[a-f0-9]{64}$/u),\n registered: z.boolean(),\n started: z.boolean(),\n stopped: z.boolean(),\n inboundCommitted: z.boolean(),\n outboundReceipt: z.enum(['sent', 'failed', 'unknown']),\n })\n .strict()\n .optional(),\n })\n .strict()\n .optional(),\n })\n .strict(),\n ),\n activations: z.array(\n z\n .object({\n agentId: AgentIdSchema,\n extensionRevisionId: ExtensionRevisionIdSchema,\n /** Secret fields are removed; `configuredSecrets` lists those the Host stores. */\n config: JsonValueSchema,\n configuredSecrets: z.array(z.string()).optional(),\n activatedAt: z.number().int().safe().nonnegative(),\n runtime: z\n .object({\n status: z.enum(['active', 'restore-failed', 'dispose-failed']),\n message: z.string().optional(),\n observedAt: z.number().int().safe().nonnegative(),\n })\n .optional(),\n /** Latest connection attempt of each MCP server this Activation declares. */\n mcpServers: z\n .array(\n z\n .object({\n name: z.string(),\n state: z.enum(['connecting', 'connected', 'unavailable', 'missing-credentials']),\n toolCount: z.number().int().nonnegative().optional(),\n missing: z.array(z.string()).optional(),\n message: z.string().optional(),\n observedAt: z.number().int().safe().nonnegative(),\n })\n .strict(),\n )\n .optional(),\n })\n .strict(),\n ),\n installation: z\n .object({\n extensionRevisionId: ExtensionRevisionIdSchema,\n installedAt: z.number().int().safe().nonnegative(),\n config: JsonValueSchema.default({}),\n runtime: z\n .object({\n status: z.enum(['active', 'restore-failed', 'dispose-failed']),\n message: z.string().optional(),\n observedAt: z.number().int().safe().nonnegative(),\n })\n .optional(),\n })\n .strict()\n .optional(),\n hostUiPermission: z\n .object({\n declaration: HostUiPermissionDeclarationSchema,\n permissionDigest: z.string().regex(/^[a-f0-9]{64}$/u),\n approvalRequired: z.boolean(),\n })\n .strict()\n .optional(),\n hostClientDiagnostic: z\n .object({\n revisionId: ExtensionRevisionIdSchema,\n status: z.enum(['loaded', 'failed']),\n message: z.string().optional(),\n observedAt: z.number().int().safe().nonnegative(),\n })\n .strict()\n .optional(),\n clientDiagnostics: z.array(\n z\n .object({\n agentId: AgentIdSchema,\n revisionId: ExtensionRevisionIdSchema,\n status: z.enum(['loaded', 'failed']),\n message: z.string().optional(),\n observedAt: z.number().int().nonnegative(),\n })\n .strict(),\n ),\n })\n .strict(),\n ),\n hostUi: z\n .object({\n preferencesRevision: z.number().int().nonnegative(),\n pages: z.array(HostUiPageEntrySchema),\n })\n .strict()\n .default({ preferencesRevision: 0, pages: [] }),\n dynamic: z.array(\n z\n .object({\n agentId: AgentIdSchema,\n episodeId: EpisodeIdSchema,\n pluginId: DynamicIdSchema,\n packageId: DynamicIdSchema.optional(),\n currentPackageId: DynamicIdSchema.optional(),\n nextPackageId: DynamicIdSchema.optional(),\n approvalRequestId: DynamicIdSchema.optional(),\n status: DynamicAttemptStatusSchema,\n activeRun: z.object({ pluginRunId: DynamicIdSchema, packageId: DynamicIdSchema }).strict().optional(),\n latestRun: DynamicLatestRunSchema.optional(),\n packages: z.array(\n z\n .object({\n packageId: DynamicIdSchema,\n name: z.string(),\n purpose: z.string(),\n hasHostHalf: z.boolean(),\n hasClientHalf: z.boolean(),\n })\n .strict(),\n ),\n policy: z\n .object({\n turn: z.number().int().nonnegative(),\n primaryPluginId: DynamicIdSchema.optional(),\n consecutiveFailures: z.number().int().nonnegative(),\n repeatedFingerprintCount: z.number().int().nonnegative(),\n lastErrorFingerprint: z.string().optional(),\n blockedReason: z.string().optional(),\n })\n .strict(),\n })\n .strict(),\n ),\n authoringTasks: z.array(AuthoringTaskSummarySchema).default([]),\n scheduledTasks: z.array(ScheduledTaskSchema).default([]),\n })\n .strict()\n\nconst MessageInputPartSchema = z.discriminatedUnion('type', [\n z.object({ type: z.literal('text'), text: z.string().trim().min(1) }).strict(),\n z.object({ type: z.literal('mention'), memberId: ChannelMemberIdSchema }).strict(),\n])\n\nconst SendChannelMessageRequestSchema = z\n .object({\n parts: z.array(MessageInputPartSchema).min(1),\n clientEventId: NonEmptyStringSchema.optional(),\n senderMemberId: ChannelMemberIdSchema.optional(),\n })\n .strict()\n .refine(\n (body) => body.parts.every((part) => part.type !== 'text' || [...part.text].length <= 64 * 1024),\n 'Message text must not exceed 64 KiB.',\n )\n\nconst DynamicErrorDetailsSchema = z.object({ message: z.string(), stack: z.string().optional() }).strict()\nconst DynamicRenderFailureSchema = z\n .object({\n slot: NonEmptyStringSchema,\n message: z.string(),\n stack: z.string().optional(),\n abdicated: z.boolean(),\n })\n .strict()\nconst DynamicRunResolutionSchema = z.discriminatedUnion('ok', [\n z.object({ ok: z.literal(true), pluginRunId: DynamicIdSchema, waitingFor: z.array(z.string()).optional() }).strict(),\n z\n .object({\n ok: z.literal(false),\n reason: z.enum(['rejected', 'host-half-failed', 'client-half-failed']),\n pluginRunId: DynamicIdSchema.optional(),\n startedHere: z.boolean().optional(),\n message: z.string().optional(),\n stack: z.string().optional(),\n })\n .strict(),\n])\n\nconst DynamicRunResponseSchema = z.discriminatedUnion('ok', [\n z\n .object({\n ok: z.literal(true),\n status: z.enum(['awaiting-approval', 'starting', 'running']),\n pluginId: DynamicIdSchema,\n packageId: DynamicIdSchema,\n pluginRunId: DynamicIdSchema,\n waitingFor: z.array(z.string()),\n clientWaitingFor: z.array(z.string()).optional(),\n currentPackageId: DynamicIdSchema.optional(),\n nextPackageId: DynamicIdSchema.optional(),\n mode: z.enum(['run', 'update']),\n })\n .strict(),\n z\n .object({\n ok: z.literal(false),\n reason: z.enum([\n 'plugin-missing',\n 'package-missing',\n 'invalid-mode',\n 'transition-in-flight',\n 'host-half-failed',\n 'client-half-failed',\n 'rejected',\n 'cancelled',\n 'not-running',\n ]),\n message: z.string(),\n stack: z.string().optional(),\n })\n .strict(),\n])\n\nconst DynamicInventoryRowSchema = z\n .object({\n pluginId: DynamicIdSchema,\n agentId: NonEmptyStringSchema,\n packages: z.array(\n z\n .object({\n packageId: DynamicIdSchema,\n name: z.string(),\n purpose: z.string(),\n hasHostHalf: z.boolean(),\n hasClientHalf: z.boolean(),\n })\n .strict(),\n ),\n currentPackageId: DynamicIdSchema.optional(),\n nextPackageId: DynamicIdSchema.optional(),\n activeRun: z.object({ pluginRunId: DynamicIdSchema, packageId: DynamicIdSchema }).strict().optional(),\n latestRun: DynamicLatestRunSchema.optional(),\n })\n .strict()\n\nexport const DshPluginCatalogEntrySchema = z\n .object({\n packageName: NonEmptyStringSchema,\n packageVersion: NonEmptyStringSchema,\n origin: z.enum(['builtin', 'profile', 'dynamic', 'installed']),\n settingsNamespaces: z.array(NonEmptyStringSchema),\n loadError: z.object({ code: NonEmptyStringSchema, message: NonEmptyStringSchema }).strict().optional(),\n packageId: DshPluginPackageIdSchema.optional(),\n installSource: z.enum(['registry', 'tarball', 'imported']).optional(),\n installedAt: z.number().int().safe().nonnegative().optional(),\n clientUiDetected: z.boolean().optional(),\n hostUi: DshNxtHostUiSchema.optional(),\n approvedBuilds: z.array(NonEmptyStringSchema).optional(),\n entries: z\n .array(\n z\n .object({\n id: DshPluginEntryIdSchema,\n entryKey: NonEmptyStringSchema,\n moduleName: NonEmptyStringSchema,\n suggestedScope: z.enum(['host', 'agent']),\n selectedScope: z.enum(['host', 'agent']).optional(),\n config: JsonValueSchema,\n activations: z.array(\n z\n .object({\n targetKey: NonEmptyStringSchema,\n target: z.enum(['host', 'agent']),\n agentId: AgentIdSchema.optional(),\n activatedAt: z.number().int().safe().nonnegative(),\n diagnostic: z\n .object({\n status: z.enum(['active', 'load-failed', 'restore-failed', 'dispose-failed']),\n phase: z.enum(['import', 'apply', 'update', 'dispose', 'restore']),\n message: z.string().optional(),\n observedAt: z.number().int().safe().nonnegative(),\n })\n .optional(),\n })\n .strict(),\n ),\n })\n .strict(),\n )\n .optional(),\n })\n .strict()\n\nexport const DshSettingsNamespaceSchema = z\n .object({\n ns: NonEmptyStringSchema,\n schema: JsonValueSchema,\n resolved: JsonValueSchema,\n base: JsonValueSchema.optional(),\n user: JsonValueSchema.optional(),\n applies: z.enum(['live', 'restart']),\n secrets: z.array(z.object({ path: z.array(z.string()), set: z.boolean() }).strict()),\n revision: z.number().int().nonnegative(),\n writable: z.boolean(),\n owner: z.object({ packageName: NonEmptyStringSchema, packageVersion: NonEmptyStringSchema }).strict().optional(),\n })\n .strict()\n\nexport const DshSettingsPathSchema = z.array(z.string().min(1).max(200)).min(1).max(32)\n\nexport const DshSettingsPathOperationSchema = z.discriminatedUnion('op', [\n z.object({ op: z.literal('set'), path: DshSettingsPathSchema, value: JsonValueSchema }).strict(),\n z.object({ op: z.literal('unset'), path: DshSettingsPathSchema }).strict(),\n])\n\nexport const DshSettingsMutationRequestSchema = z\n .object({\n expectedRevision: z.number().int().nonnegative(),\n ops: z.array(DshSettingsPathOperationSchema).min(1).max(128),\n })\n .strict()\n\nexport const DshCredentialRefSchema = z\n .string()\n .regex(/^[A-Za-z_][A-Za-z0-9_]*$/u)\n .max(200)\n\nexport const DshCredentialViewSchema = z\n .object({ configured: z.boolean(), source: z.string().optional(), writable: z.boolean() })\n .strict()\n\nexport const DshSettingsChangedSseDataSchema = z\n .object({ namespace: NonEmptyStringSchema, revision: z.number().int().nonnegative() })\n .strict()\n\nexport const DshCredentialsChangedSseDataSchema = z.object({ ref: DshCredentialRefSchema }).strict()\n\nexport const DynamicChangedSseDataSchema = z.object({ agentId: AgentIdSchema }).strict()\n\nexport const HostSseStatusDataSchema = z\n .object({\n ok: z.boolean(),\n message: z.string(),\n replay: z.enum(['none', 'complete', 'expired']).optional(),\n })\n .strict()\n\nexport const DshPluginOperationSseDataSchema = z\n .object({\n operationId: z.string().uuid(),\n kind: z.enum(['inspect', 'install']),\n phase: z.enum(['download', 'dependencies', 'build-scripts', 'validation', 'publish']),\n status: z.enum(['running', 'done', 'failed']),\n message: z.string(),\n })\n .strict()\n\nexport const HostSseEventSchema = z.discriminatedUnion('event', [\n z.object({ event: z.literal('snapshot-changed'), data: z.object({ changed: z.literal(true) }).strict() }).strict(),\n z.object({ event: z.literal('channel-fact'), data: ChannelFactSseDataSchema }).strict(),\n z.object({ event: z.literal('connection-fact'), data: HostConnectionEventSchema }).strict(),\n z.object({ event: z.literal('runtime'), data: ChannelRuntimeSseDataSchema }).strict(),\n z.object({ event: z.literal('extensions-changed'), data: z.object({ changed: z.literal(true) }).strict() }).strict(),\n z.object({ event: z.literal('dsh-plugins-changed'), data: z.object({ changed: z.literal(true) }).strict() }).strict(),\n z.object({ event: z.literal('dsh-plugin-operation'), data: DshPluginOperationSseDataSchema }).strict(),\n z.object({ event: z.literal('dynamic-changed'), data: DynamicChangedSseDataSchema }).strict(),\n z.object({ event: z.literal('dsh-settings-changed'), data: DshSettingsChangedSseDataSchema }).strict(),\n z.object({ event: z.literal('dsh-credentials-changed'), data: DshCredentialsChangedSseDataSchema }).strict(),\n z.object({ event: z.literal('status'), data: HostSseStatusDataSchema }).strict(),\n z\n .object({ event: z.literal('attention-changed'), data: z.object({ revision: z.string().min(1) }).strict() })\n .strict(),\n z\n .object({\n event: z.literal('binding-change'),\n data: z\n .object({\n operationId: NonEmptyStringSchema,\n channelId: ChannelIdSchema,\n kind: z.enum(['bind', 'replace', 'clear']),\n step: NonEmptyStringSchema,\n status: z.enum(['running', 'skipped', 'done', 'failed']),\n message: z.string(),\n })\n .strict(),\n })\n .strict(),\n])\n\nexport type HostSseEvent = z.output<typeof HostSseEventSchema>\n\n/** Request content a model accepts; `image` enables native vision for agents using the model. */\nexport const LlmModelInputModalitiesSchema = z.array(z.enum(['text', 'image'])).min(1)\n\nexport const LlmProviderModelSchema = z\n .object({\n id: NonEmptyStringSchema,\n name: NonEmptyStringSchema,\n contextWindow: z.number().int().positive().optional(),\n maxTokens: z.number().int().positive().optional(),\n inputModalities: LlmModelInputModalitiesSchema.optional(),\n })\n .strict()\n\nexport const LlmDiscoveredModelSchema = z\n .object({\n id: NonEmptyStringSchema,\n name: NonEmptyStringSchema.optional(),\n contextWindow: z.number().int().positive().optional(),\n maxTokens: z.number().int().positive().optional(),\n inputModalities: LlmModelInputModalitiesSchema.optional(),\n })\n .strict()\n\nexport const LlmProviderCredentialSchema = z\n .object({ configured: z.boolean(), source: z.string().optional(), writable: z.boolean() })\n .strict()\n\nexport const LlmProviderViewSchema = z\n .object({\n provider: NonEmptyStringSchema,\n displayName: z.string(),\n settingsNs: NonEmptyStringSchema,\n settingsPath: z.array(NonEmptyStringSchema),\n settingsRevision: z.number().int().nonnegative(),\n declared: z.boolean(),\n active: z.boolean(),\n configured: z.boolean(),\n baseURL: z.string().optional(),\n api: NonEmptyStringSchema.optional(),\n credential: LlmProviderCredentialSchema.optional(),\n models: z.array(LlmProviderModelSchema),\n /** The model list was edited on this host; built-in providers can restore their own catalog. */\n modelsCustomized: z.boolean(),\n /** The provider's adapter can list the models its endpoint offers. */\n discoverable: z.boolean(),\n })\n .strict()\n\nexport const LlmProviderSettingsSchema = z\n .object({\n writable: z.boolean(),\n protocols: z.array(NonEmptyStringSchema),\n providers: z.array(LlmProviderViewSchema),\n })\n .strict()\n\nexport const ConnectionTestResultSchema = z.discriminatedUnion('status', [\n z\n .object({\n status: z.literal('received'),\n channelId: ChannelIdSchema,\n platformMessageId: NonEmptyStringSchema,\n })\n .strict(),\n z\n .object({\n status: z.literal('sent'),\n channelId: ChannelIdSchema,\n platformMessageId: NonEmptyStringSchema.optional(),\n })\n .strict(),\n z\n .object({\n status: z.enum(['waiting-for-message', 'needs-channel', 'needs-target', 'not-connected']),\n message: z.string(),\n })\n .strict(),\n z\n .object({\n status: z.literal('failed'),\n kind: NonEmptyStringSchema,\n message: z.string(),\n retryAfterMs: z.number().int().nonnegative().optional(),\n })\n .strict(),\n])\n\ntype HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'\ntype AnySchema = z.ZodType\n\nexport interface HostApiContract<\n Method extends HttpMethod = HttpMethod,\n Params extends AnySchema = AnySchema,\n Request extends AnySchema = AnySchema,\n Response extends AnySchema = AnySchema,\n ErrorSchema extends AnySchema = AnySchema,\n> {\n readonly method: Method\n readonly timeoutMs?: number\n readonly responseFormat?: 'json' | 'bytes'\n readonly invalidatesSnapshot?: boolean\n encodeRequest?(input: z.output<Request>): {\n readonly body: string | Uint8Array\n readonly headers: Readonly<Record<string, string>>\n }\n readonly path: string\n readonly params: Params\n readonly request: Request\n readonly response: Response\n readonly error: ErrorSchema\n readonly parseParams: (input: unknown) => z.output<Params>\n readonly parseRequest: (input: unknown) => z.output<Request>\n readonly parseResponse: (input: unknown) => z.output<Response>\n readonly parseError: (input: unknown) => z.output<ErrorSchema>\n}\n\n/** 扩展包导入检查的结果:本地文件与社区下载共用同一确认步骤。 */\nexport const ExtensionImportInspectionSchema = z\n .object({\n token: NonEmptyStringSchema,\n extensionId: ExtensionIdSchema,\n revisionId: ExtensionRevisionIdSchema,\n slug: NonEmptyStringSchema,\n displayName: NonEmptyStringSchema,\n scope: z.enum(['agent', 'host-adapter', 'host-ui']),\n idempotent: z.boolean(),\n slugConflict: z.boolean(),\n })\n .strict()\n\nconst defineContract = <\n const Method extends HttpMethod,\n Params extends AnySchema,\n Request extends AnySchema,\n Response extends AnySchema,\n>(\n contract: Omit<\n HostApiContract<Method, Params, Request, Response, typeof HostApiErrorSchema>,\n 'parseParams' | 'parseRequest' | 'parseResponse' | 'parseError'\n >,\n): HostApiContract<Method, Params, Request, Response, typeof HostApiErrorSchema> => ({\n ...contract,\n parseParams: (input) => contract.params.parse(input),\n parseRequest: (input) => contract.request.parse(input),\n parseResponse: (input) => contract.response.parse(input),\n parseError: (input) => contract.error.parse(input),\n})\n\nconst agentParam = z.object({ agentId: AgentIdSchema }).strict()\nconst agentRevisionParam = z.object({ agentId: AgentIdSchema, revisionId: AgentRevisionIdSchema }).strict()\n\nexport const AgentRevisionChangedFieldSchema = z.enum([\n 'name',\n 'persona',\n 'model',\n 'capabilities',\n 'imagePolicy',\n 'approvalPolicy',\n])\n\nexport const AgentRevisionHistorySchema = z\n .object({\n agentId: AgentIdSchema,\n currentRevisionId: AgentRevisionIdSchema,\n /** Newest first. `changedFields` compares each Revision with the one numbered just before it. */\n revisions: z.array(\n z\n .object({\n id: AgentRevisionIdSchema,\n revision: z.number().int().positive(),\n createdAt: z.number().int().nonnegative(),\n displayName: z.string(),\n model: z.object({ provider: z.string(), model: z.string() }).strict(),\n changedFields: z.array(AgentRevisionChangedFieldSchema),\n current: z.boolean(),\n })\n .strict(),\n ),\n })\n .strict()\nexport type AgentRevisionHistory = z.output<typeof AgentRevisionHistorySchema>\nconst channelParam = z.object({ channelId: ChannelIdSchema }).strict()\nconst connectionParam = z.object({ connectionId: ConnectionIdSchema }).strict()\nconst agentExtensionParam = z.object({ agentId: AgentIdSchema, extensionId: ExtensionIdSchema }).strict()\nconst extensionParam = z.object({ extensionId: ExtensionIdSchema }).strict()\nconst dshPluginPackageParam = z.object({ packageId: DshPluginPackageIdSchema }).strict()\nconst dshPluginEntryParam = z.object({ entryId: DshPluginEntryIdSchema }).strict()\nconst extensionRevisionParam = z\n .object({ extensionId: ExtensionIdSchema, revisionId: ExtensionRevisionIdSchema })\n .strict()\nconst dshSettingsParam = z.object({ namespace: NonEmptyStringSchema }).strict()\nconst dshCredentialParam = z.object({ ref: DshCredentialRefSchema }).strict()\nconst llmProviderParam = z.object({ provider: NonEmptyStringSchema }).strict()\nconst authoringTaskParam = z.object({ taskId: AuthoringTaskIdSchema }).strict()\nconst scheduledTaskParam = z.object({ taskId: ScheduledTaskIdSchema }).strict()\nconst authoringAttemptParam = z.object({ taskId: AuthoringTaskIdSchema, attemptId: AuthoringAttemptIdSchema }).strict()\n\nconst DshPluginInstallInspectionSchema = z\n .object({\n token: NonEmptyStringSchema,\n operationId: z.string().uuid().optional(),\n packageName: NonEmptyStringSchema,\n packageVersion: NonEmptyStringSchema,\n packageDigest: z.string().regex(/^[a-f0-9]{64}$/u),\n lockfileDigest: z.string().regex(/^[a-f0-9]{64}$/u),\n blockedBuilds: z.array(NonEmptyStringSchema),\n clientUiDetected: z.boolean(),\n hostUi: DshNxtHostUiSchema.optional(),\n entries: z.array(\n z\n .object({\n entryKey: NonEmptyStringSchema,\n moduleName: NonEmptyStringSchema,\n suggestedScope: z.enum(['host', 'agent']),\n })\n .strict(),\n ),\n })\n .strict()\n\nconst BinaryUploadRequestSchema = z\n .object({\n bytes: z.instanceof(Uint8Array),\n fileName: z.string().max(255).optional(),\n operationId: z.string().uuid().optional(),\n })\n .strict()\nconst encodeBinaryUpload = (input: z.output<typeof BinaryUploadRequestSchema>) => ({\n body: input.bytes,\n headers: {\n 'content-type': 'application/octet-stream',\n ...(input.fileName === undefined ? {} : { 'x-file-name': input.fileName }),\n ...(input.operationId === undefined ? {} : { 'x-operation-id': input.operationId }),\n },\n})\n\nexport const HostApiContracts = {\n retryRuntimeCompatibility: defineContract({\n method: 'POST',\n path: '/api/runtime/compatibility/retry',\n params: EmptyParamsSchema,\n request: z\n .object({ objectKind: RuntimeCompatibilityDiagnosticSchema.shape.objectKind, objectId: z.string().min(1) })\n .strict(),\n response: z.object({ diagnostics: z.array(RuntimeCompatibilityDiagnosticSchema) }).strict(),\n error: HostApiErrorSchema,\n invalidatesSnapshot: true,\n }),\n snapshot: defineContract({\n method: 'GET',\n path: '/api/snapshot',\n params: EmptyParamsSchema,\n request: NoRequestBodySchema,\n response: HostSnapshotSchema,\n error: HostApiErrorSchema,\n }),\n getAuthoringTask: defineContract({\n method: 'GET',\n path: '/api/authoring/tasks/:taskId',\n params: authoringTaskParam,\n request: NoRequestBodySchema,\n response: z\n .object({\n task: AuthoringTaskSummarySchema,\n attempts: z.array(AuthoringAttemptSummarySchema),\n /** Secret fields of the latest candidate and which have a test value for this task's dynamic runs. */\n testSecrets: z\n .object({\n fields: z.array(z.object({ key: z.string(), title: z.string() }).strict()),\n configured: z.array(z.string()),\n })\n .strict()\n .optional(),\n events: z.array(\n z\n .object({\n sequence: z.number().int().positive(),\n kind: z.string(),\n attemptId: AuthoringAttemptIdSchema.optional(),\n payload: JsonValueSchema,\n createdAt: z.number().int().nonnegative(),\n })\n .strict(),\n ),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n decideAuthoringAttempt: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/authoring/tasks/:taskId/attempts/:attemptId/decision',\n params: authoringAttemptParam,\n request: z\n .object({ expectedRevision: z.number().int().positive(), approved: z.boolean(), approveRiskStable: z.boolean() })\n .strict(),\n response: z\n .object({ accepted: z.boolean(), taskRevision: z.number().int().positive(), executionRequired: z.boolean() })\n .strict(),\n error: HostApiErrorSchema,\n }),\n restoreAuthoringAttempt: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/authoring/tasks/:taskId/attempts/:attemptId/restore',\n params: authoringAttemptParam,\n request: z.object({ expectedRevision: z.number().int().positive() }).strict(),\n response: AuthoringTaskSummarySchema,\n error: HostApiErrorSchema,\n }),\n stopAuthoringTask: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/authoring/tasks/:taskId/stop',\n params: authoringTaskParam,\n request: z.object({ expectedRevision: z.number().int().positive() }).strict(),\n response: AuthoringTaskSummarySchema,\n error: HostApiErrorSchema,\n }),\n setAuthoringTestSecrets: defineContract({\n method: 'PUT',\n path: '/api/authoring/tasks/:taskId/test-secrets',\n params: authoringTaskParam,\n request: z.object({ secrets: z.record(z.string(), z.string().max(8192)) }).strict(),\n response: z.object({ configured: z.array(z.string()) }).strict(),\n error: HostApiErrorSchema,\n }),\n deleteAuthoringTask: defineContract({\n invalidatesSnapshot: true,\n method: 'DELETE',\n path: '/api/authoring/tasks/:taskId',\n params: authoringTaskParam,\n request: NoRequestBodySchema,\n response: z.object({ deleted: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n pauseScheduledTask: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/scheduled-tasks/:taskId/pause',\n params: scheduledTaskParam,\n request: NoRequestBodySchema,\n response: ScheduledTaskSchema,\n error: HostApiErrorSchema,\n }),\n resumeScheduledTask: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/scheduled-tasks/:taskId/resume',\n params: scheduledTaskParam,\n request: NoRequestBodySchema,\n response: ScheduledTaskSchema,\n error: HostApiErrorSchema,\n }),\n runScheduledTask: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/scheduled-tasks/:taskId/run',\n params: scheduledTaskParam,\n request: NoRequestBodySchema,\n /** `woke: false` when the owning extension's due-job handler let this run pass without waking the agent. */\n response: z.object({ task: ScheduledTaskSchema, woke: z.boolean() }).strict(),\n error: HostApiErrorSchema,\n }),\n deleteScheduledTask: defineContract({\n invalidatesSnapshot: true,\n method: 'DELETE',\n path: '/api/scheduled-tasks/:taskId',\n params: scheduledTaskParam,\n request: NoRequestBodySchema,\n response: z.object({ deleted: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n listClientNotifications: defineContract({\n method: 'GET',\n path: '/api/client-notifications',\n params: z.object({ cursor: z.number().int().nonnegative().optional() }).strict(),\n request: NoRequestBodySchema,\n response: ClientNotificationFeedResponseSchema,\n error: HostApiErrorSchema,\n }),\n updateNotificationSettings: defineContract({\n invalidatesSnapshot: true,\n method: 'PUT',\n path: '/api/settings/notifications',\n params: EmptyParamsSchema,\n request: UpdateNotificationSettingsRequestSchema,\n response: NotificationSettingsViewSchema,\n error: HostApiErrorSchema,\n }),\n testBarkNotification: defineContract({\n method: 'POST',\n path: '/api/settings/notifications/test',\n params: EmptyParamsSchema,\n request: TestBarkNotificationRequestSchema,\n response: z.object({ sent: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n testSystemNotification: defineContract({\n method: 'POST',\n path: '/api/settings/notifications/test-system',\n params: EmptyParamsSchema,\n request: NoRequestBodySchema,\n response: z.object({ published: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n listPlatformUsers: defineContract({\n method: 'GET',\n path: '/api/platform-users',\n params: z\n .object({\n query: z.string().trim().max(80).optional(),\n adapterKey: z.string().trim().min(1).max(120).optional(),\n connectionId: ConnectionIdSchema.optional(),\n cursor: PlatformIdentityIdSchema.optional(),\n limit: z.number().int().min(1).max(100).default(50),\n })\n .strict(),\n request: NoRequestBodySchema,\n response: PlatformUserListResponseSchema,\n error: HostApiErrorSchema,\n }),\n listConnectionEvents: defineContract({\n method: 'GET',\n path: '/api/connections/:connectionId/events',\n params: z\n .object({\n connectionId: ConnectionIdSchema,\n beforeReceivedAt: z.number().int().safe().nonnegative().optional(),\n beforeId: ConnectionEventIdSchema.optional(),\n limit: z.number().int().min(1).max(100).default(50),\n })\n .strict(),\n request: NoRequestBodySchema,\n response: z.object({ events: z.array(HostConnectionEventSchema), hasMore: z.boolean() }).strict(),\n error: HostApiErrorSchema,\n }),\n createAgent: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/agents',\n params: EmptyParamsSchema,\n request: CreateAgentRequestSchema,\n response: z\n .object({ agentId: AgentIdSchema, channelId: ChannelIdSchema, connectionId: ConnectionIdSchema })\n .strict(),\n error: HostApiErrorSchema,\n }),\n reviseAgent: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/agents/:agentId/revision',\n params: agentParam,\n request: ReviseAgentRequestSchema,\n response: z.object({ currentRevisionId: AgentRevisionIdSchema }).strict(),\n error: HostApiErrorSchema,\n }),\n updateAgentCapabilities: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/agents/:agentId/capabilities',\n params: agentParam,\n request: UpdateAgentCapabilitiesRequestSchema,\n response: z.object({ currentRevisionId: AgentRevisionIdSchema, capabilities: AgentCapabilitiesSchema }).strict(),\n error: HostApiErrorSchema,\n }),\n deleteAgent: defineContract({\n invalidatesSnapshot: true,\n method: 'DELETE',\n path: '/api/agents/:agentId',\n params: agentParam,\n request: z\n .object({\n expectedCurrentRevisionId: AgentRevisionIdSchema,\n confirmationName: z.string().min(1).max(80),\n deleteAutoCreatedBuiltInChannels: z.boolean().default(true),\n /** Also remove `workspaces/<agentId>/` (files, development shell output, creation candidates). */\n deleteWorkspace: z.boolean().default(false),\n })\n .strict(),\n response: z\n .object({\n agentId: AgentIdSchema,\n deleted: z.literal(true),\n unboundChannelIds: z.array(ChannelIdSchema),\n deletedChannelIds: z.array(ChannelIdSchema),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n createInternalChannel: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/channels',\n params: EmptyParamsSchema,\n request: z.object({ displayName: z.string().trim().min(1).max(120) }).strict(),\n response: z.object({ channelId: ChannelIdSchema, connectionId: ConnectionIdSchema }).strict(),\n error: HostApiErrorSchema,\n }),\n deleteChannel: defineContract({\n invalidatesSnapshot: true,\n method: 'DELETE',\n path: '/api/channels/:channelId',\n params: channelParam,\n request: z.object({ expectedBoundAgentId: AgentIdSchema.nullable() }).strict(),\n response: z.object({ channelId: ChannelIdSchema, deleted: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n createBinding: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/bindings',\n params: EmptyParamsSchema,\n request: z\n .object({\n agentId: AgentIdSchema,\n channelId: ChannelIdSchema,\n triggerPolicy: TriggerPolicySchema,\n processingFeedback: z.enum(['auto', 'off']).optional(),\n activityTriggerOverrides: ActivityTriggerOverridesSchema.optional(),\n })\n .strict(),\n response: z\n .object({\n channelId: ChannelIdSchema,\n agentId: AgentIdSchema,\n triggerPolicy: TriggerPolicySchema,\n processingFeedback: z.enum(['auto', 'off']).default('auto'),\n activityTriggerOverrides: ActivityTriggerOverridesSchema.default({}),\n boundAt: z.number().int().safe().nonnegative(),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n clearBinding: defineContract({\n invalidatesSnapshot: true,\n method: 'DELETE',\n path: '/api/bindings/:channelId',\n params: channelParam,\n request: NoRequestBodySchema,\n response: z.object({ channelId: ChannelIdSchema, cleared: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n putWorkTreeOrder: defineContract({\n invalidatesSnapshot: true,\n method: 'PUT',\n path: '/api/work-tree-order',\n params: EmptyParamsSchema,\n request: WorkTreeOrderSchema,\n response: WorkTreeOrderSchema,\n error: HostApiErrorSchema,\n }),\n listChannelMessages: defineContract({\n method: 'GET',\n path: '/api/channels/:channelId/messages',\n params: z\n .object({\n channelId: ChannelIdSchema,\n limit: z.number().int().min(1).max(100),\n beforeOccurredAt: z.number().int().safe().nonnegative().optional(),\n beforeSourceId: NonEmptyStringSchema.optional(),\n })\n .strict()\n .refine(\n (value) => (value.beforeOccurredAt === undefined) === (value.beforeSourceId === undefined),\n '频道历史游标必须完整提供。',\n ),\n request: NoRequestBodySchema,\n response: z\n .object({ messages: z.array(HostSnapshotMessageSchema), hasMore: z.boolean(), cursor: HostSyncCursorSchema })\n .strict(),\n error: HostApiErrorSchema,\n }),\n sendChannelMessage: defineContract({\n method: 'POST',\n path: '/api/channels/:channelId/messages',\n params: channelParam,\n request: SendChannelMessageRequestSchema,\n response: z\n .object({\n inserted: z.boolean(),\n channelEventId: ChannelEventIdSchema.optional(),\n outboundIntentId: OutboundIntentIdSchema.optional(),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n renameChannel: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/channels/:channelId/display-name',\n params: channelParam,\n request: z.object({ displayName: z.string().trim().min(1).max(120) }).strict(),\n response: z.object({ channelId: ChannelIdSchema, displayName: z.string().trim().min(1).max(120) }).strict(),\n error: HostApiErrorSchema,\n }),\n getChannelRuntime: defineContract({\n method: 'GET',\n path: '/api/channels/:channelId/runtime',\n params: channelParam,\n request: NoRequestBodySchema,\n response: ChannelRuntimeProjectionSchema.extend({ cursor: HostSyncCursorSchema }),\n error: HostApiErrorSchema,\n }),\n getChannelToolCall: defineContract({\n method: 'GET',\n path: '/api/channels/:channelId/runtime/tools/:callId',\n params: z.object({ channelId: ChannelIdSchema, callId: z.string().trim().min(1).max(200) }).strict(),\n request: NoRequestBodySchema,\n // The full arguments and result of one tool call in the live session; the runtime projection only carries previews.\n // `available: false` when the session has left memory: the step keeps its preview, which is not an error.\n response: z\n .object({\n callId: z.string(),\n available: z.boolean(),\n name: z.string().optional(),\n input: z.string().optional(),\n result: z.string().optional(),\n inputTruncated: z.boolean(),\n resultTruncated: z.boolean(),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n resetChannelContext: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/channels/:channelId/context-reset',\n params: channelParam,\n request: z\n .object({\n mode: z.enum(['clear', 'compact']),\n expectedEpisodeId: EpisodeIdSchema,\n })\n .strict(),\n response: z\n .object({\n mode: z.enum(['clear', 'compact']),\n closedEpisodeId: EpisodeIdSchema,\n nextEpisodeId: EpisodeIdSchema.optional(),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n createConnection: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/connections',\n params: EmptyParamsSchema,\n request: z\n .object({\n adapterKey: NonEmptyStringSchema,\n alias: ConnectionAliasInputSchema.optional(),\n configuration: z.record(z.string(), JsonValueSchema).default({}),\n credentials: z.record(z.string(), z.string().max(16 * 1024)).default({}),\n })\n .strict(),\n response: z.object({ connectionId: ConnectionIdSchema, adapterKey: NonEmptyStringSchema }).strict(),\n error: HostApiErrorSchema,\n }),\n startConnectionLogin: defineContract({\n method: 'POST',\n path: '/api/connection-logins',\n params: EmptyParamsSchema,\n request: z\n .object({\n adapterKey: NonEmptyStringSchema,\n alias: ConnectionAliasInputSchema.optional(),\n connectionId: ConnectionIdSchema.optional(),\n })\n .strict(),\n response: z\n .object({\n loginId: NonEmptyStringSchema,\n adapterKey: NonEmptyStringSchema,\n status: z.enum(['pending', 'scanned', 'confirmed', 'expired', 'failed', 'cancelled']),\n qrCodeUrl: NonEmptyStringSchema,\n message: z.string().optional(),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n getConnectionLogin: defineContract({\n method: 'GET',\n path: '/api/connection-logins/:loginId',\n params: z.object({ loginId: NonEmptyStringSchema }).strict(),\n request: NoRequestBodySchema,\n response: z\n .object({\n loginId: NonEmptyStringSchema,\n status: z.enum(['pending', 'scanned', 'confirmed', 'expired', 'failed', 'cancelled']),\n qrCodeUrl: NonEmptyStringSchema.optional(),\n connectionId: ConnectionIdSchema.optional(),\n adapterKey: NonEmptyStringSchema,\n message: z.string().optional(),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n cancelConnectionLogin: defineContract({\n method: 'DELETE',\n path: '/api/connection-logins/:loginId',\n params: z.object({ loginId: NonEmptyStringSchema }).strict(),\n request: NoRequestBodySchema,\n response: z\n .object({\n loginId: NonEmptyStringSchema,\n status: z.literal('cancelled'),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n updateConnectionAlias: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/connections/:connectionId/alias',\n params: connectionParam,\n request: z.object({ alias: z.string().trim().max(80) }).strict(),\n response: z\n .object({\n connectionId: ConnectionIdSchema,\n alias: ConnectionAliasOutputSchema.optional(),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n updateConnectionActivityTriggerDefaults: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/connections/:connectionId/activity-trigger-defaults',\n params: connectionParam,\n request: z.object({ activityKeys: z.array(AdapterActivityKeySchema) }).strict(),\n response: z.object({ connectionId: ConnectionIdSchema, activityKeys: z.array(AdapterActivityKeySchema) }).strict(),\n error: HostApiErrorSchema,\n }),\n updateConnectionConfiguration: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/connections/:connectionId/configuration',\n params: connectionParam,\n request: z.object({ configuration: z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])) }).strict(),\n response: z\n .object({\n connectionId: ConnectionIdSchema,\n configuration: z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n deleteConnection: defineContract({\n invalidatesSnapshot: true,\n method: 'DELETE',\n path: '/api/connections/:connectionId',\n params: connectionParam,\n request: z.object({ deleteChannelData: z.boolean() }).strict(),\n response: z.object({ connectionId: ConnectionIdSchema, archived: z.boolean() }).strict(),\n error: HostApiErrorSchema,\n }),\n restoreConnection: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/connections/:connectionId/restore',\n params: connectionParam,\n request: NoRequestBodySchema,\n response: z.object({ connectionId: ConnectionIdSchema, restored: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n dshPlugins: defineContract({\n method: 'GET',\n path: '/api/dsh/plugins',\n params: EmptyParamsSchema,\n request: NoRequestBodySchema,\n response: z.object({ plugins: z.array(DshPluginCatalogEntrySchema) }).strict(),\n error: HostApiErrorSchema,\n }),\n inspectDshPluginTarball: defineContract({\n method: 'POST',\n timeoutMs: 300_000,\n path: '/api/dsh/plugin-installs/inspect-tarball',\n params: EmptyParamsSchema,\n request: BinaryUploadRequestSchema,\n encodeRequest: encodeBinaryUpload,\n response: DshPluginInstallInspectionSchema,\n error: HostApiErrorSchema,\n }),\n exportExtensionRevision: defineContract({\n method: 'GET',\n timeoutMs: 300_000,\n path: '/api/extensions/:extensionId/revisions/:revisionId/export',\n params: extensionRevisionParam,\n request: NoRequestBodySchema,\n responseFormat: 'bytes',\n response: z.instanceof(Uint8Array),\n error: HostApiErrorSchema,\n }),\n inspectDshPluginInstall: defineContract({\n timeoutMs: 300_000,\n method: 'POST',\n path: '/api/dsh/plugin-installs/inspect',\n params: EmptyParamsSchema,\n request: z.object({ spec: NonEmptyStringSchema.max(500), operationId: z.string().uuid().optional() }).strict(),\n response: DshPluginInstallInspectionSchema,\n error: HostApiErrorSchema,\n }),\n commitDshPluginInstall: defineContract({\n invalidatesSnapshot: true,\n timeoutMs: 300_000,\n method: 'POST',\n path: '/api/dsh/plugin-installs',\n params: EmptyParamsSchema,\n request: z\n .object({\n token: NonEmptyStringSchema,\n approvedBuilds: z.array(NonEmptyStringSchema).default([]),\n operationId: z.string().uuid().optional(),\n })\n .strict(),\n response: z.object({ packageId: DshPluginPackageIdSchema, operationId: z.string().uuid().optional() }).strict(),\n error: HostApiErrorSchema,\n }),\n inspectDshPluginEntryConfig: defineContract({\n method: 'POST',\n path: '/api/dsh/plugin-entries/:entryId/config/inspect',\n params: dshPluginEntryParam,\n request: NoRequestBodySchema,\n response: z.discriminatedUnion('mode', [\n z.object({ mode: z.literal('schema'), schema: JsonValueSchema }).strict(),\n z.object({ mode: z.literal('json') }).strict(),\n z.object({ mode: z.literal('incompatible'), reason: NonEmptyStringSchema }).strict(),\n ]),\n error: HostApiErrorSchema,\n }),\n activateDshPluginEntry: defineContract({\n method: 'PUT',\n path: '/api/dsh/plugin-entries/:entryId/activation',\n params: dshPluginEntryParam,\n request: z\n .object({\n target: z.enum(['host', 'agent']),\n agentId: AgentIdSchema.optional(),\n config: JsonValueSchema,\n permissionApproval: z\n .object({ permissionDigest: z.string().regex(/^[a-f0-9]{64}$/u) })\n .strict()\n .optional(),\n })\n .strict(),\n response: z.object({ targetKey: NonEmptyStringSchema }).strict(),\n error: HostApiErrorSchema,\n }),\n deactivateDshPluginEntry: defineContract({\n method: 'DELETE',\n path: '/api/dsh/plugin-entries/:entryId/activation',\n params: dshPluginEntryParam,\n request: z.object({ targetKey: NonEmptyStringSchema }).strict(),\n response: z.object({ disabled: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n removeDshPluginPackage: defineContract({\n invalidatesSnapshot: true,\n method: 'DELETE',\n path: '/api/dsh/plugin-installs/:packageId',\n params: dshPluginPackageParam,\n request: NoRequestBodySchema,\n response: z.object({ removed: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n inspectExtensionImport: defineContract({\n timeoutMs: 300_000,\n method: 'POST',\n path: '/api/extensions/imports/inspect',\n params: EmptyParamsSchema,\n request: BinaryUploadRequestSchema,\n encodeRequest: encodeBinaryUpload,\n response: ExtensionImportInspectionSchema,\n error: HostApiErrorSchema,\n }),\n /**\n * Management-edge endpoints: they exist only when the Server is reached through its management edge (a management\n * key is set); clients tell that from the edge's CSRF cookie.\n */\n listManagementDevices: defineContract({\n method: 'GET',\n path: '/api/management/devices',\n params: EmptyParamsSchema,\n request: NoRequestBodySchema,\n response: z.object({ devices: z.array(ManagementDeviceViewSchema) }).strict(),\n error: HostApiErrorSchema,\n }),\n revokeManagementDevice: defineContract({\n method: 'DELETE',\n path: '/api/management/devices/:deviceId',\n params: z.object({ deviceId: ManagementDeviceIdSchema }).strict(),\n request: NoRequestBodySchema,\n response: z.object({ revoked: z.boolean() }).strict(),\n error: HostApiErrorSchema,\n }),\n managementLogout: defineContract({\n method: 'DELETE',\n path: '/api/management/session',\n params: EmptyParamsSchema,\n request: NoRequestBodySchema,\n response: z.object({ authenticated: z.literal(false) }).strict(),\n error: HostApiErrorSchema,\n }),\n getCommunityStatus: defineContract({\n method: 'GET',\n path: '/api/community/status',\n params: EmptyParamsSchema,\n request: NoRequestBodySchema,\n response: CommunityStatusSchema,\n error: HostApiErrorSchema,\n }),\n startCommunityLogin: defineContract({\n method: 'POST',\n path: '/api/community/login',\n params: EmptyParamsSchema,\n /** 浏览器当前访问本实例使用的来源;社区授权完成后回到 `<returnOrigin>/community/callback`。 */\n request: z.object({ returnOrigin: z.string().url().max(300) }).strict(),\n response: z.object({ authorizeUrl: z.string().url() }).strict(),\n error: HostApiErrorSchema,\n }),\n communityLogout: defineContract({\n method: 'DELETE',\n path: '/api/community/login',\n params: EmptyParamsSchema,\n request: NoRequestBodySchema,\n response: CommunityStatusSchema,\n error: HostApiErrorSchema,\n }),\n listCommunityExtensions: defineContract({\n timeoutMs: 30_000,\n method: 'GET',\n path: '/api/community/extensions',\n params: z\n .object({\n query: z.string().trim().max(80).optional(),\n scope: z.enum(['agent', 'host-adapter', 'host-ui']).optional(),\n cursor: z.string().max(200).optional(),\n })\n .strict(),\n request: NoRequestBodySchema,\n response: z.object({ items: z.array(CommunityExtensionSummarySchema), nextCursor: z.string().nullable() }).strict(),\n error: HostApiErrorSchema,\n }),\n getCommunityExtension: defineContract({\n timeoutMs: 30_000,\n method: 'GET',\n path: '/api/community/extensions/:extensionId',\n params: z.object({ extensionId: ExtensionIdSchema }).strict(),\n request: NoRequestBodySchema,\n response: CommunityExtensionDetailSchema,\n error: HostApiErrorSchema,\n }),\n /** 下载社区发布并按包摘要校验,结果与本地文件导入的检查相同,再经 `commitExtensionImport` 确认。 */\n importCommunityRelease: defineContract({\n timeoutMs: 120_000,\n method: 'POST',\n path: '/api/community/releases/:releaseId/import',\n params: z.object({ releaseId: CommunityReleaseIdSchema }).strict(),\n request: NoRequestBodySchema,\n response: ExtensionImportInspectionSchema,\n error: HostApiErrorSchema,\n }),\n publishToCommunity: defineContract({\n timeoutMs: 120_000,\n method: 'POST',\n path: '/api/community/publish',\n params: EmptyParamsSchema,\n request: z\n .object({\n extensionId: ExtensionIdSchema,\n revisionId: ExtensionRevisionIdSchema,\n notes: z.string().max(2000),\n })\n .strict(),\n response: z\n .object({\n releaseId: CommunityReleaseIdSchema,\n reviewStatus: CommunityReviewStatusSchema,\n pageUrl: z.string().url(),\n reportUrl: z.string().url(),\n findings: z.array(z.object({ severity: z.string(), title: z.string() }).strict()),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n testMcpServer: defineContract({\n timeoutMs: 30_000,\n method: 'POST',\n path: '/api/mcp-servers/test',\n params: EmptyParamsSchema,\n request: z.object({ server: McpServerFormSchema }).strict(),\n response: z\n .object({\n ok: z.boolean(),\n message: z.string(),\n serverName: z.string().optional(),\n tools: z.array(z.object({ name: z.string(), description: z.string().optional() }).strict()),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n createMcpExtension: defineContract({\n invalidatesSnapshot: true,\n timeoutMs: 120_000,\n method: 'POST',\n path: '/api/mcp-servers',\n params: EmptyParamsSchema,\n request: z\n .object({\n displayName: z.string().trim().min(1).max(80),\n description: z.string().trim().max(500).default(''),\n server: McpServerFormSchema,\n })\n .strict(),\n response: z\n .object({\n extensionId: ExtensionIdSchema,\n revisionId: ExtensionRevisionIdSchema,\n /** Credential config fields created for the form's secret rows, by row name. */\n secretFields: z.array(z.object({ key: z.string(), name: z.string() }).strict()),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n commitExtensionImport: defineContract({\n invalidatesSnapshot: true,\n timeoutMs: 300_000,\n method: 'POST',\n path: '/api/extensions/imports/:token/commit',\n params: z.object({ token: NonEmptyStringSchema }).strict(),\n request: z.object({ localSlug: z.string().trim().min(3).max(64).optional() }).strict(),\n response: z\n .object({ extensionId: ExtensionIdSchema, revisionId: ExtensionRevisionIdSchema, idempotent: z.boolean() })\n .strict(),\n error: HostApiErrorSchema,\n }),\n dshSettings: defineContract({\n method: 'GET',\n path: '/api/dsh/settings',\n params: EmptyParamsSchema,\n request: NoRequestBodySchema,\n response: z.object({ namespaces: z.array(DshSettingsNamespaceSchema) }).strict(),\n error: HostApiErrorSchema,\n }),\n dshSettingsMutate: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/dsh/settings/:namespace/mutate',\n params: dshSettingsParam,\n request: DshSettingsMutationRequestSchema,\n response: DshSettingsNamespaceSchema,\n error: HostApiErrorSchema,\n }),\n dshCredentialsDescribe: defineContract({\n method: 'POST',\n path: '/api/dsh/credentials/describe',\n params: EmptyParamsSchema,\n request: z.object({ refs: z.array(DshCredentialRefSchema).max(64) }).strict(),\n response: z.object({ credentials: z.record(z.string(), DshCredentialViewSchema) }).strict(),\n error: HostApiErrorSchema,\n }),\n dshCredentialSet: defineContract({\n invalidatesSnapshot: true,\n method: 'PUT',\n path: '/api/dsh/credentials/:ref',\n params: dshCredentialParam,\n request: z\n .object({\n value: z\n .string()\n .min(1)\n .max(64 * 1024),\n })\n .strict(),\n response: DshCredentialViewSchema,\n error: HostApiErrorSchema,\n }),\n dshCredentialUnset: defineContract({\n invalidatesSnapshot: true,\n method: 'DELETE',\n path: '/api/dsh/credentials/:ref',\n params: dshCredentialParam,\n request: NoRequestBodySchema,\n response: DshCredentialViewSchema,\n error: HostApiErrorSchema,\n }),\n llmProviders: defineContract({\n method: 'GET',\n path: '/api/llm/providers',\n params: EmptyParamsSchema,\n request: NoRequestBodySchema,\n response: LlmProviderSettingsSchema,\n error: HostApiErrorSchema,\n }),\n llmDiscoverModels: defineContract({\n method: 'POST',\n path: '/api/llm/discover-models',\n params: EmptyParamsSchema,\n request: z\n .object({\n provider: NonEmptyStringSchema.optional(),\n settingsNs: NonEmptyStringSchema.optional(),\n baseURL: z.url().optional(),\n api: NonEmptyStringSchema.optional(),\n apiKey: z\n .string()\n .min(1)\n .max(64 * 1024)\n .optional(),\n })\n .strict(),\n response: z.object({ models: z.array(LlmDiscoveredModelSchema) }).strict(),\n error: HostApiErrorSchema,\n }),\n llmTestProvider: defineContract({\n method: 'POST',\n path: '/api/llm/test-provider',\n params: EmptyParamsSchema,\n request: z\n .object({\n provider: NonEmptyStringSchema,\n model: NonEmptyStringSchema,\n settingsNs: NonEmptyStringSchema.optional(),\n apiKey: z\n .string()\n .min(1)\n .max(64 * 1024)\n .optional(),\n baseURL: z.url().optional(),\n api: NonEmptyStringSchema.optional(),\n models: z.array(LlmDiscoveredModelSchema).optional(),\n })\n .strict(),\n response: z.object({ provider: NonEmptyStringSchema, model: NonEmptyStringSchema }).strict(),\n error: HostApiErrorSchema,\n }),\n llmProviderRemovalImpact: defineContract({\n method: 'GET',\n path: '/api/llm/providers/:provider/removal-impact',\n params: llmProviderParam,\n request: NoRequestBodySchema,\n response: z\n .object({\n provider: NonEmptyStringSchema,\n displayName: NonEmptyStringSchema,\n declared: z.boolean(),\n expectedRevision: z.number().int().nonnegative(),\n models: z.array(NonEmptyStringSchema),\n blockedReason: z.string(),\n references: z.array(\n z\n .object({\n agentId: AgentIdSchema,\n displayName: NonEmptyStringSchema,\n model: NonEmptyStringSchema,\n role: z.enum(['primary', 'vision']),\n scope: z.enum(['configuration', 'context']),\n channelId: ChannelIdSchema.optional(),\n channelName: z.string().optional(),\n episodeStatus: z.enum(['opening', 'active']).optional(),\n })\n .strict(),\n ),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n llmRemoveProvider: defineContract({\n invalidatesSnapshot: true,\n method: 'DELETE',\n path: '/api/llm/providers/:provider',\n params: llmProviderParam,\n request: z.object({ expectedRevision: z.number().int().nonnegative() }).strict(),\n response: LlmProviderSettingsSchema,\n error: HostApiErrorSchema,\n }),\n llmRestoreProviderModels: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/llm/providers/:provider/restore-models',\n params: llmProviderParam,\n request: z.object({ expectedRevision: z.number().int().nonnegative() }).strict(),\n response: LlmProviderSettingsSchema,\n error: HostApiErrorSchema,\n }),\n llmSaveProvider: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/llm/providers/:provider',\n params: llmProviderParam,\n request: z\n .object({\n expectedRevision: z.number().int().nonnegative(),\n apiKey: z\n .string()\n .min(1)\n .max(64 * 1024)\n .optional(),\n displayName: z.string().trim().min(1).max(120).optional(),\n baseURL: z.url().optional(),\n api: NonEmptyStringSchema.optional(),\n models: z.array(LlmDiscoveredModelSchema).optional(),\n })\n .strict(),\n response: LlmProviderSettingsSchema,\n error: HostApiErrorSchema,\n }),\n testConnection: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/connections/:connectionId/test',\n params: connectionParam,\n request: z.object({ direction: z.enum(['send', 'receive']), channelId: ChannelIdSchema.optional() }).strict(),\n response: ConnectionTestResultSchema,\n error: HostApiErrorSchema,\n }),\n dynamicInventory: defineContract({\n method: 'POST',\n path: '/api/dynamic/:agentId/inventory',\n params: agentParam,\n request: z.object({ episodeId: EpisodeIdSchema }).strict(),\n response: z.object({ rows: z.array(DynamicInventoryRowSchema) }).strict(),\n error: HostApiErrorSchema,\n }),\n dynamicApprove: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/dynamic/:agentId/approve',\n params: agentParam,\n request: z\n .object({ episodeId: EpisodeIdSchema, requestId: DynamicIdSchema, pluginRunId: DynamicIdSchema.optional() })\n .strict(),\n response: z.object({ accepted: z.boolean() }).strict(),\n error: HostApiErrorSchema,\n }),\n dynamicDecline: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/dynamic/:agentId/decline',\n params: agentParam,\n request: z\n .object({ episodeId: EpisodeIdSchema, requestId: DynamicIdSchema, pluginRunId: DynamicIdSchema.optional() })\n .strict(),\n response: z.object({ accepted: z.boolean() }).strict(),\n error: HostApiErrorSchema,\n }),\n dynamicInvoke: defineContract({\n method: 'POST',\n path: '/api/dynamic/:agentId/invoke',\n params: agentParam,\n request: z\n .object({\n episodeId: EpisodeIdSchema,\n pluginId: DynamicIdSchema,\n pluginRunId: DynamicIdSchema,\n method: NonEmptyStringSchema,\n args: JsonValueSchema.optional(),\n })\n .strict(),\n response: z.discriminatedUnion('ok', [\n z.object({ ok: z.literal(true), value: JsonValueSchema }).strict(),\n z.object({ ok: z.literal(false), message: z.string() }).strict(),\n ]),\n error: HostApiErrorSchema,\n }),\n dynamicRunHostHalf: defineContract({\n method: 'POST',\n path: '/api/dynamic/:agentId/run-host-half',\n params: agentParam,\n request: z\n .object({\n episodeId: EpisodeIdSchema,\n pluginId: DynamicIdSchema,\n packageId: DynamicIdSchema,\n mode: z.enum(['run', 'update']),\n requestId: DynamicIdSchema.nullable().optional(),\n approveFutureVersions: z.boolean().default(false),\n })\n .strict(),\n response: z.discriminatedUnion('ok', [\n z\n .object({\n ok: z.literal(true),\n pluginId: DynamicIdSchema,\n packageId: DynamicIdSchema,\n pluginRunId: DynamicIdSchema,\n waitingFor: z.array(z.string()),\n startedHere: z.boolean(),\n })\n .strict(),\n DynamicErrorDetailsSchema.extend({ ok: z.literal(false) }),\n ]),\n error: HostApiErrorSchema,\n }),\n dynamicSettleUserRun: defineContract({\n method: 'POST',\n path: '/api/dynamic/:agentId/settle-user-run',\n params: agentParam,\n request: z\n .object({ episodeId: EpisodeIdSchema, pluginId: DynamicIdSchema, resolution: DynamicRunResolutionSchema })\n .strict(),\n response: DynamicRunResponseSchema,\n error: HostApiErrorSchema,\n }),\n dynamicGetClientCode: defineContract({\n method: 'POST',\n path: '/api/dynamic/:agentId/get-client-code',\n params: agentParam,\n request: z.object({ episodeId: EpisodeIdSchema, pluginId: DynamicIdSchema, pluginRunId: DynamicIdSchema }).strict(),\n response: z\n .object({\n code: z.string(),\n name: z.string(),\n pluginId: DynamicIdSchema,\n packageId: DynamicIdSchema,\n pluginRunId: DynamicIdSchema,\n /** What the candidate declared; preview data hooks enforce exactly what the saved Revision will. */\n permissions: HostUiPermissionDeclarationSchema.default({ permissions: [], networkOrigins: [] }),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n dynamicReportRenderFailure: defineContract({\n method: 'POST',\n path: '/api/dynamic/:agentId/report-render-failure',\n params: agentParam,\n request: z\n .object({\n episodeId: EpisodeIdSchema,\n pluginId: DynamicIdSchema,\n pluginRunId: DynamicIdSchema,\n failure: DynamicRenderFailureSchema,\n })\n .strict(),\n response: z.object({ ok: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n dynamicReportGuardFailure: defineContract({\n method: 'POST',\n path: '/api/dynamic/:agentId/report-guard-failure',\n params: agentParam,\n request: z\n .object({\n episodeId: EpisodeIdSchema,\n pluginId: DynamicIdSchema,\n pluginRunId: DynamicIdSchema,\n message: z.string().min(1).max(4096),\n stack: z\n .string()\n .max(16 * 1024)\n .optional(),\n })\n .strict(),\n response: z.object({ ok: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n dynamicReportClientVerification: defineContract({\n method: 'POST',\n path: '/api/dynamic/:agentId/report-client-verification',\n params: agentParam,\n request: z\n .object({\n episodeId: EpisodeIdSchema,\n pluginId: DynamicIdSchema,\n packageId: DynamicIdSchema,\n pluginRunId: DynamicIdSchema,\n renderedPanels: z.array(PanelContributionSchema).max(16).default([]),\n renderedToolViews: z.array(z.string().trim().min(1).max(64)).max(32).default([]),\n renderedMessageRenderers: z.array(RichKindSchema).max(32).default([]),\n renderedPages: z.array(HostPageContributionSchema).max(8).default([]),\n usedUiComponents: z\n .array(HostUiKitComponentNameSchema)\n .max(HostUiKitComponentNameSchema.options.length)\n .default([]),\n pageGeometry: z.array(HostUiPageGeometryEvidenceSchema).max(8).default([]),\n navigationEntries: z.array(z.string().trim().min(1).max(64)).max(8).default([]),\n })\n .strict()\n .refine(\n (value) =>\n value.renderedPanels.length > 0 ||\n value.renderedToolViews.length > 0 ||\n value.renderedMessageRenderers.length > 0 ||\n value.renderedPages.length > 0,\n {\n message: '动态 Client 必须真实渲染至少一个面板、工具视图、富消息渲染器或页面。',\n },\n ),\n response: z.object({ ok: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n saveExtensionFromDynamic: defineContract({\n invalidatesSnapshot: true,\n timeoutMs: 300_000,\n method: 'POST',\n path: '/api/extensions/save-from-dynamic',\n params: EmptyParamsSchema,\n request: z.union([\n z\n .object({\n taskId: AuthoringTaskIdSchema,\n attemptId: AuthoringAttemptIdSchema,\n displayName: z.string().trim().min(1).max(80),\n slug: z\n .string()\n .trim()\n .regex(/^[a-z0-9][a-z0-9-]{1,62}[a-z0-9]$/u),\n description: z.string().max(500).default(''),\n targetExtensionId: ExtensionIdSchema.optional(),\n })\n .strict(),\n z\n .object({\n agentId: AgentIdSchema,\n episodeId: EpisodeIdSchema,\n pluginId: DynamicIdSchema,\n packageId: DynamicIdSchema,\n displayName: z.string().trim().min(1).max(80),\n slug: z\n .string()\n .trim()\n .regex(/^[a-z0-9][a-z0-9-]{1,62}[a-z0-9]$/u),\n description: z.string().max(500).default(''),\n targetExtensionId: ExtensionIdSchema.optional(),\n })\n .strict(),\n ]),\n response: z\n .object({\n extensionId: ExtensionIdSchema,\n revisionId: ExtensionRevisionIdSchema,\n activation: z.literal('inactive'),\n installation: z.literal('uninstalled').optional(),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n extensionClientCall: defineContract({\n method: 'POST',\n path: '/api/extensions/:extensionId/revisions/:revisionId/call',\n params: extensionRevisionParam,\n request: z\n .object({ agentId: AgentIdSchema, method: NonEmptyStringSchema, input: JsonValueSchema.optional() })\n .strict(),\n response: z.object({ value: JsonValueSchema }).strict(),\n error: HostApiErrorSchema,\n }),\n extensionClientDiagnostic: defineContract({\n method: 'POST',\n path: '/api/extensions/:extensionId/revisions/:revisionId/client-diagnostic',\n params: extensionRevisionParam,\n request: z\n .object({\n agentId: AgentIdSchema,\n status: z.enum(['loaded', 'failed']),\n message: z.string().max(4096).optional(),\n })\n .strict(),\n response: z.object({ accepted: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n hostExtensionClientDiagnostic: defineContract({\n method: 'POST',\n path: '/api/extensions/:extensionId/revisions/:revisionId/host-client-diagnostic',\n params: extensionRevisionParam,\n request: z.object({ status: z.enum(['loaded', 'failed']), message: z.string().max(4096).optional() }).strict(),\n response: z.object({ accepted: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n activateExtension: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/agents/:agentId/extensions/:extensionId/activation',\n params: agentExtensionParam,\n request: z\n .object({\n revisionId: ExtensionRevisionIdSchema,\n permissionApproval: z\n .object({ permissionDigest: z.string().regex(/^[a-f0-9]{64}$/u) })\n .strict()\n .optional(),\n })\n .strict(),\n response: z\n .object({\n activation: z\n .object({\n agentId: AgentIdSchema,\n extensionId: ExtensionIdSchema,\n extensionRevisionId: ExtensionRevisionIdSchema,\n config: JsonValueSchema,\n configuredSecrets: z.array(z.string()).optional(),\n activatedAt: z.number().int().safe().nonnegative(),\n })\n .strict(),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n deactivateExtension: defineContract({\n invalidatesSnapshot: true,\n method: 'DELETE',\n path: '/api/agents/:agentId/extensions/:extensionId/activation',\n params: agentExtensionParam,\n request: NoRequestBodySchema,\n response: z.object({ disabled: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n updateExtensionActivationConfig: defineContract({\n invalidatesSnapshot: true,\n method: 'PUT',\n path: '/api/agents/:agentId/extensions/:extensionId/activation/config',\n params: agentExtensionParam,\n request: z\n .object({\n config: JsonValueSchema,\n /** Write-only credential drafts keyed by secret field; an absent or empty draft keeps the stored one. */\n secrets: z.record(z.string(), z.string().max(8192)).optional(),\n })\n .strict(),\n response: z.object({ config: JsonValueSchema, configuredSecrets: z.array(z.string()).optional() }).strict(),\n error: HostApiErrorSchema,\n }),\n updateHostExtensionConfig: defineContract({\n invalidatesSnapshot: true,\n timeoutMs: 300_000,\n method: 'PUT',\n path: '/api/extensions/:extensionId/installation/config',\n params: extensionParam,\n request: z.object({ config: JsonValueSchema }).strict(),\n response: z.object({ config: JsonValueSchema }).strict(),\n error: HostApiErrorSchema,\n }),\n installHostExtension: defineContract({\n invalidatesSnapshot: true,\n timeoutMs: 300_000,\n method: 'PUT',\n path: '/api/extensions/:extensionId/installation',\n params: extensionParam,\n request: z\n .object({\n revisionId: ExtensionRevisionIdSchema,\n permissionApproval: z\n .object({ permissionDigest: z.string().regex(/^[a-f0-9]{64}$/u) })\n .strict()\n .optional(),\n })\n .strict(),\n response: z\n .object({\n installation: z\n .object({\n extensionId: ExtensionIdSchema,\n extensionRevisionId: ExtensionRevisionIdSchema,\n installedAt: z.number().int().safe().nonnegative(),\n config: JsonValueSchema,\n })\n .strict(),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n uninstallHostExtension: defineContract({\n invalidatesSnapshot: true,\n timeoutMs: 300_000,\n method: 'DELETE',\n path: '/api/extensions/:extensionId/installation',\n params: extensionParam,\n request: NoRequestBodySchema,\n response: z.object({ uninstalled: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n updateHostUiPagePreferences: defineContract({\n invalidatesSnapshot: true,\n method: 'PUT',\n path: '/api/host-ui/page-preferences',\n params: EmptyParamsSchema,\n request: z\n .object({\n expectedRevision: z.number().int().nonnegative(),\n entries: z.array(z.object({ pageInstanceId: HostUiPageInstanceIdSchema, visible: z.boolean() }).strict()),\n })\n .strict(),\n response: z.object({ revision: z.number().int().positive() }).strict(),\n error: HostApiErrorSchema,\n }),\n callHostUiPage: defineContract({\n method: 'POST',\n path: '/api/host-ui/pages/:pageInstanceId/call',\n params: z.object({ pageInstanceId: HostUiPageInstanceIdSchema }).strict(),\n request: z.object({ method: NonEmptyStringSchema, input: JsonValueSchema.default({}) }).strict(),\n response: z.object({ value: JsonValueSchema }).strict(),\n error: HostApiErrorSchema,\n }),\n reportHostUiPageDiagnostic: defineContract({\n method: 'POST',\n path: '/api/host-ui/pages/:pageInstanceId/diagnostic',\n params: z.object({ pageInstanceId: HostUiPageInstanceIdSchema }).strict(),\n request: z\n .object({\n status: z.enum(['ready', 'load-failed', 'navigation-failed', 'rpc-failed']),\n message: z.string().max(2000).optional(),\n })\n .strict(),\n response: z.object({ recorded: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n markChannelRead: defineContract({\n method: 'POST',\n path: '/api/channels/:channelId/read',\n params: channelParam,\n request: z\n .object({\n /** Defaults to the newest inbound fact visible now. */\n upTo: z\n .object({ occurredAt: z.number().int().safe().nonnegative(), sourceId: ChannelEventIdSchema })\n .strict()\n .optional(),\n })\n .strict(),\n response: z.object({ channelId: ChannelIdSchema, activity: ChannelActivitySummarySchema }).strict(),\n error: HostApiErrorSchema,\n }),\n listAttention: defineContract({\n method: 'GET',\n path: '/api/attention',\n params: EmptyParamsSchema,\n request: NoRequestBodySchema,\n response: AttentionListSchema,\n error: HostApiErrorSchema,\n }),\n dismissAttention: defineContract({\n method: 'POST',\n path: '/api/attention/:attentionId/dismiss',\n params: z.object({ attentionId: z.string().min(1).max(200) }).strict(),\n request: NoRequestBodySchema,\n response: z.object({ dismissed: z.literal(true), revision: z.string().min(1) }).strict(),\n error: HostApiErrorSchema,\n }),\n getChannelPending: defineContract({\n method: 'GET',\n path: '/api/channels/:channelId/pending',\n params: channelParam,\n request: NoRequestBodySchema,\n response: ChannelPendingContextSchema,\n error: HostApiErrorSchema,\n }),\n stopChannelTask: defineContract({\n method: 'POST',\n path: '/api/channels/:channelId/stop',\n params: channelParam,\n request: z.object({ expectedEpisodeId: EpisodeIdSchema.optional() }).strict(),\n response: z\n .object({\n result: z.enum(['stopped', 'idle']),\n episodeId: EpisodeIdSchema.optional(),\n /** Admitted messages that were not yet consumed and remain queued for the next turn. */\n retainedPending: z.number().int().nonnegative(),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n resolveOutbound: defineContract({\n method: 'POST',\n path: '/api/outbound/:outboundId/resolve',\n params: z.object({ outboundId: OutboundIntentIdSchema }).strict(),\n request: z.object({ action: z.enum(['retry', 'confirm-delivered']) }).strict(),\n response: z\n .object({\n outboundId: OutboundIntentIdSchema,\n action: z.enum(['retry', 'confirm-delivered']),\n deliveryState: z.enum(['planned', 'sending', 'sent', 'partially-sent', 'failed', 'unknown']),\n resolvedAt: z.number().int().safe().nonnegative(),\n })\n .strict(),\n error: HostApiErrorSchema,\n }),\n getChannelActivity: defineContract({\n method: 'GET',\n path: '/api/activity',\n params: ActivityQuerySchema,\n request: NoRequestBodySchema,\n response: ChannelActivitySeriesSchema,\n error: HostApiErrorSchema,\n }),\n listAgentRevisions: defineContract({\n method: 'GET',\n path: '/api/agents/:agentId/revisions',\n params: agentParam,\n request: NoRequestBodySchema,\n response: AgentRevisionHistorySchema,\n error: HostApiErrorSchema,\n }),\n restoreAgentRevision: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/agents/:agentId/revisions/:revisionId/restore',\n params: agentRevisionParam,\n request: z.object({ expectedCurrentRevisionId: AgentRevisionIdSchema }).strict(),\n response: z.object({ currentRevisionId: AgentRevisionIdSchema }).strict(),\n error: HostApiErrorSchema,\n }),\n updateAgentAppearance: defineContract({\n invalidatesSnapshot: true,\n method: 'PATCH',\n path: '/api/agents/:agentId/appearance',\n params: agentParam,\n request: z\n .object({\n hue: z.number().int().min(0).max(359).nullable().optional(),\n /** `null` removes the avatar; uploading uses `uploadAgentAvatar`. */\n avatarAssetId: z.null().optional(),\n })\n .strict(),\n response: z.object({ agentId: AgentIdSchema, appearance: AgentAppearanceSchema }).strict(),\n error: HostApiErrorSchema,\n }),\n uploadAgentAvatar: defineContract({\n invalidatesSnapshot: true,\n method: 'POST',\n path: '/api/agents/:agentId/avatar',\n params: agentParam,\n request: BinaryUploadRequestSchema,\n encodeRequest: encodeBinaryUpload,\n response: z.object({ agentId: AgentIdSchema, appearance: AgentAppearanceSchema }).strict(),\n error: HostApiErrorSchema,\n }),\n deleteLocalExtension: defineContract({\n invalidatesSnapshot: true,\n method: 'DELETE',\n path: '/api/extensions/:extensionId',\n params: extensionParam,\n request: NoRequestBodySchema,\n response: z.object({ deleted: z.literal(true) }).strict(),\n error: HostApiErrorSchema,\n }),\n} as const\n\nexport type HostApiContractName = keyof typeof HostApiContracts\nexport type HostApiParams<Name extends HostApiContractName> = z.input<(typeof HostApiContracts)[Name]['params']>\nexport type HostApiRequest<Name extends HostApiContractName> = z.input<(typeof HostApiContracts)[Name]['request']>\nexport type HostApiResponse<Name extends HostApiContractName> = z.output<(typeof HostApiContracts)[Name]['response']>\nexport type HostApiContractParams<Contract> = Contract extends {\n readonly params: z.ZodType<unknown, infer Input>\n}\n ? Input\n : never\nexport type HostApiContractRequest<Contract> = Contract extends {\n readonly request: z.ZodType<unknown, infer Input>\n}\n ? Input\n : never\nexport type HostApiContractResponse<Contract> = Contract extends {\n readonly response: z.ZodType<infer Output, unknown>\n}\n ? Output\n : never\n\nconst pathParameterPattern = /:([A-Za-z][A-Za-z0-9]*)/gu\n\n/** Build the transport URL only after all path/query parameters pass the shared schema. */\nconst buildValidatedHostApiPath = (\n contract: { readonly path: string; readonly params: AnySchema },\n input: unknown,\n): string => {\n const params = z.record(z.string(), z.unknown()).parse(contract.params.parse(input))\n const consumed = new Set<string>()\n const pathname = contract.path.replace(pathParameterPattern, (_placeholder, key: string) => {\n const value = params[key]\n if (typeof value !== 'string') throw new TypeError(`Host API path parameter ${key} must be a string.`)\n consumed.add(key)\n return encodeURIComponent(value)\n })\n const query = new URLSearchParams()\n for (const [key, value] of Object.entries(params)) {\n if (consumed.has(key) || value === undefined) continue\n if (typeof value !== 'string' && typeof value !== 'number' && typeof value !== 'boolean') {\n throw new TypeError(`Host API query parameter ${key} must be a string, number, or boolean.`)\n }\n query.set(key, String(value))\n }\n const suffix = query.toString()\n return suffix ? `${pathname}?${suffix}` : pathname\n}\n\nexport function buildHostApiContractPath<Params extends AnySchema>(\n contract: { readonly path: string; readonly params: Params },\n input: unknown,\n): string {\n return buildValidatedHostApiPath(contract, input)\n}\n\nexport function buildHostApiPath<Name extends HostApiContractName>(name: Name, input: HostApiParams<Name>): string {\n return buildValidatedHostApiPath(HostApiContracts[name], input)\n}\n"],"mappings":"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"}
|