@givolt/i3-composer-agent 2.3.1 → 2.3.3

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 (173) hide show
  1. package/.agents/plugins/marketplace.json +1 -1
  2. package/.claude/commands/i3-prototype.md +5 -7
  3. package/.claude-plugin/marketplace.json +1 -1
  4. package/.claude-plugin/plugin.json +1 -1
  5. package/.codex-plugin/plugin.json +1 -1
  6. package/.gemini/commands/i3-prototype.toml +5 -7
  7. package/README.md +16 -7
  8. package/bin/agent-targets.json +4 -2
  9. package/bin/i3-composer-agent.cjs +74 -7
  10. package/bin/install.cjs +16 -1
  11. package/bin/native-layout.cjs +1 -1
  12. package/bin/native-migration.cjs +27 -3
  13. package/bin/tool-selector.cjs +24 -7
  14. package/bin/wizard.cjs +89 -15
  15. package/commands/i3-prototype.toml +5 -7
  16. package/docs/codebuddy-setup.md +91 -3
  17. package/docs/codex-setup.md +6 -0
  18. package/docs/other-hosts.md +1 -1
  19. package/docs/ui-prototype-native/MAIN-SESSION-REPORT.md +66 -0
  20. package/docs/ui-prototype-native/USAGE.md +93 -0
  21. package/docs/workbuddy-setup.md +6 -0
  22. package/evals/cases/i3-frontend-ui-engineering.json +16 -0
  23. package/evals/cases/i3-ui-prototype.json +109 -0
  24. package/evals/cases/i3-using-agent-skills.json +28 -0
  25. package/evals/fixtures/i3-ui-prototype/admin-list/assets/reference.css +3 -0
  26. package/evals/fixtures/i3-ui-prototype/admin-list/assets/reference.js +8 -0
  27. package/evals/fixtures/i3-ui-prototype/admin-list/capability-definition.json +67 -0
  28. package/evals/fixtures/i3-ui-prototype/admin-list/index.html +89 -0
  29. package/evals/fixtures/i3-ui-prototype/admin-list/readme.md +52 -0
  30. package/evals/fixtures/i3-ui-prototype/admin-list/template.json +8 -0
  31. package/evals/zh-CN/cases/i3-frontend-ui-engineering.json +17 -0
  32. package/evals/zh-CN/cases/i3-ui-prototype.json +115 -0
  33. package/evals/zh-CN/cases/i3-using-agent-skills.json +30 -0
  34. package/hooks/codebuddy-upstream.cjs +93 -0
  35. package/hooks/i3-prototype.cjs +12 -0
  36. package/hooks/manage.cjs +162 -0
  37. package/package.json +61 -1
  38. package/plugin.json +1 -1
  39. package/scripts/design-provider-test.js +7 -0
  40. package/scripts/enterprise-template-test.js +27 -1
  41. package/scripts/lib/prototype-fixture.cjs +17 -0
  42. package/scripts/prototype-cache-test.js +55 -0
  43. package/scripts/prototype-generation-entry-test.js +6 -0
  44. package/scripts/prototype-generation-evidence-test.js +10 -0
  45. package/scripts/prototype-generation-native-test.js +78 -0
  46. package/scripts/prototype-generation-test.js +99 -0
  47. package/scripts/prototype-inventory-test.js +43 -0
  48. package/scripts/prototype-locations-test.js +79 -0
  49. package/scripts/prototype-project-test.js +183 -0
  50. package/scripts/ui-prototype-codebuddy-hook-test.js +106 -0
  51. package/scripts/ui-prototype-content-test.js +123 -0
  52. package/scripts/ui-prototype-dependencies-test.js +213 -0
  53. package/scripts/ui-prototype-devtools-test.js +53 -0
  54. package/scripts/ui-prototype-execution-evidence-test.js +62 -0
  55. package/scripts/ui-prototype-execution-gates-test.js +66 -0
  56. package/scripts/ui-prototype-execution-policy-test.js +42 -0
  57. package/scripts/ui-prototype-execution-runtime-test.js +27 -0
  58. package/scripts/ui-prototype-ide-source-test.js +73 -0
  59. package/scripts/ui-prototype-native-test.js +504 -0
  60. package/scripts/ui-prototype-registration-test.js +53 -0
  61. package/scripts/ui-prototype-template-test.js +261 -0
  62. package/scripts/ui-prototype-test.js +10 -0
  63. package/scripts/ui-prototype-transcript-auto-test.js +67 -0
  64. package/skills/i3-frontend-ui-engineering/SKILL.md +1 -1
  65. package/skills/i3-incremental-implementation/SKILL.md +1 -1
  66. package/skills/i3-ui-prototype/SKILL.md +158 -19
  67. package/skills/i3-ui-prototype/assets/capabilities/generation.json +833 -0
  68. package/skills/i3-ui-prototype/assets/capabilities/management.json +294 -0
  69. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/acceptance.json +51 -0
  70. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/component-map.json +13 -0
  71. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/generation-component-map.json +300 -0
  72. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/index.html +11 -0
  73. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/package-lock.json +2298 -0
  74. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/package.json +22 -0
  75. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/public/prototype-config.json +6 -0
  76. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/App.vue +136 -0
  77. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/components/DeviceEditor.vue +111 -0
  78. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/config.ts +19 -0
  79. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/content.ts +28 -0
  80. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/domain/devices.ts +50 -0
  81. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/domain/theme.ts +25 -0
  82. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/main.ts +18 -0
  83. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/style.css +50 -0
  84. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/useDevices.ts +66 -0
  85. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/tests/devices.test.ts +44 -0
  86. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/tests/theme.test.ts +26 -0
  87. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/tsconfig.json +15 -0
  88. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/vite.config.ts +4 -0
  89. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/profile.json +174 -0
  90. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/readme.md +61 -0
  91. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/index.html +11 -0
  92. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/package-lock.json +2298 -0
  93. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/package.json +22 -0
  94. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/public/prototype-config.json +21 -0
  95. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/App.vue +62 -0
  96. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/PrototypeShell.vue +59 -0
  97. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/config.ts +23 -0
  98. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/domain/presentation.ts +29 -0
  99. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/domain/theme.ts +25 -0
  100. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/main.ts +18 -0
  101. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/style.css +26 -0
  102. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/tests/presentation.test.ts +23 -0
  103. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/tests/theme.test.ts +26 -0
  104. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/tsconfig.json +15 -0
  105. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/vite.config.ts +4 -0
  106. package/skills/i3-ui-prototype/assets/hosts/codebuddy/profile.json +13 -0
  107. package/skills/i3-ui-prototype/assets/optional-skills/host-targets.json +739 -0
  108. package/skills/i3-ui-prototype/assets/optional-skills/sources.json +27 -0
  109. package/skills/i3-ui-prototype/assets/templates/catalog.js +149 -0
  110. package/skills/i3-ui-prototype/assets/templates/catalog.json +2 -1
  111. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/capability-definition.json +294 -0
  112. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/component-inventory.json +707 -0
  113. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/generation.json +49 -0
  114. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/index.html +507 -2
  115. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/offline-build.json +265 -0
  116. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/offline.js +8888 -0
  117. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/template-inventory.json +28791 -0
  118. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/template.json +9 -0
  119. package/skills/i3-ui-prototype/assets/templates/gallery/index.html +5 -5
  120. package/skills/i3-ui-prototype/assets/templates/generation-options.js +42 -0
  121. package/skills/i3-ui-prototype/assets/templates/index.html +3 -0
  122. package/skills/i3-ui-prototype/assets/templates/presentation.html +17 -0
  123. package/skills/i3-ui-prototype/references/artifact-contract.md +26 -1
  124. package/skills/i3-ui-prototype/references/content-template.md +81 -0
  125. package/skills/i3-ui-prototype/references/enterprise-admin.md +6 -0
  126. package/skills/i3-ui-prototype/references/entry-contract.md +71 -0
  127. package/skills/i3-ui-prototype/references/execution-evidence.md +66 -0
  128. package/skills/i3-ui-prototype/references/expert-adapter.md +33 -5
  129. package/skills/i3-ui-prototype/references/framework-contract.md +76 -0
  130. package/skills/i3-ui-prototype/references/generation-contract.md +122 -0
  131. package/skills/i3-ui-prototype/references/interaction-acceptance.md +169 -0
  132. package/skills/i3-ui-prototype/references/legacy-native.md +58 -0
  133. package/skills/i3-ui-prototype/references/optional-skills.md +63 -0
  134. package/skills/i3-ui-prototype/references/project-layout.md +92 -0
  135. package/skills/i3-ui-prototype/references/template-adapters.md +7 -1
  136. package/skills/i3-ui-prototype/references/workflow-contract.md +62 -4
  137. package/skills/i3-ui-prototype/scripts/adapters/easel-html.cjs +1 -1
  138. package/skills/i3-ui-prototype/scripts/browser-workspace.cjs +72 -0
  139. package/skills/i3-ui-prototype/scripts/codebuddy-context.cjs +75 -0
  140. package/skills/i3-ui-prototype/scripts/codebuddy-hook.cjs +157 -0
  141. package/skills/i3-ui-prototype/scripts/codebuddy-ide-source.cjs +69 -0
  142. package/skills/i3-ui-prototype/scripts/codebuddy-registration.cjs +123 -0
  143. package/skills/i3-ui-prototype/scripts/content-template.cjs +98 -0
  144. package/skills/i3-ui-prototype/scripts/enterprise-template.cjs +13 -6
  145. package/skills/i3-ui-prototype/scripts/execution-assertions.cjs +43 -0
  146. package/skills/i3-ui-prototype/scripts/execution-evidence.cjs +146 -0
  147. package/skills/i3-ui-prototype/scripts/execution-gates.cjs +147 -0
  148. package/skills/i3-ui-prototype/scripts/execution-policy.cjs +41 -0
  149. package/skills/i3-ui-prototype/scripts/execution-runtime.cjs +60 -0
  150. package/skills/i3-ui-prototype/scripts/generation-assets.cjs +18 -0
  151. package/skills/i3-ui-prototype/scripts/generation-contract.cjs +214 -0
  152. package/skills/i3-ui-prototype/scripts/generation-evidence.cjs +50 -0
  153. package/skills/i3-ui-prototype/scripts/generation-replan.cjs +34 -0
  154. package/skills/i3-ui-prototype/scripts/hosts/codebuddy.cjs +16 -0
  155. package/skills/i3-ui-prototype/scripts/manage-baseline.cjs +1 -1
  156. package/skills/i3-ui-prototype/scripts/native-browser.cjs +785 -0
  157. package/skills/i3-ui-prototype/scripts/native-build.cjs +91 -0
  158. package/skills/i3-ui-prototype/scripts/native-delivery.cjs +103 -0
  159. package/skills/i3-ui-prototype/scripts/native-devtools.cjs +92 -0
  160. package/skills/i3-ui-prototype/scripts/native-files.cjs +35 -0
  161. package/skills/i3-ui-prototype/scripts/native-pilot-lib.cjs +292 -0
  162. package/skills/i3-ui-prototype/scripts/native-pilot.cjs +50 -0
  163. package/skills/i3-ui-prototype/scripts/optional-skill-install.cjs +203 -0
  164. package/skills/i3-ui-prototype/scripts/project-registry.cjs +126 -0
  165. package/skills/i3-ui-prototype/scripts/prototype-dependencies.cjs +81 -0
  166. package/skills/i3-ui-prototype/scripts/prototype-hooks.cjs +87 -0
  167. package/skills/i3-ui-prototype/scripts/prototype-lib.cjs +31 -13
  168. package/skills/i3-ui-prototype/scripts/prototype-locations.cjs +69 -0
  169. package/skills/i3-ui-prototype/scripts/sync-template.cjs +19 -0
  170. package/skills/i3-ui-prototype/scripts/template-contract.cjs +407 -0
  171. package/skills/i3-ui-prototype/scripts/template-inventory.cjs +78 -0
  172. package/skills/i3-ui-prototype/scripts/validate-result.cjs +117 -0
  173. package/skills/i3-using-agent-skills/SKILL.md +2 -5
