dsh-tower 2.3.0 → 2.4.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 (83) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/COMPATIBILITY.md +2 -0
  3. package/CONTRIBUTING.md +20 -3
  4. package/PRINCIPLES.md +18 -0
  5. package/README.en.md +29 -16
  6. package/README.md +22 -15
  7. package/cordis.patch.yml +56 -28
  8. package/docs/README.md +2 -1
  9. package/docs/adr/0004-surface-budget.md +20 -0
  10. package/docs/adr/0005-component-surface.md +130 -0
  11. package/docs/adr/README.md +1 -0
  12. package/docs/agents/workflow.md +1 -1
  13. package/docs/architecture/overview.md +69 -7
  14. package/docs/guide/hot-reload.md +4 -4
  15. package/docs/guide/install-upgrade-migration.md +13 -0
  16. package/docs/operations/security.md +1 -1
  17. package/docs/reference/component-surface.md +135 -0
  18. package/docs/reference/config.generated.md +2 -10
  19. package/docs/reference/config.md +11 -9
  20. package/docs/reference/doctor.md +14 -9
  21. package/docs/reference/surface-budget.md +52 -23
  22. package/docs/reference/tools.generated.md +4 -2
  23. package/docs/reference/tools.md +6 -3
  24. package/docs/zh/README.md +1 -1
  25. package/docs/zh/guide/hot-reload.md +3 -3
  26. package/docs/zh/guide/install-upgrade-migration.md +10 -0
  27. package/docs/zh/operations/security.md +1 -1
  28. package/docs/zh/reference/config.md +9 -9
  29. package/docs/zh/reference/tools.md +6 -4
  30. package/domain/components.js +641 -0
  31. package/domain/config/schema.js +37 -27
  32. package/domain/contracts/outputs.js +10 -0
  33. package/domain/errors.js +11 -1
  34. package/domain/mission.js +12 -1
  35. package/domain/surface.js +154 -55
  36. package/host/capability-batch.js +15 -0
  37. package/host/capability-hmr.js +30 -0
  38. package/host/capability-import.js +11 -0
  39. package/host/capability-leases.js +11 -0
  40. package/host/capability-registry.js +149 -0
  41. package/host/capability-tests.js +16 -0
  42. package/host/doctor.js +41 -9
  43. package/host/hmr.js +2 -4
  44. package/host/presets.js +51 -9
  45. package/host/tool-registry.js +150 -34
  46. package/index.js +32 -20
  47. package/locale/batch/en.json +6 -0
  48. package/locale/batch/zh.json +6 -0
  49. package/locale/en.json +31 -11
  50. package/locale/hmr/en.json +6 -0
  51. package/locale/hmr/zh.json +6 -0
  52. package/locale/import/en.json +6 -0
  53. package/locale/import/zh.json +6 -0
  54. package/locale/leases/en.json +6 -0
  55. package/locale/leases/zh.json +6 -0
  56. package/locale/skills/en.json +6 -0
  57. package/locale/skills/zh.json +6 -0
  58. package/locale/tests/en.json +6 -0
  59. package/locale/tests/zh.json +6 -0
  60. package/locale/zh.json +30 -10
  61. package/package.json +25 -4
  62. package/scripts/check-components.mjs +235 -0
  63. package/scripts/check-pack.mjs +4 -0
  64. package/scripts/component-surface.json +395 -0
  65. package/scripts/generate-capability-locale.mjs +148 -0
  66. package/scripts/generate-component-surface.mjs +59 -0
  67. package/scripts/generate-tools-reference.mjs +7 -25
  68. package/scripts/generate-types.mjs +127 -0
  69. package/scripts/lib/tool-surface.mjs +85 -0
  70. package/scripts/mount-smoke/fixtures.mjs +3 -3
  71. package/scripts/mount-smoke/surface.mjs +96 -27
  72. package/scripts/mount-smoke.mjs +3 -1
  73. package/scripts/pack-manifest.txt +30 -0
  74. package/scripts/surface-baseline.json +35 -4
  75. package/scripts/surface-baseline.mjs +32 -34
  76. package/scripts/types-coverage.mjs +184 -0
  77. package/scripts/types-strict-manifest.txt +10 -0
  78. package/scripts/types-strict.mjs +141 -0
  79. package/skills.js +8 -1
  80. package/tools/index.js +2 -1
  81. package/tools/reload.js +34 -35
  82. package/tools/status.js +8 -1
  83. package/types/index.d.ts +28 -12
