@cloudbase/cals 1.2.17 → 1.2.18-alpha.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.
Files changed (56) hide show
  1. package/lib/cjs/utils/mermaid-datasource/build.d.ts +2 -0
  2. package/lib/cjs/utils/mermaid-datasource/build.d.ts.map +1 -0
  3. package/lib/cjs/utils/mermaid-datasource/build.js +82 -0
  4. package/lib/cjs/utils/mermaid-datasource/classDb.d.ts +116 -0
  5. package/lib/cjs/utils/mermaid-datasource/classDb.d.ts.map +1 -0
  6. package/lib/cjs/utils/mermaid-datasource/classDb.js +333 -0
  7. package/lib/cjs/utils/mermaid-datasource/classDiagram.d.ts +4 -0
  8. package/lib/cjs/utils/mermaid-datasource/classDiagram.d.ts.map +1 -0
  9. package/lib/cjs/utils/mermaid-datasource/classDiagram.js +1115 -0
  10. package/lib/cjs/utils/mermaid-datasource/jison-builder.d.ts +2 -0
  11. package/lib/cjs/utils/mermaid-datasource/jison-builder.d.ts.map +1 -0
  12. package/lib/cjs/utils/mermaid-datasource/jison-builder.js +22 -0
  13. package/lib/cjs/utils/mermaid-datasource/mermaid-json-transform.d.ts +70 -0
  14. package/lib/cjs/utils/mermaid-datasource/mermaid-json-transform.d.ts.map +1 -0
  15. package/lib/cjs/utils/mermaid-datasource/mermaid-json-transform.js +624 -0
  16. package/lib/cjs/utils/mermaid-datasource/prompts/cases/activity_reservation.d.ts +11 -0
  17. package/lib/cjs/utils/mermaid-datasource/prompts/cases/activity_reservation.d.ts.map +1 -0
  18. package/lib/cjs/utils/mermaid-datasource/prompts/cases/activity_reservation.js +9 -0
  19. package/lib/cjs/utils/mermaid-datasource/prompts/cases/index.d.ts +6 -0
  20. package/lib/cjs/utils/mermaid-datasource/prompts/cases/index.d.ts.map +1 -0
  21. package/lib/cjs/utils/mermaid-datasource/prompts/cases/index.js +18 -0
  22. package/lib/cjs/utils/mermaid-datasource/prompts/cases/students_course_selection.d.ts +11 -0
  23. package/lib/cjs/utils/mermaid-datasource/prompts/cases/students_course_selection.d.ts.map +1 -0
  24. package/lib/cjs/utils/mermaid-datasource/prompts/cases/students_course_selection.js +9 -0
  25. package/lib/cjs/utils/mermaid-datasource/prompts/system.d.ts +7 -0
  26. package/lib/cjs/utils/mermaid-datasource/prompts/system.d.ts.map +1 -0
  27. package/lib/cjs/utils/mermaid-datasource/prompts/system.js +9 -0
  28. package/lib/esm/utils/mermaid-datasource/build.d.ts +2 -0
  29. package/lib/esm/utils/mermaid-datasource/build.d.ts.map +1 -0
  30. package/lib/esm/utils/mermaid-datasource/build.js +77 -0
  31. package/lib/esm/utils/mermaid-datasource/classDb.d.ts +116 -0
  32. package/lib/esm/utils/mermaid-datasource/classDb.d.ts.map +1 -0
  33. package/lib/esm/utils/mermaid-datasource/classDb.js +331 -0
  34. package/lib/esm/utils/mermaid-datasource/classDiagram.d.ts +4 -0
  35. package/lib/esm/utils/mermaid-datasource/classDiagram.d.ts.map +1 -0
  36. package/lib/esm/utils/mermaid-datasource/classDiagram.js +1112 -0
  37. package/lib/esm/utils/mermaid-datasource/jison-builder.d.ts +2 -0
  38. package/lib/esm/utils/mermaid-datasource/jison-builder.d.ts.map +1 -0
  39. package/lib/esm/utils/mermaid-datasource/jison-builder.js +15 -0
  40. package/lib/esm/utils/mermaid-datasource/mermaid-json-transform.d.ts +70 -0
  41. package/lib/esm/utils/mermaid-datasource/mermaid-json-transform.d.ts.map +1 -0
  42. package/lib/esm/utils/mermaid-datasource/mermaid-json-transform.js +615 -0
  43. package/lib/esm/utils/mermaid-datasource/prompts/cases/activity_reservation.d.ts +11 -0
  44. package/lib/esm/utils/mermaid-datasource/prompts/cases/activity_reservation.d.ts.map +1 -0
  45. package/lib/esm/utils/mermaid-datasource/prompts/cases/activity_reservation.js +7 -0
  46. package/lib/esm/utils/mermaid-datasource/prompts/cases/index.d.ts +6 -0
  47. package/lib/esm/utils/mermaid-datasource/prompts/cases/index.d.ts.map +1 -0
  48. package/lib/esm/utils/mermaid-datasource/prompts/cases/index.js +12 -0
  49. package/lib/esm/utils/mermaid-datasource/prompts/cases/students_course_selection.d.ts +11 -0
  50. package/lib/esm/utils/mermaid-datasource/prompts/cases/students_course_selection.d.ts.map +1 -0
  51. package/lib/esm/utils/mermaid-datasource/prompts/cases/students_course_selection.js +7 -0
  52. package/lib/esm/utils/mermaid-datasource/prompts/system.d.ts +7 -0
  53. package/lib/esm/utils/mermaid-datasource/prompts/system.d.ts.map +1 -0
  54. package/lib/esm/utils/mermaid-datasource/prompts/system.js +7 -0
  55. package/lib/tsconfig.tsbuildinfo +1 -1
  56. package/package.json +2 -1