@@ -0,0 +1,27 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "uiux": {
4
+ "skillName": "ui-ux-pro-max",
5
+ "packageName": "ui-ux-pro-max-cli",
6
+ "version": "2.15.0",
7
+ "tarball": "https://registry.npmjs.org/ui-ux-pro-max-cli/-/ui-ux-pro-max-cli-2.15.0.tgz",
8
+ "integrity": "sha512-D0J/C40xrzzi5si6ZLtRGbEE5v3QjL7d4wJNnasmP3yfDSrGiuqVCdwQiqCNnIkbqOuVoA/uonR2o1WKXh3urw==",
9
+ "repository": "https://github.com/nextlevelbuilder/ui-ux-pro-max-skill",
10
+ "commit": "a38d04c3d5c298c851dbe5e6ee1965ee3de42cb5",
11
+ "licenseUrl": "https://raw.githubusercontent.com/nextlevelbuilder/ui-ux-pro-max-skill/a38d04c3d5c298c851dbe5e6ee1965ee3de42cb5/LICENSE",
12
+ "licenseSha256": "738f69dfa83db5c347c678fb9d90e560877059f0de93a327c39001bff92dc014"
13
+ },
14
+ "antdv": {
15
+ "skillName": "antdv",
16
+ "packageName": "@antdv-next/cli",
17
+ "version": "0.0.0-beta.1",
18
+ "tarball": "https://registry.npmjs.org/@antdv-next/cli/-/cli-0.0.0-beta.1.tgz",
19
+ "integrity": "sha512-yh0sKSYSHCLIsDhIaEnLy7gB3wMPFtAR1z4EXon165WRyeHeB7g3tpEgF1BndgJhJZxqzMcNPcp3eifBEF5veQ==",
20
+ "repository": "https://github.com/antdv-next/cli",
21
+ "commit": "2b0dc514ee48bc130048724a5c5a0a76ec632aa1",
22
+ "skillUrl": "https://raw.githubusercontent.com/antdv-next/cli/2b0dc514ee48bc130048724a5c5a0a76ec632aa1/skills/antdv/SKILL.md",
23
+ "skillSha256": "07e40bc93a598cdcee0037b2f199422cc046c6dc831a856ffcf85bab7376a19f",
24
+ "licenseUrl": "https://raw.githubusercontent.com/antdv-next/cli/2b0dc514ee48bc130048724a5c5a0a76ec632aa1/LICENSE",
25
+ "licenseSha256": "14ac73d5ae8f2111163e0fae9cb0e94acf1bda66666959aaa1bff4201b8742de"
26
+ }
27
+ }
@@ -0,0 +1,149 @@
1
+ /* Generated from catalog.json; offline selection page. */
2
+ const I3_TEMPLATE_CATALOG = {
3
+ "schemaVersion": 2,
4
+ "templates": [
5
+ {
6
+ "id": "enterprise-admin",
7
+ "name": "企业管理后台",
8
+ "brand": "i3-Composer",
9
+ "version": "0.1.1",
10
+ "availability": "available",
11
+ "reviewStatus": "pending-review",
12
+ "artifactKind": "html-review",
13
+ "runtime": "HTML/CSS/JavaScript",
14
+ "source": "EASEL v0.14 / Antdv Next HTML 审查版",
15
+ "bestFor": [
16
+ "企业管理",
17
+ "审批台账",
18
+ "复杂表单及多模块业务"
19
+ ],
20
+ "preview": "enterprise-admin/index.html#/workbench",
21
+ "fixed": [
22
+ "既有设计 token",
23
+ "导航和控件规范",
24
+ "权限及状态语义"
25
+ ],
26
+ "adjustable": [
27
+ "业务模块",
28
+ "业务字段",
29
+ "按需求适配的流程"
30
+ ],
31
+ "manifest": "enterprise-admin/manifest.json"
32
+ },
33
+ {
34
+ "id": "ai-workbench",
35
+ "name": "AI 工作台",
36
+ "version": null,
37
+ "availability": "planned",
38
+ "source": "https://github.com/TencentCloud/Octop",
39
+ "bestFor": [
40
+ "Agent 会话",
41
+ "执行过程",
42
+ "工具及产物工作区"
43
+ ]
44
+ },
45
+ {
46
+ "id": "digital-twin",
47
+ "name": "数字孪生大屏",
48
+ "version": null,
49
+ "availability": "planned",
50
+ "bestFor": [
51
+ "场景对象",
52
+ "指标告警",
53
+ "联动下钻"
54
+ ]
55
+ },
56
+ {
57
+ "id": "mobile-app",
58
+ "name": "移动端应用",
59
+ "version": null,
60
+ "availability": "planned",
61
+ "bestFor": [
62
+ "移动业务",
63
+ "待办",
64
+ "触控表单"
65
+ ]
66
+ }
67
+ ],
68
+ "legacyTemplates": [
69
+ {
70
+ "id": "classic-admin",
71
+ "name": "企业管理后台",
72
+ "version": "1.0.0",
73
+ "artifactKind": "html-review",
74
+ "runtime": "HTML/CSS/JavaScript",
75
+ "bestFor": [
76
+ "申请审批",
77
+ "台账",
78
+ "组织管理"
79
+ ],
80
+ "preview": "common/gallery.html?template=classic-admin",
81
+ "license": "MIT",
82
+ "fixed": [
83
+ "导航体系",
84
+ "状态语义",
85
+ "字号及间距尺度"
86
+ ],
87
+ "adjustable": [
88
+ "业务字段",
89
+ "表单分组",
90
+ "模板尺度内的信息密度"
91
+ ],
92
+ "availability": "legacy",
93
+ "manifest": "classic-admin/manifest.json"
94
+ },
95
+ {
96
+ "id": "modern-workspace",
97
+ "name": "现代工作空间",
98
+ "version": "1.0.0",
99
+ "artifactKind": "html-review",
100
+ "runtime": "HTML/CSS/JavaScript",
101
+ "bestFor": [
102
+ "项目协作",
103
+ "任务",
104
+ "内容管理"
105
+ ],
106
+ "preview": "common/gallery.html?template=modern-workspace",
107
+ "license": "MIT",
108
+ "fixed": [
109
+ "导航体系",
110
+ "状态语义",
111
+ "字号及间距尺度"
112
+ ],
113
+ "adjustable": [
114
+ "业务字段",
115
+ "表单分组",
116
+ "模板尺度内的信息密度"
117
+ ],
118
+ "availability": "legacy",
119
+ "manifest": "modern-workspace/manifest.json"
120
+ },
121
+ {
122
+ "id": "data-operations",
123
+ "name": "数据运营控制台",
124
+ "version": "1.0.0",
125
+ "artifactKind": "html-review",
126
+ "runtime": "HTML/CSS/JavaScript",
127
+ "bestFor": [
128
+ "指标与明细",
129
+ "异常处置",
130
+ "运营台账"
131
+ ],
132
+ "preview": "common/gallery.html?template=data-operations",
133
+ "license": "MIT",
134
+ "fixed": [
135
+ "导航体系",
136
+ "状态语义",
137
+ "字号及间距尺度"
138
+ ],
139
+ "adjustable": [
140
+ "业务字段",
141
+ "表单分组",
142
+ "模板尺度内的信息密度"
143
+ ],
144
+ "availability": "legacy",
145
+ "manifest": "data-operations/manifest.json"
146
+ }
147
+ ],
148
+ "defaultTemplate": "enterprise-admin"
149
+ };
@@ -27,7 +27,8 @@
27
27
  "业务字段",