package/types/index.d.ts CHANGED
@@ -6,16 +6,35 @@
6
6
  // `tsc --noEmit` (checkJs). Keep this file free of value imports so consumers
7
7
  // can load it without `allowJs`.
8
8
 
9
+ // ---------------------------------------------------------------------------
10
+ // Generated vocabulary (#115): one declaration per runtime constant family.
11
+ // `npm run types:generate` rewrites the marked block from ERROR_CODES,
12
+ // MISSION_STATUSES, REVIEW_STATUSES, MERGE_VERDICTS, MISSION_KINDS,
13
+ // REVIEW_POLICIES, FINDING_*, ROLES and PAUSE_CAUSES; the generated-types gate
14
+ // (`npm run docs:check:generated:types`) fails when the block drifts. Do not
15
+ // edit the block by hand.
16
+ // generated:vocabulary:start
9
17
  export type MissionStatus = 'planned' | 'active' | 'completed' | 'blocked' | 'paused' | 'merged' | 'abandoned'
10
18
  export type MissionKind = 'build' | 'survey'
11
- export type ReviewStatus = 'clean' | 'p1-1items' | 'p1-2items' | 'p1-3items' | 'p1-4items' | 'p1-5items' | 'p2-1items' | 'p2-2items' | 'p2-3items' | 'p2-4items' | 'p2-5items'
19
+ export type ReviewStatus =
20
+ | 'clean'
21
+ | 'p1-1items'
22
+ | 'p1-2items'
23
+ | 'p1-3items'
24
+ | 'p1-4items'
25
+ | 'p1-5items'
26
+ | 'p2-1items'
27
+ | 'p2-2items'
28
+ | 'p2-3items'
29
+ | 'p2-4items'
30
+ | 'p2-5items'
12
31
  export type MergeVerdict = 'merge' | 'fix-then-merge' | 'hold'
13
32
  export type ReviewPolicy = 'required-clean' | 'none'
14
33
  export type FindingType = 'bug' | 'improve' | 'vuln' | 'idea'
15
34
  export type FindingSeverity = 'low' | 'medium' | 'high' | 'critical'
16
35
  export type FindingStatus = 'open' | 'triaged' | 'fixed' | 'wontfix'
17
36
  export type Role = 'worker' | 'reviewer'
18
-
37
+ export type PauseCause = 'user' | 'failure' | 'resource' | 'dependency'
19
38
  export type ErrorCode =
20
39
  | 'invalid-argument'
21
40
  | 'repo-invalid'
@@ -23,26 +42,22 @@ export type ErrorCode =
23
42
  | 'mission-not-found'
24
43
  | 'finding-not-found'
25
44
  | 'invalid-transition'
45
+ | 'stale-base'
26
46
  | 'state-locked'
27
47
  | 'state-corrupt'
48
+ | 'state-version-unsupported'
49
+ | 'state-migration-failed'
28
50
  | 'config-invalid'
29
51
  | 'config-unknown-key'
52
+ | 'git-failed'
30
53
  | 'git-timeout'
31
- | 'merge-conflict'
32
- | 'merge-hook-failed'
33
- | 'merge-intent-pending'
34
- | 'base-dirty'
35
- | 'stale-base'
36
- | 'tip-moved'
37
- | 'out-of-scope'
38
- | 'worker-busy'
39
- | 'worker-stale'
54
+ | 'worktree-dirty'
40
55
  | 'spawn-unavailable'
41
56
  | 'provider-missing'
42
57
  | 'provider-cooldown'
43
58
  | 'preset-missing'
44
59
  | 'reviewer-prerequisite'
45
- | 'worktree-dirty'
60
+ | 'not-authorized'
46
61
  | 'workspace-busy'
47
62
  | 'worker-limit'
48
63
  | 'rate-limited'
@@ -56,6 +71,7 @@ export type ErrorCode =
56
71
  | 'batch-invalid'
57
72
  | 'legacy-invalid'
58
73
  | 'tool-internal'
74
+ // generated:vocabulary:end
59
75
 
60
76
  /** One machine-readable gate/completion blocker: a stable code plus a detail. */
61
77
  export interface Blocker {