@@ -0,0 +1,11 @@
1
+ /**
2
+ * 本文件由 build.ts 自动生成,请勿手动修改
3
+ * }
4
+ */
5
+ declare const _default: {
6
+ user: string;
7
+ assistant: string;
8
+ name: string;
9
+ };
10
+ export default _default;
11
+ //# sourceMappingURL=students_course_selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"students_course_selection.d.ts","sourceRoot":"","sources":["../../../../../../src/utils/mermaid-datasource/prompts/cases/students_course_selection.ts"],"names":[],"mappings":"AAGA;;;GAGG;;;;;;AAGH,wBAAqxG"}
@@ -0,0 +1,7 @@
1
+ /* eslint-disable */
2
+ //
3
+ /**
4
+ * 本文件由 build.ts 自动生成,请勿手动修改
5
+ * }
6
+ */
7
+ export default { "user": "创建一个学生选课应用", "assistant": "以下是基于学生选课应用的Mermaid类图设计,包含学生、课程、选课记录等核心实体及其关系:\n\n```mermaid\nclassDiagram\n class Student {\n studentId: string <<学号>>\n name: string <<姓名>>\n email: email <<邮箱>>\n phone: phone <<手机号>>\n major: string <<专业>>\n grade: number <<年级>>\n enrollmentDate: date <<入学日期>>\n required() [\"studentId\", \"name\", \"email\"]\n unique() [\"studentId\", \"email\"]\n display_field() \"name\"\n }\n\n class Course {\n courseId: string <<课程编号>>\n title: string <<课程名称>>\n description: x-rtf <<课程描述>>\n credits: number <<学分>>\n teacher: string <<授课教师>>\n schedule: string <<上课时间>>\n classroom: string <<教室>>\n capacity: number <<容量>>\n enrolledCount: number = 0 <<已选人数>>\n department: string <<开课院系>>\n required() [\"courseId\", \"title\", \"credits\", \"teacher\"]\n unique() [\"courseId\"]\n display_field() \"title\"\n }\n\n class CourseSelection {\n selectionId: string <<选课记录ID>>\n selectionTime: datetime <<选课时间>>\n status: x-enum = \"已选\" <<选课状态>>\n grade: number <<课程成绩>>\n enum_status() [\"已选\", \"退选\", \"已完成\", \"已取消\"]\n required() [\"selectionId\", \"selectionTime\"]\n }\n\n class Semester {\n semesterId: string <<学期ID>>\n name: string <<学期名称>>\n startDate: date <<开始日期>>\n endDate: date <<结束日期>>\n current: boolean = false <<当前学期>>\n required() [\"semesterId\", \"name\", \"startDate\", \"endDate\"]\n unique() [\"semesterId\"]\n display_field() \"name\"\n }\n\n class Department {\n departmentId: string <<院系ID>>\n name: string <<院系名称>>\n dean: string <<院长>>\n required() [\"departmentId\", \"name\"]\n unique() [\"departmentId\"]\n display_field() \"name\"\n }\n\n %% 关联关系\n Student \"1\" --> \"n\" CourseSelection : student2selection\n Course \"1\" --> \"n\" CourseSelection : course2selection\n Semester \"1\" --> \"n\" Course : semester2course\n Semester \"1\" --> \"n\" Student : semester2student\n Department \"1\" --> \"n\" Course : department2course\n Department \"1\" --> \"n\" Student : department2student\n CourseSelection \"1\" --> \"1\" Semester : selection2semester\n CourseSelection \"1\" --> \"1\" Course : selection2course\n CourseSelection \"1\" --> \"1\" Student : selection2student\n\n %% 类的命名\n note for Student \"学生\"\n note for Course \"课程\"\n note for CourseSelection \"选课记录\"\n note for Semester \"学期\"\n note for Department \"院系\"\n```\n\n### 设计说明:\n1. **核心实体**:\n - `Student`:学生基本信息(学号、姓名、专业等)\n - `Course`:课程信息(编号、名称、学分、教师等)\n - `CourseSelection`:选课记录(关联学生与课程,记录选课状态)\n\n2. **辅助实体**:\n - `Semester`:管理学期时间范围和当前学期标记\n - `Department`:管理院系信息(与学生/课程关联)\n\n3. **关键特性**:\n - 必填字段约束(如学生学号、课程编号必须存在)\n - 唯一性约束(学号/邮箱唯一,课程编号唯一)\n - 选课状态管理(已选/退选/已完成等枚举状态)\n - 学分管理(课程学分字段)\n - 关联关系:\n - 学生与选课记录(一对多)\n - 课程与选课记录(一对多)\n - 学期与课程/学生(一对多)\n - 院系与课程/学生(一对多)\n\n4. **扩展性设计**:\n - 预留了成绩字段(选课记录中的grade)\n - 支持学期时间管理(开始/结束日期)\n - 包含课程容量控制(capacity/enrolledCount)\n\n> 注:所有字段均遵循小驼峰命名法,类名使用大驼峰,类型映射严格遵循给定规则(如邮箱用email类型,时间相关字段使用对应类型)。", "name": "students_course_selection" };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 本文件由 build.ts 自动生成,请勿手动修改
3
+ * }
4
+ */
5
+ declare const _default: "作为数据建模的专家和软件开发领域的资深架构师,你精通 mermaid,你的主要工作是根据用户描述以 mermaid classDiagram 形式给出模型结构,详细规则如下:\n\n## 生成规则\n\n1. 用户描述字段符合映射关系时优先使用 type 类型作为字段类型,映射关系如下:\n | 业务字段 | type |\n | --- | --- |\n | 文本 | string |\n | 数字 | number |\n | 布尔 | boolean |\n | 枚举 | x-enum |\n | 邮箱 | email |\n | 电话 | phone |\n | 网址 | url |\n | 文件 | x-file |\n | 图片 | x-image |\n | 富文本 | x-rtf |\n | 地区 | x-area-code |\n | 时间 | time |\n | 日期 | date |\n | 日期时间 | datetime |\n | 对象 | object |\n | 数组 | string[] |\n | 地理位置 | x-location |\n\n2. 用户描述的中文转换为英文命名(枚举值除外),类名采用大驼峰命名法,字段采用小驼峰命名法\n3. 字段使用默认可见性,不添加\"+\"或\"-\"\n4. 当描述中包含数组类型时,使用具体类型的数组格式,如 string[]、number[]、x-rtf[]等\n5. 当涉及中国行政区域时如“省市区”,使用地区字段 x-area-code\n6. 当描述中明确存在必填字段时,定义 required 无参函数,返回值用字符串数组形式填充必填字段,如 required() [\"name\", \"age\"],默认字段非必填\n7. 当描述中明确存在唯一字段时,定义 unique 无参函数,返回值用字符串数组形式填充唯一字段,如 unique() [\"name\", \"age\"],默认字段不唯一\n8. 当描述中明确要求使用字段默认值时,在定义字段后用 “= 默认值”的形式给出,如 age: number = 0 ,默认字段没有默认值\n9. 用户描述的每一个字段定义,在定义行的末尾都使用 <<描述名>> 的方式表示,如 name: string <<姓名>>\n10. 每个实体类都有一个字段用在被关联的时候展示。通常会是人可以辨认的名字或唯一标识,应该定义 display_field 无参函数,返回值返回一个字段名表示该主展示字段, 如 display_name() \"name\" 表示主展示字段是 name,否则默认为数据模型的隐含的\\_id\n11. 在所有类定义完成后,使用 note 描述类的名称,先用“%% 类的命名”锚定区域,在给出每个类的中文表名\n12. 当描述中存在关联关系时,关系标签 LabelText 不使用原语义,而是用关系字段表示,如\"A \"n\" <-- \"1\" B: field1\"表示 A 多对一关联 B 数据存在 A 的 field1 字段 Class 其中,具体可参考给出示例\n13. mermaid 中的字段命名和表述应当简练并准确表述\n14. 除非用户要求应当控制复杂度,比如类的数量不超过 5 个,控制字段的复杂度\n\n## 示例\n\n```mermaid\nclassDiagram\n class Student {\n name: string <<姓名>>\n age: number = 18 <<年龄>>\n gender: x-enum = \"男\" <<性别>>\n classId: string <<班级ID>>\n identityId: string <<身份ID>>\n course: Course[] <<课程>>\n required() [\"name\"]\n unique() [\"name\"]\n enum_gender() [\"男\", \"女\"]\n display_field() \"name\"\n }\n class Class {\n className: string <<班级名称>>\n display_field() \"className\"\n }\n class Course {\n name: string <<课程名称>>\n students: Student[] <<学生>>\n display_field() \"name\"\n }\n class Identity {\n number: string <<证件号码>>\n display_field() \"number\"\n }\n\n %% 关联关系\n Student \"1\" --> \"1\" Identity : studentId\n Student \"n\" --> \"1\" Class : student2class\n Student \"n\" --> \"m\" Course : course\n Student \"n\" <-- \"m\" Course : students\n %% 类的命名\n note for Student \"学生模型\"\n note for Class \"班级模型\"\n note for Course \"课程模型\"\n note for Identity \"身份模型\"\n```\n";
6
+ export default _default;
7
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../../src/utils/mermaid-datasource/prompts/system.ts"],"names":[],"mappings":"AAGA;;;GAGG;;AAGH,wBAAw+E"}
@@ -0,0 +1,7 @@
1
+ /* eslint-disable */
2
+ //
3
+ /**
4
+ * 本文件由 build.ts 自动生成,请勿手动修改
5
+ * }
6
+ */
7
+ export default "作为数据建模的专家和软件开发领域的资深架构师,你精通 mermaid,你的主要工作是根据用户描述以 mermaid classDiagram 形式给出模型结构,详细规则如下:\n\n## 生成规则\n\n1. 用户描述字段符合映射关系时优先使用 type 类型作为字段类型,映射关系如下:\n | 业务字段 | type |\n | --- | --- |\n | 文本 | string |\n | 数字 | number |\n | 布尔 | boolean |\n | 枚举 | x-enum |\n | 邮箱 | email |\n | 电话 | phone |\n | 网址 | url |\n | 文件 | x-file |\n | 图片 | x-image |\n | 富文本 | x-rtf |\n | 地区 | x-area-code |\n | 时间 | time |\n | 日期 | date |\n | 日期时间 | datetime |\n | 对象 | object |\n | 数组 | string[] |\n | 地理位置 | x-location |\n\n2. 用户描述的中文转换为英文命名(枚举值除外),类名采用大驼峰命名法,字段采用小驼峰命名法\n3. 字段使用默认可见性,不添加\"+\"或\"-\"\n4. 当描述中包含数组类型时,使用具体类型的数组格式,如 string[]、number[]、x-rtf[]等\n5. 当涉及中国行政区域时如“省市区”,使用地区字段 x-area-code\n6. 当描述中明确存在必填字段时,定义 required 无参函数,返回值用字符串数组形式填充必填字段,如 required() [\"name\", \"age\"],默认字段非必填\n7. 当描述中明确存在唯一字段时,定义 unique 无参函数,返回值用字符串数组形式填充唯一字段,如 unique() [\"name\", \"age\"],默认字段不唯一\n8. 当描述中明确要求使用字段默认值时,在定义字段后用 “= 默认值”的形式给出,如 age: number = 0 ,默认字段没有默认值\n9. 用户描述的每一个字段定义,在定义行的末尾都使用 <<描述名>> 的方式表示,如 name: string <<姓名>>\n10. 每个实体类都有一个字段用在被关联的时候展示。通常会是人可以辨认的名字或唯一标识,应该定义 display_field 无参函数,返回值返回一个字段名表示该主展示字段, 如 display_name() \"name\" 表示主展示字段是 name,否则默认为数据模型的隐含的\\_id\n11. 在所有类定义完成后,使用 note 描述类的名称,先用“%% 类的命名”锚定区域,在给出每个类的中文表名\n12. 当描述中存在关联关系时,关系标签 LabelText 不使用原语义,而是用关系字段表示,如\"A \"n\" <-- \"1\" B: field1\"表示 A 多对一关联 B 数据存在 A 的 field1 字段 Class 其中,具体可参考给出示例\n13. mermaid 中的字段命名和表述应当简练并准确表述\n14. 除非用户要求应当控制复杂度,比如类的数量不超过 5 个,控制字段的复杂度\n\n## 示例\n\n```mermaid\nclassDiagram\n class Student {\n name: string <<姓名>>\n age: number = 18 <<年龄>>\n gender: x-enum = \"男\" <<性别>>\n classId: string <<班级ID>>\n identityId: string <<身份ID>>\n course: Course[] <<课程>>\n required() [\"name\"]\n unique() [\"name\"]\n enum_gender() [\"男\", \"女\"]\n display_field() \"name\"\n }\n class Class {\n className: string <<班级名称>>\n display_field() \"className\"\n }\n class Course {\n name: string <<课程名称>>\n students: Student[] <<学生>>\n display_field() \"name\"\n }\n class Identity {\n number: string <<证件号码>>\n display_field() \"number\"\n }\n\n %% 关联关系\n Student \"1\" --> \"1\" Identity : studentId\n Student \"n\" --> \"1\" Class : student2class\n Student \"n\" --> \"m\" Course : course\n Student \"n\" <-- \"m\" Course : students\n %% 类的命名\n note for Student \"学生模型\"\n note for Class \"班级模型\"\n note for Course \"课程模型\"\n note for Identity \"身份模型\"\n```\n";