@scemoon/cdh 1.0.9 → 1.0.10-beta.1

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 (786) hide show
  1. package/package.json +9 -2
  2. package/ai-dlc-skill/SKILL.md +0 -106
  3. package/ai-dlc-skill/architecture/project-structure.md +0 -78
  4. package/ai-dlc-skill/brownfield/README.md +0 -36
  5. package/ai-dlc-skill/brownfield/entry.md +0 -45
  6. package/ai-dlc-skill/brownfield/generate-context.sh +0 -64
  7. package/ai-dlc-skill/brownfield/scripts/deps.sh +0 -27
  8. package/ai-dlc-skill/brownfield/scripts/discover.sh +0 -34
  9. package/ai-dlc-skill/brownfield/scripts/extract-api.sh +0 -45
  10. package/ai-dlc-skill/components/backend.md +0 -47
  11. package/ai-dlc-skill/components/desktop.md +0 -63
  12. package/ai-dlc-skill/components/mya.md +0 -219
  13. package/ai-dlc-skill/components/native.md +0 -73
  14. package/ai-dlc-skill/components/tta.md +0 -235
  15. package/ai-dlc-skill/components/web.md +0 -77
  16. package/ai-dlc-skill/components/wxa.md +0 -219
  17. package/ai-dlc-skill/contracts/README.md +0 -25
  18. package/ai-dlc-skill/core/adaptive-flow.md +0 -107
  19. package/ai-dlc-skill/core/security.md +0 -29
  20. package/ai-dlc-skill/core/task-registry.md +0 -153
  21. package/ai-dlc-skill/cross-tool/README.md +0 -20
  22. package/ai-dlc-skill/cross-tool/cline/export.sh +0 -38
  23. package/ai-dlc-skill/cross-tool/copilot/export.sh +0 -41
  24. package/ai-dlc-skill/cross-tool/cursor/export.sh +0 -53
  25. package/ai-dlc-skill/cross-tool/onecode/export.sh +0 -27
  26. package/ai-dlc-skill/cross-tool/opencode/export.sh +0 -38
  27. package/ai-dlc-skill/phases/debug/entry.md +0 -48
  28. package/ai-dlc-skill/phases/debug/lifecycle.md +0 -284
  29. package/ai-dlc-skill/phases/deliver/entry.md +0 -35
  30. package/ai-dlc-skill/phases/deliver/lifecycle.md +0 -185
  31. package/ai-dlc-skill/phases/deliver/prompt.md +0 -54
  32. package/ai-dlc-skill/phases/deliver/rules.md +0 -61
  33. package/ai-dlc-skill/phases/plan/design_system/accessibility.md +0 -268
  34. package/ai-dlc-skill/phases/plan/design_system/atomic_design.md +0 -341
  35. package/ai-dlc-skill/phases/plan/design_system/component_spec.md +0 -398
  36. package/ai-dlc-skill/phases/plan/design_system/design_tokens.md +0 -190
  37. package/ai-dlc-skill/phases/plan/design_system/iconography.md +0 -299
  38. package/ai-dlc-skill/phases/plan/design_system/platform_ui/desktop.md +0 -318
  39. package/ai-dlc-skill/phases/plan/design_system/platform_ui/mya.md +0 -354
  40. package/ai-dlc-skill/phases/plan/design_system/platform_ui/native.md +0 -328
  41. package/ai-dlc-skill/phases/plan/design_system/platform_ui/tta.md +0 -394
  42. package/ai-dlc-skill/phases/plan/design_system/platform_ui/web.md +0 -287
  43. package/ai-dlc-skill/phases/plan/design_system/platform_ui/wxa.md +0 -374
  44. package/ai-dlc-skill/phases/plan/design_system/theme_system.md +0 -318
  45. package/ai-dlc-skill/phases/plan/entry.md +0 -33
  46. package/ai-dlc-skill/phases/plan/lifecycle.md +0 -260
  47. package/ai-dlc-skill/phases/plan/prompt.md +0 -75
  48. package/ai-dlc-skill/phases/plan/rules.md +0 -60
  49. package/ai-dlc-skill/phases/understand/entry.md +0 -36
  50. package/ai-dlc-skill/phases/understand/lifecycle.md +0 -184
  51. package/ai-dlc-skill/phases/understand/prompt.md +0 -58
  52. package/ai-dlc-skill/phases/understand/rules.md +0 -49
  53. package/ai-dlc-skill/phases/verify/config/base_url.md +0 -65
  54. package/ai-dlc-skill/phases/verify/entry.md +0 -59
  55. package/ai-dlc-skill/phases/verify/gates/browser_e2e.md +0 -96
  56. package/ai-dlc-skill/phases/verify/lifecycle.md +0 -217
  57. package/ai-dlc-skill/phases/verify/prompt.md +0 -73
  58. package/ai-dlc-skill/phases/verify/rules.md +0 -91
  59. package/ai-dlc-skill/phases/verify/runners/playwright_local.md +0 -103
  60. package/ai-dlc-skill/practices/bdd.md +0 -119
  61. package/ai-dlc-skill/practices/sdd.md +0 -84
  62. package/ai-dlc-skill/practices/tdd.md +0 -128
  63. package/ai-dlc-skill/providers/README.md +0 -114
  64. package/ai-dlc-skill/providers/aliyun/SKILL.md +0 -204
  65. package/ai-dlc-skill/providers/aliyun/api/rest-api.md +0 -214
  66. package/ai-dlc-skill/providers/aliyun/api/sdk.md +0 -307
  67. package/ai-dlc-skill/providers/aliyun/best-practices/database-design.md +0 -363
  68. package/ai-dlc-skill/providers/aliyun/best-practices/function-design.md +0 -424
  69. package/ai-dlc-skill/providers/aliyun/best-practices/troubleshooting.md +0 -258
  70. package/ai-dlc-skill/providers/aliyun/cli/database.md +0 -263
  71. package/ai-dlc-skill/providers/aliyun/cli/functions.md +0 -263
  72. package/ai-dlc-skill/providers/aliyun/cli/hosting.md +0 -226
  73. package/ai-dlc-skill/providers/aliyun/cli/setup.md +0 -235
  74. package/ai-dlc-skill/providers/aliyun/cli/storage.md +0 -315
  75. package/ai-dlc-skill/providers/aliyun/deployment.yaml +0 -66
  76. package/ai-dlc-skill/providers/aliyun/integration/ci-cd.md +0 -288
  77. package/ai-dlc-skill/providers/aliyun/preview.yaml +0 -84
  78. package/ai-dlc-skill/providers/aliyun/provider.yaml +0 -160
  79. package/ai-dlc-skill/providers/aliyun/security/authentication.md +0 -254
  80. package/ai-dlc-skill/providers/aliyun/services/cdn-hosting.md +0 -220
  81. package/ai-dlc-skill/providers/aliyun/services/database.md +0 -319
  82. package/ai-dlc-skill/providers/aliyun/services/function-compute.md +0 -273
  83. package/ai-dlc-skill/providers/aliyun/services/overview.md +0 -163
  84. package/ai-dlc-skill/providers/aliyun/services/serverless-app-engine.md +0 -266
  85. package/ai-dlc-skill/providers/aliyun/services/storage.md +0 -269
  86. package/ai-dlc-skill/providers/tcb/SKILL.md +0 -208
  87. package/ai-dlc-skill/providers/tcb/api/rest-api.md +0 -338
  88. package/ai-dlc-skill/providers/tcb/api/sdk.md +0 -288
  89. package/ai-dlc-skill/providers/tcb/best-practices/database-design.md +0 -452
  90. package/ai-dlc-skill/providers/tcb/best-practices/function-design.md +0 -502
  91. package/ai-dlc-skill/providers/tcb/best-practices/troubleshooting.md +0 -462
  92. package/ai-dlc-skill/providers/tcb/cli/cls.md +0 -133
  93. package/ai-dlc-skill/providers/tcb/cli/database.md +0 -230
  94. package/ai-dlc-skill/providers/tcb/cli/env.md +0 -207
  95. package/ai-dlc-skill/providers/tcb/cli/functions.md +0 -276
  96. package/ai-dlc-skill/providers/tcb/cli/hosting.md +0 -219
  97. package/ai-dlc-skill/providers/tcb/cli/setup.md +0 -218
  98. package/ai-dlc-skill/providers/tcb/cli/storage.md +0 -233
  99. package/ai-dlc-skill/providers/tcb/deployment.yaml +0 -111
  100. package/ai-dlc-skill/providers/tcb/integration/ci-cd.md +0 -309
  101. package/ai-dlc-skill/providers/tcb/integration/mcp-server.md +0 -371
  102. package/ai-dlc-skill/providers/tcb/preview.yaml +0 -83
  103. package/ai-dlc-skill/providers/tcb/provider.yaml +0 -172
  104. package/ai-dlc-skill/providers/tcb/security/authentication.md +0 -241
  105. package/ai-dlc-skill/providers/tcb/services/cloud-database.md +0 -299
  106. package/ai-dlc-skill/providers/tcb/services/cloud-functions.md +0 -265
  107. package/ai-dlc-skill/providers/tcb/services/cloud-hosting.md +0 -264
  108. package/ai-dlc-skill/providers/tcb/services/cloud-run.md +0 -285
  109. package/ai-dlc-skill/providers/tcb/services/cloud-storage.md +0 -245
  110. package/ai-dlc-skill/providers/tcb/services/overview.md +0 -174
  111. package/ai-dlc-skill/pybdd/README.md +0 -41
  112. package/ai-dlc-skill/pybdd/conftest.py +0 -17
  113. package/ai-dlc-skill/pybdd/example/auth/login.feature +0 -32
  114. package/ai-dlc-skill/pybdd/pytest.ini +0 -5
  115. package/ai-dlc-skill/pybdd/steps/.gitkeep +0 -1
  116. package/ai-dlc-skill/pybdd/steps/test_example_steps.py +0 -65
  117. package/ai-dlc-skill/requirements.md +0 -140
  118. package/ai-dlc-skill/skill.yaml +0 -135
  119. package/ai-dlc-skill/templates/brownfield/context.md +0 -78
  120. package/ai-dlc-skill/templates/integration/CHANGELOG.md +0 -41
  121. package/ai-dlc-skill/templates/integration/asyncapi.yaml +0 -43
  122. package/ai-dlc-skill/templates/integration/contract-diff.md +0 -63
  123. package/ai-dlc-skill/templates/integration/contract-spec.md +0 -49
  124. package/ai-dlc-skill/templates/integration/openapi.yaml +0 -18
  125. package/ai-dlc-skill/templates/integration/runtime-contract.yaml +0 -36
  126. package/ai-dlc-skill/templates/plan/design.md +0 -49
  127. package/ai-dlc-skill/templates/plan/task-list.md +0 -32
  128. package/ai-dlc-skill/templates/project/README.md +0 -126
  129. package/ai-dlc-skill/templates/project/template.md +0 -119
  130. package/ai-dlc-skill/templates/understand/feature.feature +0 -30
  131. package/ai-dlc-skill/templates/understand/intent.md +0 -29
  132. package/ai-dlc-skill/templates/understand/spec-delta.md +0 -47
  133. package/ai-dlc-skill/templates/verify/test-unit.py +0 -27
  134. package/ai-dlc-skill/walkthrough/collect.sh +0 -50
  135. package/ai-dlc-skill/walkthrough/template.md +0 -54
  136. package/cdh/__init__.py +0 -0
  137. package/cdh/__main__.py +0 -4
  138. package/cdh/__pycache__/__init__.cpython-314.pyc +0 -0
  139. package/cdh/__pycache__/cli.cpython-314.pyc +0 -0
  140. package/cdh/__pycache__/cli_logging.cpython-314.pyc +0 -0
  141. package/cdh/__pycache__/config.cpython-314.pyc +0 -0
  142. package/cdh/__pycache__/project_loader.cpython-314.pyc +0 -0
  143. package/cdh/__pycache__/scaffold.cpython-314.pyc +0 -0
  144. package/cdh/__pycache__/session_store.cpython-314.pyc +0 -0
  145. package/cdh/cdh_session_aggregator.py +0 -258
  146. package/cdh/cli.py +0 -3000
  147. package/cdh/cli_logging.py +0 -45
  148. package/cdh/config.py +0 -28
  149. package/cdh/event_loop/__init__.py +0 -7
  150. package/cdh/event_loop/bus.py +0 -123
  151. package/cdh/event_loop/events.py +0 -25
  152. package/cdh/event_loop/runner.py +0 -28
  153. package/cdh/event_loop/scheduler.py +0 -158
  154. package/cdh/generators/__init__.py +0 -35
  155. package/cdh/generators/_runtime.py +0 -176
  156. package/cdh/generators/ada/MANIFEST.toml +0 -14
  157. package/cdh/generators/ada/template.ads.tmpl +0 -7
  158. package/cdh/generators/bash/MANIFEST.toml +0 -14
  159. package/cdh/generators/bash/template.sh.tmpl +0 -16
  160. package/cdh/generators/builtin_index.json +0 -590
  161. package/cdh/generators/c/MANIFEST.toml +0 -14
  162. package/cdh/generators/c/template.h.tmpl +0 -20
  163. package/cdh/generators/cli.py +0 -379
  164. package/cdh/generators/clojure/MANIFEST.toml +0 -14
  165. package/cdh/generators/clojure/template.clj.tmpl +0 -13
  166. package/cdh/generators/cobol/MANIFEST.toml +0 -14
  167. package/cdh/generators/cobol/template.cbl.tmpl +0 -14
  168. package/cdh/generators/cpp/MANIFEST.toml +0 -14
  169. package/cdh/generators/cpp/template.hpp.tmpl +0 -32
  170. package/cdh/generators/crystal/MANIFEST.toml +0 -14
  171. package/cdh/generators/crystal/template.cr.tmpl +0 -11
  172. package/cdh/generators/csharp/MANIFEST.toml +0 -23
  173. package/cdh/generators/csharp/template.cs.tmpl +0 -14
  174. package/cdh/generators/cython/MANIFEST.toml +0 -14
  175. package/cdh/generators/cython/template.pyx.tmpl +0 -17
  176. package/cdh/generators/d/MANIFEST.toml +0 -14
  177. package/cdh/generators/d/template.d.tmpl +0 -24
  178. package/cdh/generators/dart/MANIFEST.toml +0 -17
  179. package/cdh/generators/dart/template.dart.tmpl +0 -27
  180. package/cdh/generators/elixir/MANIFEST.toml +0 -17
  181. package/cdh/generators/elixir/template.ex.tmpl +0 -27
  182. package/cdh/generators/elm/MANIFEST.toml +0 -14
  183. package/cdh/generators/elm/template.elm.tmpl +0 -20
  184. package/cdh/generators/erlang/MANIFEST.toml +0 -14
  185. package/cdh/generators/erlang/template.erl.tmpl +0 -18
  186. package/cdh/generators/fortran/MANIFEST.toml +0 -14
  187. package/cdh/generators/fortran/template.f90.tmpl +0 -24
  188. package/cdh/generators/fsharp/MANIFEST.toml +0 -14
  189. package/cdh/generators/fsharp/template.fs.tmpl +0 -17
  190. package/cdh/generators/go/MANIFEST.toml +0 -18
  191. package/cdh/generators/go/imports.go.tmpl +0 -3
  192. package/cdh/generators/go/template.go.tmpl +0 -9
  193. package/cdh/generators/graphql-schema/MANIFEST.toml +0 -18
  194. package/cdh/generators/graphql-schema/template.graphqls.tmpl +0 -12
  195. package/cdh/generators/groovy/MANIFEST.toml +0 -14
  196. package/cdh/generators/groovy/template.groovy.tmpl +0 -28
  197. package/cdh/generators/hack/MANIFEST.toml +0 -14
  198. package/cdh/generators/hack/template.hh.tmpl +0 -24
  199. package/cdh/generators/haskell/MANIFEST.toml +0 -14
  200. package/cdh/generators/haskell/template.hs.tmpl +0 -20
  201. package/cdh/generators/haxe/MANIFEST.toml +0 -14
  202. package/cdh/generators/haxe/template.hx.tmpl +0 -20
  203. package/cdh/generators/idris/MANIFEST.toml +0 -14
  204. package/cdh/generators/idris/template.idr.tmpl +0 -22
  205. package/cdh/generators/java/MANIFEST.toml +0 -18
  206. package/cdh/generators/java/template.java.tmpl +0 -13
  207. package/cdh/generators/julia/MANIFEST.toml +0 -14
  208. package/cdh/generators/julia/template.jl.tmpl +0 -27
  209. package/cdh/generators/kotlin/MANIFEST.toml +0 -18
  210. package/cdh/generators/kotlin/template.kt.tmpl +0 -12
  211. package/cdh/generators/lua/MANIFEST.toml +0 -14
  212. package/cdh/generators/lua/template.lua.tmpl +0 -27
  213. package/cdh/generators/matlab/MANIFEST.toml +0 -14
  214. package/cdh/generators/matlab/template.m.tmpl +0 -26
  215. package/cdh/generators/nim/MANIFEST.toml +0 -14
  216. package/cdh/generators/nim/template.nim.tmpl +0 -12
  217. package/cdh/generators/nix/MANIFEST.toml +0 -14
  218. package/cdh/generators/nix/template.nix.tmpl +0 -8
  219. package/cdh/generators/objective-c/MANIFEST.toml +0 -14
  220. package/cdh/generators/objective-c/template.m.tmpl +0 -31
  221. package/cdh/generators/ocaml/MANIFEST.toml +0 -14
  222. package/cdh/generators/ocaml/template.ml.tmpl +0 -13
  223. package/cdh/generators/pascal/MANIFEST.toml +0 -14
  224. package/cdh/generators/pascal/template.pas.tmpl +0 -5
  225. package/cdh/generators/perl/MANIFEST.toml +0 -14
  226. package/cdh/generators/perl/template.pm.tmpl +0 -27
  227. package/cdh/generators/php/MANIFEST.toml +0 -17
  228. package/cdh/generators/php/template.php.tmpl +0 -31
  229. package/cdh/generators/powershell/MANIFEST.toml +0 -14
  230. package/cdh/generators/powershell/template.ps1.tmpl +0 -20
  231. package/cdh/generators/protobuf/MANIFEST.toml +0 -18
  232. package/cdh/generators/protobuf/template.proto.tmpl +0 -13
  233. package/cdh/generators/python/MANIFEST.toml +0 -18
  234. package/cdh/generators/python/template.py.tmpl +0 -12
  235. package/cdh/generators/r/MANIFEST.toml +0 -14
  236. package/cdh/generators/r/template.R.tmpl +0 -29
  237. package/cdh/generators/racket/MANIFEST.toml +0 -14
  238. package/cdh/generators/racket/template.rkt.tmpl +0 -15
  239. package/cdh/generators/registry.py +0 -211
  240. package/cdh/generators/ruby/MANIFEST.toml +0 -17
  241. package/cdh/generators/ruby/template.rb.tmpl +0 -27
  242. package/cdh/generators/rust/MANIFEST.toml +0 -18
  243. package/cdh/generators/rust/template.rs.tmpl +0 -16
  244. package/cdh/generators/scala/MANIFEST.toml +0 -20
  245. package/cdh/generators/scala/template.scala.tmpl +0 -13
  246. package/cdh/generators/scheme/MANIFEST.toml +0 -14
  247. package/cdh/generators/scheme/template.scm.tmpl +0 -16
  248. package/cdh/generators/solidity/MANIFEST.toml +0 -14
  249. package/cdh/generators/solidity/template.sol.tmpl +0 -24
  250. package/cdh/generators/swift/MANIFEST.toml +0 -18
  251. package/cdh/generators/swift/template.swift.tmpl +0 -10
  252. package/cdh/generators/typescript/MANIFEST.toml +0 -18
  253. package/cdh/generators/typescript/template.ts.tmpl +0 -7
  254. package/cdh/generators/version.py +0 -214
  255. package/cdh/generators/zig/MANIFEST.toml +0 -14
  256. package/cdh/generators/zig/template.zig.tmpl +0 -20
  257. package/cdh/logging.py +0 -314
  258. package/cdh/optimizer/__init__.py +0 -7
  259. package/cdh/optimizer/loop.py +0 -201
  260. package/cdh/optimizer/mutation.py +0 -85
  261. package/cdh/optimizer/reward.py +0 -51
  262. package/cdh/optimizer/tracker.py +0 -118
  263. package/cdh/project_loader.py +0 -1022
  264. package/cdh/rules/patterns.yaml +0 -132
  265. package/cdh/rules/spectral.yaml +0 -301
  266. package/cdh/scaffold.py +0 -1436
  267. package/cdh/session_store.py +0 -221
  268. package/cdh/state_schema.py +0 -127
  269. package/cdh/tools/__init__.py +0 -57
  270. package/cdh/tools/cls_search.py +0 -406
  271. package/cdh/tools/contract_diff.py +0 -644
  272. package/cdh/tools/deploy_stack.py +0 -590
  273. package/cdh/tools/generate_shared.py +0 -300
  274. package/cdh/tools/iac_gen.py +0 -224
  275. package/cdh/tools/otel_export.py +0 -125
  276. package/cdh/tools/pattern_detect.py +0 -451
  277. package/cdh/tools/retrofit_labels.py +0 -505
  278. package/cdh/trace/__init__.py +0 -101
  279. package/cdh/trace/__pycache__/__init__.cpython-314.pyc +0 -0
  280. package/cdh/trace/dashboard/__init__.py +0 -61
  281. package/cdh/trace/dashboard/api.py +0 -1032
  282. package/cdh/trace/dashboard/app.html +0 -1321
  283. package/cdh/trace/dashboard/server.py +0 -310
  284. package/cdh/trace/otel_exporter.py +0 -462
  285. package/cdh/trace/otel_tracer.py +0 -281
  286. package/cdh/tui.py +0 -1084
  287. package/cdh/validators/__init__.py +0 -16
  288. package/cdh/validators/__pycache__/__init__.cpython-314.pyc +0 -0
  289. package/cdh/validators/__pycache__/bdd.cpython-314.pyc +0 -0
  290. package/cdh/validators/__pycache__/dag.cpython-314.pyc +0 -0
  291. package/cdh/validators/__pycache__/ears.cpython-314.pyc +0 -0
  292. package/cdh/validators/__pycache__/fr_namespace.cpython-314.pyc +0 -0
  293. package/cdh/validators/bdd.py +0 -144
  294. package/cdh/validators/dag.py +0 -179
  295. package/cdh/validators/ears.py +0 -452
  296. package/cdh/validators/fr_namespace.py +0 -143
  297. package/cdh/validators/spectral.py +0 -475
  298. package/cdh/verification/__init__.py +0 -3
  299. package/cdh/verification/aggregation.py +0 -53
  300. package/cdh/verification/gates/__init__.py +0 -5
  301. package/cdh/verification/gates/base.py +0 -18
  302. package/cdh/verification/gates/lint_gate.py +0 -37
  303. package/cdh/verification/gates/test_gate.py +0 -41
  304. package/cdh/verification/loop.py +0 -93
  305. package/cdh/verification/policy.py +0 -24
  306. package/onecode/__init__.py +0 -1
  307. package/onecode/__main__.py +0 -4
  308. package/onecode/__pycache__/__init__.cpython-314.pyc +0 -0
  309. package/onecode/__pycache__/cli.cpython-314.pyc +0 -0
  310. package/onecode/__pycache__/commands.cpython-314.pyc +0 -0
  311. package/onecode/__pycache__/config.cpython-314.pyc +0 -0
  312. package/onecode/__pycache__/migrate.cpython-314.pyc +0 -0
  313. package/onecode/agent/__init__.py +0 -0
  314. package/onecode/agent/__pycache__/__init__.cpython-314.pyc +0 -0
  315. package/onecode/agent/__pycache__/cdh_loader.cpython-314.pyc +0 -0
  316. package/onecode/agent/__pycache__/checkpoint.cpython-314.pyc +0 -0
  317. package/onecode/agent/__pycache__/context.cpython-314.pyc +0 -0
  318. package/onecode/agent/__pycache__/engine.cpython-314.pyc +0 -0
  319. package/onecode/agent/__pycache__/hooks.cpython-314.pyc +0 -0
  320. package/onecode/agent/__pycache__/onecode_agent_acp.cpython-314.pyc +0 -0
  321. package/onecode/agent/__pycache__/permissions.cpython-314.pyc +0 -0
  322. package/onecode/agent/__pycache__/permissions_store.cpython-314.pyc +0 -0
  323. package/onecode/agent/__pycache__/project_doc.cpython-314.pyc +0 -0
  324. package/onecode/agent/__pycache__/session.cpython-314.pyc +0 -0
  325. package/onecode/agent/__pycache__/turn_record.cpython-314.pyc +0 -0
  326. package/onecode/agent/agents/__init__.py +0 -29
  327. package/onecode/agent/agents/__pycache__/__init__.cpython-314.pyc +0 -0
  328. package/onecode/agent/agents/__pycache__/types.cpython-314.pyc +0 -0
  329. package/onecode/agent/agents/prompts/build-agent.md +0 -50
  330. package/onecode/agent/agents/prompts/compaction-instructions.md +0 -12
  331. package/onecode/agent/agents/prompts/explore-agent.md +0 -42
  332. package/onecode/agent/agents/prompts/plan-agent.md +0 -44
  333. package/onecode/agent/agents/prompts/plan-gate-hard.md +0 -4
  334. package/onecode/agent/agents/prompts/plan-gate-soft.md +0 -3
  335. package/onecode/agent/agents/prompts/solo-agent.md +0 -57
  336. package/onecode/agent/agents/prompts/subagent-constraints.md +0 -10
  337. package/onecode/agent/agents/prompts/summary-instructions.md +0 -7
  338. package/onecode/agent/agents/prompts/title-instructions.md +0 -3
  339. package/onecode/agent/agents/prompts/tool-descriptions.md +0 -129
  340. package/onecode/agent/agents/types.py +0 -786
  341. package/onecode/agent/attachments.py +0 -112
  342. package/onecode/agent/cdh_loader.py +0 -3
  343. package/onecode/agent/checkpoint.py +0 -285
  344. package/onecode/agent/context.py +0 -465
  345. package/onecode/agent/engine.py +0 -3547
  346. package/onecode/agent/event_bridge.py +0 -75
  347. package/onecode/agent/hooks.py +0 -86
  348. package/onecode/agent/onecode_agent_acp.py +0 -2993
  349. package/onecode/agent/permissions.py +0 -150
  350. package/onecode/agent/permissions_store.py +0 -73
  351. package/onecode/agent/project_doc.py +0 -19
  352. package/onecode/agent/question_detect.py +0 -230
  353. package/onecode/agent/session.py +0 -3
  354. package/onecode/agent/snapshot.py +0 -144
  355. package/onecode/agent/tools/__init__.py +0 -17
  356. package/onecode/agent/tools/__pycache__/__init__.cpython-314.pyc +0 -0
  357. package/onecode/agent/tools/__pycache__/agent_tools.cpython-314.pyc +0 -0
  358. package/onecode/agent/tools/__pycache__/apply_patch_tool.cpython-314.pyc +0 -0
  359. package/onecode/agent/tools/__pycache__/bash_tool.cpython-314.pyc +0 -0
  360. package/onecode/agent/tools/__pycache__/communication_tools.cpython-314.pyc +0 -0
  361. package/onecode/agent/tools/__pycache__/config_tool.cpython-314.pyc +0 -0
  362. package/onecode/agent/tools/__pycache__/cron_tools.cpython-314.pyc +0 -0
  363. package/onecode/agent/tools/__pycache__/errors.cpython-314.pyc +0 -0
  364. package/onecode/agent/tools/__pycache__/file_ops.cpython-314.pyc +0 -0
  365. package/onecode/agent/tools/__pycache__/file_tools.cpython-314.pyc +0 -0
  366. package/onecode/agent/tools/__pycache__/git_tools.cpython-314.pyc +0 -0
  367. package/onecode/agent/tools/__pycache__/lsp_tools.cpython-314.pyc +0 -0
  368. package/onecode/agent/tools/__pycache__/mcp_tools.cpython-314.pyc +0 -0
  369. package/onecode/agent/tools/__pycache__/permission_handler.cpython-314.pyc +0 -0
  370. package/onecode/agent/tools/__pycache__/permissions.cpython-314.pyc +0 -0
  371. package/onecode/agent/tools/__pycache__/protocol.cpython-314.pyc +0 -0
  372. package/onecode/agent/tools/__pycache__/registry.cpython-314.pyc +0 -0
  373. package/onecode/agent/tools/__pycache__/sandbox.cpython-314.pyc +0 -0
  374. package/onecode/agent/tools/__pycache__/schema_validation.cpython-314.pyc +0 -0
  375. package/onecode/agent/tools/__pycache__/skill_tools.cpython-314.pyc +0 -0
  376. package/onecode/agent/tools/__pycache__/todo_tools.cpython-314.pyc +0 -0
  377. package/onecode/agent/tools/__pycache__/web_tools.cpython-314.pyc +0 -0
  378. package/onecode/agent/tools/agent_tools.py +0 -128
  379. package/onecode/agent/tools/apply_patch_tool.py +0 -138
  380. package/onecode/agent/tools/bash_tool.py +0 -121
  381. package/onecode/agent/tools/communication_tools.py +0 -154
  382. package/onecode/agent/tools/config_tool.py +0 -130
  383. package/onecode/agent/tools/cron_tools.py +0 -178
  384. package/onecode/agent/tools/errors.py +0 -17
  385. package/onecode/agent/tools/file_ops.py +0 -221
  386. package/onecode/agent/tools/file_tools.py +0 -225
  387. package/onecode/agent/tools/git_tools.py +0 -88
  388. package/onecode/agent/tools/lsp_tools.py +0 -404
  389. package/onecode/agent/tools/mcp_tools.py +0 -211
  390. package/onecode/agent/tools/permission_handler.py +0 -46
  391. package/onecode/agent/tools/permissions.py +0 -77
  392. package/onecode/agent/tools/protocol.py +0 -20
  393. package/onecode/agent/tools/registry.py +0 -210
  394. package/onecode/agent/tools/sandbox.py +0 -460
  395. package/onecode/agent/tools/schema_validation.py +0 -100
  396. package/onecode/agent/tools/skill_tools.py +0 -52
  397. package/onecode/agent/tools/todo_tools.py +0 -208
  398. package/onecode/agent/tools/web_tools.py +0 -530
  399. package/onecode/agent/turn_record.py +0 -28
  400. package/onecode/builtin_skills/agent-browser/SKILL.md +0 -212
  401. package/onecode/builtin_skills/agent-browser/skill.yaml +0 -8
  402. package/onecode/builtin_skills/cloudbase/SKILL.md +0 -162
  403. package/onecode/builtin_skills/cloudbase/skill.yaml +0 -7
  404. package/onecode/builtin_skills/git/SKILL.md +0 -64
  405. package/onecode/builtin_skills/git/skill.yaml +0 -7
  406. package/onecode/builtin_skills/shell/SKILL.md +0 -58
  407. package/onecode/builtin_skills/shell/skill.yaml +0 -8
  408. package/onecode/builtin_skills/skill-creator/SKILL.md +0 -106
  409. package/onecode/builtin_skills/skill-creator/skill.yaml +0 -8
  410. package/onecode/cli.py +0 -1325
  411. package/onecode/codebase/__init__.py +0 -69
  412. package/onecode/codebase/__pycache__/__init__.cpython-314.pyc +0 -0
  413. package/onecode/codebase/__pycache__/chunker.cpython-314.pyc +0 -0
  414. package/onecode/codebase/__pycache__/indexer.cpython-314.pyc +0 -0
  415. package/onecode/codebase/__pycache__/retriever.cpython-314.pyc +0 -0
  416. package/onecode/codebase/__pycache__/storage.cpython-314.pyc +0 -0
  417. package/onecode/codebase/__pycache__/tools.cpython-314.pyc +0 -0
  418. package/onecode/codebase/chunker.py +0 -125
  419. package/onecode/codebase/indexer.py +0 -154
  420. package/onecode/codebase/retriever.py +0 -240
  421. package/onecode/codebase/storage.py +0 -153
  422. package/onecode/codebase/tools.py +0 -59
  423. package/onecode/commands.py +0 -673
  424. package/onecode/config.py +0 -539
  425. package/onecode/config_screen.py +0 -486
  426. package/onecode/cron/__init__.py +0 -3
  427. package/onecode/lsp/__init__.py +0 -3
  428. package/onecode/mcp/__init__.py +0 -11
  429. package/onecode/mcp/__pycache__/__init__.cpython-314.pyc +0 -0
  430. package/onecode/mcp/__pycache__/client.cpython-314.pyc +0 -0
  431. package/onecode/mcp/__pycache__/cloudbase.cpython-314.pyc +0 -0
  432. package/onecode/mcp/__pycache__/config.cpython-314.pyc +0 -0
  433. package/onecode/mcp/__pycache__/manager.cpython-314.pyc +0 -0
  434. package/onecode/mcp/__pycache__/oauth.cpython-314.pyc +0 -0
  435. package/onecode/mcp/client.py +0 -305
  436. package/onecode/mcp/cloudbase.py +0 -188
  437. package/onecode/mcp/config.py +0 -363
  438. package/onecode/mcp/manager.py +0 -603
  439. package/onecode/mcp/oauth.py +0 -199
  440. package/onecode/memory/__init__.py +0 -106
  441. package/onecode/memory/__pycache__/__init__.cpython-314.pyc +0 -0
  442. package/onecode/memory/__pycache__/backend.cpython-314.pyc +0 -0
  443. package/onecode/memory/__pycache__/pyramid.cpython-314.pyc +0 -0
  444. package/onecode/memory/__pycache__/recall.cpython-314.pyc +0 -0
  445. package/onecode/memory/backend.py +0 -179
  446. package/onecode/memory/pyramid.py +0 -145
  447. package/onecode/memory/recall.py +0 -322
  448. package/onecode/migrate.py +0 -122
  449. package/onecode/models/__init__.py +0 -4
  450. package/onecode/models/__pycache__/__init__.cpython-314.pyc +0 -0
  451. package/onecode/models/__pycache__/errors.cpython-314.pyc +0 -0
  452. package/onecode/models/__pycache__/messages.cpython-314.pyc +0 -0
  453. package/onecode/models/__pycache__/ollama_manager.cpython-314.pyc +0 -0
  454. package/onecode/models/__pycache__/provider.cpython-314.pyc +0 -0
  455. package/onecode/models/__pycache__/registry.cpython-314.pyc +0 -0
  456. package/onecode/models/errors.py +0 -104
  457. package/onecode/models/messages.py +0 -750
  458. package/onecode/models/ollama_manager.py +0 -167
  459. package/onecode/models/provider.py +0 -730
  460. package/onecode/models/providers/__init__.py +0 -17
  461. package/onecode/models/providers/__pycache__/__init__.cpython-314.pyc +0 -0
  462. package/onecode/models/providers/__pycache__/anthropic_provider.cpython-314.pyc +0 -0
  463. package/onecode/models/providers/__pycache__/deepseek_provider.cpython-314.pyc +0 -0
  464. package/onecode/models/providers/__pycache__/glm_provider.cpython-314.pyc +0 -0
  465. package/onecode/models/providers/__pycache__/minimax_provider.cpython-314.pyc +0 -0
  466. package/onecode/models/providers/__pycache__/minimaxi_provider.cpython-314.pyc +0 -0
  467. package/onecode/models/providers/__pycache__/ollama_provider.cpython-314.pyc +0 -0
  468. package/onecode/models/providers/__pycache__/openai_provider.cpython-314.pyc +0 -0
  469. package/onecode/models/providers/anthropic_provider.py +0 -286
  470. package/onecode/models/providers/deepseek_provider.py +0 -221
  471. package/onecode/models/providers/glm_provider.py +0 -219
  472. package/onecode/models/providers/minimax_provider.py +0 -182
  473. package/onecode/models/providers/minimaxi_provider.py +0 -426
  474. package/onecode/models/providers/ollama_provider.py +0 -183
  475. package/onecode/models/providers/openai_provider.py +0 -234
  476. package/onecode/models/registry.py +0 -349
  477. package/onecode/server/__init__.py +0 -3
  478. package/onecode/server/app.py +0 -251
  479. package/onecode/skills/__init__.py +0 -11
  480. package/onecode/skills/__pycache__/__init__.cpython-314.pyc +0 -0
  481. package/onecode/skills/__pycache__/argument_substitution.cpython-314.pyc +0 -0
  482. package/onecode/skills/__pycache__/bootstrap.cpython-314.pyc +0 -0
  483. package/onecode/skills/__pycache__/create.cpython-314.pyc +0 -0
  484. package/onecode/skills/__pycache__/frontmatter.cpython-314.pyc +0 -0
  485. package/onecode/skills/__pycache__/loader.cpython-314.pyc +0 -0
  486. package/onecode/skills/__pycache__/model.cpython-314.pyc +0 -0
  487. package/onecode/skills/argument_substitution.py +0 -38
  488. package/onecode/skills/bootstrap.py +0 -37
  489. package/onecode/skills/create.py +0 -56
  490. package/onecode/skills/frontmatter.py +0 -33
  491. package/onecode/skills/loader.py +0 -215
  492. package/onecode/skills/manager.py +0 -75
  493. package/onecode/skills/model.py +0 -43
  494. package/onecode/storage/__init__.py +0 -0
  495. package/onecode/storage/activity.py +0 -63
  496. package/onecode/storage/project.py +0 -54
  497. package/onecode/storage/session.py +0 -112
  498. package/onecode/tasks/__init__.py +0 -26
  499. package/onecode/tasks/manager.py +0 -232
  500. package/onecode/tasks/models.py +0 -240
  501. package/onecode/trace/__init__.py +0 -0
  502. package/onecode/trace/tracer.py +0 -173
  503. package/onecode/utils/__init__.py +0 -0
  504. package/onecode/utils/helpers.py +0 -20
  505. package/onecode/verification/__init__.py +0 -5
  506. package/onecode/verification/__pycache__/__init__.cpython-314.pyc +0 -0
  507. package/onecode/verification/__pycache__/aggregation.cpython-314.pyc +0 -0
  508. package/onecode/verification/__pycache__/loop.cpython-314.pyc +0 -0
  509. package/onecode/verification/__pycache__/policy.cpython-314.pyc +0 -0
  510. package/onecode/verification/aggregation.py +0 -53
  511. package/onecode/verification/gates/__init__.py +0 -6
  512. package/onecode/verification/gates/__pycache__/__init__.cpython-314.pyc +0 -0
  513. package/onecode/verification/gates/__pycache__/base.cpython-314.pyc +0 -0
  514. package/onecode/verification/gates/__pycache__/lint_gate.cpython-314.pyc +0 -0
  515. package/onecode/verification/gates/__pycache__/test_gate.cpython-314.pyc +0 -0
  516. package/onecode/verification/gates/__pycache__/type_gate.cpython-314.pyc +0 -0
  517. package/onecode/verification/gates/base.py +0 -20
  518. package/onecode/verification/gates/lint_gate.py +0 -45
  519. package/onecode/verification/gates/test_gate.py +0 -62
  520. package/onecode/verification/gates/type_gate.py +0 -46
  521. package/onecode/verification/loop.py +0 -95
  522. package/onecode/verification/policy.py +0 -29
  523. package/pyproject.toml +0 -84
  524. package/tui/__init__.py +0 -46
  525. package/tui/__main__.py +0 -4
  526. package/tui/__pycache__/__init__.cpython-314.pyc +0 -0
  527. package/tui/__pycache__/_loop.cpython-314.pyc +0 -0
  528. package/tui/__pycache__/_path_fuzzy_search.cpython-314.pyc +0 -0
  529. package/tui/__pycache__/_path_match.cpython-314.pyc +0 -0
  530. package/tui/__pycache__/agent.cpython-314.pyc +0 -0
  531. package/tui/__pycache__/agent_schema.cpython-314.pyc +0 -0
  532. package/tui/__pycache__/agents.cpython-314.pyc +0 -0
  533. package/tui/__pycache__/answer.cpython-314.pyc +0 -0
  534. package/tui/__pycache__/app.cpython-314.pyc +0 -0
  535. package/tui/__pycache__/atomic.cpython-314.pyc +0 -0
  536. package/tui/__pycache__/complete.cpython-314.pyc +0 -0
  537. package/tui/__pycache__/constants.cpython-314.pyc +0 -0
  538. package/tui/__pycache__/conversation_markdown.cpython-314.pyc +0 -0
  539. package/tui/__pycache__/db.cpython-314.pyc +0 -0
  540. package/tui/__pycache__/dec.cpython-314.pyc +0 -0
  541. package/tui/__pycache__/directory.cpython-314.pyc +0 -0
  542. package/tui/__pycache__/directory_watcher.cpython-314.pyc +0 -0
  543. package/tui/__pycache__/format_path.cpython-314.pyc +0 -0
  544. package/tui/__pycache__/fuzzy.cpython-314.pyc +0 -0
  545. package/tui/__pycache__/fuzzy_index.cpython-314.pyc +0 -0
  546. package/tui/__pycache__/history.cpython-314.pyc +0 -0
  547. package/tui/__pycache__/jsonrpc.cpython-314.pyc +0 -0
  548. package/tui/__pycache__/menus.cpython-314.pyc +0 -0
  549. package/tui/__pycache__/message_log.cpython-314.pyc +0 -0
  550. package/tui/__pycache__/messages.cpython-314.pyc +0 -0
  551. package/tui/__pycache__/path_complete.cpython-314.pyc +0 -0
  552. package/tui/__pycache__/path_filter.cpython-314.pyc +0 -0
  553. package/tui/__pycache__/paths.cpython-314.pyc +0 -0
  554. package/tui/__pycache__/pill.cpython-314.pyc +0 -0
  555. package/tui/__pycache__/platform_commands.cpython-314.pyc +0 -0
  556. package/tui/__pycache__/protocol.cpython-314.pyc +0 -0
  557. package/tui/__pycache__/session_tracker.cpython-314.pyc +0 -0
  558. package/tui/__pycache__/settings.cpython-314.pyc +0 -0
  559. package/tui/__pycache__/settings_schema.cpython-314.pyc +0 -0
  560. package/tui/__pycache__/shell.cpython-314.pyc +0 -0
  561. package/tui/__pycache__/shell_read.cpython-314.pyc +0 -0
  562. package/tui/__pycache__/slash_command.cpython-314.pyc +0 -0
  563. package/tui/__pycache__/version.cpython-314.pyc +0 -0
  564. package/tui/_loop.py +0 -86
  565. package/tui/_path_fuzzy_search.py +0 -48
  566. package/tui/_path_match.py +0 -141
  567. package/tui/about.py +0 -95
  568. package/tui/acp/__pycache__/agent.cpython-314.pyc +0 -0
  569. package/tui/acp/__pycache__/api.cpython-314.pyc +0 -0
  570. package/tui/acp/__pycache__/encode_tool_call_id.cpython-314.pyc +0 -0
  571. package/tui/acp/__pycache__/event_tap.cpython-314.pyc +0 -0
  572. package/tui/acp/__pycache__/messages.cpython-314.pyc +0 -0
  573. package/tui/acp/__pycache__/prompt.cpython-314.pyc +0 -0
  574. package/tui/acp/__pycache__/protocol.cpython-314.pyc +0 -0
  575. package/tui/acp/agent.py +0 -1212
  576. package/tui/acp/api.py +0 -79
  577. package/tui/acp/encode_tool_call_id.py +0 -12
  578. package/tui/acp/event_tap.py +0 -107
  579. package/tui/acp/messages.py +0 -222
  580. package/tui/acp/prompt.py +0 -53
  581. package/tui/acp/protocol.py +0 -551
  582. package/tui/agent.py +0 -70
  583. package/tui/agent_schema.py +0 -76
  584. package/tui/agents.py +0 -46
  585. package/tui/ansi/__init__.py +0 -1
  586. package/tui/ansi/__pycache__/__init__.cpython-314.pyc +0 -0
  587. package/tui/ansi/__pycache__/_ansi.cpython-314.pyc +0 -0
  588. package/tui/ansi/__pycache__/_ansi_colors.cpython-314.pyc +0 -0
  589. package/tui/ansi/__pycache__/_control_codes.cpython-314.pyc +0 -0
  590. package/tui/ansi/__pycache__/_keys.cpython-314.pyc +0 -0
  591. package/tui/ansi/__pycache__/_sgr_styles.cpython-314.pyc +0 -0
  592. package/tui/ansi/__pycache__/_stream_parser.cpython-314.pyc +0 -0
  593. package/tui/ansi/_ansi.py +0 -1689
  594. package/tui/ansi/_ansi_colors.py +0 -264
  595. package/tui/ansi/_control_codes.py +0 -37
  596. package/tui/ansi/_keys.py +0 -251
  597. package/tui/ansi/_sgr_styles.py +0 -64
  598. package/tui/ansi/_stream_parser.py +0 -418
  599. package/tui/answer.py +0 -12
  600. package/tui/app.py +0 -1195
  601. package/tui/atomic.py +0 -37
  602. package/tui/cli.py +0 -208
  603. package/tui/code_analyze.py +0 -27
  604. package/tui/complete.py +0 -38
  605. package/tui/constants.py +0 -61
  606. package/tui/conversation_markdown.py +0 -30
  607. package/tui/danger.py +0 -372
  608. package/tui/data/agents/ampcode.com.toml +0 -52
  609. package/tui/data/agents/augmentcode.com.toml +0 -41
  610. package/tui/data/agents/cdh.cloud-dev-harness.toml +0 -23
  611. package/tui/data/agents/claude.com.toml +0 -42
  612. package/tui/data/agents/copilot.github.com.toml +0 -29
  613. package/tui/data/agents/crowai.dev.toml +0 -36
  614. package/tui/data/agents/cursor.com.toml +0 -38
  615. package/tui/data/agents/deepagents.langchain.com +0 -34
  616. package/tui/data/agents/docker.com.toml +0 -60
  617. package/tui/data/agents/geminicli.com.toml +0 -28
  618. package/tui/data/agents/goose.ai.toml +0 -52
  619. package/tui/data/agents/inference.huggingface.co.toml +0 -41
  620. package/tui/data/agents/kimi.com.toml +0 -35
  621. package/tui/data/agents/kiro.dev.toml +0 -43
  622. package/tui/data/agents/onecode.dev.toml +0 -22
  623. package/tui/data/agents/openai.com.toml +0 -53
  624. package/tui/data/agents/openclaw.ai.toml +0 -37
  625. package/tui/data/agents/opencode.ai.toml +0 -39
  626. package/tui/data/agents/openhands.dev.toml +0 -46
  627. package/tui/data/agents/stakpak.dev.toml +0 -62
  628. package/tui/data/agents/vibe.mistral.ai.toml +0 -31
  629. package/tui/data/agents/vtcode.dev.toml +0 -63
  630. package/tui/data/images/frog.png +0 -0
  631. package/tui/data/sounds/question.wav +0 -0
  632. package/tui/data/sounds/turn-over.wav +0 -0
  633. package/tui/db.py +0 -213
  634. package/tui/dec.py +0 -332
  635. package/tui/diff_utils.py +0 -131
  636. package/tui/directory.py +0 -234
  637. package/tui/directory_suggester.py +0 -93
  638. package/tui/directory_watcher.py +0 -231
  639. package/tui/format_path.py +0 -25
  640. package/tui/fuzzy.py +0 -140
  641. package/tui/fuzzy_index.py +0 -275
  642. package/tui/gist.py +0 -33
  643. package/tui/history.py +0 -138
  644. package/tui/jsonrpc.py +0 -599
  645. package/tui/menus.py +0 -14
  646. package/tui/message_log.py +0 -69
  647. package/tui/messages.py +0 -144
  648. package/tui/option_content.py +0 -51
  649. package/tui/os.py +0 -0
  650. package/tui/path_complete.py +0 -217
  651. package/tui/path_filter.py +0 -124
  652. package/tui/paths.py +0 -87
  653. package/tui/pill.py +0 -23
  654. package/tui/platform_commands.py +0 -52
  655. package/tui/prompt/__pycache__/extract.cpython-314.pyc +0 -0
  656. package/tui/prompt/__pycache__/resource.cpython-314.pyc +0 -0
  657. package/tui/prompt/extract.py +0 -19
  658. package/tui/prompt/resource.py +0 -68
  659. package/tui/protocol.py +0 -28
  660. package/tui/screens/__init__.py +0 -0
  661. package/tui/screens/__pycache__/__init__.cpython-314.pyc +0 -0
  662. package/tui/screens/__pycache__/diff_screen.cpython-314.pyc +0 -0
  663. package/tui/screens/__pycache__/main.cpython-314.pyc +0 -0
  664. package/tui/screens/__pycache__/sessions.cpython-314.pyc +0 -0
  665. package/tui/screens/action_modal.py +0 -94
  666. package/tui/screens/agent_modal.py +0 -175
  667. package/tui/screens/command_edit_modal.py +0 -74
  668. package/tui/screens/diff_explorer_screen.py +0 -419
  669. package/tui/screens/diff_screen.py +0 -84
  670. package/tui/screens/ide_screen.py +0 -461
  671. package/tui/screens/main.py +0 -397
  672. package/tui/screens/main.tcss +0 -662
  673. package/tui/screens/permissions.py +0 -404
  674. package/tui/screens/permissions.tcss +0 -72
  675. package/tui/screens/projects.tcss +0 -84
  676. package/tui/screens/projects_app.py +0 -341
  677. package/tui/screens/projects_screen.py +0 -277
  678. package/tui/screens/session_resume_modal.py +0 -172
  679. package/tui/screens/session_resume_modal.tcss +0 -35
  680. package/tui/screens/sessions.py +0 -171
  681. package/tui/screens/sessions.tcss +0 -119
  682. package/tui/screens/settings.py +0 -293
  683. package/tui/screens/settings.tcss +0 -113
  684. package/tui/screens/store.py +0 -502
  685. package/tui/screens/store.tcss +0 -274
  686. package/tui/screens/tool_content_screen.py +0 -59
  687. package/tui/screens/trace.py +0 -317
  688. package/tui/session_tracker.py +0 -123
  689. package/tui/settings.py +0 -353
  690. package/tui/settings_schema.py +0 -467
  691. package/tui/shell.py +0 -304
  692. package/tui/shell_read.py +0 -42
  693. package/tui/slash_command.py +0 -34
  694. package/tui/tui.tcss +0 -246
  695. package/tui/twitter.py +0 -38
  696. package/tui/version.py +0 -80
  697. package/tui/visuals/__init__.py +0 -0
  698. package/tui/visuals/__pycache__/__init__.cpython-314.pyc +0 -0
  699. package/tui/visuals/__pycache__/columns.cpython-314.pyc +0 -0
  700. package/tui/visuals/columns.py +0 -272
  701. package/tui/widgets/__init__.py +0 -0
  702. package/tui/widgets/__pycache__/__init__.cpython-314.pyc +0 -0
  703. package/tui/widgets/__pycache__/agent_response.cpython-314.pyc +0 -0
  704. package/tui/widgets/__pycache__/agent_thought.cpython-314.pyc +0 -0
  705. package/tui/widgets/__pycache__/aidlc.cpython-314.pyc +0 -0
  706. package/tui/widgets/__pycache__/ask_user.cpython-314.pyc +0 -0
  707. package/tui/widgets/__pycache__/condensed_path.cpython-314.pyc +0 -0
  708. package/tui/widgets/__pycache__/context_stats.cpython-314.pyc +0 -0
  709. package/tui/widgets/__pycache__/conversation.cpython-314.pyc +0 -0
  710. package/tui/widgets/__pycache__/diff_view.cpython-314.pyc +0 -0
  711. package/tui/widgets/__pycache__/flash.cpython-314.pyc +0 -0
  712. package/tui/widgets/__pycache__/future_text.cpython-314.pyc +0 -0
  713. package/tui/widgets/__pycache__/grid_select.cpython-314.pyc +0 -0
  714. package/tui/widgets/__pycache__/highlighted_textarea.cpython-314.pyc +0 -0
  715. package/tui/widgets/__pycache__/load_more.cpython-314.pyc +0 -0
  716. package/tui/widgets/__pycache__/menu.cpython-314.pyc +0 -0
  717. package/tui/widgets/__pycache__/modified_files.cpython-314.pyc +0 -0
  718. package/tui/widgets/__pycache__/non_selectable_label.cpython-314.pyc +0 -0
  719. package/tui/widgets/__pycache__/note.cpython-314.pyc +0 -0
  720. package/tui/widgets/__pycache__/path_search.cpython-314.pyc +0 -0
  721. package/tui/widgets/__pycache__/pending_prompts.cpython-314.pyc +0 -0
  722. package/tui/widgets/__pycache__/plan.cpython-314.pyc +0 -0
  723. package/tui/widgets/__pycache__/project_directory_tree.cpython-314.pyc +0 -0
  724. package/tui/widgets/__pycache__/prompt.cpython-314.pyc +0 -0
  725. package/tui/widgets/__pycache__/question.cpython-314.pyc +0 -0
  726. package/tui/widgets/__pycache__/session_grid_select.cpython-314.pyc +0 -0
  727. package/tui/widgets/__pycache__/session_summary.cpython-314.pyc +0 -0
  728. package/tui/widgets/__pycache__/session_tabs.cpython-314.pyc +0 -0
  729. package/tui/widgets/__pycache__/shell_terminal.cpython-314.pyc +0 -0
  730. package/tui/widgets/__pycache__/side_bar.cpython-314.pyc +0 -0
  731. package/tui/widgets/__pycache__/slash_complete.cpython-314.pyc +0 -0
  732. package/tui/widgets/__pycache__/strike_text.cpython-314.pyc +0 -0
  733. package/tui/widgets/__pycache__/terminal.cpython-314.pyc +0 -0
  734. package/tui/widgets/__pycache__/throbber.cpython-314.pyc +0 -0
  735. package/tui/widgets/__pycache__/tool_call.cpython-314.pyc +0 -0
  736. package/tui/widgets/__pycache__/user_input.cpython-314.pyc +0 -0
  737. package/tui/widgets/acp_content.py +0 -70
  738. package/tui/widgets/agent_response.py +0 -76
  739. package/tui/widgets/agent_thought.py +0 -167
  740. package/tui/widgets/aidlc.py +0 -334
  741. package/tui/widgets/ask_user.py +0 -604
  742. package/tui/widgets/command_pane.py +0 -223
  743. package/tui/widgets/condensed_path.py +0 -115
  744. package/tui/widgets/context_stats.py +0 -66
  745. package/tui/widgets/conversation.py +0 -3235
  746. package/tui/widgets/danger_warning.py +0 -65
  747. package/tui/widgets/diff_view.py +0 -69
  748. package/tui/widgets/directory_input.py +0 -8
  749. package/tui/widgets/edit_field.py +0 -206
  750. package/tui/widgets/flash.py +0 -81
  751. package/tui/widgets/future_text.py +0 -126
  752. package/tui/widgets/grid_select.py +0 -234
  753. package/tui/widgets/highlighted_textarea.py +0 -183
  754. package/tui/widgets/load_more.py +0 -24
  755. package/tui/widgets/mandelbrot.py +0 -294
  756. package/tui/widgets/markdown_note.py +0 -13
  757. package/tui/widgets/menu.py +0 -147
  758. package/tui/widgets/model_status.py +0 -230
  759. package/tui/widgets/modified_files.py +0 -315
  760. package/tui/widgets/non_selectable_label.py +0 -5
  761. package/tui/widgets/note.py +0 -18
  762. package/tui/widgets/path_search.py +0 -492
  763. package/tui/widgets/pending_prompts.py +0 -36
  764. package/tui/widgets/plan.py +0 -285
  765. package/tui/widgets/project_directory_tree.py +0 -102
  766. package/tui/widgets/project_grid_select.py +0 -68
  767. package/tui/widgets/project_summary.py +0 -33
  768. package/tui/widgets/prompt.py +0 -935
  769. package/tui/widgets/question.py +0 -360
  770. package/tui/widgets/session_grid_select.py +0 -230
  771. package/tui/widgets/session_summary.py +0 -115
  772. package/tui/widgets/session_tabs.py +0 -194
  773. package/tui/widgets/shell_result.py +0 -35
  774. package/tui/widgets/shell_terminal.py +0 -40
  775. package/tui/widgets/side_bar.py +0 -124
  776. package/tui/widgets/slash_complete.py +0 -235
  777. package/tui/widgets/strike_text.py +0 -70
  778. package/tui/widgets/subagent.py +0 -287
  779. package/tui/widgets/subagent_screen.py +0 -715
  780. package/tui/widgets/terminal.py +0 -576
  781. package/tui/widgets/terminal_tool.py +0 -360
  782. package/tui/widgets/throbber.py +0 -100
  783. package/tui/widgets/tool_call.py +0 -432
  784. package/tui/widgets/user_input.py +0 -23
  785. package/tui/widgets/version.py +0 -5
  786. package/tui/widgets/welcome.py +0 -31
