@deepseek-harness-tui/dsh-tui 0.8.5 → 0.8.7
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/README.md +13 -3
- package/bin/dsh-tui.js +269 -218
- package/cordis.patch.yml +48 -22
- 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/cc/figures.d.ts +7 -0
- package/lib/types/cc/figures.d.ts.map +1 -1
- package/lib/types/cc/figures.js +24 -0
- package/lib/types/cc/markdown.d.ts.map +1 -1
- package/lib/types/cc/markdown.js +47 -14
- package/lib/types/cc/syntaxRuns.d.ts +16 -0
- package/lib/types/cc/syntaxRuns.d.ts.map +1 -0
- package/lib/types/cc/syntaxRuns.js +79 -0
- package/lib/types/cc/syntaxTheme.d.ts +12 -0
- package/lib/types/cc/syntaxTheme.d.ts.map +1 -0
- package/lib/types/cc/syntaxTheme.js +76 -0
- package/lib/types/commands.d.ts +14 -0
- package/lib/types/commands.d.ts.map +1 -1
- package/lib/types/commands.js +20 -1
- package/lib/types/components/Chat/SubagentMessage.d.ts +19 -0
- package/lib/types/components/Chat/SubagentMessage.d.ts.map +1 -0
- package/lib/types/components/Chat/SubagentMessage.js +75 -0
- package/lib/types/components/EffortChargeGlyph.d.ts +26 -0
- package/lib/types/components/EffortChargeGlyph.d.ts.map +1 -0
- package/lib/types/components/EffortChargeGlyph.js +70 -0
- package/lib/types/components/EffortInputBorder.d.ts +36 -0
- package/lib/types/components/EffortInputBorder.d.ts.map +1 -0
- package/lib/types/components/EffortInputBorder.js +73 -0
- package/lib/types/components/EffortTierBadge.d.ts +26 -0
- package/lib/types/components/EffortTierBadge.d.ts.map +1 -0
- package/lib/types/components/EffortTierBadge.js +97 -0
- package/lib/types/components/HelpMenu.d.ts +8 -1
- package/lib/types/components/HelpMenu.d.ts.map +1 -1
- package/lib/types/components/HelpMenu.js +15 -4
- package/lib/types/components/LoadedContextPanel.js +1 -1
- package/lib/types/components/LogoV2.d.ts +3 -1
- package/lib/types/components/LogoV2.d.ts.map +1 -1
- package/lib/types/components/LogoV2.js +2 -2
- package/lib/types/components/MessageList.d.ts +6 -2
- package/lib/types/components/MessageList.d.ts.map +1 -1
- package/lib/types/components/MessageList.js +22 -13
- package/lib/types/components/ModelPicker.js +2 -2
- package/lib/types/components/PromptInput.d.ts +1 -1
- package/lib/types/components/PromptInput.d.ts.map +1 -1
- package/lib/types/components/PromptInput.js +83 -18
- package/lib/types/components/SkillsPicker.js +2 -2
- package/lib/types/components/SplitDiffView.d.ts +2 -17
- package/lib/types/components/SplitDiffView.d.ts.map +1 -1
- package/lib/types/components/SplitDiffView.js +9 -162
- package/lib/types/components/StreamingMarkdown.js +1 -1
- package/lib/types/components/SubagentCard.d.ts +9 -0
- package/lib/types/components/SubagentCard.d.ts.map +1 -0
- package/lib/types/components/SubagentCard.js +26 -0
- package/lib/types/components/SubagentDashboard.d.ts +13 -0
- package/lib/types/components/SubagentDashboard.d.ts.map +1 -0
- package/lib/types/components/SubagentDashboard.js +50 -0
- package/lib/types/components/SubagentDetailScene.d.ts +16 -0
- package/lib/types/components/SubagentDetailScene.d.ts.map +1 -0
- package/lib/types/components/SubagentDetailScene.js +141 -0
- package/lib/types/components/SyntaxText.d.ts +15 -0
- package/lib/types/components/SyntaxText.d.ts.map +1 -0
- package/lib/types/components/SyntaxText.js +34 -0
- package/lib/types/components/ThinkingToggle.d.ts +3 -10
- package/lib/types/components/ThinkingToggle.d.ts.map +1 -1
- package/lib/types/components/ThinkingToggle.js +4 -9
- package/lib/types/components/design-system/ListItem.d.ts.map +1 -1
- package/lib/types/components/design-system/ListItem.js +1 -1
- package/lib/types/components/design-system/ThemedBox.d.ts.map +1 -1
- package/lib/types/components/design-system/ThemedBox.js +4 -1
- package/lib/types/components/design-system/ThemedText.js +2 -2
- package/lib/types/components/messages/AssistantThinkingMessage.d.ts +12 -6
- package/lib/types/components/messages/AssistantThinkingMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantThinkingMessage.js +37 -10
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts +2 -0
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantToolUseMessage.js +71 -18
- package/lib/types/components/messages/UserPromptMessage.d.ts +4 -6
- package/lib/types/components/messages/UserPromptMessage.d.ts.map +1 -1
- package/lib/types/components/messages/UserPromptMessage.js +19 -10
- package/lib/types/dsh-adapter/channel.d.ts +58 -2
- package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel.js +337 -7
- package/lib/types/dsh-adapter/contract.d.ts +27 -4
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
- package/lib/types/dsh-adapter/contract.js +56 -10
- package/lib/types/dsh-adapter/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/index.js +9 -3
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +38 -0
- package/lib/types/dsh-adapter/shortcuts.js +3 -3
- package/lib/types/dsh-adapter/subagents.d.ts +87 -0
- package/lib/types/dsh-adapter/subagents.d.ts.map +1 -0
- package/lib/types/dsh-adapter/subagents.js +204 -0
- package/lib/types/herdr.d.ts +28 -0
- package/lib/types/herdr.d.ts.map +1 -0
- package/lib/types/herdr.js +133 -0
- package/lib/types/i18n.d.ts +215 -31
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +65 -14
- package/lib/types/ink/ink.d.ts +4 -0
- package/lib/types/ink/ink.d.ts.map +1 -1
- package/lib/types/ink/ink.js +46 -15
- package/lib/types/minimalMode.d.ts +13 -0
- package/lib/types/minimalMode.d.ts.map +1 -0
- package/lib/types/minimalMode.js +17 -0
- package/lib/types/screens/Chat.d.ts +1 -1
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +95 -45
- package/lib/types/screens/StatusLine.d.ts.map +1 -1
- package/lib/types/screens/StatusLine.js +6 -2
- package/lib/types/screens/TrajectoryScene.d.ts.map +1 -1
- package/lib/types/screens/TrajectoryScene.js +4 -2
- package/lib/types/theme.d.ts +20 -0
- package/lib/types/theme.d.ts.map +1 -1
- package/lib/types/theme.js +77 -23
- package/lib/types/tips.js +3 -3
- package/lib/types/trajectory/effortIgnition.d.ts +66 -0
- package/lib/types/trajectory/effortIgnition.d.ts.map +1 -0
- package/lib/types/trajectory/effortIgnition.js +142 -0
- package/lib/types/update.d.ts +18 -0
- package/lib/types/update.d.ts.map +1 -1
- package/lib/types/update.js +73 -2
- package/lib/types/utils/execFileNoThrow.d.ts +3 -20
- package/lib/types/utils/execFileNoThrow.d.ts.map +1 -1
- package/lib/types/utils/execFileNoThrow.js +53 -32
- package/lib/types/utils/externalEditor.d.ts +12 -11
- package/lib/types/utils/externalEditor.d.ts.map +1 -1
- package/lib/types/utils/externalEditor.js +11 -11
- 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 +64 -58
- 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,56 +1,56 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "urn:dsh-std:storage:local-storage:0.15",
|
|
4
|
-
"title": "LocalStorage v0.15 operations",
|
|
5
|
-
"$defs": {
|
|
6
|
-
"jsonValue": {
|
|
7
|
-
"oneOf": [
|
|
8
|
-
{ "type": "null" },
|
|
9
|
-
{ "type": "boolean" },
|
|
10
|
-
{ "type": "number" },
|
|
11
|
-
{ "type": "string" },
|
|
12
|
-
{ "type": "array", "items": { "$ref": "#/$defs/jsonValue" } },
|
|
13
|
-
{ "type": "object", "additionalProperties": { "$ref": "#/$defs/jsonValue" } }
|
|
14
|
-
]
|
|
15
|
-
},
|
|
16
|
-
"getInput": {
|
|
17
|
-
"type": "object",
|
|
18
|
-
"additionalProperties": false,
|
|
19
|
-
"required": ["key"],
|
|
20
|
-
"properties": { "key": { "type": "string", "minLength": 1 } }
|
|
21
|
-
},
|
|
22
|
-
"getOutput": {
|
|
23
|
-
"type": "object",
|
|
24
|
-
"additionalProperties": false,
|
|
25
|
-
"required": ["value"],
|
|
26
|
-
"properties": { "value": { "$ref": "#/$defs/jsonValue" } }
|
|
27
|
-
},
|
|
28
|
-
"setInput": {
|
|
29
|
-
"type": "object",
|
|
30
|
-
"additionalProperties": false,
|
|
31
|
-
"required": ["key", "value"],
|
|
32
|
-
"properties": {
|
|
33
|
-
"key": { "type": "string", "minLength": 1 },
|
|
34
|
-
"value": { "$ref": "#/$defs/jsonValue" }
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
"setOutput": {
|
|
38
|
-
"type": "object",
|
|
39
|
-
"additionalProperties": false,
|
|
40
|
-
"required": ["stored"],
|
|
41
|
-
"properties": { "stored": { "const": true } }
|
|
42
|
-
},
|
|
43
|
-
"deleteInput": {
|
|
44
|
-
"type": "object",
|
|
45
|
-
"additionalProperties": false,
|
|
46
|
-
"required": ["key"],
|
|
47
|
-
"properties": { "key": { "type": "string", "minLength": 1 } }
|
|
48
|
-
},
|
|
49
|
-
"deleteOutput": {
|
|
50
|
-
"type": "object",
|
|
51
|
-
"additionalProperties": false,
|
|
52
|
-
"required": ["deleted"],
|
|
53
|
-
"properties": { "deleted": { "type": "boolean" } }
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "urn:dsh-std:storage:local-storage:0.15",
|
|
4
|
+
"title": "LocalStorage v0.15 operations",
|
|
5
|
+
"$defs": {
|
|
6
|
+
"jsonValue": {
|
|
7
|
+
"oneOf": [
|
|
8
|
+
{ "type": "null" },
|
|
9
|
+
{ "type": "boolean" },
|
|
10
|
+
{ "type": "number" },
|
|
11
|
+
{ "type": "string" },
|
|
12
|
+
{ "type": "array", "items": { "$ref": "#/$defs/jsonValue" } },
|
|
13
|
+
{ "type": "object", "additionalProperties": { "$ref": "#/$defs/jsonValue" } }
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"getInput": {
|
|
17
|
+
"type": "object",
|
|
18
|
+
"additionalProperties": false,
|
|
19
|
+
"required": ["key"],
|
|
20
|
+
"properties": { "key": { "type": "string", "minLength": 1 } }
|
|
21
|
+
},
|
|
22
|
+
"getOutput": {
|
|
23
|
+
"type": "object",
|
|
24
|
+
"additionalProperties": false,
|
|
25
|
+
"required": ["value"],
|
|
26
|
+
"properties": { "value": { "$ref": "#/$defs/jsonValue" } }
|
|
27
|
+
},
|
|
28
|
+
"setInput": {
|
|
29
|
+
"type": "object",
|
|
30
|
+
"additionalProperties": false,
|
|
31
|
+
"required": ["key", "value"],
|
|
32
|
+
"properties": {
|
|
33
|
+
"key": { "type": "string", "minLength": 1 },
|
|
34
|
+
"value": { "$ref": "#/$defs/jsonValue" }
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"setOutput": {
|
|
38
|
+
"type": "object",
|
|
39
|
+
"additionalProperties": false,
|
|
40
|
+
"required": ["stored"],
|
|
41
|
+
"properties": { "stored": { "const": true } }
|
|
42
|
+
},
|
|
43
|
+
"deleteInput": {
|
|
44
|
+
"type": "object",
|
|
45
|
+
"additionalProperties": false,
|
|
46
|
+
"required": ["key"],
|
|
47
|
+
"properties": { "key": { "type": "string", "minLength": 1 } }
|
|
48
|
+
},
|
|
49
|
+
"deleteOutput": {
|
|
50
|
+
"type": "object",
|
|
51
|
+
"additionalProperties": false,
|
|
52
|
+
"required": ["deleted"],
|
|
53
|
+
"properties": { "deleted": { "type": "boolean" } }
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-harness-tui/dsh-tui",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.7",
|
|
4
4
|
"description": "Claude Code style interactive TUI front door for DeepSeek Harness agents, built on the ported Ink core.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"clean": "node scripts/clean-lib.mjs",
|
|
86
86
|
"build:dsh-std": "pnpm --dir vendor/dsh-std install --frozen-lockfile --ignore-scripts && pnpm --dir vendor/dsh-std --filter @dsh-std/core --filter @dsh-std/manifest --filter @dsh-std/connection --filter @dsh-std/presentation --filter @dsh-std/command --filter @dsh-std/storage --filter @dsh-std/messages -r build",
|
|
87
87
|
"compile": "npm run build:dsh-std && npm run clean && tsc -p tsconfig.json",
|
|
88
|
-
"prepare": "npm run compile",
|
|
88
|
+
"prepare": "node scripts/prepare-guard.mjs && npm run compile",
|
|
89
89
|
"build": "npm run compile && npm run verify:build",
|
|
90
90
|
"dev": "node scripts/dev-test.mjs",
|
|
91
91
|
"dev:copy-config": "node scripts/dev-copy-config.mjs",
|
|
@@ -93,11 +93,13 @@
|
|
|
93
93
|
"prompt:debug": "node scripts/read-prompt-debug.mjs",
|
|
94
94
|
"tui": "node --import tsx/esm scripts/run.ts",
|
|
95
95
|
"smoke": "node --import tsx/esm scripts/smoke.tsx",
|
|
96
|
-
"verify:build": "npm run verify:boundary && npm run verify:contract && npm run verify:manifest-deps && npm run verify:patch-surface && npm run verify:plugin-spec && npm run verify:plugin-grants && npm run verify:plugin-storage && npm run verify:plugin-messages && npm run verify:plugin-ledger && npm run verify:plugin-commands && npm run verify:plugin-negotiation && npm run verify:plugin-lifecycle && npm run verify:packaged-presets && npm run verify:minimal-preset-tools && npm run verify:liangshen-bootstrap",
|
|
96
|
+
"verify:build": "npm run verify:boundary && npm run verify:contract && npm run verify:herdr && npm run verify:manifest-deps && npm run verify:patch-surface && npm run verify:web-coexistence && npm run verify:plugin-spec && npm run verify:plugin-grants && npm run verify:plugin-storage && npm run verify:plugin-messages && npm run verify:plugin-ledger && npm run verify:plugin-commands && npm run verify:plugin-negotiation && npm run verify:plugin-lifecycle && npm run verify:packaged-presets && npm run verify:minimal-preset-tools && npm run verify:liangshen-bootstrap",
|
|
97
97
|
"verify:boundary": "node --import tsx/esm scripts/verify-adapter-boundary.ts",
|
|
98
98
|
"verify:contract": "node --import tsx/esm scripts/verify-upstream-contract.ts",
|
|
99
|
+
"verify:herdr": "node --import tsx/esm scripts/verify-herdr-integration.ts",
|
|
99
100
|
"verify:manifest-deps": "node --import tsx/esm scripts/verify-manifest-deps.ts",
|
|
100
101
|
"verify:patch-surface": "node --import tsx/esm scripts/verify-patch-surface.ts",
|
|
102
|
+
"verify:web-coexistence": "node scripts/verify-web-coexistence.mjs",
|
|
101
103
|
"verify:plugin-spec": "node --import tsx/esm scripts/verify-plugin-spec.ts",
|
|
102
104
|
"verify:plugin-grants": "node --import tsx/esm scripts/verify-plugin-grants.ts",
|
|
103
105
|
"verify:plugin-storage": "node --import tsx/esm scripts/verify-plugin-storage.ts",
|
|
@@ -107,6 +109,7 @@
|
|
|
107
109
|
"verify:liangshen-bootstrap": "node scripts/verify-liangshen-bootstrap.mjs",
|
|
108
110
|
"verify:liangshen-bash": "node scripts/verify-liangshen-bash.mjs",
|
|
109
111
|
"verify:package": "npm pack --dry-run --json --ignore-scripts | node scripts/verify-package.mjs",
|
|
112
|
+
"verify:bun-package": "node scripts/verify-bun-package.mjs",
|
|
110
113
|
"verify:prompt-debug": "npm run build && node scripts/verify-prompt-debug.mjs",
|
|
111
114
|
"verify:clipboard-image": "node --import tsx/esm scripts/verify-clipboard-image.ts",
|
|
112
115
|
"verify:plugin-ledger": "node --import tsx/esm scripts/verify-plugin-ledger.ts",
|
|
@@ -120,39 +123,33 @@
|
|
|
120
123
|
},
|
|
121
124
|
"peerDependencies": {
|
|
122
125
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
123
|
-
"@deepseek-ai/dsh-agent": "^0.1.0-rc.
|
|
124
|
-
"@deepseek-ai/dsh-agent-instructions": "^0.1.0-rc.
|
|
125
|
-
"@deepseek-ai/dsh-agent-presets": "^0.1.0-rc.
|
|
126
|
-
"@deepseek-ai/dsh-atomic-write": "^0.1.0-rc.
|
|
127
|
-
"@deepseek-ai/dsh-commands": "^0.1.0-rc.
|
|
128
|
-
"@deepseek-ai/dsh-cordis-host-runner": "^0.1.0-rc.
|
|
129
|
-
"@deepseek-ai/dsh-invariants": "^0.1.0-rc.
|
|
130
|
-
"@deepseek-ai/dsh-llm": "^0.1.0-rc.
|
|
131
|
-
"@deepseek-ai/dsh-persona": "^0.1.0-rc.
|
|
132
|
-
"@deepseek-ai/dsh-session": "^0.1.0-rc.
|
|
133
|
-
"@deepseek-ai/dsh-
|
|
134
|
-
"@deepseek-ai/dsh-
|
|
135
|
-
"@deepseek-ai/dsh-storage
|
|
136
|
-
"@deepseek-ai/dsh-storage-
|
|
137
|
-
"@deepseek-ai/dsh-
|
|
138
|
-
"@deepseek-ai/dsh-
|
|
139
|
-
"@deepseek-ai/dsh-terminal
|
|
140
|
-
"@deepseek-ai/dsh-
|
|
141
|
-
"@deepseek-ai/dsh-tool-
|
|
142
|
-
"@deepseek-ai/dsh-tool-
|
|
143
|
-
"@deepseek-ai/dsh-
|
|
144
|
-
"@deepseek-ai/dsh-user-
|
|
145
|
-
"@deepseek-ai/dsh-
|
|
126
|
+
"@deepseek-ai/dsh-agent": "^0.1.0-rc.6",
|
|
127
|
+
"@deepseek-ai/dsh-agent-instructions": "^0.1.0-rc.6",
|
|
128
|
+
"@deepseek-ai/dsh-agent-presets": "^0.1.0-rc.6",
|
|
129
|
+
"@deepseek-ai/dsh-atomic-write": "^0.1.0-rc.6",
|
|
130
|
+
"@deepseek-ai/dsh-commands": "^0.1.0-rc.6",
|
|
131
|
+
"@deepseek-ai/dsh-cordis-host-runner": "^0.1.0-rc.6",
|
|
132
|
+
"@deepseek-ai/dsh-invariants": "^0.1.0-rc.6",
|
|
133
|
+
"@deepseek-ai/dsh-llm": "^0.1.0-rc.6",
|
|
134
|
+
"@deepseek-ai/dsh-persona": "^0.1.0-rc.6",
|
|
135
|
+
"@deepseek-ai/dsh-session": "^0.1.0-rc.6",
|
|
136
|
+
"@deepseek-ai/dsh-settings": "^0.1.0-rc.6",
|
|
137
|
+
"@deepseek-ai/dsh-skill": "^0.1.0-rc.6",
|
|
138
|
+
"@deepseek-ai/dsh-storage": "^0.1.0-rc.6",
|
|
139
|
+
"@deepseek-ai/dsh-storage-domain": "^0.1.0-rc.6",
|
|
140
|
+
"@deepseek-ai/dsh-storage-json": "^0.1.0-rc.6",
|
|
141
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.0-rc.6",
|
|
142
|
+
"@deepseek-ai/dsh-terminal": "^0.1.0-rc.6",
|
|
143
|
+
"@deepseek-ai/dsh-terminal-bash": "^0.1.0-rc.6",
|
|
144
|
+
"@deepseek-ai/dsh-tool-ask-user": "^0.1.0-rc.6",
|
|
145
|
+
"@deepseek-ai/dsh-tool-bash-persistent": "^0.1.0-rc.6",
|
|
146
|
+
"@deepseek-ai/dsh-tool-cordis": "^0.1.0-rc.6",
|
|
147
|
+
"@deepseek-ai/dsh-user-approval": "^0.1.0-rc.6",
|
|
148
|
+
"@deepseek-ai/dsh-user-questions": "^0.1.0-rc.6",
|
|
149
|
+
"@deepseek-ai/dsh-workspace": "^0.1.0-rc.6",
|
|
146
150
|
"@deepseek-ai/schemastery": "^3.18.1"
|
|
147
151
|
},
|
|
148
152
|
"dependencies": {
|
|
149
|
-
"@dsh-std/command": "workspace:*",
|
|
150
|
-
"@dsh-std/connection": "workspace:*",
|
|
151
|
-
"@dsh-std/core": "workspace:*",
|
|
152
|
-
"@dsh-std/manifest": "workspace:*",
|
|
153
|
-
"@dsh-std/messages": "workspace:*",
|
|
154
|
-
"@dsh-std/presentation": "workspace:*",
|
|
155
|
-
"@dsh-std/storage": "workspace:*",
|
|
156
153
|
"@alcalzone/ansi-tokenize": "^0.3.0",
|
|
157
154
|
"auto-bind": "^4.0.0 || ^5.0.0",
|
|
158
155
|
"bidi-js": "^1.0.0",
|
|
@@ -161,7 +158,7 @@
|
|
|
161
158
|
"cli-highlight": "^2.1.11",
|
|
162
159
|
"code-excerpt": "^3.0.0 || ^4.0.0",
|
|
163
160
|
"diff": "^8.0.4",
|
|
164
|
-
"dsh-working-activity": "^0.3.
|
|
161
|
+
"dsh-working-activity": "^0.3.3",
|
|
165
162
|
"emoji-regex": "^10.0.0",
|
|
166
163
|
"figures": "^6.1.0",
|
|
167
164
|
"get-east-asian-width": "^1.0.0",
|
|
@@ -193,46 +190,46 @@
|
|
|
193
190
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
194
191
|
"@deepseek-ai/cordis-plugin-include": "^1.0.6",
|
|
195
192
|
"@deepseek-ai/cordis-plugin-loader": "^1.0.2",
|
|
196
|
-
"@deepseek-ai/dsh-agent": "^0.1.0-rc.
|
|
197
|
-
"@deepseek-ai/dsh-agent-instructions": "^0.1.0-rc.
|
|
198
|
-
"@deepseek-ai/dsh-agent-presets": "^0.1.0-rc.
|
|
199
|
-
"@deepseek-ai/dsh-atomic-write": "^0.1.0-rc.
|
|
193
|
+
"@deepseek-ai/dsh-agent": "^0.1.0-rc.6",
|
|
194
|
+
"@deepseek-ai/dsh-agent-instructions": "^0.1.0-rc.6",
|
|
195
|
+
"@deepseek-ai/dsh-agent-presets": "^0.1.0-rc.6",
|
|
196
|
+
"@deepseek-ai/dsh-atomic-write": "^0.1.0-rc.6",
|
|
200
197
|
"@deepseek-ai/dsh-attachment": "^0.1.0-rc.6",
|
|
201
198
|
"@deepseek-ai/dsh-brand": "^0.1.0-rc.6",
|
|
202
199
|
"@deepseek-ai/dsh-code-runtime": "^0.1.0-rc.6",
|
|
203
|
-
"@deepseek-ai/dsh-commands": "^0.1.0-rc.
|
|
204
|
-
"@deepseek-ai/dsh-cordis-host-runner": "^0.1.0-rc.
|
|
200
|
+
"@deepseek-ai/dsh-commands": "^0.1.0-rc.6",
|
|
201
|
+
"@deepseek-ai/dsh-cordis-host-runner": "^0.1.0-rc.6",
|
|
205
202
|
"@deepseek-ai/dsh-fs": "^0.1.0-rc.6",
|
|
206
203
|
"@deepseek-ai/dsh-home-paths": "^0.1.0-rc.6",
|
|
207
|
-
"@deepseek-ai/dsh-invariants": "^0.1.0-rc.
|
|
208
|
-
"@deepseek-ai/dsh-llm": "^0.1.0-rc.
|
|
209
|
-
"@deepseek-ai/dsh-persona": "^0.1.0-rc.
|
|
204
|
+
"@deepseek-ai/dsh-invariants": "^0.1.0-rc.6",
|
|
205
|
+
"@deepseek-ai/dsh-llm": "^0.1.0-rc.6",
|
|
206
|
+
"@deepseek-ai/dsh-persona": "^0.1.0-rc.6",
|
|
210
207
|
"@deepseek-ai/dsh-sandbox": "^0.1.0-rc.6",
|
|
211
208
|
"@deepseek-ai/dsh-sandbox-policy": "^0.1.0-rc.6",
|
|
212
209
|
"@deepseek-ai/dsh-scope": "^0.1.0-rc.6",
|
|
213
|
-
"@deepseek-ai/dsh-session": "^0.1.0-rc.
|
|
210
|
+
"@deepseek-ai/dsh-session": "^0.1.0-rc.6",
|
|
214
211
|
"@deepseek-ai/dsh-session-persistence": "^0.1.0-rc.6",
|
|
215
212
|
"@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.0-rc.6",
|
|
216
213
|
"@deepseek-ai/dsh-session-persistence-sqlite": "^0.1.0-rc.6",
|
|
217
214
|
"@deepseek-ai/dsh-settings": "^0.1.0-rc.6",
|
|
218
|
-
"@deepseek-ai/dsh-skill": "^0.1.0-rc.
|
|
219
|
-
"@deepseek-ai/dsh-storage": "^0.1.0-rc.
|
|
220
|
-
"@deepseek-ai/dsh-storage-domain": "^0.1.0-rc.
|
|
221
|
-
"@deepseek-ai/dsh-storage-json": "^0.1.0-rc.
|
|
215
|
+
"@deepseek-ai/dsh-skill": "^0.1.0-rc.6",
|
|
216
|
+
"@deepseek-ai/dsh-storage": "^0.1.0-rc.6",
|
|
217
|
+
"@deepseek-ai/dsh-storage-domain": "^0.1.0-rc.6",
|
|
218
|
+
"@deepseek-ai/dsh-storage-json": "^0.1.0-rc.6",
|
|
222
219
|
"@deepseek-ai/dsh-subprocess": "^0.1.0-rc.6",
|
|
223
|
-
"@deepseek-ai/dsh-system-prompt": "^0.1.0-rc.
|
|
224
|
-
"@deepseek-ai/dsh-terminal": "^0.1.0-rc.
|
|
225
|
-
"@deepseek-ai/dsh-terminal-bash": "^0.1.0-rc.
|
|
220
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.0-rc.6",
|
|
221
|
+
"@deepseek-ai/dsh-terminal": "^0.1.0-rc.6",
|
|
222
|
+
"@deepseek-ai/dsh-terminal-bash": "^0.1.0-rc.6",
|
|
226
223
|
"@deepseek-ai/dsh-timeout": "^0.1.0-rc.6",
|
|
227
|
-
"@deepseek-ai/dsh-tool-ask-user": "^0.1.0-rc.
|
|
228
|
-
"@deepseek-ai/dsh-tool-bash-persistent": "^0.1.0-rc.
|
|
229
|
-
"@deepseek-ai/dsh-tool-cordis": "^0.1.0-rc.
|
|
224
|
+
"@deepseek-ai/dsh-tool-ask-user": "^0.1.0-rc.6",
|
|
225
|
+
"@deepseek-ai/dsh-tool-bash-persistent": "^0.1.0-rc.6",
|
|
226
|
+
"@deepseek-ai/dsh-tool-cordis": "^0.1.0-rc.6",
|
|
230
227
|
"@deepseek-ai/dsh-tools": "^0.1.0-rc.6",
|
|
231
228
|
"@deepseek-ai/dsh-typert-protocol": "^0.1.0-rc.6",
|
|
232
|
-
"@deepseek-ai/dsh-user-approval": "^0.1.0-rc.
|
|
233
|
-
"@deepseek-ai/dsh-user-questions": "^0.1.0-rc.
|
|
234
|
-
"@deepseek-ai/dsh-web-app": "0.1.0-rc.
|
|
235
|
-
"@deepseek-ai/dsh-workspace": "^0.1.0-rc.
|
|
229
|
+
"@deepseek-ai/dsh-user-approval": "^0.1.0-rc.6",
|
|
230
|
+
"@deepseek-ai/dsh-user-questions": "^0.1.0-rc.6",
|
|
231
|
+
"@deepseek-ai/dsh-web-app": "0.1.0-rc.8",
|
|
232
|
+
"@deepseek-ai/dsh-workspace": "^0.1.0-rc.6",
|
|
236
233
|
"@deepseek-ai/schemastery": "^3.18.1",
|
|
237
234
|
"@types/lodash-es": "^4.17.0",
|
|
238
235
|
"@types/node": "^22.0.0",
|
|
@@ -248,5 +245,14 @@
|
|
|
248
245
|
"bundle": {
|
|
249
246
|
"patch": "./cordis.patch.yml"
|
|
250
247
|
}
|
|
248
|
+
},
|
|
249
|
+
"optionalDependencies": {
|
|
250
|
+
"@dsh-std/command": "0.1.0",
|
|
251
|
+
"@dsh-std/connection": "0.1.0",
|
|
252
|
+
"@dsh-std/core": "0.1.0",
|
|
253
|
+
"@dsh-std/manifest": "0.1.0",
|
|
254
|
+
"@dsh-std/messages": "0.1.0",
|
|
255
|
+
"@dsh-std/presentation": "0.1.0",
|
|
256
|
+
"@dsh-std/storage": "0.1.0"
|
|
251
257
|
}
|
|
252
258
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
Changes to `@dsh-std/connection` are recorded here.
|
|
4
|
-
|
|
5
|
-
## 0.1.0 (draft)
|
|
6
|
-
|
|
7
|
-
- Defined connection services, endpoint views, participant publication, capability bindings, and attachments.
|
|
8
|
-
- Added an in-memory transport for protocol conformance and host integration tests.
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
Changes to `@dsh-std/connection` are recorded here.
|
|
4
|
+
|
|
5
|
+
## 0.1.0 (draft)
|
|
6
|
+
|
|
7
|
+
- Defined connection services, endpoint views, participant publication, capability bindings, and attachments.
|
|
8
|
+
- Added an in-memory transport for protocol conformance and host integration tests.
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 DSH Standard contributors
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 DSH Standard contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
# @dsh-std/connection
|
|
2
|
-
|
|
3
|
-
English | [中文](README.zh.md)
|
|
4
|
-
|
|
5
|
-
The proposed design is documented in [Endpoint Connection](../../docs/proposals/endpoint-connection.zh.md). It separates the application-facing `ConnectionService` from the Connection Host provider SPI. The remainder of this page describes the current reference implementation, which does not yet complete that split.
|
|
6
|
-
|
|
7
|
-
Host-provided communication service, two-endpoint capability negotiation, and implementation-neutral invocation for the DSH Standard.
|
|
8
|
-
|
|
9
|
-
## Endpoint offers
|
|
10
|
-
|
|
11
|
-
An endpoint offer contains an endpoint identity, a revision, and the live participant declarations admitted by endpoint policy. It carries no component manifests, installation inventory, or plugin registry.
|
|
12
|
-
|
|
13
|
-
`resolveConnection()` passes both sets of declarations to a caller-owned `ProtocolCatalog`. Each protocol definition owns its negotiation and may place invocation bindings in its agreement; connection does not impose consumer/provider semantics on every protocol. `defineCapabilityProtocol()` is an explicit helper for domain protocols that do use RPC-shaped bindings.
|
|
14
|
-
|
|
15
|
-
Each invocation binding is participant-scoped and plan-revision-scoped. A client for one participant cannot discover or invoke bindings granted to another participant.
|
|
16
|
-
|
|
17
|
-
## Current reference API
|
|
18
|
-
|
|
19
|
-
`StandardConnection` exposes endpoint identities, the active plan, consumer-scoped clients, plan-change observation, and close. `CapabilityClient.invoke()` returns an invocation id, a result promise, an asynchronous progress stream, and cancellation. Domain protocol packages own operation names and input, output, and progress values.
|
|
20
|
-
|
|
21
|
-
`ConnectionBroker` selects one registered `ConnectionConnector` for an implementation-neutral target URI. Zero matches and multiple matches are both explicit errors. The broker does not expose the selected connector type through `StandardConnection`.
|
|
22
|
-
|
|
23
|
-
These types are an early reference implementation. They do not require a TUI, Web UI, GUI, or business plugin to register and operate its own connector. The protocol direction places the broker, connector/provider registry, carrier, and wire behind a Connection Host's `ConnectionService`. A consumer submits a target and uses scoped typed clients for the negotiated protocols.
|
|
24
|
-
|
|
25
|
-
A Connection Host may install or discover a remote service, own authentication, ports, forwarding and reconnection, and produce the `StandardConnection`. An SSH target facet contributes resolution and bootstrap integration while system OpenSSH or another provider may supply the physical SSH implementation. Applications do not observe the selected provider, ports, credentials, or wire.
|
|
26
|
-
|
|
27
|
-
## Lifecycle
|
|
28
|
-
|
|
29
|
-
Renegotiation creates a complete new plan revision and publishes it atomically. An invocation admitted under the old revision retains its binding until settlement; later invocations use the new revision. Closing a connection cancels active work and rejects new work with `connection-closed`.
|
|
30
|
-
|
|
31
|
-
Transport implementations must preserve invocation isolation, progress order, cancellation, and the error classification exposed by `ConnectionInvocationError`. They are also responsible for authenticating the peer and preventing one connection from reusing another connection's grants.
|
|
32
|
-
|
|
33
|
-
## Reference implementation
|
|
34
|
-
|
|
35
|
-
The `@dsh-std/connection/memory` export provides a process-local implementation for tests, adapters, and conformance experiments. It demonstrates symmetric calls, progress, cancellation, isolation, and renegotiation. It is not a required carrier or a wire-format specification.
|
|
36
|
-
|
|
37
|
-
## Known Limitations and Deferred Work
|
|
38
|
-
|
|
39
|
-
- The consumer-facing `ConnectionService` and Host provider SPI are not implemented in the current code yet.
|
|
40
|
-
- The package does not yet standardize discovery, authentication, encryption, reconnect policy, framing, or serialization.
|
|
41
|
-
- A connection has exactly two endpoints in `v1alpha1`; multi-party routing is composed from separate connections.
|
|
42
|
-
- The capability helper requires one peer provider by default. Protocols that allow multiple providers must opt into and define that behavior explicitly.
|
|
1
|
+
# @dsh-std/connection
|
|
2
|
+
|
|
3
|
+
English | [中文](README.zh.md)
|
|
4
|
+
|
|
5
|
+
The proposed design is documented in [Endpoint Connection](../../docs/proposals/endpoint-connection.zh.md). It separates the application-facing `ConnectionService` from the Connection Host provider SPI. The remainder of this page describes the current reference implementation, which does not yet complete that split.
|
|
6
|
+
|
|
7
|
+
Host-provided communication service, two-endpoint capability negotiation, and implementation-neutral invocation for the DSH Standard.
|
|
8
|
+
|
|
9
|
+
## Endpoint offers
|
|
10
|
+
|
|
11
|
+
An endpoint offer contains an endpoint identity, a revision, and the live participant declarations admitted by endpoint policy. It carries no component manifests, installation inventory, or plugin registry.
|
|
12
|
+
|
|
13
|
+
`resolveConnection()` passes both sets of declarations to a caller-owned `ProtocolCatalog`. Each protocol definition owns its negotiation and may place invocation bindings in its agreement; connection does not impose consumer/provider semantics on every protocol. `defineCapabilityProtocol()` is an explicit helper for domain protocols that do use RPC-shaped bindings.
|
|
14
|
+
|
|
15
|
+
Each invocation binding is participant-scoped and plan-revision-scoped. A client for one participant cannot discover or invoke bindings granted to another participant.
|
|
16
|
+
|
|
17
|
+
## Current reference API
|
|
18
|
+
|
|
19
|
+
`StandardConnection` exposes endpoint identities, the active plan, consumer-scoped clients, plan-change observation, and close. `CapabilityClient.invoke()` returns an invocation id, a result promise, an asynchronous progress stream, and cancellation. Domain protocol packages own operation names and input, output, and progress values.
|
|
20
|
+
|
|
21
|
+
`ConnectionBroker` selects one registered `ConnectionConnector` for an implementation-neutral target URI. Zero matches and multiple matches are both explicit errors. The broker does not expose the selected connector type through `StandardConnection`.
|
|
22
|
+
|
|
23
|
+
These types are an early reference implementation. They do not require a TUI, Web UI, GUI, or business plugin to register and operate its own connector. The protocol direction places the broker, connector/provider registry, carrier, and wire behind a Connection Host's `ConnectionService`. A consumer submits a target and uses scoped typed clients for the negotiated protocols.
|
|
24
|
+
|
|
25
|
+
A Connection Host may install or discover a remote service, own authentication, ports, forwarding and reconnection, and produce the `StandardConnection`. An SSH target facet contributes resolution and bootstrap integration while system OpenSSH or another provider may supply the physical SSH implementation. Applications do not observe the selected provider, ports, credentials, or wire.
|
|
26
|
+
|
|
27
|
+
## Lifecycle
|
|
28
|
+
|
|
29
|
+
Renegotiation creates a complete new plan revision and publishes it atomically. An invocation admitted under the old revision retains its binding until settlement; later invocations use the new revision. Closing a connection cancels active work and rejects new work with `connection-closed`.
|
|
30
|
+
|
|
31
|
+
Transport implementations must preserve invocation isolation, progress order, cancellation, and the error classification exposed by `ConnectionInvocationError`. They are also responsible for authenticating the peer and preventing one connection from reusing another connection's grants.
|
|
32
|
+
|
|
33
|
+
## Reference implementation
|
|
34
|
+
|
|
35
|
+
The `@dsh-std/connection/memory` export provides a process-local implementation for tests, adapters, and conformance experiments. It demonstrates symmetric calls, progress, cancellation, isolation, and renegotiation. It is not a required carrier or a wire-format specification.
|
|
36
|
+
|
|
37
|
+
## Known Limitations and Deferred Work
|
|
38
|
+
|
|
39
|
+
- The consumer-facing `ConnectionService` and Host provider SPI are not implemented in the current code yet.
|
|
40
|
+
- The package does not yet standardize discovery, authentication, encryption, reconnect policy, framing, or serialization.
|
|
41
|
+
- A connection has exactly two endpoints in `v1alpha1`; multi-party routing is composed from separate connections.
|
|
42
|
+
- The capability helper requires one peer provider by default. Protocols that allow multiple providers must opt into and define that behavior explicitly.
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
# @dsh-std/connection
|
|
2
|
-
|
|
3
|
-
[English](README.md) | 中文
|
|
4
|
-
|
|
5
|
-
拟议设计见 [Endpoint Connection](../../docs/proposals/endpoint-connection.zh.md)。规范把普通应用使用的 `ConnectionService` 与 Connection Host 的 provider SPI 分开;本页其余内容描述尚未完成该分层的当前参考实现。
|
|
6
|
-
|
|
7
|
-
DSH Standard 的宿主通信 service、双端点能力协商与实现无关调用。
|
|
8
|
-
|
|
9
|
-
## 端点提议
|
|
10
|
-
|
|
11
|
-
端点提议包含端点身份、修订号,以及经端点 policy 裁剪后的 live participant declarations。它不携带 component manifests、安装记录或插件注册表。
|
|
12
|
-
|
|
13
|
-
`resolveConnection()` 把两端 declarations 交给调用方提供的 `ProtocolCatalog`。每份协议 definition 决定如何协商,并可在 agreement 中产生调用绑定;connection 不为所有协议预设 consumer/provider 语义。内置的 `defineCapabilityProtocol()` 是需要 RPC 绑定的领域协议可显式采用的辅助定义。
|
|
14
|
-
|
|
15
|
-
每项调用绑定都限定于消费 participant 和方案修订版。一个 participant 的客户端不能发现或调用授予另一 participant 的绑定。
|
|
16
|
-
|
|
17
|
-
## 当前参考 API
|
|
18
|
-
|
|
19
|
-
`StandardConnection` 暴露端点身份、当前方案、按消费方隔离的客户端、方案变更观察与关闭操作。`CapabilityClient.invoke()` 返回调用 id、结果 Promise、异步进度流与取消操作。领域协议包拥有操作名称以及输入、输出和进度值的语义。
|
|
20
|
-
|
|
21
|
-
`ConnectionBroker` 根据与实现无关的目标 URI,从已注册 `ConnectionConnector` 中选择唯一实现。零个匹配与多个匹配都是明确错误。broker 不会通过 `StandardConnection` 暴露选中的 connector 类型。
|
|
22
|
-
|
|
23
|
-
这些类型是早期参考实现,不表示 TUI、Web、GUI 或业务插件应自行注册 connector。规范方向是由 Connection Host 把 broker、connector/provider、carrier 和 wire 封装为 `ConnectionService`;consumer 只提交 target,并通过 scoped typed client 使用已协商协议。
|
|
24
|
-
|
|
25
|
-
Connection Host 负责安装或发现远端服务、认证、端口与转发、重连和 `StandardConnection`。SSH target facet 可以贡献解析与 bootstrap 集成,物理 SSH 则可由系统 OpenSSH 或独立 provider 完成。应用不会看到所选 provider、端口、凭据或 wire。
|
|
26
|
-
|
|
27
|
-
## 生命周期
|
|
28
|
-
|
|
29
|
-
重新协商会生成完整的新方案修订版,并原子发布。旧修订版已经接纳的调用保留其绑定直至结束;后续调用使用新修订版。关闭连接会取消活跃工作,并以 `connection-closed` 拒绝新工作。
|
|
30
|
-
|
|
31
|
-
传输实现必须保持调用隔离、进度顺序、取消语义和 `ConnectionInvocationError` 暴露的错误分类。实现还负责认证对端,并阻止一条连接复用另一条连接的授权。
|
|
32
|
-
|
|
33
|
-
## 参考实现
|
|
34
|
-
|
|
35
|
-
`@dsh-std/connection/memory` 导出用于测试、适配器和一致性实验的进程内实现。它演示双向调用、进度、取消、隔离和重新协商,但不是强制承载方式或线协议规范。
|
|
36
|
-
|
|
37
|
-
## 已知限制与暂缓事项
|
|
38
|
-
|
|
39
|
-
- consumer-facing `ConnectionService` 与 Host provider SPI 尚未在当前代码中实现。
|
|
40
|
-
- 本包尚未标准化发现、认证、加密、重连策略、封帧或序列化。
|
|
41
|
-
- `v1alpha1` 的一条连接恰好包含两个端点;多方路由由多条独立连接组合。
|
|
42
|
-
- Capability helper 默认要求唯一对端提供方;需要多提供方的协议必须明确选择其规则。
|
|
1
|
+
# @dsh-std/connection
|
|
2
|
+
|
|
3
|
+
[English](README.md) | 中文
|
|
4
|
+
|
|
5
|
+
拟议设计见 [Endpoint Connection](../../docs/proposals/endpoint-connection.zh.md)。规范把普通应用使用的 `ConnectionService` 与 Connection Host 的 provider SPI 分开;本页其余内容描述尚未完成该分层的当前参考实现。
|
|
6
|
+
|
|
7
|
+
DSH Standard 的宿主通信 service、双端点能力协商与实现无关调用。
|
|
8
|
+
|
|
9
|
+
## 端点提议
|
|
10
|
+
|
|
11
|
+
端点提议包含端点身份、修订号,以及经端点 policy 裁剪后的 live participant declarations。它不携带 component manifests、安装记录或插件注册表。
|
|
12
|
+
|
|
13
|
+
`resolveConnection()` 把两端 declarations 交给调用方提供的 `ProtocolCatalog`。每份协议 definition 决定如何协商,并可在 agreement 中产生调用绑定;connection 不为所有协议预设 consumer/provider 语义。内置的 `defineCapabilityProtocol()` 是需要 RPC 绑定的领域协议可显式采用的辅助定义。
|
|
14
|
+
|
|
15
|
+
每项调用绑定都限定于消费 participant 和方案修订版。一个 participant 的客户端不能发现或调用授予另一 participant 的绑定。
|
|
16
|
+
|
|
17
|
+
## 当前参考 API
|
|
18
|
+
|
|
19
|
+
`StandardConnection` 暴露端点身份、当前方案、按消费方隔离的客户端、方案变更观察与关闭操作。`CapabilityClient.invoke()` 返回调用 id、结果 Promise、异步进度流与取消操作。领域协议包拥有操作名称以及输入、输出和进度值的语义。
|
|
20
|
+
|
|
21
|
+
`ConnectionBroker` 根据与实现无关的目标 URI,从已注册 `ConnectionConnector` 中选择唯一实现。零个匹配与多个匹配都是明确错误。broker 不会通过 `StandardConnection` 暴露选中的 connector 类型。
|
|
22
|
+
|
|
23
|
+
这些类型是早期参考实现,不表示 TUI、Web、GUI 或业务插件应自行注册 connector。规范方向是由 Connection Host 把 broker、connector/provider、carrier 和 wire 封装为 `ConnectionService`;consumer 只提交 target,并通过 scoped typed client 使用已协商协议。
|
|
24
|
+
|
|
25
|
+
Connection Host 负责安装或发现远端服务、认证、端口与转发、重连和 `StandardConnection`。SSH target facet 可以贡献解析与 bootstrap 集成,物理 SSH 则可由系统 OpenSSH 或独立 provider 完成。应用不会看到所选 provider、端口、凭据或 wire。
|
|
26
|
+
|
|
27
|
+
## 生命周期
|
|
28
|
+
|
|
29
|
+
重新协商会生成完整的新方案修订版,并原子发布。旧修订版已经接纳的调用保留其绑定直至结束;后续调用使用新修订版。关闭连接会取消活跃工作,并以 `connection-closed` 拒绝新工作。
|
|
30
|
+
|
|
31
|
+
传输实现必须保持调用隔离、进度顺序、取消语义和 `ConnectionInvocationError` 暴露的错误分类。实现还负责认证对端,并阻止一条连接复用另一条连接的授权。
|
|
32
|
+
|
|
33
|
+
## 参考实现
|
|
34
|
+
|
|
35
|
+
`@dsh-std/connection/memory` 导出用于测试、适配器和一致性实验的进程内实现。它演示双向调用、进度、取消、隔离和重新协商,但不是强制承载方式或线协议规范。
|
|
36
|
+
|
|
37
|
+
## 已知限制与暂缓事项
|
|
38
|
+
|
|
39
|
+
- consumer-facing `ConnectionService` 与 Host provider SPI 尚未在当前代码中实现。
|
|
40
|
+
- 本包尚未标准化发现、认证、加密、重连策略、封帧或序列化。
|
|
41
|
+
- `v1alpha1` 的一条连接恰好包含两个端点;多方路由由多条独立连接组合。
|
|
42
|
+
- Capability helper 默认要求唯一对端提供方;需要多提供方的协议必须明确选择其规则。
|