dsh-tower 2.4.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +51 -0
- package/COMPATIBILITY.md +2 -0
- package/CONTRIBUTING.md +11 -5
- package/GLOSSARY.md +67 -0
- package/README.md +6 -0
- package/app/archive.js +16 -1
- package/app/board.js +16 -1
- package/app/gate.js +14 -0
- package/app/spawn-prechecks.js +18 -3
- package/cordis.patch.yml +27 -8
- package/docs/adr/0004-surface-budget.md +10 -4
- package/docs/adr/0005-component-surface.md +166 -0
- package/docs/architecture/overview.md +47 -20
- package/docs/guide/install-upgrade-migration.md +21 -0
- package/docs/guide/quickstart.md +71 -0
- package/docs/guide/release.md +60 -19
- package/docs/reference/component-surface.md +29 -17
- package/docs/reference/config.generated.md +4 -7
- package/docs/reference/config.md +7 -5
- package/docs/reference/doctor.md +11 -5
- package/docs/reference/surface-budget.md +29 -11
- package/docs/reference/tools.generated.md +1 -1
- package/docs/reference/tools.md +2 -2
- package/docs/zh/guide/install-upgrade-migration.md +1 -1
- package/docs/zh/reference/config.md +7 -5
- package/docs/zh/reference/doctor.md +7 -2
- package/docs/zh/reference/tools.md +3 -2
- package/domain/component-rules.js +216 -0
- package/domain/components.js +169 -49
- package/domain/config/schema.js +46 -23
- package/domain/gate.js +17 -2
- package/domain/scope.js +176 -5
- package/domain/surface.js +21 -7
- package/host/capability-archive.js +18 -0
- package/host/capability-board.js +18 -0
- package/host/capability-registry.js +4 -0
- package/host/doctor.js +50 -5
- package/host/preset-reviewer.js +27 -0
- package/host/preset-worker.js +32 -0
- package/host/presets.js +17 -0
- package/host/tool-registry.js +21 -4
- package/index.js +17 -6
- package/locale/archive/en.json +6 -0
- package/locale/archive/zh.json +6 -0
- package/locale/batch/en.json +1 -1
- package/locale/batch/zh.json +1 -1
- package/locale/board/en.json +6 -0
- package/locale/board/zh.json +6 -0
- package/locale/en.json +41 -21
- package/locale/hmr/en.json +2 -2
- package/locale/hmr/zh.json +1 -1
- package/locale/import/en.json +1 -1
- package/locale/import/zh.json +1 -1
- package/locale/leases/en.json +2 -2
- package/locale/leases/zh.json +2 -2
- package/locale/preset-reviewer/en.json +6 -0
- package/locale/preset-reviewer/zh.json +6 -0
- package/locale/preset-worker/en.json +6 -0
- package/locale/preset-worker/zh.json +6 -0
- package/locale/skills/en.json +1 -1
- package/locale/skills/zh.json +1 -1
- package/locale/tests/en.json +2 -2
- package/locale/tests/zh.json +2 -2
- package/locale/zh.json +40 -20
- package/package.json +15 -2
- package/scripts/check-components.mjs +642 -42
- package/scripts/check-pack.mjs +7 -3
- package/scripts/component-surface.json +87 -29
- package/scripts/generate-capability-locale.mjs +100 -21
- package/scripts/mount-smoke/probe.mjs +33 -3
- package/scripts/mount-smoke/surface.mjs +144 -1
- package/scripts/mount-smoke.mjs +24 -4
- package/scripts/pack-manifest.txt +15 -0
- package/scripts/release-notes.mjs +256 -0
- package/scripts/surface-baseline.json +32 -3
- package/scripts/surface-baseline.mjs +15 -5
- package/skills.js +4 -1
- package/tools/complete.js +3 -1
- package/tools/spawn.js +5 -5
- package/tools/test.js +7 -7
- package/ui-bundle/locale/en.json +1 -1
- package/ui-bundle/locale/zh.json +1 -1
package/locale/en.json
CHANGED
|
@@ -1,48 +1,68 @@
|
|
|
1
1
|
{
|
|
2
2
|
"meta": {
|
|
3
3
|
"title": "Tower",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "Plan and track missions, isolate each one in its own worktree, hand the work to worker and reviewer agents, and merge after review when review before merging is required. Off equals uninstalling Tower: no tools, presets or skills remain."
|
|
5
5
|
},
|
|
6
6
|
"components": {
|
|
7
7
|
"tower": {
|
|
8
8
|
"title": "Tower host",
|
|
9
|
-
"summary": "
|
|
10
|
-
"disables": "
|
|
9
|
+
"summary": "The always-on core: mission planning and state, worktree isolation, Tower mode, the environment health check, and how to recover a stuck lock.",
|
|
10
|
+
"disables": "Off equals uninstalling Tower: no tools, presets or skills remain."
|
|
11
11
|
},
|
|
12
12
|
"tower-skills": {
|
|
13
13
|
"title": "Tower skills",
|
|
14
|
-
"summary": "
|
|
15
|
-
"disables": "The three Tower skills leave the catalog; the worker
|
|
14
|
+
"summary": "Step-by-step playbooks for worker and reviewer agents, and a guide for getting unstuck when a merge is blocked.",
|
|
15
|
+
"disables": "The three Tower skills leave the catalog; the worker and reviewer protocol sections and every mission tool keep working."
|
|
16
16
|
},
|
|
17
17
|
"tower-batch": {
|
|
18
18
|
"title": "Evidence batches",
|
|
19
|
-
"summary": "
|
|
20
|
-
"disables": "
|
|
19
|
+
"summary": "Collect a finite set of missions into a batch and close it only when every required check and evidence receipt is present.",
|
|
20
|
+
"disables": "Batch tools and their checks are unavailable; missions, merges and every other capability keep working."
|
|
21
21
|
},
|
|
22
22
|
"tower-import": {
|
|
23
23
|
"title": "Legacy import",
|
|
24
|
-
"summary": "
|
|
25
|
-
"disables": "
|
|
24
|
+
"summary": "Read a legacy Tower Codex state file (the earlier Tower state format) and show how each old snapshot maps to a mission.",
|
|
25
|
+
"disables": "The import tools are unavailable; current state and every other capability keep working."
|
|
26
26
|
},
|
|
27
27
|
"tower-leases": {
|
|
28
|
-
"title": "
|
|
29
|
-
"summary": "
|
|
30
|
-
"disables": "
|
|
28
|
+
"title": "Lease coordination",
|
|
29
|
+
"summary": "Coordination only: lets one agent claim a named piece of shared work (a lease) so two agents do not start the same job. A lease is a note other agents can read; it never blocks work by itself.",
|
|
30
|
+
"disables": "Lease tools are unavailable. A worker configured to require a lease cannot start: planning and entering Tower mode are refused with an explanation until that setting is cleared or this row is re-enabled. Everything else keeps working."
|
|
31
31
|
},
|
|
32
32
|
"tower-tests": {
|
|
33
|
-
"title": "Test
|
|
34
|
-
"summary": "Run the
|
|
35
|
-
"disables": "
|
|
33
|
+
"title": "Test evidence",
|
|
34
|
+
"summary": "Run the project's declared test command in a mission's worktree and record the result as evidence for merging.",
|
|
35
|
+
"disables": "No test command can be run and no evidence can be recorded. If tests are already required before merging, planning and entering Tower mode are refused with an explanation, and merges stay blocked for the missing test evidence until that requirement is cleared; nothing else changes."
|
|
36
|
+
},
|
|
37
|
+
"tower-board": {
|
|
38
|
+
"title": "Mission board",
|
|
39
|
+
"summary": "Write a plain-text board file (MISSIONS.md) beside the state so a person can read the mission list without calling a tool.",
|
|
40
|
+
"disables": "The board file is not written or refreshed, so an existing board goes stale; missions, merges and every other capability keep working."
|
|
41
|
+
},
|
|
42
|
+
"tower-archive": {
|
|
43
|
+
"title": "Mission archive",
|
|
44
|
+
"summary": "Move finished missions and their linked records into the on-disk archive, so the live state file stops carrying their full history.",
|
|
45
|
+
"disables": "Finished missions stay in the live state file, so it keeps growing; merges and every other capability keep working, and nothing is deleted."
|
|
36
46
|
},
|
|
37
47
|
"tower-hmr": {
|
|
38
|
-
"title": "
|
|
39
|
-
"summary": "
|
|
40
|
-
"disables": "
|
|
48
|
+
"title": "Development hot reload",
|
|
49
|
+
"summary": "Development-only: reloads Tower in a linked development setup after a code change, so you do not have to restart DSH.",
|
|
50
|
+
"disables": "Nothing reloads automatically; restart the development setup by hand instead. A normal installation is unaffected, because this is developer tooling that ships off on purpose."
|
|
51
|
+
},
|
|
52
|
+
"preset-tower-worker": {
|
|
53
|
+
"title": "Tower Worker preset",
|
|
54
|
+
"summary": "The mandatory Tower Worker preset: the mission protocol plus the filesystem, shell and Tower tools a worker uses inside its own worktree.",
|
|
55
|
+
"disables": "Tower cannot plan missions, enter Tower mode, or start a worker without it."
|
|
41
56
|
},
|
|
42
57
|
"preset-tower-reviewer": {
|
|
43
|
-
"title": "Tower
|
|
44
|
-
"summary": "
|
|
45
|
-
"disables": "The reviewer cannot be
|
|
58
|
+
"title": "Tower Reviewer preset",
|
|
59
|
+
"summary": "The independent Tower Reviewer preset: a read-only reviewer agent that reads the mission diff, checks scope and acceptance, and returns a verdict. Usable while review before merging is optional; a precondition for merging once review before merging is required.",
|
|
60
|
+
"disables": "The reviewer cannot be started. That is supported while review before merging is optional; once review before merging is required, planning and entering Tower mode are refused with an explanation."
|
|
61
|
+
},
|
|
62
|
+
"tower-ui": {
|
|
63
|
+
"title": "Tower UI",
|
|
64
|
+
"summary": "Adds Tower cards for tool results, a compact status summary above the message box, and a short status strip, in the web client.",
|
|
65
|
+
"disables": "The web interface piece is not loaded: no Tower cards, status summary or status strip. The Tower host, missions, state and the board keep working."
|
|
46
66
|
}
|
|
47
67
|
}
|
|
48
68
|
}
|
package/locale/hmr/en.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"meta": {
|
|
3
|
-
"title": "
|
|
4
|
-
"description": "
|
|
3
|
+
"title": "Development hot reload",
|
|
4
|
+
"description": "Development-only: reloads Tower in a linked development setup after a code change, so you do not have to restart DSH. When off: Nothing reloads automatically; restart the development setup by hand instead. A normal installation is unaffected, because this is developer tooling that ships off on purpose."
|
|
5
5
|
}
|
|
6
6
|
}
|
package/locale/hmr/zh.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"meta": {
|
|
3
3
|
"title": "开发热重载",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "仅限开发人员:改动代码后,在联动开发配置中重新加载 Tower,无需重启 DSH。关闭后:不会自动重新加载,需要在开发配置中手动重启。普通安装不受影响:它是开发人员专用工具,默认关闭是有意为之。"
|
|
5
5
|
}
|
|
6
6
|
}
|
package/locale/import/en.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"meta": {
|
|
3
3
|
"title": "Legacy import",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "Read a legacy Tower Codex state file (the earlier Tower state format) and show how each old snapshot maps to a mission. When off: The import tools are unavailable; current state and every other capability keep working."
|
|
5
5
|
}
|
|
6
6
|
}
|
package/locale/import/zh.json
CHANGED
package/locale/leases/en.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"meta": {
|
|
3
|
-
"title": "
|
|
4
|
-
"description": "
|
|
3
|
+
"title": "Lease coordination",
|
|
4
|
+
"description": "Coordination only: lets one agent claim a named piece of shared work (a lease) so two agents do not start the same job. A lease is a note other agents can read; it never blocks work by itself. When off: Lease tools are unavailable. A worker configured to require a lease cannot start: planning and entering Tower mode are refused with an explanation until that setting is cleared or this row is re-enabled. Everything else keeps working."
|
|
5
5
|
}
|
|
6
6
|
}
|
package/locale/leases/zh.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"meta": {
|
|
3
|
-
"title": "
|
|
4
|
-
"description": "
|
|
3
|
+
"title": "租约协调",
|
|
4
|
+
"description": "只做协调:让一个代理认领某一具体工作(称为租约),避免两个代理同时开工。租约只是给其他代理看的说明,本身不会阻塞任何工作。关闭后:租约工具不可用。若某个执行代理被配置为必须先持有租约,它将无法启动:规划或进入 Tower 模式会被拒绝并给出解释,直到清除该设置或重新启用这一项。其他工作照常进行。"
|
|
5
5
|
}
|
|
6
6
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"title": "Tower Reviewer preset",
|
|
4
|
+
"description": "The independent Tower Reviewer preset: a read-only reviewer agent that reads the mission diff, checks scope and acceptance, and returns a verdict. Usable while review before merging is optional; a precondition for merging once review before merging is required. When off: The reviewer cannot be started. That is supported while review before merging is optional; once review before merging is required, planning and entering Tower mode are refused with an explanation."
|
|
5
|
+
}
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"title": "Tower Worker preset",
|
|
4
|
+
"description": "The mandatory Tower Worker preset: the mission protocol plus the filesystem, shell and Tower tools a worker uses inside its own worktree. Mandatory dependency, not a switch: Tower cannot plan missions, enter Tower mode, or start a worker without it."
|
|
5
|
+
}
|
|
6
|
+
}
|
package/locale/skills/en.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"meta": {
|
|
3
3
|
"title": "Tower skills",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "Step-by-step playbooks for worker and reviewer agents, and a guide for getting unstuck when a merge is blocked. When off: The three Tower skills leave the catalog; the worker and reviewer protocol sections and every mission tool keep working."
|
|
5
5
|
}
|
|
6
6
|
}
|
package/locale/skills/zh.json
CHANGED
package/locale/tests/en.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"meta": {
|
|
3
|
-
"title": "Test
|
|
4
|
-
"description": "Run the
|
|
3
|
+
"title": "Test evidence",
|
|
4
|
+
"description": "Run the project's declared test command in a mission's worktree and record the result as evidence for merging. When off: No test command can be run and no evidence can be recorded. If tests are already required before merging, planning and entering Tower mode are refused with an explanation, and merges stay blocked for the missing test evidence until that requirement is cleared; nothing else changes."
|
|
5
5
|
}
|
|
6
6
|
}
|
package/locale/tests/zh.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"meta": {
|
|
3
|
-
"title": "
|
|
4
|
-
"description": "
|
|
3
|
+
"title": "测试证据",
|
|
4
|
+
"description": "在任务线的工作树中运行项目声明的测试命令,并把结果记录为合并证据。关闭后:无法运行测试命令,也无法记录证据。若已把测试设为合并前必须通过,规划或进入 Tower 模式会被拒绝并给出解释,缺少测试证据的合并也会持续受阻,直到清除该要求;其他一切照常。"
|
|
5
5
|
}
|
|
6
6
|
}
|
package/locale/zh.json
CHANGED
|
@@ -1,48 +1,68 @@
|
|
|
1
1
|
{
|
|
2
2
|
"meta": {
|
|
3
3
|
"title": "Tower",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "规划并跟踪任务线,让每条任务线在独立工作树中完成,交给执行代理与审查代理,并且在把合并前审查设为必须时,审查通过后再合并。关闭这一项等同于卸载 Tower:不再保留任何工具、预设或技能。"
|
|
5
5
|
},
|
|
6
6
|
"components": {
|
|
7
7
|
"tower": {
|
|
8
8
|
"title": "Tower 控制塔",
|
|
9
|
-
"summary": "
|
|
10
|
-
"disables": "
|
|
9
|
+
"summary": "常驻核心:任务线规划与状态、工作树隔离、Tower 模式、环境健康检查,以及卡住的锁如何恢复。",
|
|
10
|
+
"disables": "关闭这一项等同于卸载 Tower:不再保留任何工具、预设或技能。"
|
|
11
11
|
},
|
|
12
12
|
"tower-skills": {
|
|
13
13
|
"title": "Tower 技能包",
|
|
14
|
-
"summary": "
|
|
15
|
-
"disables": "三个 Tower
|
|
14
|
+
"summary": "执行代理与审查代理的分步操作手册,以及合并受阻时如何脱困的指南。",
|
|
15
|
+
"disables": "三个 Tower 技能从目录中移除;执行代理与审查代理的协议段落与所有任务线工具继续工作。"
|
|
16
16
|
},
|
|
17
17
|
"tower-batch": {
|
|
18
18
|
"title": "证据批次",
|
|
19
|
-
"summary": "
|
|
20
|
-
"disables": "
|
|
19
|
+
"summary": "把一组任务线收进一个批次,只有当所有必需检查与证据回执齐全时才允许关闭该批次(或结案)。",
|
|
20
|
+
"disables": "批次工具及其检查不可用;任务线、合并与其他能力继续工作。"
|
|
21
21
|
},
|
|
22
22
|
"tower-import": {
|
|
23
23
|
"title": "旧版导入",
|
|
24
|
-
"summary": "
|
|
25
|
-
"disables": "
|
|
24
|
+
"summary": "读取旧版 Tower Codex 状态文件(Tower 早期的状态格式),并显示每个旧快照对应哪一条任务线。",
|
|
25
|
+
"disables": "导入工具不可用;当前状态与其他能力继续工作。"
|
|
26
26
|
},
|
|
27
27
|
"tower-leases": {
|
|
28
|
-
"title": "
|
|
29
|
-
"summary": "
|
|
30
|
-
"disables": "
|
|
28
|
+
"title": "租约协调",
|
|
29
|
+
"summary": "只做协调:让一个代理认领某一具体工作(称为租约),避免两个代理同时开工。租约只是给其他代理看的说明,本身不会阻塞任何工作。",
|
|
30
|
+
"disables": "租约工具不可用。若某个执行代理被配置为必须先持有租约,它将无法启动:规划或进入 Tower 模式会被拒绝并给出解释,直到清除该设置或重新启用这一项。其他工作照常进行。"
|
|
31
31
|
},
|
|
32
32
|
"tower-tests": {
|
|
33
|
-
"title": "
|
|
34
|
-
"summary": "
|
|
35
|
-
"disables": "
|
|
33
|
+
"title": "测试证据",
|
|
34
|
+
"summary": "在任务线的工作树中运行项目声明的测试命令,并把结果记录为合并证据。",
|
|
35
|
+
"disables": "无法运行测试命令,也无法记录证据。若已把测试设为合并前必须通过,规划或进入 Tower 模式会被拒绝并给出解释,缺少测试证据的合并也会持续受阻,直到清除该要求;其他一切照常。"
|
|
36
|
+
},
|
|
37
|
+
"tower-board": {
|
|
38
|
+
"title": "任务线看板",
|
|
39
|
+
"summary": "在状态文件旁写入纯文本看板文件(MISSIONS.md),让人无需调用工具就能阅读任务线列表。",
|
|
40
|
+
"disables": "不再写入或刷新看板文件,已有看板会过期;任务线、合并与其他能力继续工作。"
|
|
41
|
+
},
|
|
42
|
+
"tower-archive": {
|
|
43
|
+
"title": "任务线归档",
|
|
44
|
+
"summary": "把已结束的任务线及其关联记录移入磁盘归档,让当前状态文件不再承载它们的完整历史。",
|
|
45
|
+
"disables": "已结束的任务线继续留在当前状态文件中,文件会持续增大;合并与其他能力继续工作,且不会删除任何内容。"
|
|
36
46
|
},
|
|
37
47
|
"tower-hmr": {
|
|
38
48
|
"title": "开发热重载",
|
|
39
|
-
"summary": "
|
|
40
|
-
"disables": "
|
|
49
|
+
"summary": "仅限开发人员:改动代码后,在联动开发配置中重新加载 Tower,无需重启 DSH。",
|
|
50
|
+
"disables": "不会自动重新加载,需要在开发配置中手动重启。普通安装不受影响:它是开发人员专用工具,默认关闭是有意为之。"
|
|
51
|
+
},
|
|
52
|
+
"preset-tower-worker": {
|
|
53
|
+
"title": "Tower Worker 预设",
|
|
54
|
+
"summary": "必需的 Tower Worker 执行代理预设:任务线协议,以及执行代理在其独立工作树中使用的文件系统、终端与 Tower 工具。",
|
|
55
|
+
"disables": "缺少它,Tower 无法规划任务线、进入 Tower 模式或启动执行代理。"
|
|
41
56
|
},
|
|
42
57
|
"preset-tower-reviewer": {
|
|
43
|
-
"title": "Tower
|
|
44
|
-
"summary": "
|
|
45
|
-
"disables": "
|
|
58
|
+
"title": "Tower Reviewer 预设",
|
|
59
|
+
"summary": "独立的 Tower Reviewer 审查代理预设:一个只读代理,阅读任务线差异、核对范围与验收,并给出结论。在合并前审查仍为可选时可以使用;一旦把合并前审查设为必须,它就是合并的前置条件。",
|
|
60
|
+
"disables": "无法启动审查代理。在合并前审查仍为可选时,允许关闭这一项;一旦要求合并前必须审查,规划或进入 Tower 模式会被拒绝并给出解释。"
|
|
61
|
+
},
|
|
62
|
+
"tower-ui": {
|
|
63
|
+
"title": "Tower 界面",
|
|
64
|
+
"summary": "在 Web 客户端中显示 Tower 工具结果卡片、输入框上方的简要状态摘要,以及简短的状态提示条。",
|
|
65
|
+
"disables": "界面插件不再加载,不再有 Tower 卡片、状态摘要或提示条。Tower 核心、任务线、状态与看板继续工作。"
|
|
46
66
|
}
|
|
47
67
|
}
|
|
48
68
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-tower",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "DSH-native Tower: mission planning, worktree isolation, review-gated merges, and a human-owned Tower mode.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,13 +35,21 @@
|
|
|
35
35
|
"./import": "./host/capability-import.js",
|
|
36
36
|
"./leases": "./host/capability-leases.js",
|
|
37
37
|
"./tests": "./host/capability-tests.js",
|
|
38
|
+
"./board": "./host/capability-board.js",
|
|
39
|
+
"./archive": "./host/capability-archive.js",
|
|
38
40
|
"./hmr": "./host/capability-hmr.js",
|
|
41
|
+
"./preset-worker": "./host/preset-worker.js",
|
|
42
|
+
"./preset-reviewer": "./host/preset-reviewer.js",
|
|
39
43
|
"./skills/locale/*.json": "./locale/skills/*.json",
|
|
40
44
|
"./batch/locale/*.json": "./locale/batch/*.json",
|
|
41
45
|
"./import/locale/*.json": "./locale/import/*.json",
|
|
42
46
|
"./leases/locale/*.json": "./locale/leases/*.json",
|
|
43
47
|
"./tests/locale/*.json": "./locale/tests/*.json",
|
|
48
|
+
"./board/locale/*.json": "./locale/board/*.json",
|
|
49
|
+
"./archive/locale/*.json": "./locale/archive/*.json",
|
|
44
50
|
"./hmr/locale/*.json": "./locale/hmr/*.json",
|
|
51
|
+
"./preset-worker/locale/*.json": "./locale/preset-worker/*.json",
|
|
52
|
+
"./preset-reviewer/locale/*.json": "./locale/preset-reviewer/*.json",
|
|
45
53
|
"./locale/*.json": "./locale/*.json",
|
|
46
54
|
"./icon": "./icon.svg",
|
|
47
55
|
"./package.json": "./package.json"
|
|
@@ -70,6 +78,7 @@
|
|
|
70
78
|
"CONTRIBUTING.md",
|
|
71
79
|
"SECURITY.md",
|
|
72
80
|
"PRINCIPLES.md",
|
|
81
|
+
"GLOSSARY.md",
|
|
73
82
|
"docs/",
|
|
74
83
|
"ui-bundle/",
|
|
75
84
|
"ports/*.js"
|
|
@@ -81,12 +90,15 @@
|
|
|
81
90
|
},
|
|
82
91
|
"scripts": {
|
|
83
92
|
"test": "node --test tests/*.test.mjs",
|
|
93
|
+
"test:property": "node --test tests/property/*.prop.mjs",
|
|
94
|
+
"test:property:long": "node --env-file=tests/property/tiers/long.env --test tests/property/*.prop.mjs",
|
|
84
95
|
"test:watch": "node --test --watch tests/*.test.mjs",
|
|
85
96
|
"test:coverage": "node --test --experimental-test-coverage tests/*.test.mjs",
|
|
86
97
|
"test:live": "node tests/live/run.cjs",
|
|
87
98
|
"smoke:mount": "node scripts/mount-smoke.mjs",
|
|
88
99
|
"smoke:fixtures": "node scripts/mount-smoke/fixtures.mjs",
|
|
89
100
|
"release:check": "node scripts/release-check.mjs",
|
|
101
|
+
"release:notes": "node scripts/release-notes.mjs",
|
|
90
102
|
"audit:issues": "node scripts/issue-audit.mjs",
|
|
91
103
|
"audit:regressions": "node scripts/regression-audit.mjs",
|
|
92
104
|
"surface:check": "node scripts/surface-baseline.mjs",
|
|
@@ -114,7 +126,7 @@
|
|
|
114
126
|
"types:coverage": "node scripts/types-coverage.mjs",
|
|
115
127
|
"types:strict:check": "node scripts/types-strict.mjs",
|
|
116
128
|
"types:strict:write": "node scripts/types-strict.mjs --write",
|
|
117
|
-
"check": "npm test && npm run docs:check && npm run docs:check:philosophy && npm run docs:check:generated && npm run docs:check:generated:tools && npm run docs:check:generated:config && npm run docs:check:generated:events && npm run docs:check:generated:types && npm run docs:check:generated:components && npm run docs:check:generated:locale && npm run docs:check:components && npm run surface:check && npm run pack:check && npm run architecture:check && npm run types:coverage && npm run types:strict:check && npm run types:check && npm run domain:check",
|
|
129
|
+
"check": "npm test && npm run test:property && npm run docs:check && npm run docs:check:philosophy && npm run docs:check:generated && npm run docs:check:generated:tools && npm run docs:check:generated:config && npm run docs:check:generated:events && npm run docs:check:generated:types && npm run docs:check:generated:components && npm run docs:check:generated:locale && npm run docs:check:components && npm run surface:check && npm run pack:check && npm run architecture:check && npm run types:coverage && npm run types:strict:check && npm run types:check && npm run domain:check",
|
|
118
130
|
"domain:metrics": "node scripts/domain-metrics.mjs",
|
|
119
131
|
"domain:check": "node scripts/domain-metrics.mjs --check"
|
|
120
132
|
},
|
|
@@ -124,6 +136,7 @@
|
|
|
124
136
|
},
|
|
125
137
|
"devDependencies": {
|
|
126
138
|
"@types/node": "^22.20.5",
|
|
139
|
+
"fast-check": "^4.10.2",
|
|
127
140
|
"typescript": "~5.9.3"
|
|
128
141
|
}
|
|
129
142
|
}
|