重新生成 ts-rs 前端绑定并让前端按 null 语义构造运行时区段
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Successful in 6m35s
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Successful in 5m31s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m15s
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Successful in 5m47s
Project CI / Backend tests (pull_request) Failing after 11s
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Successful in 4m15s
Project CI / Repository checks (pull_request) Failing after 19s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 3m15s
Project CI / Frontend tests (pull_request) Failing after 5m44s
Project CI / AI game creator shell web tests (pull_request) Successful in 5m49s
Project CI / Native shell tests (pull_request) Successful in 10m42s
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Successful in 6m35s
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Successful in 5m31s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 2m15s
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Successful in 5m47s
Project CI / Backend tests (pull_request) Failing after 11s
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Successful in 4m15s
Project CI / Repository checks (pull_request) Failing after 19s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 3m15s
Project CI / Frontend tests (pull_request) Failing after 5m44s
Project CI / AI game creator shell web tests (pull_request) Successful in 5m49s
Project CI / Native shell tests (pull_request) Successful in 10m42s
- 跑 export_bindings 后 prettier 格式化:DirectCodexUser* 5 个文件内容更新,新增 DirectCodexUserMessageEnvelope.ts 与 ui-editor 的 BindingChange/BindingDTO - DirectCodexUserRuntimeRegionPart 的可选字段由 `?:` 变成 `T | null`(Rust Option 会显式序列化成 null,不是省略键) - chatReferenceToContentPart 改用 `?? null`,消息条目的 satisfies 目标改为 DirectCodexUserItem(type:'message' 归到信封类型) - ResourceReferenceInput 不再复制一份区段字面量,改为复用 chatReferenceToContentPart - 验证:tsc --noEmit 通过;resourceReferences 等 5 个用例集 81 passed;appSurface 452 passed / 17 skipped(连跑两次)
This commit is contained in:
+2
-19
@@ -80,6 +80,7 @@ import {
|
||||
type ChatComposerDraft,
|
||||
type ChatReference,
|
||||
chatReferenceListKey,
|
||||
chatReferenceToContentPart,
|
||||
currentIterationVersionAssets,
|
||||
dedupeChatReferences,
|
||||
refreshResourceReference,
|
||||
@@ -203,25 +204,7 @@ function collectDraftParts(
|
||||
if ($isResourceReferenceNode(node)) {
|
||||
textParts.push(`@${node.__reference.label}`);
|
||||
references.push(node.__reference);
|
||||
content.push(
|
||||
node.__reference.type === 'resource'
|
||||
? {
|
||||
type: 'agc_resource_reference',
|
||||
resourceId: node.__reference.resourceId,
|
||||
}
|
||||
: {
|
||||
type: 'agc_runtime_region_reference',
|
||||
label: node.__reference.label,
|
||||
runId: node.__reference.runId,
|
||||
versionId: node.__reference.versionId,
|
||||
elementTag: node.__reference.elementTag,
|
||||
elementRole: node.__reference.elementRole,
|
||||
text: node.__reference.text,
|
||||
width: node.__reference.width,
|
||||
height: node.__reference.height,
|
||||
resourceIds: node.__reference.resourceIds,
|
||||
},
|
||||
);
|
||||
content.push(chatReferenceToContentPart(node.__reference));
|
||||
return;
|
||||
}
|
||||
if ($isElementNode(node)) {
|
||||
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
// This file is generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { DirectCodexUserRuntimeRegionPart } from './DirectCodexUserRuntimeRegionPart';
|
||||
|
||||
export type DirectCodexUserContentPart =
|
||||
|
||||
+7
-3
@@ -1,5 +1,9 @@
|
||||
// This file is generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { DirectCodexUserMessageItem } from './DirectCodexUserMessageItem';
|
||||
|
||||
export type DirectCodexUserItem = DirectCodexUserMessageItem;
|
||||
/**
|
||||
* DirectProject 本轮 user input 的唯一结构化入口。
|
||||
*/
|
||||
export type DirectCodexUserItem = {
|
||||
type: 'message';
|
||||
} & DirectCodexUserMessageItem;
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { DirectCodexUserItem } from './DirectCodexUserItem';
|
||||
|
||||
export type DirectCodexUserMessageEnvelope = { item: DirectCodexUserItem };
|
||||
+2
-4
@@ -1,11 +1,9 @@
|
||||
// This file is generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { DirectCodexUserContentPart } from './DirectCodexUserContentPart';
|
||||
import type { DirectCodexUserRole } from './DirectCodexUserRole';
|
||||
|
||||
export type DirectCodexUserMessageItem = {
|
||||
type: 'message';
|
||||
role: DirectCodexUserRole;
|
||||
content: DirectCodexUserContentPart[];
|
||||
content: Array<DirectCodexUserContentPart>;
|
||||
id: string;
|
||||
};
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
// This file is generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
export type DirectCodexUserRole = 'user';
|
||||
|
||||
+9
-9
@@ -1,13 +1,13 @@
|
||||
// This file is generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
export type DirectCodexUserRuntimeRegionPart = {
|
||||
label: string;
|
||||
runId?: string;
|
||||
versionId?: string;
|
||||
elementTag?: string;
|
||||
elementRole?: string;
|
||||
text?: string;
|
||||
width?: number;
|
||||
height?: number;
|
||||
resourceIds: string[];
|
||||
runId: string | null;
|
||||
versionId: string | null;
|
||||
elementTag: string | null;
|
||||
elementRole: string | null;
|
||||
text: string | null;
|
||||
width: number | null;
|
||||
height: number | null;
|
||||
resourceIds: Array<string>;
|
||||
};
|
||||
|
||||
@@ -13,7 +13,6 @@ import {
|
||||
import type {
|
||||
DirectCodexUserContentPart,
|
||||
DirectCodexUserItem,
|
||||
DirectCodexUserMessageItem,
|
||||
} from './generated';
|
||||
|
||||
export type ResourceReferenceSource =
|
||||
@@ -100,16 +99,17 @@ export function chatReferenceToContentPart(
|
||||
if (reference.type === 'resource') {
|
||||
return { type: 'agc_resource_reference', resourceId: reference.resourceId };
|
||||
}
|
||||
// 生成绑定里可选字段是 `T | null`(Rust `Option<T>` 会显式序列化成 null,不是省略键)。
|
||||
return {
|
||||
type: 'agc_runtime_region_reference',
|
||||
label: reference.label,
|
||||
runId: reference.runId,
|
||||
versionId: reference.versionId,
|
||||
elementTag: reference.elementTag,
|
||||
elementRole: reference.elementRole,
|
||||
text: reference.text,
|
||||
width: reference.width,
|
||||
height: reference.height,
|
||||
runId: reference.runId ?? null,
|
||||
versionId: reference.versionId ?? null,
|
||||
elementTag: reference.elementTag ?? null,
|
||||
elementRole: reference.elementRole ?? null,
|
||||
text: reference.text ?? null,
|
||||
width: reference.width ?? null,
|
||||
height: reference.height ?? null,
|
||||
resourceIds: reference.resourceIds,
|
||||
};
|
||||
}
|
||||
@@ -135,7 +135,7 @@ export function chatComposerDraftToDirectCodexUserItem(
|
||||
role: 'user',
|
||||
content,
|
||||
id,
|
||||
} satisfies DirectCodexUserMessageItem;
|
||||
} satisfies DirectCodexUserItem;
|
||||
}
|
||||
|
||||
export function resourceDisplayName(asset: GameCreationAppAssetManifestEntry) {
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { NodeComponent } from "./NodeComponent";
|
||||
import type { NodeId } from "./NodeId";
|
||||
import type { StageStatus } from "./StageStatus";
|
||||
|
||||
export type BindingChange = { node_id: NodeId, component: NodeComponent, component_status: StageStatus, };
|
||||
@@ -0,0 +1,4 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
import type { BindingChange } from "./BindingChange";
|
||||
|
||||
export type BindingDTO = { changes: Array<BindingChange>, };
|
||||
Reference in New Issue
Block a user