Core AI
    正在准备搜索索引...
    • 当新建一个资源(如 Application)时,会自动为其创建一个版本,默认版本号为创建时的时间戳
    • 但是 Core AI Service 并不严格按照 Semantic Versions 来约束版本,用户可以自由设置和更改以符合用户的习惯
    • 并且 Core AI Service 也不会在创建新版本的时候自动递增版本号,手动创建版本需要自行设置版本号(UI 应提供对应的交互)
    • 有些情况下 Core AI Service 会自动创建新版本(例如 AI 生成了新的问卷数据时),此时系统会为新版本分配一个版本号(UNIX 时间戳)并添加一个以 "coreai:" 为前缀的标签(如 coreai:generate_survey);用户仍然可以自行修改版本号和追加标签来满足自己的需求
    • 每一个版本都有与之绑定的资源快照,例如 snapshot.applicationsnapshot.survey
    • 当用户更新数据时,新的数据快照会覆盖当前版本下的旧的数据快照。当用户签出指定版本时,该版本绑定的快照会被取出并覆盖当前的数据
    • 任意时刻当用户创建新版本时,当前的数据快照会保存在新的版本下;也就是说,新的版本下的快照总是和当前版本的快照一致,但是后续再发生数据更新时,就只有新版本(也就是当前版本)的快照会被更新
    索引

    方法

    • 创建一个新版本

      必须提供版本所关联的资源 ID、资源类型以及版本号;标签可选。

      参数

      • body: {
            resourceId: string;
            resourceType: "application";
            tags?: string[];
            version: string;
        }

      返回 Promise<
          {
              data: {
                  createdAt: string;
                  id: string;
                  resourceId: null
                  | string;
                  resourceType: "application";
                  snapshot: Snapshot;
                  tags: string[];
                  updatedAt: string;
                  version: string;
              };
          },
      >

      为指定应用创建一个 version

      const { data: newVersion } = await client.version.create({
      resourceId: application.id,
      resourceType: "application",
      version: "2025-12-31"
      })
    • 按资源 ID 获取版本列表

      资源 ID 即是版本所关联的资源的 ID,例如:如果要获取一个应用的版本列表,则资源 ID 即是应用的 ID。

      参数

      • resourceId: string

      返回 Promise<
          {
              data: {
                  createdAt: string;
                  id: string;
                  resourceId: null
                  | string;
                  resourceType: "application";
                  snapshot: Snapshot;
                  tags: string[];
                  updatedAt: string;
                  version: string;
              }[];
          },
      >

      获取一个应用的所有版本列表

      const { data: versions } = await client.version.listByResourceId(application.id)
      
    • 更新指定的版本

      参数

      • versionId: string
      • body: { tags?: string[]; version?: string }

      返回 Promise<
          {
              data: {
                  createdAt: string;
                  id: string;
                  resourceId: null
                  | string;
                  resourceType: "application";
                  snapshot: Snapshot;
                  tags: string[];
                  updatedAt: string;
                  version: string;
              };
          },
      >

      更新版本号

      const { data: updatedVersion } = await client.version.update(versionId, {
      version: "updated_version",
      })

      更新版本标签

      const { data: updatedVersion } = await client.version.update(versionId, {
      tags: ["updated"],
      })