@deepseek-harness-tui/dsh-tui 0.8.7 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -10
- package/bin/dsh-tui.js +1 -1
- package/lib/types/commands.d.ts.map +1 -1
- package/lib/types/commands.js +4 -2
- package/lib/types/components/ActivityPicker.d.ts +4 -1
- package/lib/types/components/ActivityPicker.d.ts.map +1 -1
- package/lib/types/components/ActivityPicker.js +2 -2
- package/lib/types/components/BtwPanel.d.ts.map +1 -1
- package/lib/types/components/BtwPanel.js +1 -1
- package/lib/types/components/Chat/SubagentMessage.d.ts +2 -1
- package/lib/types/components/Chat/SubagentMessage.d.ts.map +1 -1
- package/lib/types/components/Chat/SubagentMessage.js +11 -3
- package/lib/types/components/CommandSuggestions.d.ts +21 -4
- package/lib/types/components/CommandSuggestions.d.ts.map +1 -1
- package/lib/types/components/CommandSuggestions.js +41 -14
- package/lib/types/components/EffortSlider.d.ts +4 -1
- package/lib/types/components/EffortSlider.d.ts.map +1 -1
- package/lib/types/components/EffortSlider.js +4 -2
- package/lib/types/components/ExtensionDialog.js +6 -2
- package/lib/types/components/FileSuggestions.d.ts +26 -5
- package/lib/types/components/FileSuggestions.d.ts.map +1 -1
- package/lib/types/components/FileSuggestions.js +53 -16
- package/lib/types/components/GoalTodoPanel.d.ts +26 -2
- package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
- package/lib/types/components/GoalTodoPanel.js +86 -17
- package/lib/types/components/HelpMenu.d.ts +7 -1
- package/lib/types/components/HelpMenu.d.ts.map +1 -1
- package/lib/types/components/HelpMenu.js +12 -4
- package/lib/types/components/HistorySearchDialog.d.ts +4 -1
- package/lib/types/components/HistorySearchDialog.d.ts.map +1 -1
- package/lib/types/components/HistorySearchDialog.js +2 -2
- package/lib/types/components/LangPicker.d.ts +14 -0
- package/lib/types/components/LangPicker.d.ts.map +1 -0
- package/lib/types/components/LangPicker.js +17 -0
- package/lib/types/components/LoadedContextPanel.d.ts.map +1 -1
- package/lib/types/components/LoadedContextPanel.js +3 -1
- package/lib/types/components/LogoV2.d.ts +5 -1
- package/lib/types/components/LogoV2.d.ts.map +1 -1
- package/lib/types/components/LogoV2.js +12 -3
- package/lib/types/components/Markdown.d.ts.map +1 -1
- package/lib/types/components/Markdown.js +12 -3
- package/lib/types/components/MessageList.d.ts +43 -2
- package/lib/types/components/MessageList.d.ts.map +1 -1
- package/lib/types/components/MessageList.js +553 -41
- package/lib/types/components/ModelPicker.d.ts +4 -1
- package/lib/types/components/ModelPicker.d.ts.map +1 -1
- package/lib/types/components/ModelPicker.js +2 -2
- package/lib/types/components/PermissionsPicker.d.ts +21 -0
- package/lib/types/components/PermissionsPicker.d.ts.map +1 -0
- package/lib/types/components/PermissionsPicker.js +27 -0
- package/lib/types/components/PlanPicker.d.ts +15 -0
- package/lib/types/components/PlanPicker.d.ts.map +1 -0
- package/lib/types/components/PlanPicker.js +18 -0
- package/lib/types/components/PresetPicker.d.ts +4 -1
- package/lib/types/components/PresetPicker.d.ts.map +1 -1
- package/lib/types/components/PresetPicker.js +2 -2
- package/lib/types/components/PromptInput.d.ts +4 -3
- package/lib/types/components/PromptInput.d.ts.map +1 -1
- package/lib/types/components/PromptInput.js +273 -50
- package/lib/types/components/RewindPicker.d.ts +12 -1
- package/lib/types/components/RewindPicker.d.ts.map +1 -1
- package/lib/types/components/RewindPicker.js +6 -4
- package/lib/types/components/ScrollbarGutter.d.ts +28 -0
- package/lib/types/components/ScrollbarGutter.d.ts.map +1 -0
- package/lib/types/components/ScrollbarGutter.js +68 -0
- package/lib/types/components/Select.d.ts +8 -1
- package/lib/types/components/Select.d.ts.map +1 -1
- package/lib/types/components/Select.js +4 -2
- package/lib/types/components/SkillsPicker.d.ts +4 -1
- package/lib/types/components/SkillsPicker.d.ts.map +1 -1
- package/lib/types/components/SkillsPicker.js +2 -2
- package/lib/types/components/SubagentCard.d.ts +2 -1
- package/lib/types/components/SubagentCard.d.ts.map +1 -1
- package/lib/types/components/SubagentCard.js +6 -1
- package/lib/types/components/SubagentDashboard.d.ts +4 -0
- package/lib/types/components/SubagentDashboard.d.ts.map +1 -1
- package/lib/types/components/SubagentDashboard.js +9 -1
- package/lib/types/components/SubagentDetailScene.d.ts.map +1 -1
- package/lib/types/components/SubagentDetailScene.js +5 -4
- package/lib/types/components/SuggestionCard.d.ts +63 -0
- package/lib/types/components/SuggestionCard.d.ts.map +1 -0
- package/lib/types/components/SuggestionCard.js +77 -0
- package/lib/types/components/ThemePicker.d.ts +4 -1
- package/lib/types/components/ThemePicker.d.ts.map +1 -1
- package/lib/types/components/ThemePicker.js +2 -2
- package/lib/types/components/ThinkingToggle.d.ts +4 -1
- package/lib/types/components/ThinkingToggle.d.ts.map +1 -1
- package/lib/types/components/ThinkingToggle.js +2 -2
- package/lib/types/components/TimelineRail.d.ts +53 -0
- package/lib/types/components/TimelineRail.d.ts.map +1 -0
- package/lib/types/components/TimelineRail.js +190 -0
- package/lib/types/components/WorkspaceFlowPicker.d.ts +6 -1
- package/lib/types/components/WorkspaceFlowPicker.d.ts.map +1 -1
- package/lib/types/components/WorkspaceFlowPicker.js +4 -2
- package/lib/types/components/WorkspaceMenuPicker.d.ts +19 -0
- package/lib/types/components/WorkspaceMenuPicker.d.ts.map +1 -0
- package/lib/types/components/WorkspaceMenuPicker.js +19 -0
- package/lib/types/components/WorkspacePicker.d.ts +4 -1
- package/lib/types/components/WorkspacePicker.d.ts.map +1 -1
- package/lib/types/components/WorkspacePicker.js +2 -2
- package/lib/types/components/approvals/ApprovalPanel.d.ts.map +1 -1
- package/lib/types/components/approvals/ApprovalPanel.js +5 -1
- package/lib/types/components/design-system/ListItem.d.ts +8 -1
- package/lib/types/components/design-system/ListItem.d.ts.map +1 -1
- package/lib/types/components/design-system/ListItem.js +8 -3
- package/lib/types/components/messages/AssistantTextMessage.d.ts +5 -2
- package/lib/types/components/messages/AssistantTextMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantTextMessage.js +6 -2
- package/lib/types/components/messages/AssistantThinkingMessage.d.ts +2 -1
- package/lib/types/components/messages/AssistantThinkingMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantThinkingMessage.js +10 -4
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts +8 -1
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantToolUseMessage.js +4 -2
- package/lib/types/components/messages/UserPromptMessage.d.ts +2 -1
- package/lib/types/components/messages/UserPromptMessage.d.ts.map +1 -1
- package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -1
- package/lib/types/components/questions/AskUserQuestionPanel.js +34 -2
- package/lib/types/components/questions/PlanReviewPanel.d.ts.map +1 -1
- package/lib/types/components/questions/PlanReviewPanel.js +13 -2
- package/lib/types/components/sessions/SessionListRow.d.ts +4 -1
- package/lib/types/components/sessions/SessionListRow.d.ts.map +1 -1
- package/lib/types/components/sessions/SessionListRow.js +4 -2
- package/lib/types/components/trajectory/HotspotView.d.ts +7 -1
- package/lib/types/components/trajectory/HotspotView.d.ts.map +1 -1
- package/lib/types/components/trajectory/HotspotView.js +8 -2
- package/lib/types/components/trajectory/Ledger.d.ts +9 -1
- package/lib/types/components/trajectory/Ledger.d.ts.map +1 -1
- package/lib/types/components/trajectory/Ledger.js +23 -5
- package/lib/types/components/trajectory/WaveBand.d.ts +10 -1
- package/lib/types/components/trajectory/WaveBand.d.ts.map +1 -1
- package/lib/types/components/trajectory/WaveBand.js +7 -2
- package/lib/types/dsh-adapter/channel.d.ts +27 -6
- package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel.js +432 -66
- package/lib/types/dsh-adapter/contract.d.ts +58 -18
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
- package/lib/types/dsh-adapter/contract.js +124 -36
- package/lib/types/dsh-adapter/index.d.ts +10 -2
- package/lib/types/dsh-adapter/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/index.js +10 -13
- package/lib/types/dsh-adapter/plugin.d.ts +0 -9
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +136 -6
- package/lib/types/i18n.d.ts +194 -16
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +73 -10
- package/lib/types/ink/components/AlternateScreen.d.ts.map +1 -1
- package/lib/types/ink/components/AlternateScreen.js +13 -1
- package/lib/types/ink/components/App.d.ts +12 -1
- package/lib/types/ink/components/App.d.ts.map +1 -1
- package/lib/types/ink/components/App.js +101 -4
- package/lib/types/ink/components/ClockContext.d.ts.map +1 -1
- package/lib/types/ink/components/ClockContext.js +2 -0
- package/lib/types/ink/components/ScrollBox.d.ts.map +1 -1
- package/lib/types/ink/components/ScrollBox.js +170 -91
- package/lib/types/ink/constants.d.ts +9 -0
- package/lib/types/ink/constants.d.ts.map +1 -1
- package/lib/types/ink/constants.js +9 -0
- package/lib/types/ink/events/click-event.d.ts +7 -16
- package/lib/types/ink/events/click-event.d.ts.map +1 -1
- package/lib/types/ink/events/click-event.js +16 -19
- package/lib/types/ink/events/event-handlers.d.ts +11 -1
- package/lib/types/ink/events/event-handlers.d.ts.map +1 -1
- package/lib/types/ink/events/event-handlers.js +2 -0
- package/lib/types/ink/events/input-event.d.ts +9 -0
- package/lib/types/ink/events/input-event.d.ts.map +1 -1
- package/lib/types/ink/events/input-event.js +4 -0
- package/lib/types/ink/events/pointer-event.d.ts +61 -0
- package/lib/types/ink/events/pointer-event.d.ts.map +1 -0
- package/lib/types/ink/events/pointer-event.js +61 -0
- package/lib/types/ink/events/wheel-event.d.ts +17 -0
- package/lib/types/ink/events/wheel-event.d.ts.map +1 -0
- package/lib/types/ink/events/wheel-event.js +20 -0
- package/lib/types/ink/geometry-trace.d.ts +51 -0
- package/lib/types/ink/geometry-trace.d.ts.map +1 -0
- package/lib/types/ink/geometry-trace.js +83 -0
- package/lib/types/ink/hit-test.d.ts +56 -1
- package/lib/types/ink/hit-test.d.ts.map +1 -1
- package/lib/types/ink/hit-test.js +146 -8
- package/lib/types/ink/ink.d.ts +58 -1
- package/lib/types/ink/ink.d.ts.map +1 -1
- package/lib/types/ink/ink.js +268 -52
- package/lib/types/ink/node-cache.d.ts +5 -0
- package/lib/types/ink/node-cache.d.ts.map +1 -1
- package/lib/types/ink/parse-keypress.d.ts +8 -0
- package/lib/types/ink/parse-keypress.d.ts.map +1 -1
- package/lib/types/ink/parse-keypress.js +101 -12
- package/lib/types/ink/render-node-to-output.d.ts +16 -3
- package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
- package/lib/types/ink/render-node-to-output.js +144 -25
- package/lib/types/ink/selection.d.ts +29 -4
- package/lib/types/ink/selection.d.ts.map +1 -1
- package/lib/types/ink/selection.js +41 -5
- package/lib/types/ink/timeline-rail.d.ts +138 -0
- package/lib/types/ink/timeline-rail.d.ts.map +1 -0
- package/lib/types/ink/timeline-rail.js +179 -0
- package/lib/types/ink/wrap-text.d.ts.map +1 -1
- package/lib/types/ink/wrap-text.js +47 -5
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +819 -337
- package/lib/types/screens/SessionBrowser.d.ts.map +1 -1
- package/lib/types/screens/SessionBrowser.js +56 -29
- package/lib/types/screens/Settings.d.ts.map +1 -1
- package/lib/types/screens/Settings.js +64 -22
- package/lib/types/screens/StatusLine.d.ts +2 -1
- package/lib/types/screens/StatusLine.d.ts.map +1 -1
- package/lib/types/screens/StatusLine.js +17 -1
- package/lib/types/screens/TrajectoryScene.d.ts.map +1 -1
- package/lib/types/screens/TrajectoryScene.js +81 -14
- package/lib/types/screens/chatOverlay.d.ts +221 -0
- package/lib/types/screens/chatOverlay.d.ts.map +1 -0
- package/lib/types/screens/chatOverlay.js +114 -0
- package/lib/types/tips.d.ts.map +1 -1
- package/lib/types/tips.js +64 -10
- package/lib/types/tuiDisplayPrefs.d.ts +15 -0
- package/lib/types/tuiDisplayPrefs.d.ts.map +1 -1
- package/lib/types/tuiDisplayPrefs.js +9 -0
- package/lib/types/utils/debug.d.ts +10 -0
- package/lib/types/utils/debug.d.ts.map +1 -1
- package/lib/types/utils/debug.js +24 -0
- package/lib/types/utils/fileSuggestions.d.ts +19 -0
- package/lib/types/utils/fileSuggestions.d.ts.map +1 -0
- package/lib/types/utils/fileSuggestions.js +40 -0
- package/lib/types/utils/mentions.d.ts.map +1 -1
- package/lib/types/utils/mentions.js +3 -1
- package/lib/types/utils/paths.d.ts.map +1 -1
- package/lib/types/utils/paths.js +1 -0
- package/package.json +69 -66
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
/** Primary validated upstream line (newest). */
|
|
2
|
-
export declare const UPSTREAM_VALIDATED_VERSION = "0.1.
|
|
3
|
-
/**
|
|
2
|
+
export declare const UPSTREAM_VALIDATED_VERSION = "0.1.1-rc.2";
|
|
3
|
+
/**
|
|
4
|
+
* Every upstream prerelease line the adapter has been validated against,
|
|
5
|
+
* oldest first.
|
|
4
6
|
*
|
|
5
|
-
* rc.
|
|
6
|
-
*
|
|
7
|
-
* rc.7
|
|
7
|
+
* 0.1.1-rc.2 = primary; 0.1.1-rc.1 = transitional line of the same family
|
|
8
|
+
* (install- and type-level compatibility); 0.1.0-rc.8 = previous family
|
|
9
|
+
* (full CI coverage); 0.1.0-rc.7 = full CI coverage as well; 0.1.0-rc.6 =
|
|
10
|
+
* legacy line (install- and type-level compatibility, feature surface may
|
|
11
|
+
* lack later additions — new features must degrade gracefully there).
|
|
8
12
|
* The peer range in package.json is deliberately wider than this list: an
|
|
9
|
-
* install on an older line is allowed but reports drift at boot.
|
|
13
|
+
* install on an older or newer line is allowed but reports drift at boot.
|
|
10
14
|
*/
|
|
11
|
-
export declare const
|
|
15
|
+
export declare const UPSTREAM_VALIDATED_VERSIONS: readonly ["0.1.0-rc.6", "0.1.0-rc.7", "0.1.0-rc.8", "0.1.1-rc.1", "0.1.1-rc.2"];
|
|
12
16
|
/**
|
|
13
17
|
* Framework packages version on their own lines; the contract validates
|
|
14
18
|
* their MAJOR (breaking surface), not the harness rc number.
|
|
@@ -21,23 +25,59 @@ export interface UpstreamDriftEntry {
|
|
|
21
25
|
installed: string | undefined;
|
|
22
26
|
validated: string;
|
|
23
27
|
}
|
|
24
|
-
/**
|
|
28
|
+
/** A parsed upstream prerelease version, e.g. `0.1.1-rc.2` → `[0, 1, 1, 2]`. */
|
|
29
|
+
export type UpstreamVersionTuple = readonly [number, number, number, number];
|
|
30
|
+
/** Parse an upstream prerelease version; undefined when unparseable. */
|
|
31
|
+
export declare function parseUpstreamVersion(version: string | undefined): UpstreamVersionTuple | undefined;
|
|
32
|
+
/** Human-readable summary of the validated lines, e.g. `0.1.1-rc.2 (0.1.0-rc.6/7/8, 0.1.1-rc.1/2)`. */
|
|
25
33
|
export declare const UPSTREAM_VALIDATED_LABEL: string;
|
|
26
34
|
export declare function installedUpstreamVersions(): Record<string, string | undefined>;
|
|
27
|
-
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
/**
|
|
36
|
+
* The installed upstream version of one blessed package, parsed; undefined
|
|
37
|
+
* when missing or not on an `x.y.z-rc.n` prerelease line. Feature gates
|
|
38
|
+
* compare this against the line a behavior was introduced on, so the
|
|
39
|
+
* adapter degrades on older installs instead of calling APIs they do not
|
|
40
|
+
* have.
|
|
41
|
+
*/
|
|
42
|
+
export declare function installedUpstreamVersion(packageName: string): UpstreamVersionTuple | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Whether the installed version of `packageName` is at or beyond `minimum`
|
|
45
|
+
* (a literal like `'0.1.0-rc.8'`). Unparseable or older installs return
|
|
46
|
+
* false so features introduced on the minimum line degrade gracefully.
|
|
47
|
+
*/
|
|
48
|
+
export declare function installedMeetsVersion(packageName: string, minimum: string): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* The distinct installed prerelease versions across the blessed harness
|
|
51
|
+
* packages (framework packages excluded). One entry = coherent install;
|
|
52
|
+
* several = a mixed tree, which the per-package drift check cannot see.
|
|
53
|
+
* Empty when nothing (or no harness package) is installed.
|
|
54
|
+
*/
|
|
55
|
+
export declare function installedUpstreamLines(): string[];
|
|
37
56
|
/**
|
|
38
57
|
* Report every blessed package whose installed version is NOT one of the
|
|
39
58
|
* validated release lines. Empty array = the running install matches the
|
|
40
59
|
* contract.
|
|
41
60
|
*/
|
|
42
61
|
export declare function upstreamDrift(): UpstreamDriftEntry[];
|
|
62
|
+
/**
|
|
63
|
+
* Classification of a drifted install for the one-line boot notice:
|
|
64
|
+
* `newer` / `older` — every drifted harness package sits on a single
|
|
65
|
+
* parseable version off one end of the validated window; `mixed` — several
|
|
66
|
+
* distinct versions coexist (unstable tree); `broken` — something is
|
|
67
|
+
* missing or unparseable and wording cannot get more specific.
|
|
68
|
+
*/
|
|
69
|
+
export type UpstreamDriftKind = 'newer' | 'older' | 'mixed' | 'broken';
|
|
70
|
+
/** Merged drift verdict consumed by the logo header notice (LogoV2). */
|
|
71
|
+
export interface UpstreamDriftSummary {
|
|
72
|
+
kind: UpstreamDriftKind;
|
|
73
|
+
/** Distinct installed versions among drifted packages ('missing' for absent ones). */
|
|
74
|
+
versions: string[];
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Collapse {@link upstreamDrift} into a single summary for the boot notice:
|
|
78
|
+
* undefined when the install matches the contract. Only harness rc packages
|
|
79
|
+
* decide newer/older/mixed; a framework-only drift (e.g. a cordis major
|
|
80
|
+
* bump) reports `broken`, since its version line is not comparable.
|
|
81
|
+
*/
|
|
82
|
+
export declare function upstreamDriftSummary(): UpstreamDriftSummary | undefined;
|
|
43
83
|
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/contract.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/contract.ts"],"names":[],"mappings":"AAiBA,gDAAgD;AAChD,eAAO,MAAM,0BAA0B,eAAe,CAAA;AAEtD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,iFAM9B,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG5D,CAAA;AAED,qEAAqE;AACrE,eAAO,MAAM,yBAAyB,2zBA2B5B,CAAA;AAEV,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,gFAAgF;AAChF,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAE5E,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,oBAAoB,GAAG,SAAS,CAGlG;AA4BD,uGAAuG;AACvG,eAAO,MAAM,wBAAwB,QAA6D,CAAA;AAYlG,wBAAgB,yBAAyB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAqB9E;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAE9F;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAKnF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAQjD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,kBAAkB,EAAE,CAuBpD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;AAEtE,wEAAwE;AACxE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAA;IACvB,sFAAsF;IACtF,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,oBAAoB,GAAG,SAAS,CAuBvE"}
|
|
@@ -1,29 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Upstream compatibility contract.
|
|
3
3
|
*
|
|
4
|
-
* The TUI is validated against a set of upstream
|
|
5
|
-
* current primary (0.1.
|
|
6
|
-
* compatibility
|
|
7
|
-
* adapter touches is blessed here; anything else must go
|
|
8
|
-
* channels or the adapter, never the UI.
|
|
4
|
+
* The TUI is validated against a set of upstream prerelease lines — the
|
|
5
|
+
* current primary (0.1.1-rc.2) plus older lines kept in backward
|
|
6
|
+
* compatibility across the 0.1.1 and 0.1.0 release families. Every official
|
|
7
|
+
* package this adapter touches is blessed here; anything else must go
|
|
8
|
+
* through upstream channels or the adapter, never the UI.
|
|
9
9
|
*
|
|
10
|
-
* `upstreamDrift()` powers
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* `upstreamDrift()` powers the CI gate (scripts/verify-upstream-contract.ts)
|
|
11
|
+
* so a mismatched install fails in CI before it fails on a user's machine.
|
|
12
|
+
* `upstreamDriftSummary()` collapses the per-package entries into the
|
|
13
|
+
* single natural-language boot notice the logo header shows (see LogoV2).
|
|
13
14
|
*/
|
|
14
15
|
import { readFileSync } from 'node:fs';
|
|
15
16
|
import { fileURLToPath } from 'node:url';
|
|
16
17
|
/** Primary validated upstream line (newest). */
|
|
17
|
-
export const UPSTREAM_VALIDATED_VERSION = '0.1.
|
|
18
|
-
/**
|
|
18
|
+
export const UPSTREAM_VALIDATED_VERSION = '0.1.1-rc.2';
|
|
19
|
+
/**
|
|
20
|
+
* Every upstream prerelease line the adapter has been validated against,
|
|
21
|
+
* oldest first.
|
|
19
22
|
*
|
|
20
|
-
* rc.
|
|
21
|
-
*
|
|
22
|
-
* rc.7
|
|
23
|
+
* 0.1.1-rc.2 = primary; 0.1.1-rc.1 = transitional line of the same family
|
|
24
|
+
* (install- and type-level compatibility); 0.1.0-rc.8 = previous family
|
|
25
|
+
* (full CI coverage); 0.1.0-rc.7 = full CI coverage as well; 0.1.0-rc.6 =
|
|
26
|
+
* legacy line (install- and type-level compatibility, feature surface may
|
|
27
|
+
* lack later additions — new features must degrade gracefully there).
|
|
23
28
|
* The peer range in package.json is deliberately wider than this list: an
|
|
24
|
-
* install on an older line is allowed but reports drift at boot.
|
|
29
|
+
* install on an older or newer line is allowed but reports drift at boot.
|
|
25
30
|
*/
|
|
26
|
-
export const
|
|
31
|
+
export const UPSTREAM_VALIDATED_VERSIONS = [
|
|
32
|
+
'0.1.0-rc.6',
|
|
33
|
+
'0.1.0-rc.7',
|
|
34
|
+
'0.1.0-rc.8',
|
|
35
|
+
'0.1.1-rc.1',
|
|
36
|
+
'0.1.1-rc.2',
|
|
37
|
+
];
|
|
27
38
|
/**
|
|
28
39
|
* Framework packages version on their own lines; the contract validates
|
|
29
40
|
* their MAJOR (breaking surface), not the harness rc number.
|
|
@@ -61,8 +72,39 @@ export const UPSTREAM_BLESSED_PACKAGES = [
|
|
|
61
72
|
'@deepseek-ai/dsh-user-approval',
|
|
62
73
|
'@deepseek-ai/dsh-user-questions',
|
|
63
74
|
];
|
|
64
|
-
/**
|
|
65
|
-
export
|
|
75
|
+
/** Parse an upstream prerelease version; undefined when unparseable. */
|
|
76
|
+
export function parseUpstreamVersion(version) {
|
|
77
|
+
const match = /^(\d+)\.(\d+)\.(\d+)-rc\.(\d+)$/u.exec(version ?? '');
|
|
78
|
+
return match === null ? undefined : [Number(match[1]), Number(match[2]), Number(match[3]), Number(match[4])];
|
|
79
|
+
}
|
|
80
|
+
/** Order two parsed versions: negative/positive/zero as a `<`/`>`/`=`. */
|
|
81
|
+
function compareVersions(a, b) {
|
|
82
|
+
for (let i = 0; i < a.length; i++) {
|
|
83
|
+
if (a[i] > b[i])
|
|
84
|
+
return 1;
|
|
85
|
+
if (a[i] < b[i])
|
|
86
|
+
return -1;
|
|
87
|
+
}
|
|
88
|
+
return 0;
|
|
89
|
+
}
|
|
90
|
+
/** Collapse {@link UPSTREAM_VALIDATED_VERSIONS} into per-release rc groups,
|
|
91
|
+
* e.g. `0.1.0-rc.6/7/8, 0.1.1-rc.1/2`. */
|
|
92
|
+
function validatedLinesLabel() {
|
|
93
|
+
const groups = [];
|
|
94
|
+
for (const version of UPSTREAM_VALIDATED_VERSIONS) {
|
|
95
|
+
const [major, minor, patch, rc] = parseUpstreamVersion(version);
|
|
96
|
+
const release = `${major}.${minor}.${patch}`;
|
|
97
|
+
let group = groups.find(candidate => candidate.release === release);
|
|
98
|
+
if (group === undefined) {
|
|
99
|
+
group = { release, rcs: [] };
|
|
100
|
+
groups.push(group);
|
|
101
|
+
}
|
|
102
|
+
group.rcs.push(rc);
|
|
103
|
+
}
|
|
104
|
+
return groups.map(({ release, rcs }) => `${release}-rc.${rcs.join('/')}`).join(', ');
|
|
105
|
+
}
|
|
106
|
+
/** Human-readable summary of the validated lines, e.g. `0.1.1-rc.2 (0.1.0-rc.6/7/8, 0.1.1-rc.1/2)`. */
|
|
107
|
+
export const UPSTREAM_VALIDATED_LABEL = `${UPSTREAM_VALIDATED_VERSION} (${validatedLinesLabel()})`;
|
|
66
108
|
function resolvePackageJson(packageName) {
|
|
67
109
|
try {
|
|
68
110
|
const path = import.meta.resolve(`${packageName}/package.json`);
|
|
@@ -97,31 +139,44 @@ export function installedUpstreamVersions() {
|
|
|
97
139
|
cachedVersions = Object.freeze(result);
|
|
98
140
|
return cachedVersions;
|
|
99
141
|
}
|
|
100
|
-
/**
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
|
|
105
|
-
|
|
142
|
+
/**
|
|
143
|
+
* The installed upstream version of one blessed package, parsed; undefined
|
|
144
|
+
* when missing or not on an `x.y.z-rc.n` prerelease line. Feature gates
|
|
145
|
+
* compare this against the line a behavior was introduced on, so the
|
|
146
|
+
* adapter degrades on older installs instead of calling APIs they do not
|
|
147
|
+
* have.
|
|
148
|
+
*/
|
|
149
|
+
export function installedUpstreamVersion(packageName) {
|
|
150
|
+
return parseUpstreamVersion(installedUpstreamVersions()[packageName]);
|
|
106
151
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
152
|
+
/**
|
|
153
|
+
* Whether the installed version of `packageName` is at or beyond `minimum`
|
|
154
|
+
* (a literal like `'0.1.0-rc.8'`). Unparseable or older installs return
|
|
155
|
+
* false so features introduced on the minimum line degrade gracefully.
|
|
156
|
+
*/
|
|
157
|
+
export function installedMeetsVersion(packageName, minimum) {
|
|
158
|
+
const installed = installedUpstreamVersion(packageName);
|
|
159
|
+
const floor = parseUpstreamVersion(minimum);
|
|
160
|
+
if (installed === undefined || floor === undefined)
|
|
161
|
+
return false;
|
|
162
|
+
return compareVersions(installed, floor) >= 0;
|
|
110
163
|
}
|
|
111
|
-
/**
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
164
|
+
/**
|
|
165
|
+
* The distinct installed prerelease versions across the blessed harness
|
|
166
|
+
* packages (framework packages excluded). One entry = coherent install;
|
|
167
|
+
* several = a mixed tree, which the per-package drift check cannot see.
|
|
168
|
+
* Empty when nothing (or no harness package) is installed.
|
|
169
|
+
*/
|
|
115
170
|
export function installedUpstreamLines() {
|
|
116
171
|
const lines = new Set();
|
|
117
172
|
for (const packageName of UPSTREAM_BLESSED_PACKAGES) {
|
|
118
173
|
if (UPSTREAM_FRAMEWORK_MAJORS[packageName] !== undefined)
|
|
119
174
|
continue;
|
|
120
|
-
const
|
|
121
|
-
if (
|
|
122
|
-
lines.add(
|
|
175
|
+
const version = installedUpstreamVersions()[packageName];
|
|
176
|
+
if (version !== undefined && parseUpstreamVersion(version) !== undefined)
|
|
177
|
+
lines.add(version);
|
|
123
178
|
}
|
|
124
|
-
return [...lines].sort((a, b) => a
|
|
179
|
+
return [...lines].sort((a, b) => compareVersions(parseUpstreamVersion(a), parseUpstreamVersion(b)));
|
|
125
180
|
}
|
|
126
181
|
/**
|
|
127
182
|
* Report every blessed package whose installed version is NOT one of the
|
|
@@ -129,6 +184,7 @@ export function installedUpstreamLines() {
|
|
|
129
184
|
* contract.
|
|
130
185
|
*/
|
|
131
186
|
export function upstreamDrift() {
|
|
187
|
+
const validated = new Set(UPSTREAM_VALIDATED_VERSIONS);
|
|
132
188
|
const drift = [];
|
|
133
189
|
for (const [packageName, installed] of Object.entries(installedUpstreamVersions())) {
|
|
134
190
|
const expected = UPSTREAM_BLESSED_PACKAGES.includes(packageName);
|
|
@@ -141,8 +197,7 @@ export function upstreamDrift() {
|
|
|
141
197
|
matches = installedMajor === frameworkMajor;
|
|
142
198
|
}
|
|
143
199
|
else {
|
|
144
|
-
|
|
145
|
-
matches = installedLine !== undefined && UPSTREAM_VALIDATED_RC_LINES.includes(installedLine);
|
|
200
|
+
matches = installed !== undefined && validated.has(installed);
|
|
146
201
|
}
|
|
147
202
|
if (!matches) {
|
|
148
203
|
drift.push({
|
|
@@ -154,3 +209,36 @@ export function upstreamDrift() {
|
|
|
154
209
|
}
|
|
155
210
|
return drift;
|
|
156
211
|
}
|
|
212
|
+
/**
|
|
213
|
+
* Collapse {@link upstreamDrift} into a single summary for the boot notice:
|
|
214
|
+
* undefined when the install matches the contract. Only harness rc packages
|
|
215
|
+
* decide newer/older/mixed; a framework-only drift (e.g. a cordis major
|
|
216
|
+
* bump) reports `broken`, since its version line is not comparable.
|
|
217
|
+
*/
|
|
218
|
+
export function upstreamDriftSummary() {
|
|
219
|
+
const drift = upstreamDrift();
|
|
220
|
+
if (drift.length === 0)
|
|
221
|
+
return undefined;
|
|
222
|
+
const harness = drift.filter(entry => UPSTREAM_FRAMEWORK_MAJORS[entry.package] === undefined);
|
|
223
|
+
const versions = [...new Set(drift.map(entry => entry.installed ?? 'missing'))];
|
|
224
|
+
if (harness.some(entry => entry.installed === undefined)) {
|
|
225
|
+
return { kind: 'broken', versions };
|
|
226
|
+
}
|
|
227
|
+
const harnessVersions = [...new Set(harness.map(entry => entry.installed))];
|
|
228
|
+
if (harnessVersions.length > 1) {
|
|
229
|
+
return { kind: 'mixed', versions };
|
|
230
|
+
}
|
|
231
|
+
const installed = parseUpstreamVersion(harnessVersions[0] ?? '');
|
|
232
|
+
const validated = parseUpstreamVersion(UPSTREAM_VALIDATED_VERSION);
|
|
233
|
+
if (installed === undefined) {
|
|
234
|
+
return { kind: 'broken', versions };
|
|
235
|
+
}
|
|
236
|
+
const order = compareVersions(installed, validated);
|
|
237
|
+
if (order > 0)
|
|
238
|
+
return { kind: 'newer', versions };
|
|
239
|
+
if (order < 0)
|
|
240
|
+
return { kind: 'older', versions };
|
|
241
|
+
// Identical to the primary validated version — cannot happen (it would
|
|
242
|
+
// not be drift); report broken rather than staying silent.
|
|
243
|
+
return { kind: 'broken', versions };
|
|
244
|
+
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import type { Context } from '@deepseek-ai/cordis';
|
|
10
10
|
import Schema from '@deepseek-ai/schemastery';
|
|
11
11
|
import type { SessionModeSpec } from '../sessionModes.js';
|
|
12
|
-
import { type StatusBarConfig, type ToolBackground } from '../tuiDisplayPrefs.js';
|
|
12
|
+
import { type ScrollGutterMode, type StatusBarConfig, type ToolBackground } from '../tuiDisplayPrefs.js';
|
|
13
13
|
export declare const name = "dsh-tui";
|
|
14
14
|
export declare const inject: string[];
|
|
15
15
|
/**
|
|
@@ -53,7 +53,11 @@ export interface Config {
|
|
|
53
53
|
* `ctx used/window` readout) in the status footer; off hides that row
|
|
54
54
|
* while the status/mode lines stay (issue #29). */
|
|
55
55
|
contextBar?: boolean;
|
|
56
|
-
/** Run in the terminal's alternate screen (Claude Code fullscreen layout).
|
|
56
|
+
/** Run in the terminal's alternate screen (Claude Code fullscreen layout).
|
|
57
|
+
* Defaults to true — the fullscreen surface is the more complete one
|
|
58
|
+
* (mouse, timeline rail, scrollbar gutter, selection copy), so fresh
|
|
59
|
+
* installs start there; cordis.yml `fullscreen: false` or a /settings
|
|
60
|
+
* toggle opts back into the inline main-screen layout. */
|
|
57
61
|
fullscreen?: boolean;
|
|
58
62
|
/** UI language: `en` / `zh`. When absent, the `DSH_TUI_LANG` env var wins,
|
|
59
63
|
* then the `/lang` choice persisted in `~/.dsh-tui/lang.json`, then `zh`. */
|
|
@@ -73,6 +77,10 @@ export interface Config {
|
|
|
73
77
|
thinkingFold?: 'preview' | 'full';
|
|
74
78
|
/** Tool-card background strength; defaults to no added background. */
|
|
75
79
|
toolBackground?: ToolBackground;
|
|
80
|
+
/** What the fullscreen transcript's right gutter shows (settings
|
|
81
|
+
* `dsh-tui.scrollGutter`): `timeline` turn rail (default), `scrollbar`
|
|
82
|
+
* proportional thumb, or `hidden`. */
|
|
83
|
+
scrollGutter?: ScrollGutterMode;
|
|
76
84
|
/** Status-footer field visibility and compact presentation preferences. */
|
|
77
85
|
statusBar?: Partial<StatusBarConfig>;
|
|
78
86
|
/** Shift+Tab session-mode cycle (array order IS the cycle order; index 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAsB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAsB,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE5H,eAAO,MAAM,IAAI,YAAY,CAAA;AAU7B,eAAO,MAAM,MAAM,UAAa,CAAA;AAEhC;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;yEAKqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;gDAC4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;gFAE4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;oCACgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;sBAIkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;4BAGwB;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;wDAEoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;+DAI2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;kFAC8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;gCAG4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;6DAEyD;IACzD,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;IACzC;;8EAE0E;IAC1E,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IACjC,sEAAsE;IACtE,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;2CAEuC;IACvC,YAAY,CAAC,EAAE,gBAAgB,CAAA;IAC/B,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACpC;;;yDAGqD;IACrD,KAAK,CAAC,EAAE,eAAe,EAAE,CAAA;CAC1B;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAiDhC,CAAA;AAEF;;;;;;GAMG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASvE"}
|
|
@@ -25,12 +25,13 @@ export const Config = Schema.object({
|
|
|
25
25
|
activity: Schema.boolean().default(true),
|
|
26
26
|
activityFrames: Schema.string().required(false),
|
|
27
27
|
contextBar: Schema.boolean().default(true),
|
|
28
|
-
fullscreen: Schema.boolean().default(
|
|
28
|
+
fullscreen: Schema.boolean().default(true),
|
|
29
29
|
lang: Schema.string().required(false),
|
|
30
30
|
preset: Schema.string().required(false),
|
|
31
31
|
diffLayout: Schema.union(['auto', 'split', 'unified']).default('auto'),
|
|
32
32
|
thinkingFold: Schema.union(['preview', 'full']).default('preview'),
|
|
33
33
|
toolBackground: Schema.union(['none', 'subtle', 'strong']).default('none'),
|
|
34
|
+
scrollGutter: Schema.union(['timeline', 'scrollbar', 'hidden']).default('timeline'),
|
|
34
35
|
statusBar: Schema.object({
|
|
35
36
|
compact: Schema.boolean().default(DEFAULT_STATUS_BAR.compact),
|
|
36
37
|
model: Schema.boolean().default(DEFAULT_STATUS_BAR.model),
|
|
@@ -42,6 +43,8 @@ export const Config = Schema.object({
|
|
|
42
43
|
tps: Schema.boolean().default(DEFAULT_STATUS_BAR.tps),
|
|
43
44
|
gitBranch: Schema.boolean().default(DEFAULT_STATUS_BAR.gitBranch),
|
|
44
45
|
sessionTitle: Schema.boolean().default(DEFAULT_STATUS_BAR.sessionTitle),
|
|
46
|
+
sessionId: Schema.boolean().default(DEFAULT_STATUS_BAR.sessionId),
|
|
47
|
+
goal: Schema.boolean().default(DEFAULT_STATUS_BAR.goal),
|
|
45
48
|
mode: Schema.boolean().default(DEFAULT_STATUS_BAR.mode),
|
|
46
49
|
contextBar: Schema.boolean().default(DEFAULT_STATUS_BAR.contextBar),
|
|
47
50
|
activity: Schema.boolean().default(DEFAULT_STATUS_BAR.activity),
|
|
@@ -64,18 +67,12 @@ export const Config = Schema.object({
|
|
|
64
67
|
* @returns a promise settling when the TUI teardown completes.
|
|
65
68
|
*/
|
|
66
69
|
export async function apply(ctx, config) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const installedLines = installedUpstreamLines();
|
|
74
|
-
if (installedLines.length > 1) {
|
|
75
|
-
console.warn(`[dsh-tui] mixed upstream lines detected (${installedLines.map(n => `rc.${n}`).join(', ')}) — ` +
|
|
76
|
-
`blessed packages are on different rc lines; the TUI is validated against ${UPSTREAM_VALIDATED_LABEL} ` +
|
|
77
|
-
`and a coherent install is strongly recommended.`);
|
|
78
|
-
}
|
|
70
|
+
// Upstream drift is NO LONGER spammed to stderr here: per-package
|
|
71
|
+
// console.warn lines interleave with the TUI frame redraw and arrive
|
|
72
|
+
// garbled (typewriter animation repaints over them). The merged,
|
|
73
|
+
// natural-language notice now renders in the logo header under the
|
|
74
|
+
// startup tip (LogoV2 ← upstreamDriftSummary); CI keeps the hard gate
|
|
75
|
+
// via scripts/verify-upstream-contract.ts.
|
|
79
76
|
const { apply: ccTuiApply } = await import('./plugin.js');
|
|
80
77
|
return ccTuiApply(ctx, config);
|
|
81
78
|
}
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
import type { Agent } from '@deepseek-ai/dsh-agent';
|
|
2
2
|
import type { Context } from '@deepseek-ai/cordis';
|
|
3
3
|
import { Config } from './index.js';
|
|
4
|
-
/**
|
|
5
|
-
* Claude Code style interactive TUI front door for DeepSeek Harness agents.
|
|
6
|
-
*
|
|
7
|
-
* The plugin attaches to (or creates) one agent, renders a chat transcript
|
|
8
|
-
* from the agent's session log and live `session/event` records, and submits
|
|
9
|
-
* user turns through `Agent.followup`. It is a client-driver front door like
|
|
10
|
-
* `dsh-jsonrpc`: the surrounding `cordis.yml` supplies the agent spine, the
|
|
11
|
-
* LLM adapter, and the tool plugins.
|
|
12
|
-
*/
|
|
13
4
|
export declare function apply(ctx: Context, config: Config): Promise<void>;
|
|
14
5
|
/**
|
|
15
6
|
* Distinguish a user-driven exit from a cordis context teardown (issue #12).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAA;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAA;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AA6DnC,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAm8BvE;AA6GD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE,GAAG;IACjF,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,YAAY,EAAE,MAAM,IAAI,CAAA;CACzB,CAcA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,KAAK,GAAG,SAAS,CAAA;IAC5B,YAAY,EAAE,KAAK,CAAA;CACpB,GAAG,OAAO,CAQV"}
|