28
28
  "按需求适配的流程"
29
29
  ],
30
- "manifest": "enterprise-admin/manifest.json"
30
+ "manifest": "enterprise-admin/manifest.json",
31
+ "contentRoot": "enterprise-admin"
31
32
  },
32
33
  {
33
34
  "id": "ai-workbench",
@@ -0,0 +1,294 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "management",
4
+ "version": "1.3.0",
5
+ "regionModes": [
6
+ "management-list",
7
+ "edit-form",
8
+ "application-shell",
9
+ "content-reference",
10
+ "content"
11
+ ],
12
+ "capabilities": [
13
+ {
14
+ "id": "theme",
15
+ "title": "四种命名主题",
16
+ "appliesTo": [
17
+ "application-shell"
18
+ ],
19
+ "requirement": "required",
20
+ "parameters": {
21
+ "defaultTheme": {
22
+ "type": "string",
23
+ "required": true,
24
+ "enum": [
25
+ "light"
26
+ ]
27
+ },
28
+ "presets": {
29
+ "type": "array",
30
+ "required": true,
31
+ "includes": [
32
+ "light",
33
+ "dark",
34
+ "fresh",
35
+ "tech"
36
+ ]
37
+ }
38
+ },
39
+ "scenarios": [
40
+ {
41
+ "id": "switch",
42
+ "title": "原生组件主题一致且保留业务状态",
43
+ "expected": "明亮、暗黑、清新、科技按名称选择;Table/Form/Drawer/Select浮层同步,切换不重挂、不丢筛选选择与未保存输入"
44
+ },
45
+ {
46
+ "id": "persistence",
47
+ "title": "实例主题偏好隔离与恢复",
48
+ "expected": "独立namespace主题键,刷新恢复;同源第二实例隔离;坏缓存与拒存储安全回退"
49
+ },
50
+ {
51
+ "id": "accessibility",
52
+ "title": "四主题可访问与窄屏",
53
+ "expected": "实际文字对比度、键盘焦点、320/375窄屏和减少动效均可验证"
54
+ }
55
+ ]
56
+ },
57
+ {
58
+ "id": "filter",
59
+ "title": "查询与重置",
60
+ "appliesTo": [
61
+ "management-list"
62
+ ],
63
+ "requirement": "required",
64
+ "parameters": {
65
+ "resetPage": {
66
+ "type": "boolean",
67
+ "required": true,
68
+ "enum": [
69
+ true
70
+ ]
71
+ },
72
+ "clearSelection": {
73
+ "type": "boolean",
74
+ "required": true,
75
+ "enum": [
76
+ true
77
+ ]
78
+ }
79
+ },
80
+ "scenarios": [
81
+ {
82
+ "id": "query",
83
+ "title": "查询命中与无结果",
84
+ "expected": "条件只显示匹配记录,无匹配时显示空结果"
85
+ },
86
+ {
87
+ "id": "reset",
88
+ "title": "重置查询",
89
+ "expected": "条件清空、回到第一页并清空选择"
90
+ }
91
+ ]
92
+ },
93
+ {
94
+ "id": "selection",
95
+ "title": "当前页多选",
96
+ "appliesTo": [
97
+ "management-list"
98
+ ],
99
+ "requirement": "required",
100
+ "parameters": {
101
+ "strategy": {
102
+ "type": "string",
103
+ "required": true,
104
+ "enum": [
105
+ "current-page-clear-on-change"
106
+ ]
107
+ }
108
+ },
109
+ "scenarios": [
110
+ {
111
+ "id": "select-page",
112
+ "title": "单选、全选与部分选中",
113
+ "expected": "选中数量和当前页全选状态与记录一致"
114
+ },
115
+ {
116
+ "id": "clear-on-change",
117
+ "title": "换页或筛选清空选择",
118
+ "expected": "翻页或重新筛选后选中数量为零"
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "id": "pagination",
124
+ "title": "分页",
125
+ "appliesTo": [
126
+ "management-list"
127
+ ],
128
+ "requirement": "required",
129
+ "parameters": {
130
+ "mode": {
131
+ "type": "string",
132
+ "required": false,
133
+ "enum": [
134
+ "fixed",
135
+ "adjustable"
136
+ ],
137
+ "default": "fixed"
138
+ },
139
+ "fixedPageSize": {
140
+ "type": "integer",
141
+ "required": false,
142
+ "minimum": 1,
143
+ "requiredInMode": "fixed"
144
+ },
145
+ "defaultPageSize": {
146
+ "type": "integer",
147
+ "required": false,
148
+ "minimum": 1,
149
+ "requiredInMode": "adjustable"
150
+ },
151
+ "pageSizeOptions": {
152
+ "type": "array",
153
+ "required": false,
154
+ "items": {
155
+ "type": "integer",
156
+ "minimum": 1
157
+ },
158
+ "minItems": 2,
159
+ "uniqueItems": true,
160
+ "requiredInMode": "adjustable"
161
+ },
162
+ "minimumTestPages": {
163
+ "type": "integer",
164
+ "required": true,
165
+ "minimum": 3
166
+ }
167
+ },
168
+ "scenarios": [
169
+ {
170
+ "id": "pages",
171
+ "title": "默认容量下至少三页记录",
172
+ "expected": "按固定容量或可调模式的默认容量核对首、中、末页及总数"
173
+ },
174
+ {
175
+ "id": "page-size",
176
+ "title": "绑定分页容量",
177
+ "expected": "fixed 只允许 fixedPageSize 且无容量切换;adjustable 只允许 defaultPageSize 与唯一正整数 pageSizeOptions,默认值必须包含其中;实际切换每个绑定选项并恢复默认值,重置页码与选择"
178
+ }
179
+ ]
180
+ },
181
+ {
182
+ "id": "bulk",
183
+ "title": "批量状态变更",
184
+ "appliesTo": [
185
+ "management-list"
186
+ ],
187
+ "requirement": "required",
188
+ "parameters": {
189
+ "target": {
190
+ "type": "string",
191
+ "required": true,
192
+ "enum": [
193
+ "selected-only"
194
+ ]
195
+ }
196
+ },
197
+ "scenarios": [
198
+ {
199
+ "id": "selected-only",
200
+ "title": "批量操作正确对象",
201
+ "expected": "未选择时禁用;操作只更新选中记录并反馈结果"
202
+ }
203
+ ]
204
+ },
205
+ {
206
+ "id": "edit",
207
+ "title": "编辑表单",
208
+ "appliesTo": [
209
+ "edit-form"
210
+ ],
211
+ "requirement": "required",
212
+ "parameters": {
213
+ "presentation": {
214
+ "type": "string",
215
+ "required": true,
216
+ "enum": [
217
+ "drawer"
218
+ ]
219
+ },
220
+ "preserveOnFailure": {
221
+ "type": "boolean",
222
+ "required": true,
223
+ "enum": [
224
+ true
225
+ ]
226
+ }
227
+ },
228
+ "scenarios": [
229
+ {
230
+ "id": "validation",
231
+ "title": "必填校验",
232
+ "expected": "空名称不保存并定位错误"
233
+ },
234
+ {
235
+ "id": "save",
236
+ "title": "保存同步",
237
+ "expected": "保存后列表中的正确记录更新,其他记录不变"
238
+ },
239
+ {
240
+ "id": "retry",
241
+ "title": "提交失败与重试",
242
+ "expected": "失败保留输入,重试成功后同步列表"
243
+ },
244
+ {
245
+ "id": "drawer-motion",
246
+ "title": "抽屉进入退出与模糊遮罩",
247
+ "expected": "进入退出动画完整,关闭后恢复焦点和滚动,遮罩实际具有滤镜"
248
+ }
249
+ ]
250
+ },
251
+ {
252
+ "id": "feedback",
253
+ "title": "数据状态与反馈",
254
+ "appliesTo": [
255
+ "management-list",
256
+ "edit-form",
257
+ "content"
258
+ ],
259
+ "requirement": "required",
260
+ "parameters": {
261
+ "states": {
262
+ "type": "array",
263
+ "required": true,
264
+ "includesByMode": {
265
+ "management-list": [
266
+ "loading",
267
+ "empty",
268
+ "error",
269
+ "success"
270
+ ],
271
+ "edit-form": [
272
+ "loading",
273
+ "error",
274
+ "success"
275
+ ],
276
+ "content": [
277
+ "loading",
278
+ "empty",
279
+ "error",
280
+ "success"
281
+ ]
282
+ }
283
+ }
284
+ },
285
+ "scenarios": [
286
+ {
287
+ "id": "states",
288
+ "title": "适用状态可触发并恢复",
289
+ "expected": "绑定 states 中的各状态可确定性触发;失败后保留必要输入,恢复后显示正确数据"
290
+ }
291
+ ]
292
+ }
293
+ ]
294
+ }