@deepseek-harness-tui/dsh-tui 0.8.4 → 0.8.5
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/bin/dsh-tui.js +0 -0
- package/dsh-ecosystem-spec/protocols/profile-definitions.d.ts +13 -13
- package/dsh-ecosystem-spec/protocols/profile-definitions.js +59 -59
- package/dsh-ecosystem-spec/protocols/tui-channel-http.d.ts +15 -15
- package/dsh-ecosystem-spec/protocols/tui-channel-http.js +32 -32
- package/dsh-ecosystem-spec/protocols/tui-channel.d.ts +59 -59
- package/dsh-ecosystem-spec/protocols/tui-channel.js +166 -166
- package/dsh-ecosystem-spec/protocols/tui-contributions.d.ts +42 -42
- package/dsh-ecosystem-spec/protocols/tui-contributions.js +143 -143
- package/dsh-ecosystem-spec/registry/README.md +14 -14
- package/dsh-ecosystem-spec/registry/host-descriptor.tui.example.json +56 -56
- package/dsh-ecosystem-spec/registry/permissions-0.1.json +13 -13
- package/dsh-ecosystem-spec/registry/registry-0.15.json +149 -149
- package/lib/types/activityPrefs.d.ts +10 -0
- package/lib/types/activityPrefs.d.ts.map +1 -1
- package/lib/types/activityPrefs.js +17 -0
- package/lib/types/components/MessageList.d.ts +4 -1
- package/lib/types/components/MessageList.d.ts.map +1 -1
- package/lib/types/components/MessageList.js +4 -4
- package/lib/types/components/SplitDiffView.d.ts +3 -1
- package/lib/types/components/SplitDiffView.d.ts.map +1 -1
- package/lib/types/components/SplitDiffView.js +12 -5
- package/lib/types/components/StreamingMarkdown.d.ts.map +1 -1
- package/lib/types/components/StreamingMarkdown.js +10 -2
- package/lib/types/components/activityFrames.d.ts +7 -28
- package/lib/types/components/activityFrames.d.ts.map +1 -1
- package/lib/types/components/activityFrames.js +7 -94
- package/lib/types/components/messages/AssistantThinkingMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantThinkingMessage.js +1 -1
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts +4 -1
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantToolUseMessage.js +14 -3
- package/lib/types/dsh-adapter/channel.d.ts +17 -0
- package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel.js +161 -19
- package/lib/types/dsh-adapter/index.d.ts +5 -0
- package/lib/types/dsh-adapter/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/index.js +19 -0
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +176 -4
- package/lib/types/dsh-adapter/settings-sections.d.ts +13 -0
- package/lib/types/dsh-adapter/settings-sections.d.ts.map +1 -1
- package/lib/types/dsh-adapter/settings-sections.js +31 -6
- package/lib/types/ink/ink.d.ts +9 -0
- package/lib/types/ink/ink.d.ts.map +1 -1
- package/lib/types/ink/ink.js +24 -1
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +34 -4
- package/lib/types/screens/Settings.d.ts.map +1 -1
- package/lib/types/screens/Settings.js +109 -50
- package/lib/types/screens/StatusLine.d.ts +8 -0
- package/lib/types/screens/StatusLine.d.ts.map +1 -1
- package/lib/types/screens/StatusLine.js +62 -39
- package/lib/types/settings-sections.d.ts +1 -1
- package/lib/types/settings-sections.d.ts.map +1 -1
- package/lib/types/tips.js +2 -2
- package/lib/types/tuiDisplayPrefs.d.ts +47 -0
- package/lib/types/tuiDisplayPrefs.d.ts.map +1 -0
- package/lib/types/tuiDisplayPrefs.js +60 -0
- package/node_modules/@dsh-std/command/CHANGELOG.md +8 -8
- package/node_modules/@dsh-std/command/LICENSE +21 -21
- package/node_modules/@dsh-std/command/README.md +26 -26
- package/node_modules/@dsh-std/command/README.zh.md +28 -28
- package/node_modules/@dsh-std/command/lib/index.js.map +1 -1
- package/node_modules/@dsh-std/command/package.json +22 -22
- package/node_modules/@dsh-std/connection/CHANGELOG.md +8 -8
- package/node_modules/@dsh-std/connection/LICENSE +21 -21
- package/node_modules/@dsh-std/connection/README.md +42 -42
- package/node_modules/@dsh-std/connection/README.zh.md +42 -42
- package/node_modules/@dsh-std/connection/lib/index.js.map +1 -1
- package/node_modules/@dsh-std/connection/lib/memory.js.map +1 -1
- package/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -1
- package/node_modules/@dsh-std/connection/package.json +20 -20
- package/node_modules/@dsh-std/core/CHANGELOG.md +8 -8
- package/node_modules/@dsh-std/core/LICENSE +21 -21
- package/node_modules/@dsh-std/core/README.md +13 -13
- package/node_modules/@dsh-std/core/README.zh.md +13 -13
- package/node_modules/@dsh-std/core/lib/index.js.map +1 -1
- package/node_modules/@dsh-std/core/package.json +21 -21
- package/node_modules/@dsh-std/manifest/CHANGELOG.md +9 -9
- package/node_modules/@dsh-std/manifest/LICENSE +21 -21
- package/node_modules/@dsh-std/manifest/README.md +5 -5
- package/node_modules/@dsh-std/manifest/README.zh.md +5 -5
- package/node_modules/@dsh-std/manifest/lib/index.js.map +1 -1
- package/node_modules/@dsh-std/manifest/package.json +20 -20
- package/node_modules/@dsh-std/manifest/schema/dsh-plugin-0.15.schema.json +144 -144
- package/node_modules/@dsh-std/messages/CHANGELOG.md +8 -8
- package/node_modules/@dsh-std/messages/LICENSE +21 -21
- package/node_modules/@dsh-std/messages/README.md +5 -5
- package/node_modules/@dsh-std/messages/README.zh.md +7 -7
- package/node_modules/@dsh-std/messages/lib/index.js.map +1 -1
- package/node_modules/@dsh-std/messages/package.json +20 -20
- package/node_modules/@dsh-std/messages/schema/message-observer-envelope-0.15.schema.json +54 -54
- package/node_modules/@dsh-std/presentation/CHANGELOG.md +9 -9
- package/node_modules/@dsh-std/presentation/LICENSE +21 -21
- package/node_modules/@dsh-std/presentation/README.md +27 -27
- package/node_modules/@dsh-std/presentation/README.zh.md +29 -29
- package/node_modules/@dsh-std/presentation/lib/callback.js.map +1 -1
- package/node_modules/@dsh-std/presentation/lib/index.js.map +1 -1
- package/node_modules/@dsh-std/presentation/package.json +25 -25
- package/node_modules/@dsh-std/storage/CHANGELOG.md +8 -8
- package/node_modules/@dsh-std/storage/LICENSE +21 -21
- package/node_modules/@dsh-std/storage/README.md +5 -5
- package/node_modules/@dsh-std/storage/README.zh.md +7 -7
- package/node_modules/@dsh-std/storage/lib/index.js.map +1 -1
- package/node_modules/@dsh-std/storage/package.json +20 -20
- package/node_modules/@dsh-std/storage/schema/local-storage-0.15.schema.json +56 -56
- package/package.json +6 -3
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/LICENSE +21 -21
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/README.md +42 -42
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/README.zh.md +42 -42
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/memory.js.map +1 -1
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -1
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/package.json +20 -20
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/LICENSE +21 -21
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/README.md +13 -13
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/README.zh.md +13 -13
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/package.json +21 -21
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/CHANGELOG.md +9 -9
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/LICENSE +21 -21
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/README.md +5 -5
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/README.zh.md +5 -5
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/package.json +20 -20
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/schema/dsh-plugin-0.15.schema.json +144 -144
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/CHANGELOG.md +9 -9
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/LICENSE +21 -21
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/README.md +27 -27
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/README.zh.md +29 -29
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/callback.js.map +1 -1
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/package.json +25 -25
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/LICENSE +21 -21
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/README.md +13 -13
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/README.zh.md +13 -13
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/package.json +21 -21
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/LICENSE +21 -21
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/README.md +13 -13
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/README.zh.md +13 -13
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/package.json +21 -21
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/LICENSE +21 -21
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/README.md +13 -13
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/README.zh.md +13 -13
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/package.json +21 -21
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/LICENSE +21 -21
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/README.md +42 -42
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/README.zh.md +42 -42
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/memory.js.map +1 -1
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -1
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/package.json +20 -20
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/LICENSE +21 -21
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/README.md +13 -13
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/README.zh.md +13 -13
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/package.json +21 -21
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/LICENSE +21 -21
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/README.md +13 -13
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/README.zh.md +13 -13
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/package.json +21 -21
|
@@ -1,149 +1,149 @@
|
|
|
1
|
-
{
|
|
2
|
-
"profileVersion": "tui-admission/0.15",
|
|
3
|
-
"std": {
|
|
4
|
-
"repository": "https://github.com/Yan-Zero/dsh-std",
|
|
5
|
-
"submodule": "vendor/dsh-std",
|
|
6
|
-
"manifestVersion": "0.15"
|
|
7
|
-
},
|
|
8
|
-
"imports": [
|
|
9
|
-
{
|
|
10
|
-
"name": "commands",
|
|
11
|
-
"coordinates": {
|
|
12
|
-
"apiVersion": "commands.dsh/v1alpha1",
|
|
13
|
-
"kind": "Command"
|
|
14
|
-
},
|
|
15
|
-
"package": "@dsh-std/command",
|
|
16
|
-
"kind": "capability",
|
|
17
|
-
"permissions": [
|
|
18
|
-
"commands.invoke"
|
|
19
|
-
]
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"name": "storage.local",
|
|
23
|
-
"coordinates": {
|
|
24
|
-
"apiVersion": "storage.dsh/v1alpha1",
|
|
25
|
-
"kind": "LocalStorage"
|
|
26
|
-
},
|
|
27
|
-
"package": "@dsh-std/storage",
|
|
28
|
-
"kind": "capability",
|
|
29
|
-
"permissions": [
|
|
30
|
-
"storage.local.read",
|
|
31
|
-
"storage.local.write"
|
|
32
|
-
]
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"name": "messages.observe",
|
|
36
|
-
"coordinates": {
|
|
37
|
-
"apiVersion": "messages.dsh/v1alpha1",
|
|
38
|
-
"kind": "MessageObserver"
|
|
39
|
-
},
|
|
40
|
-
"package": "@dsh-std/messages",
|
|
41
|
-
"kind": "event",
|
|
42
|
-
"permissions": [
|
|
43
|
-
"messages.observe.read"
|
|
44
|
-
],
|
|
45
|
-
"eventEnvelope": "@dsh-std/messages/schema/message-observer-envelope-0.15.json"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"name": "presentation.open-external",
|
|
49
|
-
"coordinates": {
|
|
50
|
-
"apiVersion": "presentation.dsh/v1alpha1",
|
|
51
|
-
"kind": "OpenExternal"
|
|
52
|
-
},
|
|
53
|
-
"package": "@dsh-std/presentation",
|
|
54
|
-
"kind": "capability",
|
|
55
|
-
"permissions": []
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"name": "presentation.user-interaction",
|
|
59
|
-
"coordinates": {
|
|
60
|
-
"apiVersion": "presentation.dsh/v1alpha1",
|
|
61
|
-
"kind": "UserInteraction"
|
|
62
|
-
},
|
|
63
|
-
"package": "@dsh-std/presentation",
|
|
64
|
-
"kind": "capability",
|
|
65
|
-
"permissions": []
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"name": "presentation.external-redirect",
|
|
69
|
-
"coordinates": {
|
|
70
|
-
"apiVersion": "presentation.dsh/v1alpha1",
|
|
71
|
-
"kind": "ExternalRedirect"
|
|
72
|
-
},
|
|
73
|
-
"package": "@dsh-std/presentation",
|
|
74
|
-
"kind": "capability",
|
|
75
|
-
"permissions": []
|
|
76
|
-
}
|
|
77
|
-
],
|
|
78
|
-
"definitions": [
|
|
79
|
-
{
|
|
80
|
-
"name": "tui.decision-events",
|
|
81
|
-
"authority": "dsh-tui",
|
|
82
|
-
"coordinates": {
|
|
83
|
-
"apiVersion": "tui.dsh/v1alpha1",
|
|
84
|
-
"kind": "DecisionEvents"
|
|
85
|
-
},
|
|
86
|
-
"kind": "capability",
|
|
87
|
-
"profile": "registry/contracts/decision-events-v1alpha1.json",
|
|
88
|
-
"profileHash": "sha256:56440dde1b00c210b22761a0cba139ce0a20207330567777cebe1e48b494ceb0",
|
|
89
|
-
"permissions": [
|
|
90
|
-
"session.input.intercept",
|
|
91
|
-
"session.rewind.intercept",
|
|
92
|
-
"session.switch.intercept",
|
|
93
|
-
"session.compact.intercept"
|
|
94
|
-
]
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
"name": "tui.channel",
|
|
98
|
-
"authority": "dsh-tui",
|
|
99
|
-
"coordinates": {
|
|
100
|
-
"apiVersion": "tui.dsh/v1alpha1",
|
|
101
|
-
"kind": "Channel"
|
|
102
|
-
},
|
|
103
|
-
"kind": "capability",
|
|
104
|
-
"profile": "registry/contracts/tui-channel-v1alpha1.json",
|
|
105
|
-
"profileHash": "sha256:2d0668656d999a8cacd363cd3c76207f9392118be8a83e6dd5f81b54ae063fe6",
|
|
106
|
-
"permissions": []
|
|
107
|
-
}
|
|
108
|
-
],
|
|
109
|
-
"extensions": [
|
|
110
|
-
{
|
|
111
|
-
"name": "workspace.provider",
|
|
112
|
-
"authority": "dsh-std",
|
|
113
|
-
"coordinates": {
|
|
114
|
-
"apiVersion": "workspace.dsh/v1alpha1",
|
|
115
|
-
"kind": "WorkspaceProvider"
|
|
116
|
-
},
|
|
117
|
-
"kind": "extension",
|
|
118
|
-
"package": "@dsh-std/workspace",
|
|
119
|
-
"permissions": []
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
"name": "tui.settings-section",
|
|
123
|
-
"authority": "dsh-tui",
|
|
124
|
-
"coordinates": {
|
|
125
|
-
"apiVersion": "tui.dsh/v1alpha1",
|
|
126
|
-
"kind": "SettingsSection"
|
|
127
|
-
},
|
|
128
|
-
"kind": "extension",
|
|
129
|
-
"profile": "registry/contracts/settings-section-v1alpha1.json",
|
|
130
|
-
"profileHash": "sha256:685b0f17fe489f458e9b799811f61c42b858330584e95ecb97e7216b5be100ac",
|
|
131
|
-
"permissions": []
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
"name": "tui.scene",
|
|
135
|
-
"authority": "dsh-tui",
|
|
136
|
-
"coordinates": {
|
|
137
|
-
"apiVersion": "tui.dsh/v1alpha1",
|
|
138
|
-
"kind": "Scene"
|
|
139
|
-
},
|
|
140
|
-
"kind": "extension",
|
|
141
|
-
"profile": "registry/contracts/scene-v1alpha1.json",
|
|
142
|
-
"profileHash": "sha256:69ce3ae26d60dea2ed170376db8a1fb5860c94bd192c62681423c1d848ec2b26",
|
|
143
|
-
"permissions": []
|
|
144
|
-
}
|
|
145
|
-
],
|
|
146
|
-
"facetApiVersions": [
|
|
147
|
-
"v1alpha1"
|
|
148
|
-
]
|
|
149
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"profileVersion": "tui-admission/0.15",
|
|
3
|
+
"std": {
|
|
4
|
+
"repository": "https://github.com/Yan-Zero/dsh-std",
|
|
5
|
+
"submodule": "vendor/dsh-std",
|
|
6
|
+
"manifestVersion": "0.15"
|
|
7
|
+
},
|
|
8
|
+
"imports": [
|
|
9
|
+
{
|
|
10
|
+
"name": "commands",
|
|
11
|
+
"coordinates": {
|
|
12
|
+
"apiVersion": "commands.dsh/v1alpha1",
|
|
13
|
+
"kind": "Command"
|
|
14
|
+
},
|
|
15
|
+
"package": "@dsh-std/command",
|
|
16
|
+
"kind": "capability",
|
|
17
|
+
"permissions": [
|
|
18
|
+
"commands.invoke"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "storage.local",
|
|
23
|
+
"coordinates": {
|
|
24
|
+
"apiVersion": "storage.dsh/v1alpha1",
|
|
25
|
+
"kind": "LocalStorage"
|
|
26
|
+
},
|
|
27
|
+
"package": "@dsh-std/storage",
|
|
28
|
+
"kind": "capability",
|
|
29
|
+
"permissions": [
|
|
30
|
+
"storage.local.read",
|
|
31
|
+
"storage.local.write"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "messages.observe",
|
|
36
|
+
"coordinates": {
|
|
37
|
+
"apiVersion": "messages.dsh/v1alpha1",
|
|
38
|
+
"kind": "MessageObserver"
|
|
39
|
+
},
|
|
40
|
+
"package": "@dsh-std/messages",
|
|
41
|
+
"kind": "event",
|
|
42
|
+
"permissions": [
|
|
43
|
+
"messages.observe.read"
|
|
44
|
+
],
|
|
45
|
+
"eventEnvelope": "@dsh-std/messages/schema/message-observer-envelope-0.15.json"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "presentation.open-external",
|
|
49
|
+
"coordinates": {
|
|
50
|
+
"apiVersion": "presentation.dsh/v1alpha1",
|
|
51
|
+
"kind": "OpenExternal"
|
|
52
|
+
},
|
|
53
|
+
"package": "@dsh-std/presentation",
|
|
54
|
+
"kind": "capability",
|
|
55
|
+
"permissions": []
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "presentation.user-interaction",
|
|
59
|
+
"coordinates": {
|
|
60
|
+
"apiVersion": "presentation.dsh/v1alpha1",
|
|
61
|
+
"kind": "UserInteraction"
|
|
62
|
+
},
|
|
63
|
+
"package": "@dsh-std/presentation",
|
|
64
|
+
"kind": "capability",
|
|
65
|
+
"permissions": []
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "presentation.external-redirect",
|
|
69
|
+
"coordinates": {
|
|
70
|
+
"apiVersion": "presentation.dsh/v1alpha1",
|
|
71
|
+
"kind": "ExternalRedirect"
|
|
72
|
+
},
|
|
73
|
+
"package": "@dsh-std/presentation",
|
|
74
|
+
"kind": "capability",
|
|
75
|
+
"permissions": []
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"definitions": [
|
|
79
|
+
{
|
|
80
|
+
"name": "tui.decision-events",
|
|
81
|
+
"authority": "dsh-tui",
|
|
82
|
+
"coordinates": {
|
|
83
|
+
"apiVersion": "tui.dsh/v1alpha1",
|
|
84
|
+
"kind": "DecisionEvents"
|
|
85
|
+
},
|
|
86
|
+
"kind": "capability",
|
|
87
|
+
"profile": "registry/contracts/decision-events-v1alpha1.json",
|
|
88
|
+
"profileHash": "sha256:56440dde1b00c210b22761a0cba139ce0a20207330567777cebe1e48b494ceb0",
|
|
89
|
+
"permissions": [
|
|
90
|
+
"session.input.intercept",
|
|
91
|
+
"session.rewind.intercept",
|
|
92
|
+
"session.switch.intercept",
|
|
93
|
+
"session.compact.intercept"
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "tui.channel",
|
|
98
|
+
"authority": "dsh-tui",
|
|
99
|
+
"coordinates": {
|
|
100
|
+
"apiVersion": "tui.dsh/v1alpha1",
|
|
101
|
+
"kind": "Channel"
|
|
102
|
+
},
|
|
103
|
+
"kind": "capability",
|
|
104
|
+
"profile": "registry/contracts/tui-channel-v1alpha1.json",
|
|
105
|
+
"profileHash": "sha256:2d0668656d999a8cacd363cd3c76207f9392118be8a83e6dd5f81b54ae063fe6",
|
|
106
|
+
"permissions": []
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"extensions": [
|
|
110
|
+
{
|
|
111
|
+
"name": "workspace.provider",
|
|
112
|
+
"authority": "dsh-std",
|
|
113
|
+
"coordinates": {
|
|
114
|
+
"apiVersion": "workspace.dsh/v1alpha1",
|
|
115
|
+
"kind": "WorkspaceProvider"
|
|
116
|
+
},
|
|
117
|
+
"kind": "extension",
|
|
118
|
+
"package": "@dsh-std/workspace",
|
|
119
|
+
"permissions": []
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"name": "tui.settings-section",
|
|
123
|
+
"authority": "dsh-tui",
|
|
124
|
+
"coordinates": {
|
|
125
|
+
"apiVersion": "tui.dsh/v1alpha1",
|
|
126
|
+
"kind": "SettingsSection"
|
|
127
|
+
},
|
|
128
|
+
"kind": "extension",
|
|
129
|
+
"profile": "registry/contracts/settings-section-v1alpha1.json",
|
|
130
|
+
"profileHash": "sha256:685b0f17fe489f458e9b799811f61c42b858330584e95ecb97e7216b5be100ac",
|
|
131
|
+
"permissions": []
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"name": "tui.scene",
|
|
135
|
+
"authority": "dsh-tui",
|
|
136
|
+
"coordinates": {
|
|
137
|
+
"apiVersion": "tui.dsh/v1alpha1",
|
|
138
|
+
"kind": "Scene"
|
|
139
|
+
},
|
|
140
|
+
"kind": "extension",
|
|
141
|
+
"profile": "registry/contracts/scene-v1alpha1.json",
|
|
142
|
+
"profileHash": "sha256:69ce3ae26d60dea2ed170376db8a1fb5860c94bd192c62681423c1d848ec2b26",
|
|
143
|
+
"permissions": []
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
"facetApiVersions": [
|
|
147
|
+
"v1alpha1"
|
|
148
|
+
]
|
|
149
|
+
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* unknown preset left behind by an older version) just falls back to the
|
|
8
8
|
* default preset.
|
|
9
9
|
*/
|
|
10
|
+
import { type WorkingActivityConfig } from 'dsh-working-activity/config';
|
|
10
11
|
/**
|
|
11
12
|
* Parse a persisted `{ frames }` value; anything else yields undefined.
|
|
12
13
|
* @param text - Raw file contents.
|
|
@@ -19,6 +20,15 @@ export declare function parseActivityFrames(text: string): string | undefined;
|
|
|
19
20
|
* @returns The persisted preset name, if any.
|
|
20
21
|
*/
|
|
21
22
|
export declare function readActivityFrames(dir?: string): string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Read the full pi-style working-activity config (frames / mode / features /
|
|
25
|
+
* customPhrases / customActions / narrate / thresholds) from the same JSON
|
|
26
|
+
* file the `/activity` command writes, parsed by the wa package. Best-effort:
|
|
27
|
+
* a missing or corrupt file yields undefined (callers use their defaults).
|
|
28
|
+
* @param dir - Prefs directory (injectable for tests).
|
|
29
|
+
* @returns The parsed config, or undefined when unreadable.
|
|
30
|
+
*/
|
|
31
|
+
export declare function readActivityConfig(dir?: string): WorkingActivityConfig | undefined;
|
|
22
32
|
/**
|
|
23
33
|
* Persist the chosen indicator preset (best effort).
|
|
24
34
|
* @param name - Preset name to persist.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activityPrefs.d.ts","sourceRoot":"","sources":["../../src/activityPrefs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"activityPrefs.d.ts","sourceRoot":"","sources":["../../src/activityPrefs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAA8B,KAAK,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAKpG;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASpE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAkB,GAAG,MAAM,GAAG,SAAS,CAM9E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAkB,GAAG,qBAAqB,GAAG,SAAS,CAM7F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAkB,GAAG,OAAO,CAQlF"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
11
11
|
import { join } from 'node:path';
|
|
12
12
|
import { isPresetName } from './components/activityFrames.js';
|
|
13
|
+
import { parseWorkingActivityConfig } from 'dsh-working-activity/config';
|
|
13
14
|
import { DATA_DIR } from './utils/paths.js';
|
|
14
15
|
const PREFS_DIR = DATA_DIR;
|
|
15
16
|
/**
|
|
@@ -42,6 +43,22 @@ export function readActivityFrames(dir = PREFS_DIR) {
|
|
|
42
43
|
return undefined;
|
|
43
44
|
}
|
|
44
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Read the full pi-style working-activity config (frames / mode / features /
|
|
48
|
+
* customPhrases / customActions / narrate / thresholds) from the same JSON
|
|
49
|
+
* file the `/activity` command writes, parsed by the wa package. Best-effort:
|
|
50
|
+
* a missing or corrupt file yields undefined (callers use their defaults).
|
|
51
|
+
* @param dir - Prefs directory (injectable for tests).
|
|
52
|
+
* @returns The parsed config, or undefined when unreadable.
|
|
53
|
+
*/
|
|
54
|
+
export function readActivityConfig(dir = PREFS_DIR) {
|
|
55
|
+
try {
|
|
56
|
+
return parseWorkingActivityConfig(readFileSync(join(dir, 'working-activity.json'), 'utf8')).config;
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
45
62
|
/**
|
|
46
63
|
* Persist the chosen indicator preset (best effort).
|
|
47
64
|
* @param name - Preset name to persist.
|
|
@@ -2,7 +2,8 @@ import React from 'react';
|
|
|
2
2
|
import { type ScrollBoxHandle } from '../ui.js';
|
|
3
3
|
import type { ChatRow } from '../dsh-adapter/channel.js';
|
|
4
4
|
import type { DOMElement } from '../ink/dom.js';
|
|
5
|
-
|
|
5
|
+
import type { ToolBackground } from '../tuiDisplayPrefs.js';
|
|
6
|
+
export declare function MessageList({ rows, expanded, expandedRows, selectedId, onToggleRow, model, diffLayout, thinkingFold, toolBackground, showAll, onToggleAll, onLoadOlder, thinkingVisible, registerRowRef, scrollHandle, forceMountRowId, newSinceRowId, onUnseenCount, failureHintRowId, failureHint, }: {
|
|
6
7
|
rows: readonly ChatRow[];
|
|
7
8
|
expanded: boolean;
|
|
8
9
|
expandedRows: ReadonlySet<number>;
|
|
@@ -13,6 +14,8 @@ export declare function MessageList({ rows, expanded, expandedRows, selectedId,
|
|
|
13
14
|
diffLayout?: 'auto' | 'split' | 'unified';
|
|
14
15
|
/** Thinking-block display mode from channel (`preview`/`full`). */
|
|
15
16
|
thinkingFold?: 'preview' | 'full';
|
|
17
|
+
/** Tool-card background treatment from the live channel settings. */
|
|
18
|
+
toolBackground?: ToolBackground;
|
|
16
19
|
showAll: boolean;
|
|
17
20
|
onToggleAll: () => void;
|
|
18
21
|
/** Restore folded-away older rows from the session log (CC-style "load
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAA8B,KAAK,eAAe,EAAE,MAAM,UAAU,CAAA;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAyC,MAAM,2BAA2B,CAAA;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAA8B,KAAK,eAAe,EAAE,MAAM,UAAU,CAAA;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAyC,MAAM,2BAA2B,CAAA;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAa/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AA2B3D,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAmB,EACnB,YAAwB,EACxB,cAAuB,EACvB,OAAO,EACP,WAAW,EACX,WAAW,EACX,eAAsB,EACtB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,WAAW,GACZ,EAAE;IACD,IAAI,EAAE,SAAS,OAAO,EAAE,CAAA;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACjC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;IACzC,mEAAmE;IACnE,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IACjC,qEAAqE;IACrE,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB;2EACuE;IACvE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAA;IAC/D,oDAAoD;IACpD,YAAY,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IACrC,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B;8EAC0E;IAC1E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,0EAA0E;IAC1E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,qBA+VA;AAsRD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,MAAM,EACN,GAAG,GACJ,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,KAAK,CAAC,SAAS,CAMlB"}
|
|
@@ -37,7 +37,7 @@ const DEFAULT_ROW_HEIGHT = 2;
|
|
|
37
37
|
/** Cold-start estimate of the header block above the rows; corrected by the
|
|
38
38
|
* first layout measurement. */
|
|
39
39
|
const DEFAULT_HEADER_LINES = 14;
|
|
40
|
-
export function MessageList({ rows, expanded, expandedRows, selectedId, onToggleRow, model, diffLayout = 'auto', thinkingFold = 'preview', showAll, onToggleAll, onLoadOlder, thinkingVisible = true, registerRowRef, scrollHandle, forceMountRowId, newSinceRowId, onUnseenCount, failureHintRowId, failureHint, }) {
|
|
40
|
+
export function MessageList({ rows, expanded, expandedRows, selectedId, onToggleRow, model, diffLayout = 'auto', thinkingFold = 'preview', toolBackground = 'none', showAll, onToggleAll, onLoadOlder, thinkingVisible = true, registerRowRef, scrollHandle, forceMountRowId, newSinceRowId, onUnseenCount, failureHintRowId, failureHint, }) {
|
|
41
41
|
const hiddenCount = rows.length - MAX_RENDERED_ROWS;
|
|
42
42
|
// The thinking filter runs BEFORE virtualization so window indices line up.
|
|
43
43
|
const visibleRows = (showAll || hiddenCount <= 0
|
|
@@ -334,10 +334,10 @@ export function MessageList({ rows, expanded, expandedRows, selectedId, onToggle
|
|
|
334
334
|
// spacing; only the very first row of the whole list has none.
|
|
335
335
|
const addMargin = margins.get(row.id) === true;
|
|
336
336
|
const tool = row.tool;
|
|
337
|
-
return (_jsx(MemoRow, { rowId: row.id, kind: row.kind, text: row.text, executionTarget: row.executionTarget, streaming: row.streaming === true, durationMs: row.durationMs, time: row.time, addMargin: addMargin, isSelected: selectedId === row.id, isExpanded: expandedRows.has(row.id), expanded: expanded, model: model, diffLayout: diffLayout, thinkingFold: thinkingFold, background: rowBackground(row.id), toolCallId: tool?.callId, toolName: tool?.name, toolArgsText: tool?.argsText, toolArgsFull: tool?.argsFull, toolStatus: tool?.status, toolResultText: tool?.resultText, toolResultFull: tool?.resultFull, toolErrorText: tool?.errorText, toolFootnote: failureHintRowId === row.id ? failureHint : undefined, toolCallView: tool?.callView, toolResultView: tool?.resultView, toolStartedAt: tool?.startedAt, toolDurationMs: tool?.durationMs, nowSec: tool?.status === 'running' ? nowSec : undefined, onToggleRow: onToggleRow, setRowRef: setRowRef }, row.id));
|
|
337
|
+
return (_jsx(MemoRow, { rowId: row.id, kind: row.kind, text: row.text, executionTarget: row.executionTarget, streaming: row.streaming === true, durationMs: row.durationMs, time: row.time, addMargin: addMargin, isSelected: selectedId === row.id, isExpanded: expandedRows.has(row.id), expanded: expanded, model: model, diffLayout: diffLayout, thinkingFold: thinkingFold, toolBackground: toolBackground, background: rowBackground(row.id), toolCallId: tool?.callId, toolName: tool?.name, toolArgsText: tool?.argsText, toolArgsFull: tool?.argsFull, toolStatus: tool?.status, toolResultText: tool?.resultText, toolResultFull: tool?.resultFull, toolErrorText: tool?.errorText, toolFootnote: failureHintRowId === row.id ? failureHint : undefined, toolCallView: tool?.callView, toolResultView: tool?.resultView, toolStartedAt: tool?.startedAt, toolDurationMs: tool?.durationMs, nowSec: tool?.status === 'running' ? nowSec : undefined, onToggleRow: onToggleRow, setRowRef: setRowRef }, row.id));
|
|
338
338
|
}), bottomPad > 0 && _jsx(Box, { height: bottomPad, flexShrink: 0 })] }));
|
|
339
339
|
}
|
|
340
|
-
function TranscriptRow({ rowId, kind, text, executionTarget, streaming, durationMs, time, addMargin, isSelected, isExpanded, expanded, model, diffLayout, thinkingFold, background, toolCallId, toolName, toolArgsText, toolArgsFull, toolStatus, toolResultText, toolResultFull, toolErrorText, toolFootnote, toolCallView, toolResultView, toolStartedAt, toolDurationMs, onToggleRow, setRowRef, }) {
|
|
340
|
+
function TranscriptRow({ rowId, kind, text, executionTarget, streaming, durationMs, time, addMargin, isSelected, isExpanded, expanded, model, diffLayout, thinkingFold, toolBackground, background, toolCallId, toolName, toolArgsText, toolArgsFull, toolStatus, toolResultText, toolResultFull, toolErrorText, toolFootnote, toolCallView, toolResultView, toolStartedAt, toolDurationMs, onToggleRow, setRowRef, }) {
|
|
341
341
|
const ref = React.useCallback((el) => {
|
|
342
342
|
setRowRef(rowId, el);
|
|
343
343
|
}, [setRowRef, rowId]);
|
|
@@ -382,7 +382,7 @@ function TranscriptRow({ rowId, kind, text, executionTarget, streaming, duration
|
|
|
382
382
|
startedAt: toolStartedAt,
|
|
383
383
|
durationMs: toolDurationMs,
|
|
384
384
|
};
|
|
385
|
-
return (_jsx(Box, { flexDirection: "column", ref: ref, children: _jsx(AssistantToolUseMessage, { tool: tool, addMargin: addMargin, verbose: isExpanded || expanded, isSelected: isSelected, isExpanded: isExpanded, footnote: toolFootnote, diffLayout: diffLayout }) }));
|
|
385
|
+
return (_jsx(Box, { flexDirection: "column", ref: ref, children: _jsx(AssistantToolUseMessage, { tool: tool, addMargin: addMargin, verbose: isExpanded || expanded, isSelected: isSelected, isExpanded: isExpanded, footnote: toolFootnote, diffLayout: diffLayout, toolBackground: toolBackground }) }));
|
|
386
386
|
}
|
|
387
387
|
case 'notice':
|
|
388
388
|
return (_jsx(Box, { marginTop: 1, ref: ref, children: _jsx(Divider, { title: ` ${text} ` }) }));
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ToolFileDiff } from '../dsh-adapter/channel.js';
|
|
3
3
|
import { type CliHighlight } from '../cc/cliHighlight.js';
|
|
4
|
+
import type { ToolBackground } from '../tuiDisplayPrefs.js';
|
|
4
5
|
/** chalk style for one raw theme value. Accepts every form the theme
|
|
5
6
|
* loader documents: #rgb, #rrggbb, #rrggbbaa (alpha stripped), rgb() with
|
|
6
7
|
* or without spaces, ansi256(n), ansi:name (issue #250, P2-5). */
|
|
@@ -17,12 +18,13 @@ export declare function highlightLines(text: string, language: string | undefine
|
|
|
17
18
|
text: string;
|
|
18
19
|
color?: string;
|
|
19
20
|
}[][] | undefined;
|
|
20
|
-
export declare function SplitDiffView({ diffs, width, maxRows, verbose, }: {
|
|
21
|
+
export declare function SplitDiffView({ diffs, width, maxRows, verbose, toolBackground, }: {
|
|
21
22
|
readonly diffs: readonly ToolFileDiff[];
|
|
22
23
|
/** Content width available to the whole two-pane block (divider included). */
|
|
23
24
|
readonly width: number;
|
|
24
25
|
/** Row budget when not verbose; overflow folds into one hint row. */
|
|
25
26
|
readonly maxRows: number;
|
|
26
27
|
readonly verbose: boolean;
|
|
28
|
+
readonly toolBackground?: ToolBackground;
|
|
27
29
|
}): React.ReactNode;
|
|
28
30
|
//# sourceMappingURL=SplitDiffView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitDiffView.d.ts","sourceRoot":"","sources":["../../../src/components/SplitDiffView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"SplitDiffView.d.ts","sourceRoot":"","sources":["../../../src/components/SplitDiffView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAsF3D;;mEAEmE;AACnE,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAmBtE;AAUD;;;oCAGoC;AACpC,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAuB9E;AAuBD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,EAAE,EAAE,YAAY,GAAG,IAAI,EACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,EAC7D,QAAQ,EAAE,MAAM,GACf,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,GAAG,SAAS,CAe3D;AAsOD,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,cAAuB,GACxB,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAA;IACvC,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAA;CACzC,GAAG,KAAK,CAAC,SAAS,CAiGlB"}
|
|
@@ -327,9 +327,16 @@ function alignFileDiff(fileIndex, oldText, newText) {
|
|
|
327
327
|
return rows;
|
|
328
328
|
}
|
|
329
329
|
// --- rendering --------------------------------------------------------------
|
|
330
|
-
function PaneLine({ side, kind, width, tone, padLeft = false, }) {
|
|
330
|
+
function PaneLine({ side, kind, width, tone, toolBackground, padLeft = false, }) {
|
|
331
|
+
const ordinaryBackground = toolBackground === 'subtle'
|
|
332
|
+
? 'toolCardBackgroundDim'
|
|
333
|
+
: toolBackground === 'strong'
|
|
334
|
+
? 'toolCardBackground'
|
|
335
|
+
: undefined;
|
|
336
|
+
// Additions/removals keep their semantic tint; unchanged and empty panes
|
|
337
|
+
// inherit the configured ordinary tool-card surface.
|
|
331
338
|
const backgroundColor = kind === 'context'
|
|
332
|
-
?
|
|
339
|
+
? ordinaryBackground
|
|
333
340
|
: tone === 'old'
|
|
334
341
|
? 'diffRemovedDimmed'
|
|
335
342
|
: 'diffAddedDimmed';
|
|
@@ -340,7 +347,7 @@ function PaneLine({ side, kind, width, tone, padLeft = false, }) {
|
|
|
340
347
|
const prefix = padLeft ? ` ${marker}` : marker;
|
|
341
348
|
return (_jsxs(Box, { width: width, flexShrink: 0, backgroundColor: backgroundColor, children: [_jsx(Text, { dimColor: true, backgroundColor: backgroundColor, children: `${prefix} ` }), side === undefined ? (_jsx(Text, { backgroundColor: backgroundColor, children: " " })) : (_jsx(Text, { wrap: "truncate", backgroundColor: backgroundColor, children: side.segments.map((segment, index) => segment.changed ? (_jsx(Text, { color: wordColor, bold: true, backgroundColor: backgroundColor, children: segment.text }, index)) : (_jsx(Text, { color: segment.color, backgroundColor: backgroundColor, children: segment.text }, index))) }))] }));
|
|
342
349
|
}
|
|
343
|
-
export function SplitDiffView({ diffs, width, maxRows, verbose, }) {
|
|
350
|
+
export function SplitDiffView({ diffs, width, maxRows, verbose, toolBackground = 'none', }) {
|
|
344
351
|
const [hl, setHl] = React.useState(null);
|
|
345
352
|
React.useEffect(() => {
|
|
346
353
|
let mounted = true;
|
|
@@ -399,7 +406,7 @@ export function SplitDiffView({ diffs, width, maxRows, verbose, }) {
|
|
|
399
406
|
next: highlightLines(expandTabs(diff.newText), language, hl, chTheme, themeSig),
|
|
400
407
|
};
|
|
401
408
|
});
|
|
402
|
-
return (_jsxs(Box, { flexDirection: "column", width: paneWidth * 2 + 1,
|
|
409
|
+
return (_jsxs(Box, { flexDirection: "column", width: paneWidth * 2 + 1, children: [visible.map((row, index) => {
|
|
403
410
|
if ('separator' in row) {
|
|
404
411
|
return (_jsx(Box, { width: paneWidth * 2 + 1, children: _jsx(Text, { dimColor: true, wrap: "truncate", children: row.separator === '⋯' ? '⋯' : ` ${row.separator}` }) }, index));
|
|
405
412
|
}
|
|
@@ -412,6 +419,6 @@ export function SplitDiffView({ diffs, width, maxRows, verbose, }) {
|
|
|
412
419
|
const newSide = row.newWords === undefined
|
|
413
420
|
? undefined
|
|
414
421
|
: { segments: newRuns !== undefined ? mergeRuns(newRuns, row.newWords) : row.newWords };
|
|
415
|
-
return (_jsxs(Box, { flexDirection: "row", children: [_jsx(PaneLine, { side: oldSide, kind: row.kind === 'add' ? 'context' : row.kind, tone: "old", width: paneWidth }), _jsx(Box, { width: 1, flexShrink: 0,
|
|
422
|
+
return (_jsxs(Box, { flexDirection: "row", children: [_jsx(PaneLine, { side: oldSide, kind: row.kind === 'add' ? 'context' : row.kind, tone: "old", width: paneWidth, toolBackground: toolBackground }), _jsx(Box, { width: 1, flexShrink: 0, children: _jsx(Text, { dimColor: true, children: "\u2502" }) }), _jsx(PaneLine, { side: newSide, kind: row.kind === 'del' ? 'context' : row.kind, tone: "new", width: paneWidth, toolBackground: toolBackground, padLeft: true })] }, index));
|
|
416
423
|
}), hidden > 0 && (_jsx(Text, { dimColor: true, children: `… +${hidden} lines (ctrl+o to expand)` }))] }));
|
|
417
424
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamingMarkdown.d.ts","sourceRoot":"","sources":["../../../src/components/StreamingMarkdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAmDzB,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,QAAgB,GACjB,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,KAAK,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"StreamingMarkdown.d.ts","sourceRoot":"","sources":["../../../src/components/StreamingMarkdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAmDzB,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,QAAgB,GACjB,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,KAAK,CAAC,SAAS,CAmDlB"}
|
|
@@ -76,6 +76,14 @@ export function StreamingMarkdown({ children, dimColor = false, }) {
|
|
|
76
76
|
prefixRef.current = stripped.substring(0, boundary + advance);
|
|
77
77
|
}
|
|
78
78
|
const stablePrefix = prefixRef.current;
|
|
79
|
-
const
|
|
80
|
-
|
|
79
|
+
const suffixSource = stripped.substring(stablePrefix.length);
|
|
80
|
+
const unstableSuffix = clipSuffixTail(suffixSource, cutRef);
|
|
81
|
+
// A lexer boundary must be strictly outside the stable prefix. If marked
|
|
82
|
+
// reports a raw span that ends at the current cursor (possible around an
|
|
83
|
+
// unfinished fence/table while deltas arrive), rendering both branches can
|
|
84
|
+
// paint the same tail twice. Keep the suffix authoritative and never render
|
|
85
|
+
// an overlapping empty/duplicate boundary.
|
|
86
|
+
const hasDistinctSuffix = unstableSuffix !== '' &&
|
|
87
|
+
(stablePrefix === '' || !unstableSuffix.startsWith(stablePrefix));
|
|
88
|
+
return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [stablePrefix && _jsx(Markdown, { dimColor: true, children: stablePrefix }), hasDistinctSuffix && _jsx(Markdown, { dimColor: true, cacheTokens: false, children: unstableSuffix })] }));
|
|
81
89
|
}
|
|
@@ -1,31 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Working-activity indicator presets
|
|
3
|
-
* working-activity
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* Working-activity indicator presets — thin re-export of the single source
|
|
3
|
+
* of truth in the `dsh-working-activity` package (`src/frames.ts`). The TUI
|
|
4
|
+
* keeps this shim so existing importers (`/activity` picker, status line,
|
|
5
|
+
* channel, activity prefs) resolve the same names without moving; all preset
|
|
6
|
+
* data (the pi-extension union, 35 presets) lives upstream.
|
|
7
|
+
* @module dsh-tui/components/activityFrames
|
|
7
8
|
*/
|
|
8
|
-
|
|
9
|
-
export interface FramePreset {
|
|
10
|
-
readonly frames: readonly string[];
|
|
11
|
-
readonly intervalMs: number;
|
|
12
|
-
}
|
|
13
|
-
/** Named working-activity frame presets, keyed by preset name (`claude`, `moon`, `sand`, ...). */
|
|
14
|
-
export declare const FRAME_PRESETS: Record<string, FramePreset>;
|
|
15
|
-
/** The pi extension's default preset. */
|
|
16
|
-
export declare const DEFAULT_PRESET = "moon8";
|
|
17
|
-
/** Every selectable preset name, `random` first (the pi selector order). */
|
|
18
|
-
export declare const PRESET_NAMES: readonly string[];
|
|
19
|
-
/**
|
|
20
|
-
* Whether `name` selects a known preset or `random`.
|
|
21
|
-
* @param name - Candidate preset name.
|
|
22
|
-
* @returns True when the name resolves to a preset.
|
|
23
|
-
*/
|
|
24
|
-
export declare function isPresetName(name: string): boolean;
|
|
25
|
-
/**
|
|
26
|
-
* Resolve a preset name (`random` picks one per process).
|
|
27
|
-
* @param name - Preset name, or undefined for the default.
|
|
28
|
-
* @returns The matching preset; unknown or absent names fall back to the default.
|
|
29
|
-
*/
|
|
30
|
-
export declare function resolvePreset(name: string | undefined): FramePreset;
|
|
9
|
+
export * from 'dsh-working-activity/frames';
|
|
31
10
|
//# sourceMappingURL=activityFrames.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activityFrames.d.ts","sourceRoot":"","sources":["../../../src/components/activityFrames.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"activityFrames.d.ts","sourceRoot":"","sources":["../../../src/components/activityFrames.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,6BAA6B,CAAA"}
|