@@ -1,61 +0,0 @@
1
- # Deliver Rules (DLV-*) + Stack Rules (STK-*)
2
-
3
- ## DLV-001: Unified Stack Preview Before Production
4
- **Severity:** MUST
5
- **Description:** Every release MUST deploy as unified stack preview with per-component e2e + cross-stack e2e passing before production.
6
- **Valid:** `deploy_stack --preview` → `pytest aidlc/tests/cross-stack/ --stack-url $STACK_URL`.
7
- **Invalid:** Deploying only one component to preview.
8
-
9
- ## DLV-002: Production Approval Gate
10
- **Severity:** MUST
11
- **Description:** Production deployment requires explicit human approval reviewing per-component e2e, cross-stack e2e, staging smoke, and contract-diff.md.
12
- **Valid:** Human reviews all reports and explicitly approves.
13
- **Invalid:** Automated production deployment triggered solely by test pass.
14
-
15
- ## DLV-003: Stack BVT Validation
16
- **Severity:** MUST
17
- **Description:** After production deploy, BVT MUST run against the stack. Failure triggers automatic stack rollback.
18
- **Valid:** `bvt ${PRODUCTION_URL}` → fail → `deploy_stack --rollback`.
19
- **Invalid:** BVT skip or success with errors.
20
-
21
- ## DLV-004: Per-Component Preview URL Isolation
22
- **Severity:** MUST
23
- **Description:** e2e tests run against dynamic preview URLs, never hardcoded production URLs.
24
- **Valid:** `pytest apps/web/tests/e2e/ --preview-url $WEB_URL`.
25
- **Invalid:** Hardcoded `https://prod.example.com` in tests.
26
-
27
- ## STK-001: Component Scope Declaration
28
- **Severity:** MUST
29
- **Description:** Every spec delta, design doc, task list MUST declare `affects:`.
30
- **Valid:** `affects: [web, backend, contracts]`.
31
- **Invalid:** Missing `affects` declaration.
32
-
33
- ## STK-002: Cross-Component Tasks Have Edges
34
- **Severity:** MUST
35
- **Description:** Tasks consuming a contract MUST have explicit `depends_on` edge to producing task.
36
- **Valid:** `depends_on: [int-contract-auth-login, be-login-endpoint]`.
37
- **Invalid:** Implicit dependency with no DAG edge.
38
-
39
- ## STK-003: Cross-Stack E2E Mandatory for ≥2 Components
40
- **Severity:** MUST
41
- **Description:** Changes affecting ≥2 components MUST have cross-stack e2e testing real flow between components.
42
- **Valid:** Real web client against real backend preview.
43
- **Invalid:** Cross-stack test that mocks the other component.
44
-
45
- ## STK-004: Unified Stack Deploy
46
- **Severity:** MUST
47
- **Description:** Shared environments MUST use `deploy_stack` orchestrator, not per-component ad-hoc deploys.
48
- **Valid:** `deploy_stack --preview` deploys all components.
49
- **Invalid:** Ad-hoc per-component deploy to shared preview.
50
-
51
- ## STK-005: Cross-Component Build Config Injection
52
- **Severity:** MUST
53
- **Description:** All client builds receive `BACKEND_URL` as build-time env var, never hardcoded.
54
- **Valid:** `pnpm --filter web build --env BACKEND_URL=$BACKEND_URL`.
55
- **Invalid:** Hardcoded URLs in `.env.production`.
56
-
57
- ## STK-006: Stack-Level Rollback
58
- **Severity:** MUST
59
- **Description:** Rollback is stack operation. Entire previous stable version reverts together.
60
- **Valid:** `deploy_stack --rollback v1.2.3` reverts all components.
61
- **Invalid:** Rolling back only backend while leaving clients on new version.
@@ -1,268 +0,0 @@
1
- # Accessibility — 可访问性规范
2
-
3
- 所有 UI 组件必须符合 WCAG 2.1 AA 标准,确保残障人士可正常使用。
4
-
5
- ## WCAG 2.1 核心标准
6
-
7
- | 原则 | 级别 | 要求 |
8
- |------|------|------|
9
- | **可感知** | A | 文本替代、媒体字幕、适应性内容 |
10
- | **可操作** | A | 键盘可访问、无陷阱、足够时间 |
11
- | **可理解** | A | 语言可读、可预测、输入帮助 |
12
- | **健壮** | A | 兼容性、状态可访问性 |
13
-
14
- ### 对比度要求
15
-
16
- | 内容类型 | AA 标准 | AAA 标准 |
17
- |----------|---------|----------|
18
- | 正常文本 (<18px / <14px bold) | 4.5:1 | 7:1 |
19
- | 大文本 (≥18px / ≥14px bold) | 3:1 | 4.5:1 |
20
- | UI 组件/图形 | 3:1 | 3:1 |
21
-
22
- ### 字体大小规范
23
-
24
- ```css
25
- /* 最小可访问字体 */
26
- --font-size-min-accessible: 14px; /* 正常文本 */
27
- --font-size-min-accessible-large: 18px; /* 大文本 */
28
- ```
29
-
30
- ## 焦点管理 (Focus Management)
31
-
32
- ### Focus Ring 规范
33
-
34
- ```css
35
- /* 所有可交互元素的 focus ring */
36
- :focus-visible {
37
- outline: 2px solid var(--color-border-focus);
38
- outline-offset: 2px;
39
- }
40
-
41
- /* 移除默认 focus ring */
42
- :focus:not(:focus-visible) {
43
- outline: none;
44
- }
45
- ```
46
-
47
- ### 焦点顺序
48
-
49
- ```markdown
50
- ### Tab 顺序规则
51
- 1. 逻辑顺序: 从左到右,从上到下
52
- 2. 焦点顺序必须与视觉顺序一致
53
- 3. 模态弹窗必须捕获焦点 (focus trap)
54
- 4. 关闭弹窗后焦点需返回触发元素
55
- 5. 跳过链接 (#main-content) 必须是第一个可聚焦元素
56
- ```
57
-
58
- ### 焦点陷阱 (Focus Trap)
59
-
60
- ```typescript
61
- // Modal / Dialog 必须实现焦点陷阱
62
- const focusTrap = (container: HTMLElement) => {
63
- const focusable = container.querySelectorAll(
64
- 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
65
- );
66
- const first = focusable[0] as HTMLElement;
67
- const last = focusable[focusable.length - 1] as HTMLElement;
68
-
69
- const handleKeyDown = (e: KeyboardEvent) => {
70
- if (e.key !== 'Tab') return;
71
- if (e.shiftKey && document.activeElement === first) {
72
- e.preventDefault();
73
- last.focus();
74
- } else if (!e.shiftKey && document.activeElement === last) {
75
- e.preventDefault();
76
- first.focus();
77
- }
78
- };
79
-
80
- container.addEventListener('keydown', handleKeyDown);
81
- first?.focus();
82
- };
83
- ```
84
-
85
- ## 键盘导航 (Keyboard Navigation)
86
-
87
- ### 标准键盘交互
88
-
89
- | Key | 组件 | 行为 |
90
- |-----|------|------|
91
- | Tab | 全局 | 移动到下一个可聚焦元素 |
92
- | Shift+Tab | 全局 | 移动到上一个可聚焦元素 |
93
- | Enter | Button / Link | 激活 |
94
- | Space | Button / Checkbox | 激活 / 切换 |
95
- | Escape | Modal / Dropdown | 关闭 |
96
- | Arrow Up/Down | Menu / Select | 上下导航 |
97
- | Arrow Left/Right | Tab / Slider | 左右切换 |
98
-
99
- ### 可交互元素最小集合
100
-
101
- ```markdown
102
- 必须可键盘操作:
103
- - [ ] 所有 Button
104
- - [ ] 所有 Link
105
- - [ ] 所有 Input / Textarea
106
- - [ ] 所有 Select
107
- - [ ] 所有 Checkbox / Radio / Switch
108
- - [ ] 所有 MenuItem
109
- - [ ] 所有 Modal / Dialog
110
- - [ ] 所有 Tooltip (可通过键盘触发)
111
- ```
112
-
113
- ## ARIA 规范
114
-
115
- ### ARIA 属性速查
116
-
117
- | 属性 | 用途 | 示例 |
118
- |------|------|------|
119
- | aria-label | 为元素提供可访问名称 | `<button aria-label="关闭">X</button>` |
120
- | aria-describedby | 关联描述元素 | `<input aria-describedby="hint-email">` |
121
- | aria-required | 标记必填 | `<input aria-required="true">` |
122
- | aria-invalid | 标记错误 | `<input aria-invalid="true">` |
123
- | aria-disabled | 标记禁用 | `<button aria-disabled="true">` |
124
- | aria-expanded | 展开/收起状态 | `<button aria-expanded="false">` |
125
- | aria-hidden | 隐藏于屏幕阅读器 | `<span aria-hidden="true">icon</span>` |
126
- | aria-live | 动态区域 | `<div aria-live="polite">result</div>` |
127
- | aria-busy | 加载状态 | `<div aria-busy="true">` |
128
- | aria-current | 当前项 | `<a aria-current="page">Home</a>` |
129
- | role | 语义角色 | `<div role="dialog">` |
130
-
131
- ### 常见 ARIA 模式
132
-
133
- ```markdown
134
- ### Button vs Link
135
- - Button: 执行操作 (onClick) → <button> 或 <div role="button">
136
- - Link: 导航 → <a href>
137
-
138
- ### Form Field
139
- <input
140
- id="email"
141
- type="email"
142
- aria-required="true"
143
- aria-invalid="false"
144
- aria-describedby="email-hint email-error"
145
- />
146
- <span id="email-hint">用于接收验证码</span>
147
- <span id="email-error" aria-live="polite"></span>
148
-
149
- ### Modal/Dialog
150
- <div role="dialog" aria-modal="true" aria-labelledby="dialog-title">
151
- <h2 id="dialog-title">确认删除</h2>
152
- <p>确定要删除此项吗?</p>
153
- <button>取消</button>
154
- <button>确定</button>
155
- </div>
156
-
157
- ### Tabs
158
- <div role="tablist">
159
- <button role="tab" aria-selected="true" aria-controls="panel-1">Tab 1</button>
160
- <button role="tab" aria-selected="false" aria-controls="panel-2">Tab 2</button>
161
- </div>
162
- <div role="tabpanel" id="panel-1">Content 1</div>
163
- <div role="tabpanel" id="panel-2" hidden>Content 2</div>
164
- ```
165
-
166
- ## 屏幕阅读器支持
167
-
168
- ### 必需内容
169
-
170
- ```markdown
171
- ### 图片
172
- - 有意义图片: alt="描述内容"
173
- - 装饰图片: alt="" (空)
174
-
175
- ### 图标
176
- - 纯装饰图标: aria-hidden="true"
177
- - 有意义图标: aria-label 或可见文字
178
-
179
- ### 动态内容
180
- - 非紧急更新: aria-live="polite"
181
- - 紧急警告: aria-live="assertive"
182
- - Toast: role="status" 或 role="alert"
183
-
184
- ### 表单错误
185
- - 错误提示必须关联到对应输入框 (aria-describedby)
186
- - 错误必须可被屏幕阅读器即时读取
187
- ```
188
-
189
- ### 辅助技术测试清单
190
-
191
- ```markdown
192
- - [ ] NVDA + Chrome 测试
193
- - [ ] VoiceOver + Safari 测试
194
- - [ ] JAWS + Chrome 测试 (可选)
195
- ```
196
-
197
- ## 运动与动画
198
-
199
- ### 减少运动 (Reduce Motion)
200
-
201
- ```css
202
- /* 尊重用户减少动画偏好 */
203
- @media (prefers-reduced-motion: reduce) {
204
- *,
205
- *::before,
206
- *::after {
207
- animation-duration: 0.01ms !important;
208
- animation-iteration-count: 1 !important;
209
- transition-duration: 0.01ms !important;
210
- }
211
- }
212
- ```
213
-
214
- ### 动画规范
215
-
216
- | 类型 | 最大时长 | 缓动 |
217
- |------|----------|------|
218
- | 微交互 | 100-200ms | ease-out |
219
- | 状态切换 | 200-300ms | ease-in-out |
220
- | 展开/折叠 | 300-500ms | ease-in-out |
221
- | 页面过渡 | 300-500ms | ease-in-out |
222
-
223
- ## 色彩相关
224
-
225
- ### 不应仅依赖颜色传达信息
226
-
227
- ```markdown
228
- ❌ 错误: 红色边框表示错误
229
- ✅ 正确: 红色边框 + 错误图标 + 错误文字 + aria-invalid
230
-
231
- ❌ 错误: 灰色表示禁用
232
- ✅ 正确: 灰色 + aria-disabled="true" + 鼠标事件禁用
233
- ```
234
-
235
- ## 移动端触摸
236
-
237
- ```markdown
238
- ### 触摸目标尺寸
239
- - 最小: 44x44 CSS pixels (Apple) / 48x48 dp (Material Design)
240
- - 推荐: 48x48 CSS pixels
241
-
242
- ### 触摸间距
243
- - 相邻可触摸元素间距 ≥ 8px
244
- - 防止误触相邻元素
245
- ```
246
-
247
- ## 法规与标准
248
-
249
- | 标准 | 要求级别 |
250
- |------|----------|
251
- | WCAG 2.1 (A) | 强制 (MUST) |
252
- | WCAG 2.1 (AA) | 推荐 (SHOULD) |
253
- | WCAG 2.1 (AAA) | 可选 (MAY) |
254
- | EN 301 549 (欧盟) | 政府采购 |
255
- | Section 508 (美国) | 政府/公共机构 |
256
-
257
- ## 评审清单
258
-
259
- - [ ] 所有文本对比度 ≥ 4.5:1 (AA)
260
- - [ ] 所有 UI 组件对比度 ≥ 3:1 (AA)
261
- - [ ] 所有交互元素可通过键盘操作
262
- - [ ] 所有图标按钮有 aria-label
263
- - [ ] 所有表单有错误提示和关联
264
- - [ ] 模态框实现焦点陷阱
265
- - [ ] 支持 prefers-reduced-motion
266
- - [ ] 触摸目标 ≥ 44x44px
267
- - [ ] 通过 axe-core 自动检测
268
- - [ ] 通过屏幕阅读器手动测试
@@ -1,341 +0,0 @@
1
- # Atomic Design — 原子化设计分层
2
-
3
- Atomic Design 是 UI 组件的分层方法论,将界面拆解为 5 个层级:Atom → Molecule → Organism → Template → Page。
4
-
5
- ## 层级总览
6
-
7
- ```
8
- Page
9
- └── Template
10
- └── Organism
11
- └── Molecule
12
- └── Atom
13
- ```
14
-
15
- | 层级 | 定义 | 复杂度 | 可复用性 |
16
- |------|------|--------|----------|
17
- | **Atom** | 最小单元,不可拆分 | 低 | 全局复用 |
18
- | **Molecule** | 2-3 个 Atom 简单组合 | 低 | 全局复用 |
19
- | **Organism** | 多个组件复杂组合 | 中 | 跨功能复用 |
20
- | **Template** | 页面骨架布局 | 中 | 同类型页面复用 |
21
- | **Page** | 具体页面实例 | 高 | 特定页面 |
22
-
23
- ---
24
-
25
- ## Atom — 原子
26
-
27
- **定义**: 最小 UI 单元,不可再拆分,拥有自己的 markup 和样式。
28
-
29
- ### 类型
30
-
31
- | 类型 | 示例组件 |
32
- |------|----------|
33
- | **基础** | Button, Input, Textarea, Select, Checkbox, Radio, Switch |
34
- | **显示** | Badge, Tag, Avatar, Progress, Tooltip |
35
- | **导航** | Tab, Breadcrumb, Pagination |
36
- | **媒体** | Icon, Image, Video |
37
- | **反馈** | Spinner, Skeleton, Alert |
38
-
39
- ### Atom 规范
40
-
41
- ```markdown
42
- ## Button
43
-
44
- ### Variants
45
- - primary: 主操作按钮
46
- - secondary: 次级操作
47
- - ghost: 透明背景
48
- - danger: 危险操作
49
-
50
- ### Sizes
51
- - sm: 高度 32px, font-size xs
52
- - md: 高度 40px, font-size sm (default)
53
- - lg: 高度 48px, font-size base
54
-
55
- ### States
56
- - default: 默认
57
- - hover: 悬停
58
- - active: 按下
59
- - focus: 聚焦 (focus ring)
60
- - disabled: 禁用
61
- - loading: 加载中
62
-
63
- ### Props (示例)
64
- - variant: 'primary' | 'secondary' | 'ghost' | 'danger'
65
- - size: 'sm' | 'md' | 'lg'
66
- - disabled: boolean
67
- - loading: boolean
68
- - leftIcon: ReactNode
69
- - rightIcon: ReactNode
70
- - fullWidth: boolean
71
- ```
72
-
73
- ### 设计要求
74
-
75
- - 必须可通过 CSS 变量覆盖外观
76
- - 必须支持键盘聚焦状态 (focus ring)
77
- - 尺寸需符合 spacing token
78
- - 文字颜色需满足 WCAG 对比度要求
79
-
80
- ---
81
-
82
- ## Molecule — 分子
83
-
84
- **定义**: 2-3 个 Atom 组合,形成具有单一功能职责的组件。
85
-
86
- ### 类型
87
-
88
- | 类型 | 示例组件 |
89
- |------|----------|
90
- | **表单** | SearchBar (Input + Button), FormField (Label + Input + ErrorText), DatePicker |
91
- | **卡片** | CardHeader (Avatar + Title + Subtitle), CardFooter (Meta + Action) |
92
- | **数据** | DataRow (Label + Value), StatCard (Icon + Value + Label) |
93
- | **导航** | NavItem (Icon + Text + Badge), BreadcrumbItem |
94
- | **媒体** | ImageWithCaption (Image + Caption), VideoPlayer |
95
-
96
- ### Molecule 规范
97
-
98
- ```markdown
99
- ## SearchBar
100
-
101
- ### Composition
102
- - Input (Atom)
103
- - Button (Atom)
104
- - 可选: Dropdown for filter
105
-
106
- ### States
107
- - default: 默认
108
- - focus: Input 聚焦
109
- - loading: 搜索中 (Button loading)
110
- - results: 显示结果
111
- - empty: 无结果
112
-
113
- ### Props
114
- - placeholder: string
115
- - onSearch: (value: string) => void
116
- - isLoading: boolean
117
- - value: string
118
-
119
- ### 行为
120
- - Enter 触发搜索
121
- - 搜索时显示 loading 状态
122
- - 清空按钮在有内容时显示
123
- ```
124
-
125
- ### 设计要求
126
-
127
- - Molecule 应有明确的单一职责
128
- - 内部 Atom 状态需联动(如 Input 禁用时 Button 也禁用)
129
- - 可接收外部样式覆盖 (className / style props)
130
-
131
- ---
132
-
133
- ## Organism — 有机体
134
-
135
- **定义**: 多个 Molecule/Atom 组合,形成独立的功能区块,可跨功能复用。
136
-
137
- ### 类型
138
-
139
- | 类型 | 示例组件 |
140
- |------|----------|
141
- | **布局** | Header, Sidebar, Footer |
142
- | **数据** | DataTable, ListView, CardGrid |
143
- | **表单** | LoginForm, RegisterForm, FilterPanel |
144
- | **导航** | MainNav, TabPanel |
145
- | **反馈** | ToastContainer, Modal, ConfirmDialog |
146
-
147
- ### Organism 规范
148
-
149
- ```markdown
150
- ## DataTable
151
-
152
- ### Composition
153
- - TableHeader (Organism): 排序按钮 + 列选择
154
- - TableRow (Molecule): 多列数据
155
- - TableFooter (Organism): 分页信息
156
- - 内部状态: columns, sortConfig, selectedRows
157
-
158
- ### States
159
- - loading: 骨架屏
160
- - empty: 空状态插画
161
- - error: 错误提示
162
- - populated: 正常数据
163
-
164
- ### Props
165
- - columns: Column[]
166
- - data: T[]
167
- - sortable: boolean
168
- - selectable: boolean
169
- - pagination: PaginationConfig
170
- - onSort: (key: string, dir: 'asc' | 'desc') => void
171
- - onSelect: (rows: T[]) => void
172
-
173
- ### 可复用部分
174
- - TableHeader 可单独作为 Organism
175
- - TableRow 可单独作为 Molecule
176
- ```
177
-
178
- ### 设计要求
179
-
180
- - Organism 应是独立功能块,不依赖父级数据
181
- - 内部状态需合理管理 (local state vs external state)
182
- - 必须处理空状态、加载状态、错误状态
183
-
184
- ---
185
-
186
- ## Template — 模板
187
-
188
- **定义**: 页面骨架布局,定义内容区域的结构和位置关系,不含具体业务数据。
189
-
190
- ### 类型
191
-
192
- | 类型 | 用途 |
193
- |------|------|
194
- | **ListTemplate** | 列表页模板 (Header + Filter + Table + Pagination) |
195
- | **DetailTemplate** | 详情页模板 (Header + Content + Sidebar) |
196
- | **FormTemplate** | 表单页模板 (Header + Form + Actions) |
197
- | **DashboardTemplate** | 仪表盘模板 (Header + StatsGrid + Charts) |
198
- | **AuthTemplate** | 认证页模板 (CenterCard + Logo + Form) |
199
-
200
- ### Template 规范
201
-
202
- ```markdown
203
- ## ListTemplate
204
-
205
- ### Layout Structure
206
- ┌─────────────────────────────────────┐
207
- │ Header: Title + Actions │
208
- ├─────────────────────────────────────┤
209
- │ FilterBar: Search + Filters + Sort │
210
- ├─────────────────────────────────────┤
211
- │ DataTable / ListView │
212
- │ (内容区域,可滚动) │
213
- ├─────────────────────────────────────┤
214
- │ Pagination │
215
- └─────────────────────────────────────┘
216
-
217
- ### 占位区域
218
- - Header: 高度 64px, 固定
219
- - FilterBar: 高度 56px
220
- - Pagination: 高度 48px
221
- - 内容区: flex-1, 可滚动
222
-
223
- ### Responsive
224
- - Desktop: 完整布局
225
- - Tablet: FilterBar 可折叠
226
- - Mobile: 单列列表
227
- ```
228
-
229
- ### 设计要求
230
-
231
- - Template 只定义布局结构,不含业务逻辑
232
- - 必须支持响应式断点
233
- - 主要内容区域需可滚动
234
-
235
- ---
236
-
237
- ## Page — 页面
238
-
239
- **定义**: Template 的具体实例,填充真实数据和业务逻辑。
240
-
241
- ### 类型
242
-
243
- | 类型 | 示例 |
244
- |------|------|
245
- | **业务页面** | UserListPage, ProductDetailPage, OrderPage |
246
- | **认证页面** | LoginPage, RegisterPage, ForgotPasswordPage |
247
- | **设置页面** | AccountSettingsPage, NotificationSettingsPage |
248
- | **错误页面** | NotFoundPage, ErrorPage |
249
-
250
- ### Page 规范
251
-
252
- ```markdown
253
- ## UserListPage
254
-
255
- ### Uses Template
256
- - ListTemplate
257
-
258
- ### Data Binding
259
- - Header: 动态标题 "用户管理"
260
- - FilterBar: 用户状态筛选 (全部/活跃/禁用)
261
- - DataTable: 用户列表数据
262
- - Pagination: 总页数 100
263
-
264
- ### State Management
265
- - URL state: ?page=1&status=active&search=xxx
266
- - Local state: 选中行、弹窗可见性
267
- - Server state: 用户列表 (React Query / SWR)
268
-
269
- ### Side Effects
270
- - 页面加载时获取数据
271
- - 筛选变化时重置页码并刷新
272
- - 删除用户后刷新列表
273
-
274
- ### Routes
275
- - /users (列表)
276
- - /users/:id (详情)
277
- - /users/new (新建)
278
- ```
279
-
280
- ### 设计要求
281
-
282
- - Page 是路由级别的组件
283
- - Page 负责数据获取和业务逻辑,布局委托给 Template
284
- - Page 需处理 SEO (metadata)、权限控制
285
-
286
- ---
287
-
288
- ## 目录结构约定
289
-
290
- ```
291
- src/
292
- ├── components/
293
- │ ├── atoms/ # Atom 组件
294
- │ │ ├── Button/
295
- │ │ ├── Input/
296
- │ │ └── ...
297
- │ ├── molecules/ # Molecule 组件
298
- │ │ ├── SearchBar/
299
- │ │ ├── FormField/
300
- │ │ └── ...
301
- │ ├── organisms/ # Organism 组件
302
- │ │ ├── Header/
303
- │ │ ├── DataTable/
304
- │ │ └── ...
305
- │ └── templates/ # Template 组件
306
- │ ├── ListTemplate/
307
- │ ├── DetailTemplate/
308
- │ └── ...
309
- ├── pages/ # Page 组件 (按路由组织)
310
- │ ├── UserListPage/
311
- │ └── ProductDetailPage/
312
- ```
313
-
314
- ---
315
-
316
- ## 设计决策规则
317
-
318
- | 场景 | 决策 |
319
- |------|------|
320
- | 新组件是 Atom 还是 Molecule? | 看是否需要多个 Atom 组合才能完成功能 |
321
- | 新组件是 Molecule 还是 Organism? | 看是否有多个功能区块 / 是否独立存在 |
322
- | 是 Organism 还是 Template? | Organism 是功能块,Template 是布局结构 |
323
- | 是 Template 还是 Page? | Template 无业务数据,Page 是具体实例 |
324
- | 何时新建组件? | 发现重复 UI 模式时抽取,而非预判 |
325
- | 组件复用边界? | 同一功能类型内复用,跨类型不强行复用 |
326
-
327
- ---
328
-
329
- ## 评审清单
330
-
331
- 新组件创建时检查:
332
-
333
- - [ ] 属于正确的原子层级
334
- - [ ] 有对应的 `ComponentName.stories.tsx` (Storybook)
335
- - [ ] 有对应的 `ComponentName.test.tsx` (Vitest)
336
- - [ ] 支持 Design Tokens (CSS 变量)
337
- - [ ] 支持深色模式
338
- - [ ] 有完整的 Props TypeScript 类型
339
- - [ ] 有必要的 ARIA 属性
340
- - [ ] 处理了 disabled / loading / error / empty 状态
341
- - [ ] 单元测试覆盖率 ≥ 80%