@agi-fans/dsh-tui 0.1.0 → 0.2.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 +2 -2
- package/lib/autocomplete.js +0 -2
- package/lib/autocomplete.js.map +1 -1
- package/lib/command-auth.d.ts +20 -0
- package/lib/command-auth.js +225 -0
- package/lib/command-auth.js.map +1 -0
- package/lib/{command-queue.d.ts → command-export.d.ts} +2 -2
- package/lib/command-export.js +39 -0
- package/lib/command-export.js.map +1 -0
- package/lib/command-model.js +23 -12
- package/lib/command-model.js.map +1 -1
- package/lib/{command-transcript.d.ts → command-steer.d.ts} +2 -2
- package/lib/command-steer.js +18 -0
- package/lib/command-steer.js.map +1 -0
- package/lib/definition.d.ts +25 -1
- package/lib/event-views.d.ts +23 -8
- package/lib/event-views.js +207 -47
- package/lib/event-views.js.map +1 -1
- package/lib/hotkeys.d.ts +2 -5
- package/lib/hotkeys.js +4 -14
- package/lib/hotkeys.js.map +1 -1
- package/lib/prompt-selector.d.ts +2 -0
- package/lib/prompt-selector.js +35 -13
- package/lib/prompt-selector.js.map +1 -1
- package/lib/provider-local.d.ts +6 -3
- package/lib/provider-local.js +180 -44
- package/lib/provider-local.js.map +1 -1
- package/lib/renderer.js +11 -1
- package/lib/renderer.js.map +1 -1
- package/lib/runner.js +32 -4
- package/lib/runner.js.map +1 -1
- package/lib/session-controller.d.ts +27 -3
- package/lib/session-controller.js +200 -7
- package/lib/session-controller.js.map +1 -1
- package/lib/welcome-tips.js +2 -1
- package/lib/welcome-tips.js.map +1 -1
- package/package.json +12 -7
- package/lib/command-queue.js +0 -62
- package/lib/command-queue.js.map +0 -1
- package/lib/command-transcript.js +0 -85
- package/lib/command-transcript.js.map +0 -1
- package/lib/pwd.d.ts +0 -13
- package/lib/pwd.js +0 -14
- package/lib/pwd.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
The omdsh TUI capability seam: terminal presentation for the DeepSeek Harness core runtime. One capability seam, three roles, complete:
|
|
4
4
|
|
|
5
|
-
- **Service Definition** (`src/definition.ts`) — the `tui` context service: `event`, `setStatus`, `setModel`, `
|
|
6
|
-
- **Service Provider** (`src/provider-local.ts`) — owns the tty: raw-mode key input (editing, history, slash/tab, Ctrl-R search, PgUp/PgDn transcript scroll, bracketed paste, Ctrl-C interrupt, Ctrl-D quit), SIGWINCH reflow, and the differential renderer. Non-tty streams degrade to line input with plain append-only printing of settled blocks.
|
|
5
|
+
- **Service Definition** (`src/definition.ts`) — the `tui` context service: `event`, `setStatus`, `setModel`, `readInput`, `onInterrupt`, `onRewind`, `dispose`. The vocabulary mirrors the SDK wire surface (`session.event`, `session.status`), so a remote UI can reuse the definition unchanged.
|
|
6
|
+
- **Service Provider** (`src/provider-local.ts`) — owns the tty: raw-mode key input (editing, history, slash/tab, Ctrl-R prompt-history search, double-Escape conversation rewind, PgUp/PgDn transcript scroll, bracketed paste, Ctrl-C interrupt, Ctrl-D quit), SIGWINCH reflow, and the differential renderer. Non-tty streams degrade to line input with plain append-only printing of settled blocks.
|
|
7
7
|
- **Consumer** (`src/runner.ts`) — the interactive driver in the `@deepseek-ai/dsh-headless` pattern: creates one Agent through the core registry, forwards its session events, and loops on `readline`.
|
|
8
8
|
|
|
9
9
|
The rendering pipeline (`renderer`, `style`, `event-views`) is pure and exported for tests and alternative providers.
|
package/lib/autocomplete.js
CHANGED
|
@@ -14,10 +14,8 @@ const COPY_ARGUMENTS = [
|
|
|
14
14
|
export const BUILTIN_SLASH_COMMANDS = [
|
|
15
15
|
{ name: 'help', aliases: ['h', '?'], description: 'Show available slash commands' },
|
|
16
16
|
{ name: 'settings', aliases: ['set'], description: 'Open settings' },
|
|
17
|
-
{ name: 'hotkeys', description: 'Show keyboard shortcuts' },
|
|
18
17
|
{ name: 'copy', description: 'Pick text, code, or a command to copy', arguments: COPY_ARGUMENTS },
|
|
19
18
|
{ name: 'tools', description: 'Show tools visible to the agent' },
|
|
20
|
-
{ name: 'pwd', aliases: ['dirs'], description: 'Show working directory and model' },
|
|
21
19
|
{ name: 'clear', description: 'Clear the transcript display' },
|
|
22
20
|
{ name: 'quit', aliases: ['q', 'exit'], description: 'Quit the application' },
|
|
23
21
|
];
|
package/lib/autocomplete.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete.js","sourceRoot":"","sources":["../src/autocomplete.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autocomplete.js","sourceRoot":"","sources":["../src/autocomplete.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** DeepSeek-only interactive credential commands backed by the Harness credential seam. */
|
|
2
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
3
|
+
export declare const name = "omdsh-command-auth";
|
|
4
|
+
export declare const inject: string[];
|
|
5
|
+
export interface Config {
|
|
6
|
+
/** Open the DeepSeek API-key dashboard when `/login` starts. */
|
|
7
|
+
openDashboard?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const DEEPSEEK_API_KEY: import("@deepseek-ai/dsh-credentials").CredentialRef;
|
|
10
|
+
export declare const OMDSH_DEEPSEEK_API_KEY: import("@deepseek-ai/dsh-credentials").CredentialRef;
|
|
11
|
+
export declare const DEEPSEEK_SETTINGS: import("@deepseek-ai/dsh-settings").SettingsNamespace;
|
|
12
|
+
export declare const DEEPSEEK_API_KEYS_URL = "https://platform.deepseek.com/api_keys";
|
|
13
|
+
export declare const DEEPSEEK_MODELS_URL = "https://api.deepseek.com/v1/models";
|
|
14
|
+
/** Match DeepSeek's own login normalization without accepting an empty Bearer value. */
|
|
15
|
+
export declare function normalizeDeepSeekApiKey(raw: string): string;
|
|
16
|
+
/** Validate a candidate without ever reading or returning a response body. */
|
|
17
|
+
export declare function validateDeepSeekApiKey(apiKey: string, signal: AbortSignal, fetchImpl?: typeof fetch): Promise<void>;
|
|
18
|
+
/** Best-effort browser launch; the prompt always retains the full URL as a fallback. */
|
|
19
|
+
export declare function openDeepSeekDashboard(): void;
|
|
20
|
+
export declare function apply(ctx: Context, config?: Config): void;
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/** DeepSeek-only interactive credential commands backed by the Harness credential seam. */
|
|
2
|
+
import { spawn } from 'node:child_process';
|
|
3
|
+
import process from 'node:process';
|
|
4
|
+
import { credentialRef } from '@deepseek-ai/dsh-credentials';
|
|
5
|
+
import { settingsNamespace } from '@deepseek-ai/dsh-settings';
|
|
6
|
+
import { registerCommands } from "./command-registration.js";
|
|
7
|
+
export const name = 'omdsh-command-auth';
|
|
8
|
+
export const inject = ['commands', 'credentials', 'settings', 'tui'];
|
|
9
|
+
export const DEEPSEEK_API_KEY = credentialRef('DEEPSEEK_API_KEY');
|
|
10
|
+
export const OMDSH_DEEPSEEK_API_KEY = credentialRef('OMDSH_DEEPSEEK_API_KEY');
|
|
11
|
+
export const DEEPSEEK_SETTINGS = settingsNamespace('llm-deepseek');
|
|
12
|
+
export const DEEPSEEK_API_KEYS_URL = 'https://platform.deepseek.com/api_keys';
|
|
13
|
+
export const DEEPSEEK_MODELS_URL = 'https://api.deepseek.com/v1/models';
|
|
14
|
+
/** Match DeepSeek's own login normalization without accepting an empty Bearer value. */
|
|
15
|
+
export function normalizeDeepSeekApiKey(raw) {
|
|
16
|
+
const normalized = raw.trim().replace(/^bearer\b\s*/iu, '');
|
|
17
|
+
if (normalized === '')
|
|
18
|
+
throw new Error('Paste a non-empty DeepSeek API key.');
|
|
19
|
+
return normalized;
|
|
20
|
+
}
|
|
21
|
+
/** Validate a candidate without ever reading or returning a response body. */
|
|
22
|
+
export async function validateDeepSeekApiKey(apiKey, signal, fetchImpl = globalThis.fetch) {
|
|
23
|
+
let response;
|
|
24
|
+
try {
|
|
25
|
+
response = await fetchImpl(DEEPSEEK_MODELS_URL, {
|
|
26
|
+
method: 'GET',
|
|
27
|
+
headers: {
|
|
28
|
+
accept: 'application/json',
|
|
29
|
+
authorization: `Bearer ${apiKey}`,
|
|
30
|
+
},
|
|
31
|
+
signal,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
if (signal.aborted)
|
|
36
|
+
throw new Error('DeepSeek login was cancelled.');
|
|
37
|
+
throw new Error('Could not reach DeepSeek to validate the API key. Check your network and try again.');
|
|
38
|
+
}
|
|
39
|
+
if (response.ok)
|
|
40
|
+
return;
|
|
41
|
+
if (response.status === 401 || response.status === 403) {
|
|
42
|
+
throw new Error('DeepSeek rejected this API key. Copy a valid key from the DeepSeek dashboard and try again.');
|
|
43
|
+
}
|
|
44
|
+
throw new Error(`DeepSeek could not validate the API key (HTTP ${response.status}). Try again later.`);
|
|
45
|
+
}
|
|
46
|
+
function credentialSource(info) {
|
|
47
|
+
if (info.source === 'env')
|
|
48
|
+
return 'the current process environment';
|
|
49
|
+
if (info.source === 'project-env')
|
|
50
|
+
return 'the project .env file';
|
|
51
|
+
if (info.source === 'user-env')
|
|
52
|
+
return 'the user .env file';
|
|
53
|
+
if (info.source === 'file')
|
|
54
|
+
return 'the local Harness credential store';
|
|
55
|
+
return info.source === undefined ? 'an external credential source' : `the ${info.source} credential source`;
|
|
56
|
+
}
|
|
57
|
+
function unmanagedCredentialMessage(ref, info, action) {
|
|
58
|
+
const instruction = info.source === 'env'
|
|
59
|
+
? 'Unset it before starting omdsh.'
|
|
60
|
+
: info.source === 'project-env'
|
|
61
|
+
? 'Remove it from the project .env file and restart omdsh.'
|
|
62
|
+
: info.source === 'user-env'
|
|
63
|
+
? 'Remove it from the user .env file and restart omdsh.'
|
|
64
|
+
: 'Update that source directly and restart omdsh.';
|
|
65
|
+
return `${String(ref)} is supplied by ${credentialSource(info)} and /${action === 'replace' ? 'login' : 'logout'} cannot ${action} it. ${instruction}`;
|
|
66
|
+
}
|
|
67
|
+
function activeDeepSeekCredentialRef(ctx) {
|
|
68
|
+
const settings = ctx.settings.get(DEEPSEEK_SETTINGS);
|
|
69
|
+
if (typeof settings !== 'object' || settings === null || Array.isArray(settings))
|
|
70
|
+
return String(DEEPSEEK_API_KEY);
|
|
71
|
+
const apiKeyEnv = settings['apiKeyEnv'];
|
|
72
|
+
return typeof apiKeyEnv === 'string' && apiKeyEnv.trim() !== '' ? apiKeyEnv : String(DEEPSEEK_API_KEY);
|
|
73
|
+
}
|
|
74
|
+
async function resetDeepSeekCredentialRoute(ctx) {
|
|
75
|
+
await ctx.settings.mutate(DEEPSEEK_SETTINGS, [{ op: 'unset', path: ['apiKeyEnv'] }]);
|
|
76
|
+
}
|
|
77
|
+
async function logoutSuccess(ctx, managed) {
|
|
78
|
+
const fallback = await ctx.credentials.describe(DEEPSEEK_API_KEY);
|
|
79
|
+
if (fallback.configured) {
|
|
80
|
+
return {
|
|
81
|
+
kind: 'success',
|
|
82
|
+
text: `${managed ? 'Logged out from the omdsh-managed DeepSeek credential.' : 'Logged out from DeepSeek.'} Falling back to DEEPSEEK_API_KEY from ${credentialSource(fallback)}.`,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
return { kind: 'success', text: 'Logged out from DeepSeek.' };
|
|
86
|
+
}
|
|
87
|
+
/** Best-effort browser launch; the prompt always retains the full URL as a fallback. */
|
|
88
|
+
export function openDeepSeekDashboard() {
|
|
89
|
+
const command = process.platform === 'darwin'
|
|
90
|
+
? { file: 'open', args: [DEEPSEEK_API_KEYS_URL] }
|
|
91
|
+
: process.platform === 'win32'
|
|
92
|
+
? { file: 'cmd.exe', args: ['/d', '/s', '/c', 'start', '', DEEPSEEK_API_KEYS_URL] }
|
|
93
|
+
: { file: 'xdg-open', args: [DEEPSEEK_API_KEYS_URL] };
|
|
94
|
+
try {
|
|
95
|
+
const child = spawn(command.file, command.args, { detached: true, stdio: 'ignore' });
|
|
96
|
+
child.once('error', () => undefined);
|
|
97
|
+
child.unref();
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
// Headless and remote terminals still receive the visible dashboard URL.
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
async function login(ctx, invocation, config) {
|
|
104
|
+
if (invocation.rawInput.trim() !== '') {
|
|
105
|
+
return { kind: 'error', text: 'Usage: /login (paste the key only into the protected prompt)' };
|
|
106
|
+
}
|
|
107
|
+
// Keep an interactive login on its own credential reference. The DeepSeek
|
|
108
|
+
// adapter can select that reference live through settings, so an inherited
|
|
109
|
+
// DEEPSEEK_API_KEY remains a fallback instead of shadowing the user's choice.
|
|
110
|
+
const current = await ctx.credentials.describe(OMDSH_DEEPSEEK_API_KEY);
|
|
111
|
+
if (current.configured && !current.writable) {
|
|
112
|
+
return { kind: 'error', text: unmanagedCredentialMessage(OMDSH_DEEPSEEK_API_KEY, current, 'replace') };
|
|
113
|
+
}
|
|
114
|
+
if (config.openDashboard !== false)
|
|
115
|
+
openDeepSeekDashboard();
|
|
116
|
+
const raw = await ctx.tui.prompt({
|
|
117
|
+
title: 'Login to DeepSeek',
|
|
118
|
+
question: current.configured ? 'Paste a new DeepSeek API key' : 'Paste your DeepSeek API key',
|
|
119
|
+
detail: `Create or copy a key at ${DEEPSEEK_API_KEYS_URL}. It will be validated, stored locally, and preferred over DEEPSEEK_API_KEY.`,
|
|
120
|
+
allowCustom: true,
|
|
121
|
+
secret: true,
|
|
122
|
+
submitLabel: 'validate',
|
|
123
|
+
signal: invocation.signal,
|
|
124
|
+
});
|
|
125
|
+
if (raw === null)
|
|
126
|
+
return { kind: 'success' };
|
|
127
|
+
let apiKey;
|
|
128
|
+
try {
|
|
129
|
+
apiKey = normalizeDeepSeekApiKey(raw);
|
|
130
|
+
await validateDeepSeekApiKey(apiKey, invocation.signal);
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
if (invocation.signal.aborted)
|
|
134
|
+
return { kind: 'success' };
|
|
135
|
+
return { kind: 'error', text: error instanceof Error ? error.message : 'DeepSeek login failed.' };
|
|
136
|
+
}
|
|
137
|
+
try {
|
|
138
|
+
await ctx.credentials.set(OMDSH_DEEPSEEK_API_KEY, apiKey);
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
return { kind: 'error', text: 'The API key is valid, but it could not be saved to the Harness credential store.' };
|
|
142
|
+
}
|
|
143
|
+
try {
|
|
144
|
+
await ctx.settings.update(DEEPSEEK_SETTINGS, { apiKeyEnv: String(OMDSH_DEEPSEEK_API_KEY) });
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
return {
|
|
148
|
+
kind: 'error',
|
|
149
|
+
text: 'The API key is valid and saved, but omdsh could not activate it for the DeepSeek provider. Run /login again after checking your settings file.',
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
return {
|
|
153
|
+
kind: 'success',
|
|
154
|
+
text: 'Logged in to DeepSeek. Your omdsh credential takes priority on the next model request.',
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
async function logout(ctx, invocation) {
|
|
158
|
+
if (invocation.rawInput.trim() !== '')
|
|
159
|
+
return { kind: 'error', text: 'Usage: /logout' };
|
|
160
|
+
const activeRef = activeDeepSeekCredentialRef(ctx);
|
|
161
|
+
const usesOmdshCredential = activeRef === String(OMDSH_DEEPSEEK_API_KEY);
|
|
162
|
+
const activeCredential = usesOmdshCredential ? OMDSH_DEEPSEEK_API_KEY : DEEPSEEK_API_KEY;
|
|
163
|
+
const current = await ctx.credentials.describe(activeCredential);
|
|
164
|
+
// A custom provider credential configured outside omdsh belongs to that
|
|
165
|
+
// source. /logout only removes credentials it owns; it must not turn an
|
|
166
|
+
// external DEEPSEEK_API_KEY into an error or pretend it can delete it.
|
|
167
|
+
const legacyManagedDefault = activeRef === String(DEEPSEEK_API_KEY) && current.source === 'file';
|
|
168
|
+
if (!usesOmdshCredential && !legacyManagedDefault) {
|
|
169
|
+
if (!current.configured)
|
|
170
|
+
return { kind: 'success', text: 'DeepSeek is already logged out.' };
|
|
171
|
+
return {
|
|
172
|
+
kind: 'success',
|
|
173
|
+
text: `No omdsh-managed DeepSeek login is active. DeepSeek is configured by ${credentialSource(current)}.`,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
if (usesOmdshCredential && !current.configured) {
|
|
177
|
+
try {
|
|
178
|
+
await resetDeepSeekCredentialRoute(ctx);
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
return { kind: 'error', text: 'Could not reset the DeepSeek credential setting.' };
|
|
182
|
+
}
|
|
183
|
+
return logoutSuccess(ctx, true);
|
|
184
|
+
}
|
|
185
|
+
const removesStoredKey = current.source === 'file';
|
|
186
|
+
const answer = await ctx.tui.prompt({
|
|
187
|
+
title: 'Logout from DeepSeek',
|
|
188
|
+
question: removesStoredKey ? 'Remove the stored DeepSeek API key?' : 'Stop using the omdsh DeepSeek credential?',
|
|
189
|
+
detail: 'The next model request will fall back to DEEPSEEK_API_KEY when one is available.',
|
|
190
|
+
options: [
|
|
191
|
+
{ label: 'Cancel', value: 'cancel', description: 'Keep the current credential.' },
|
|
192
|
+
{
|
|
193
|
+
label: 'Log out',
|
|
194
|
+
value: 'logout',
|
|
195
|
+
description: removesStoredKey
|
|
196
|
+
? 'Remove the key from the local Harness credential store.'
|
|
197
|
+
: 'Return the provider to its default credential source.',
|
|
198
|
+
badge: { label: 'removes credential', tone: 'warning' },
|
|
199
|
+
},
|
|
200
|
+
],
|
|
201
|
+
initialValue: 'cancel',
|
|
202
|
+
allowCustom: false,
|
|
203
|
+
submitLabel: 'apply',
|
|
204
|
+
signal: invocation.signal,
|
|
205
|
+
});
|
|
206
|
+
if (answer !== 'logout')
|
|
207
|
+
return { kind: 'success' };
|
|
208
|
+
try {
|
|
209
|
+
if (usesOmdshCredential)
|
|
210
|
+
await resetDeepSeekCredentialRoute(ctx);
|
|
211
|
+
if (removesStoredKey)
|
|
212
|
+
await ctx.credentials.unset(activeCredential);
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
return { kind: 'error', text: 'Could not remove the DeepSeek API key from the Harness credential store.' };
|
|
216
|
+
}
|
|
217
|
+
return logoutSuccess(ctx, usesOmdshCredential);
|
|
218
|
+
}
|
|
219
|
+
export function apply(ctx, config = {}) {
|
|
220
|
+
registerCommands(ctx, [
|
|
221
|
+
{ name: 'login', description: 'Configure and validate the DeepSeek API key', handler: invocation => login(ctx, invocation, config) },
|
|
222
|
+
{ name: 'logout', description: 'Remove the stored DeepSeek API key', handler: invocation => logout(ctx, invocation) },
|
|
223
|
+
], 'omdsh DeepSeek authentication commands');
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=command-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-auth.js","sourceRoot":"","sources":["../src/command-auth.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAE3F,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,OAAO,MAAM,cAAc,CAAA;AAGlC,OAAO,EAAE,aAAa,EAAuB,MAAM,8BAA8B,CAAA;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,CAAC,MAAM,IAAI,GAAG,oBAAoB,CAAA;AACxC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;AAOpE,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAA;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC,wBAAwB,CAAC,CAAA;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAA;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAAG,wCAAwC,CAAA;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,oCAAoC,CAAA;AAEvE,wFAAwF;AACxF,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;IAC3D,IAAI,UAAU,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;IAC7E,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,MAAmB,EACnB,YAA0B,UAAU,CAAC,KAAK;IAE1C,IAAI,QAAkB,CAAA;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,SAAS,CAAC,mBAAmB,EAAE;YAC9C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,aAAa,EAAE,UAAU,MAAM,EAAE;aAClC;YACD,MAAM;SACP,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QACpE,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAA;IACxG,CAAC;IACD,IAAI,QAAQ,CAAC,EAAE;QAAE,OAAM;IACvB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAA;IAChH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,QAAQ,CAAC,MAAM,qBAAqB,CAAC,CAAA;AACxG,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAoB;IAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,iCAAiC,CAAA;IACnE,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa;QAAE,OAAO,uBAAuB,CAAA;IACjE,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,oBAAoB,CAAA;IAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,oCAAoC,CAAA;IACvE,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,oBAAoB,CAAA;AAC7G,CAAC;AAED,SAAS,0BAA0B,CACjC,GAA4B,EAC5B,IAAoB,EACpB,MAA4B;IAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK;QACvC,CAAC,CAAC,iCAAiC;QACnC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,aAAa;YAC7B,CAAC,CAAC,yDAAyD;YAC3D,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU;gBAC1B,CAAC,CAAC,sDAAsD;gBACxD,CAAC,CAAC,gDAAgD,CAAA;IACxD,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,gBAAgB,CAAC,IAAI,CAAC,SAAS,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,WAAW,MAAM,QAAQ,WAAW,EAAE,CAAA;AACxJ,CAAC;AAED,SAAS,2BAA2B,CAAC,GAAY;IAC/C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACpD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACjH,MAAM,SAAS,GAAI,QAAoC,CAAC,WAAW,CAAC,CAAA;IACpE,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;AACxG,CAAC;AAED,KAAK,UAAU,4BAA4B,CAAC,GAAY;IACtD,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAA;AACtF,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAY,EAAE,OAAgB;IACzD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IACjE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,wDAAwD,CAAC,CAAC,CAAC,2BAA2B,0CAA0C,gBAAgB,CAAC,QAAQ,CAAC,GAAG;SACjL,CAAA;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAA;AAC/D,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,qBAAqB;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAC3C,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,qBAAqB,CAAC,EAAE;QACjD,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC5B,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,qBAAqB,CAAC,EAAE;YACnF,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAA;IACzD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QACpF,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACpC,KAAK,CAAC,KAAK,EAAE,CAAA;IACf,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;IAC3E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,GAAY,EAAE,UAA6B,EAAE,MAAc;IAC9E,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,8DAA8D,EAAE,CAAA;IAChG,CAAC;IACD,0EAA0E;IAC1E,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAA;IACtE,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,0BAA0B,CAAC,sBAAsB,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAA;IACxG,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,KAAK,KAAK;QAAE,qBAAqB,EAAE,CAAA;IAC3D,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;QAC/B,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,6BAA6B;QAC7F,MAAM,EAAE,2BAA2B,qBAAqB,8EAA8E;QACtI,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC,CAAA;IACF,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IAE5C,IAAI,MAAc,CAAA;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAA;QACrC,MAAM,sBAAsB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;QACzD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAA;IACnG,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,kFAAkF,EAAE,CAAA;IACpH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAA;IAC7F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,gJAAgJ;SACvJ,CAAA;IACH,CAAC;IACD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,wFAAwF;KAC/F,CAAA;AACH,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,GAAY,EAAE,UAA6B;IAC/D,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;IACvF,MAAM,SAAS,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAA;IAClD,MAAM,mBAAmB,GAAG,SAAS,KAAK,MAAM,CAAC,sBAAsB,CAAC,CAAA;IACxE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,CAAA;IACxF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAEhE,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,oBAAoB,GAAG,SAAS,KAAK,MAAM,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAAA;IAChG,IAAI,CAAC,mBAAmB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,UAAU;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAA;QAC5F,OAAO;YACL,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,wEAAwE,gBAAgB,CAAC,OAAO,CAAC,GAAG;SAC3G,CAAA;IACH,CAAC;IAED,IAAI,mBAAmB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,4BAA4B,CAAC,GAAG,CAAC,CAAA;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,kDAAkD,EAAE,CAAA;QACpF,CAAC;QACD,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,KAAK,MAAM,CAAA;IAClD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;QAClC,KAAK,EAAE,sBAAsB;QAC7B,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,2CAA2C;QAChH,MAAM,EAAE,kFAAkF;QAC1F,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;YACjF;gBACE,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,gBAAgB;oBAC3B,CAAC,CAAC,yDAAyD;oBAC3D,CAAC,CAAC,uDAAuD;gBAC3D,KAAK,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE;aACxD;SACF;QACD,YAAY,EAAE,QAAQ;QACtB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,OAAO;QACpB,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC,CAAA;IACF,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IACnD,IAAI,CAAC;QACH,IAAI,mBAAmB;YAAE,MAAM,4BAA4B,CAAC,GAAG,CAAC,CAAA;QAChE,IAAI,gBAAgB;YAAE,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,0EAA0E,EAAE,CAAA;IAC5G,CAAC;IACD,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,SAAiB,EAAE;IACrD,gBAAgB,CAAC,GAAG,EAAE;QACpB,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,6CAA6C,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE;QACpI,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE;KACtH,EAAE,wCAAwC,CAAC,CAAA;AAC9C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/** Transcript export command registered through dsh-commands. */
|
|
2
2
|
import type { Context } from '@deepseek-ai/cordis';
|
|
3
|
-
export declare const name = "omdsh-command-
|
|
3
|
+
export declare const name = "omdsh-command-export";
|
|
4
4
|
export declare const inject: string[];
|
|
5
5
|
export declare function apply(ctx: Context): void;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** Transcript export command registered through dsh-commands. */
|
|
2
|
+
import { writeFile } from 'node:fs/promises';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
4
|
+
import { resolve } from 'node:path';
|
|
5
|
+
import { registerCommands } from "./command-registration.js";
|
|
6
|
+
import { formatTranscriptMarkdown } from "./transcript-export.js";
|
|
7
|
+
export const name = 'omdsh-command-export';
|
|
8
|
+
export const inject = ['commands'];
|
|
9
|
+
function sessionTitle(events, fallback) {
|
|
10
|
+
for (let i = events.length - 1; i >= 0; i -= 1) {
|
|
11
|
+
const event = events[i];
|
|
12
|
+
if (event?.type === 'session/title')
|
|
13
|
+
return event.data.title;
|
|
14
|
+
}
|
|
15
|
+
return fallback;
|
|
16
|
+
}
|
|
17
|
+
async function exportTranscript(invocation) {
|
|
18
|
+
const input = invocation.rawInput.trim();
|
|
19
|
+
const unquoted = input.replace(/^(?:"(.*)"|'(.*)')$/u, '$1$2');
|
|
20
|
+
const fallback = `omdsh-transcript-${invocation.agent.id}.md`;
|
|
21
|
+
const path = resolve(unquoted === '' ? fallback : (unquoted.startsWith('~/') ? homedir() + unquoted.slice(1) : unquoted));
|
|
22
|
+
const title = sessionTitle(invocation.agent.session.events, invocation.agent.id);
|
|
23
|
+
try {
|
|
24
|
+
await writeFile(path, formatTranscriptMarkdown(invocation.agent.id, title, invocation.agent.session.events), { encoding: 'utf8', mode: 0o600 });
|
|
25
|
+
return { kind: 'success', text: `Exported complete transcript to ${path}` };
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
return { kind: 'error', text: 'Export failed: ' + (error instanceof Error ? error.message : String(error)) };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export function apply(ctx) {
|
|
32
|
+
registerCommands(ctx, [{
|
|
33
|
+
name: 'export',
|
|
34
|
+
description: 'Export the complete transcript as Markdown',
|
|
35
|
+
input: { hint: '[path]' },
|
|
36
|
+
handler: exportTranscript,
|
|
37
|
+
}], 'omdsh export command');
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=command-export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-export.js","sourceRoot":"","sources":["../src/command-export.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAEjE,MAAM,CAAC,MAAM,IAAI,GAAG,sBAAsB,CAAA;AAC1C,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,CAAA;AAElC,SAAS,YAAY,CAAC,MAA+B,EAAE,QAAgB;IACrE,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,KAAK,EAAE,IAAI,KAAK,eAAe;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAA;IAC9D,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,UAA6B;IAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,oBAAoB,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzH,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAChF,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,IAAI,EAAE,wBAAwB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/I,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,mCAAmC,IAAI,EAAE,EAAE,CAAA;IAC7E,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;IAC9G,CAAC;AACH,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAY;IAChC,gBAAgB,CAAC,GAAG,EAAE,CAAC;YACrB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4CAA4C;YACzD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,OAAO,EAAE,gBAAgB;SAC1B,CAAC,EAAE,sBAAsB,CAAC,CAAA;AAC7B,CAAC"}
|
package/lib/command-model.js
CHANGED
|
@@ -5,6 +5,7 @@ export const name = 'omdsh-command-model';
|
|
|
5
5
|
export const inject = ['commands', 'omdshSession', 'tui', 'llm'];
|
|
6
6
|
const FIXED_CHOICE = {
|
|
7
7
|
presentation: 'fullscreen-list',
|
|
8
|
+
optionLayout: 'compact',
|
|
8
9
|
filterable: true,
|
|
9
10
|
allowCustom: false,
|
|
10
11
|
};
|
|
@@ -19,25 +20,34 @@ async function selectModel(ctx, invocation) {
|
|
|
19
20
|
if (providers.length === 0)
|
|
20
21
|
return { kind: 'error', text: 'No model providers are registered.' };
|
|
21
22
|
const current = ctx.omdshSession.selection(invocation.agent);
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
23
|
+
let provider = providers[0]?.id;
|
|
24
|
+
if (providers.length > 1) {
|
|
25
|
+
const providerRaw = await ctx.tui.prompt({
|
|
26
|
+
...FIXED_CHOICE,
|
|
27
|
+
title: 'Model provider',
|
|
28
|
+
question: 'Choose a provider',
|
|
29
|
+
options: providers.map(entry => ({ label: entry.id, description: entry.name })),
|
|
30
|
+
initialValue: current.provider,
|
|
31
|
+
signal: invocation.signal,
|
|
32
|
+
});
|
|
33
|
+
if (providerRaw === null)
|
|
34
|
+
return { kind: 'success' };
|
|
35
|
+
provider = selected(providerRaw, providers.map(entry => entry.id));
|
|
36
|
+
if (provider === undefined || !providers.some(entry => entry.id === provider)) {
|
|
37
|
+
return { kind: 'error', text: `Unknown provider: ${providerRaw}` };
|
|
38
|
+
}
|
|
34
39
|
}
|
|
40
|
+
if (provider === undefined)
|
|
41
|
+
return { kind: 'error', text: 'No model provider is available.' };
|
|
35
42
|
const models = await ctx.llm.listModels(provider);
|
|
43
|
+
if (models.length === 0)
|
|
44
|
+
return { kind: 'error', text: `No models are available for ${provider}.` };
|
|
36
45
|
const modelRaw = await ctx.tui.prompt({
|
|
37
46
|
...FIXED_CHOICE,
|
|
38
47
|
title: 'Model',
|
|
39
48
|
question: `Choose a model for ${provider}`,
|
|
40
49
|
options: models.map(model => ({ label: model.id, description: model.description ?? model.name })),
|
|
50
|
+
...(provider === current.provider ? { initialValue: current.model } : {}),
|
|
41
51
|
signal: invocation.signal,
|
|
42
52
|
});
|
|
43
53
|
if (modelRaw === null)
|
|
@@ -57,6 +67,7 @@ async function selectModel(ctx, invocation) {
|
|
|
57
67
|
title: 'Reasoning effort',
|
|
58
68
|
question: 'Choose reasoning effort',
|
|
59
69
|
options: info.reasoning.efforts.map(effort => ({ label: String(effort.id), description: effort.description ?? effort.name })),
|
|
70
|
+
...(reasoningEffort === undefined ? {} : { initialValue: String(reasoningEffort) }),
|
|
60
71
|
signal: invocation.signal,
|
|
61
72
|
});
|
|
62
73
|
if (effortRaw === null)
|
package/lib/command-model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-model.js","sourceRoot":"","sources":["../src/command-model.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAKxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAA;AACzC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;AAEhE,MAAM,YAAY,GAAG;IACnB,YAAY,EAAE,iBAA0B;IACxC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,KAAK;CACnB,CAAA;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,MAAyB;IACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvD,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;AACzC,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAY,EAAE,UAA6B;IACpE,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAA;IACtF,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;IACzC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAA;IAChG,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAC5D,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"command-model.js","sourceRoot":"","sources":["../src/command-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/** Steering command registered through dsh-commands. */
|
|
2
2
|
import type { Context } from '@deepseek-ai/cordis';
|
|
3
|
-
export declare const name = "omdsh-command-
|
|
3
|
+
export declare const name = "omdsh-command-steer";
|
|
4
4
|
export declare const inject: string[];
|
|
5
5
|
export declare function apply(ctx: Context): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Steering command registered through dsh-commands. */
|
|
2
|
+
import { createUserMessage } from '@deepseek-ai/dsh-llm';
|
|
3
|
+
import { registerCommands } from "./command-registration.js";
|
|
4
|
+
export const name = 'omdsh-command-steer';
|
|
5
|
+
export const inject = ['commands'];
|
|
6
|
+
function steer(invocation) {
|
|
7
|
+
const input = invocation.rawInput.trim();
|
|
8
|
+
if (input === '')
|
|
9
|
+
return { kind: 'error', text: 'Usage: /steer <message>' };
|
|
10
|
+
invocation.agent.steer(createUserMessage({ content: [{ type: 'text', text: input }], source: { kind: 'user' } }));
|
|
11
|
+
return { kind: 'success', text: 'Steering queued for the next step.' };
|
|
12
|
+
}
|
|
13
|
+
export function apply(ctx) {
|
|
14
|
+
registerCommands(ctx, [
|
|
15
|
+
{ name: 'steer', description: 'Send guidance to the next model step', input: { hint: '<message>' }, handler: steer },
|
|
16
|
+
], 'omdsh steering commands');
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=command-steer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-steer.js","sourceRoot":"","sources":["../src/command-steer.ts"],"names":[],"mappings":"AAAA,wDAAwD;AAIxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAA;AACzC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,CAAA;AAElC,SAAS,KAAK,CAAC,UAA6B;IAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxC,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAA;IAC3E,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;IACjH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAA;AACxE,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAY;IAChC,gBAAgB,CAAC,GAAG,EAAE;QACpB,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,sCAAsC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;KACrH,EAAE,yBAAyB,CAAC,CAAA;AAC/B,CAAC"}
|
package/lib/definition.d.ts
CHANGED
|
@@ -22,6 +22,12 @@ export interface TuiCommand {
|
|
|
22
22
|
description: string;
|
|
23
23
|
inputHint?: string;
|
|
24
24
|
}
|
|
25
|
+
/** Presentation intent for a direct, non-session notice. */
|
|
26
|
+
export interface TuiNoticeOptions {
|
|
27
|
+
level?: 'info' | 'error';
|
|
28
|
+
/** Reserve a component frame for callers that explicitly own a panel. */
|
|
29
|
+
framed?: boolean;
|
|
30
|
+
}
|
|
25
31
|
/** One terminal-owned human prompt used by approval and question adapters. */
|
|
26
32
|
export interface TuiPrompt {
|
|
27
33
|
title: string;
|
|
@@ -43,10 +49,14 @@ export interface TuiPrompt {
|
|
|
43
49
|
}[];
|
|
44
50
|
multiSelect?: boolean;
|
|
45
51
|
allowCustom?: boolean;
|
|
52
|
+
/** Mask custom input while retaining the real value only in the prompt editor. */
|
|
53
|
+
secret?: boolean;
|
|
46
54
|
/** Option value selected when a fixed-choice prompt opens. */
|
|
47
55
|
initialValue?: string;
|
|
48
56
|
/** Full-height searchable list instead of the default prompt card. */
|
|
49
57
|
presentation?: 'fullscreen-list' | 'plan-review';
|
|
58
|
+
/** Row density for full-screen lists; compact rows keep short choices together. */
|
|
59
|
+
optionLayout?: 'compact' | 'spacious';
|
|
50
60
|
/** Choice that approves a dedicated review; other choices may collect feedback. */
|
|
51
61
|
approveValue?: string;
|
|
52
62
|
/** Let typed text filter the available options. */
|
|
@@ -132,7 +142,7 @@ export interface TuiService {
|
|
|
132
142
|
/** Replace commands contributed by the active agent's Harness scope. */
|
|
133
143
|
setCommands(commands: readonly TuiCommand[]): void;
|
|
134
144
|
/** Append a direct UI/command result without fabricating a session event. */
|
|
135
|
-
notice(text: string,
|
|
145
|
+
notice(text: string, options?: TuiNoticeOptions): void;
|
|
136
146
|
/** Append one successful plugin command result using the command-output surface. */
|
|
137
147
|
commandOutput(command: string, text: string): void;
|
|
138
148
|
/** Temporarily own the composer and collect one human answer. */
|
|
@@ -154,12 +164,26 @@ export interface TuiService {
|
|
|
154
164
|
readInput(): Promise<TuiSubmission | null>;
|
|
155
165
|
/** Restore an accepted draft when persistence or dispatch fails. */
|
|
156
166
|
restoreInput(submission: TuiSubmission): void;
|
|
167
|
+
/** Resolve one queued-message back-navigation request into the composer. */
|
|
168
|
+
resolveQueueEdit(submission: TuiSubmission | null): void;
|
|
157
169
|
/**
|
|
158
170
|
* Subscribe to Ctrl-C. The listener fires when the user presses Ctrl-C
|
|
159
171
|
* while a turn is running; an idle Ctrl-C clears the input line instead.
|
|
160
172
|
* @returns disposer removing the listener.
|
|
161
173
|
*/
|
|
162
174
|
onInterrupt(listener: () => void): () => void;
|
|
175
|
+
/**
|
|
176
|
+
* Subscribe to an Up gesture while browsing queued follow-ups. The session
|
|
177
|
+
* runtime owns removing the previous durable message and resolving the
|
|
178
|
+
* request through {@link resolveQueueEdit}.
|
|
179
|
+
* @returns disposer removing the listener.
|
|
180
|
+
*/
|
|
181
|
+
onQueueEdit(listener: () => void): () => void;
|
|
182
|
+
/**
|
|
183
|
+
* Subscribe to the idle double-Escape gesture that opens conversation rewind.
|
|
184
|
+
* @returns disposer removing the listener.
|
|
185
|
+
*/
|
|
186
|
+
onRewind(listener: () => void): () => void;
|
|
163
187
|
/** Restore terminal state and settle a pending input read with null. */
|
|
164
188
|
dispose(): void;
|
|
165
189
|
}
|