dsh-input-traffic 0.4.1 → 0.4.2
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/dsh.plugin.json +2 -2
- package/lib/types/client/freeze-button.d.ts +16 -16
- package/lib/types/client/index.d.ts +51 -51
- package/package.json +8 -8
package/dsh.plugin.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "dsh-external/dsh-input-traffic",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"main": "./lib/index.js",
|
|
5
5
|
"description": "Busy-time input queue: three-tier planning, drag-to-reorder, interject/interrupt, batch clear, session freeze.",
|
|
6
6
|
"engines": {
|
|
7
|
-
"dsh": ">=0.1.5-alpha.1 <0.
|
|
7
|
+
"dsh": ">=0.1.5-alpha.1 <0.1.6-0"
|
|
8
8
|
},
|
|
9
9
|
"contributes": {
|
|
10
10
|
"tools": [],
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import type { PropsLocale, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
|
|
2
|
-
import type { SteerQueueDockInjected } from './steer-queue-dock.tsx';
|
|
3
|
-
/**
|
|
4
|
-
* Full props of the composer-right entry.
|
|
5
|
-
*
|
|
6
|
-
* The slot carries no `InputZone` owner on this segment (0.1.5 keeps the
|
|
7
|
-
* ownerless shape introduced in 0.1.2, `InputBar.tsx:466` renders `{}`); only
|
|
8
|
-
* the session standard kit is shared, so the type declares exactly that —
|
|
9
|
-
* reading `session`/`input` off this slot is a compile error, not a crash.
|
|
10
|
-
*/
|
|
11
|
-
export type FreezeButtonProps = Pick<PropsRuntime<'conversation.input.right'>, 'useSession' | 'sessionId'> & SteerQueueDockInjected & PropsLocale<'steer'>;
|
|
12
|
-
/**
|
|
13
|
-
* Freeze/resume toggle for the peak-hour scenario.
|
|
14
|
-
* @param props - slot props; the session snapshot drives the detach list.
|
|
15
|
-
*/
|
|
16
|
-
export declare function FreezeButton({ useSession, updateQueue, cancel, send, sendSteer, sessionId, setComposerBlock, notify, t }: FreezeButtonProps): import("react").JSX.Element;
|
|
1
|
+
import type { PropsLocale, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
|
|
2
|
+
import type { SteerQueueDockInjected } from './steer-queue-dock.tsx';
|
|
3
|
+
/**
|
|
4
|
+
* Full props of the composer-right entry.
|
|
5
|
+
*
|
|
6
|
+
* The slot carries no `InputZone` owner on this segment (0.1.5 keeps the
|
|
7
|
+
* ownerless shape introduced in 0.1.2, `InputBar.tsx:466` renders `{}`); only
|
|
8
|
+
* the session standard kit is shared, so the type declares exactly that —
|
|
9
|
+
* reading `session`/`input` off this slot is a compile error, not a crash.
|
|
10
|
+
*/
|
|
11
|
+
export type FreezeButtonProps = Pick<PropsRuntime<'conversation.input.right'>, 'useSession' | 'sessionId'> & SteerQueueDockInjected & PropsLocale<'steer'>;
|
|
12
|
+
/**
|
|
13
|
+
* Freeze/resume toggle for the peak-hour scenario.
|
|
14
|
+
* @param props - slot props; the session snapshot drives the detach list.
|
|
15
|
+
*/
|
|
16
|
+
export declare function FreezeButton({ useSession, updateQueue, cancel, send, sendSteer, sessionId, setComposerBlock, notify, t }: FreezeButtonProps): import("react").JSX.Element;
|
|
17
17
|
//# sourceMappingURL=freeze-button.d.ts.map
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* dsh-input-traffic —browser half.
|
|
3
|
-
*
|
|
4
|
-
* The whole takeover lives here:
|
|
5
|
-
* 1. registers the `steer` dictionaries;
|
|
6
|
-
* 2. pins `ui-conversation.busyEnter` to `queue` (plain Enter = green later)
|
|
7
|
-
* so the hidden official row cannot leak a stale queue/steer preference;
|
|
8
|
-
* 3. shadows the official queue dock (`conversation.input.dock` cell id
|
|
9
|
-
* `queue`, priority -1) with the three-tier planning strip;
|
|
10
|
-
* 4. shadows the official busy-Enter settings row (`settings.general.item`
|
|
11
|
-
* cell id `composer-enter`, priority -1) with a null render.
|
|
12
|
-
*
|
|
13
|
-
* ORDERING (why the dock registers at QUEUE_DOCK_ORDER instead of the
|
|
14
|
-
* official dock's 20): a list slot's DISPLAY position is decided by `order`
|
|
15
|
-
* alone — `ui-renderer/src/client/scoped-slots.tsx` maps the shadowing
|
|
16
|
-
* winners to rows and then sorts them by `order` — while `priority` only
|
|
17
|
-
* decides which entry wins a shared cell id. Keeping the official 20
|
|
18
|
-
* therefore left the strip above any later contributor (dsh-perm-gate's
|
|
19
|
-
* notice registers order 30), which pushed that notice between the queue
|
|
20
|
-
* strip and the composer card. A deliberately high order keeps the strip
|
|
21
|
-
* adjacent to the card; priority stays -1 so the cell takeover still holds.
|
|
22
|
-
* Known `conversation.input.dock` contributors on 0.1.5-rc.2: `todo` 0,
|
|
23
|
-
* `goal` 10, official `queue` 20, `dsh-perm-gate.notice` 30. Note 0.1.5 also
|
|
24
|
-
* introduces adjacent slots (`conversation.composer.dock`,
|
|
25
|
-
* `conversation.input.left`) — a third party registering a larger `order`
|
|
26
|
-
* inside this slot could still land below us.
|
|
27
|
-
*
|
|
28
|
-
* All @deepseek-ai/* imports are type-only: collaboration happens through
|
|
29
|
-
* cordis services and slot registration only (client bundle purity).
|
|
30
|
-
*/
|
|
31
|
-
import type { Context as ClientContext } from '@deepseek-ai/cordis';
|
|
32
|
-
/**
|
|
33
|
-
* Display order of the queue strip inside `conversation.input.dock`.
|
|
34
|
-
*
|
|
35
|
-
* List rows render sorted by `order` ascending, so a value above every other
|
|
36
|
-
* contributor keeps the strip as the bottom-most entry of the band — directly
|
|
37
|
-
* on top of the composer card. Known contributors on 0.1.5-rc.2: `todo` 0,
|
|
38
|
-
* `goal` 10, official `queue` 20, `dsh-perm-gate.notice` 30. DSH has no "last"
|
|
39
|
-
* slot semantics, so this is a convention, not a
|
|
40
|
-
* structural guarantee: a third party registering a larger value could still
|
|
41
|
-
* land below us.
|
|
42
|
-
*/
|
|
43
|
-
export declare const QUEUE_DOCK_ORDER = 1000;
|
|
44
|
-
/** Services required by the browser half. */
|
|
45
|
-
export declare const inject: string[];
|
|
46
|
-
/**
|
|
47
|
-
* Client plugin body: dictionaries, busy-Enter pinning, and the two slot
|
|
48
|
-
* shadowings.
|
|
49
|
-
* @param ctx - client root context.
|
|
50
|
-
*/
|
|
51
|
-
export declare function apply(ctx: ClientContext): void;
|
|
1
|
+
/**
|
|
2
|
+
* dsh-input-traffic —browser half.
|
|
3
|
+
*
|
|
4
|
+
* The whole takeover lives here:
|
|
5
|
+
* 1. registers the `steer` dictionaries;
|
|
6
|
+
* 2. pins `ui-conversation.busyEnter` to `queue` (plain Enter = green later)
|
|
7
|
+
* so the hidden official row cannot leak a stale queue/steer preference;
|
|
8
|
+
* 3. shadows the official queue dock (`conversation.input.dock` cell id
|
|
9
|
+
* `queue`, priority -1) with the three-tier planning strip;
|
|
10
|
+
* 4. shadows the official busy-Enter settings row (`settings.general.item`
|
|
11
|
+
* cell id `composer-enter`, priority -1) with a null render.
|
|
12
|
+
*
|
|
13
|
+
* ORDERING (why the dock registers at QUEUE_DOCK_ORDER instead of the
|
|
14
|
+
* official dock's 20): a list slot's DISPLAY position is decided by `order`
|
|
15
|
+
* alone — `ui-renderer/src/client/scoped-slots.tsx` maps the shadowing
|
|
16
|
+
* winners to rows and then sorts them by `order` — while `priority` only
|
|
17
|
+
* decides which entry wins a shared cell id. Keeping the official 20
|
|
18
|
+
* therefore left the strip above any later contributor (dsh-perm-gate's
|
|
19
|
+
* notice registers order 30), which pushed that notice between the queue
|
|
20
|
+
* strip and the composer card. A deliberately high order keeps the strip
|
|
21
|
+
* adjacent to the card; priority stays -1 so the cell takeover still holds.
|
|
22
|
+
* Known `conversation.input.dock` contributors on 0.1.5-rc.2: `todo` 0,
|
|
23
|
+
* `goal` 10, official `queue` 20, `dsh-perm-gate.notice` 30. Note 0.1.5 also
|
|
24
|
+
* introduces adjacent slots (`conversation.composer.dock`,
|
|
25
|
+
* `conversation.input.left`) — a third party registering a larger `order`
|
|
26
|
+
* inside this slot could still land below us.
|
|
27
|
+
*
|
|
28
|
+
* All @deepseek-ai/* imports are type-only: collaboration happens through
|
|
29
|
+
* cordis services and slot registration only (client bundle purity).
|
|
30
|
+
*/
|
|
31
|
+
import type { Context as ClientContext } from '@deepseek-ai/cordis';
|
|
32
|
+
/**
|
|
33
|
+
* Display order of the queue strip inside `conversation.input.dock`.
|
|
34
|
+
*
|
|
35
|
+
* List rows render sorted by `order` ascending, so a value above every other
|
|
36
|
+
* contributor keeps the strip as the bottom-most entry of the band — directly
|
|
37
|
+
* on top of the composer card. Known contributors on 0.1.5-rc.2: `todo` 0,
|
|
38
|
+
* `goal` 10, official `queue` 20, `dsh-perm-gate.notice` 30. DSH has no "last"
|
|
39
|
+
* slot semantics, so this is a convention, not a
|
|
40
|
+
* structural guarantee: a third party registering a larger value could still
|
|
41
|
+
* land below us.
|
|
42
|
+
*/
|
|
43
|
+
export declare const QUEUE_DOCK_ORDER = 1000;
|
|
44
|
+
/** Services required by the browser half. */
|
|
45
|
+
export declare const inject: string[];
|
|
46
|
+
/**
|
|
47
|
+
* Client plugin body: dictionaries, busy-Enter pinning, and the two slot
|
|
48
|
+
* shadowings.
|
|
49
|
+
* @param ctx - client root context.
|
|
50
|
+
*/
|
|
51
|
+
export declare function apply(ctx: ClientContext): void;
|
|
52
52
|
//# sourceMappingURL=index.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-input-traffic",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"registry": "https://registry.npmjs.org",
|
|
6
6
|
"access": "public",
|
|
@@ -64,17 +64,17 @@
|
|
|
64
64
|
},
|
|
65
65
|
"engines": {
|
|
66
66
|
"node": ">=20",
|
|
67
|
-
"dsh": ">=0.1.5-alpha.1 <0.
|
|
67
|
+
"dsh": ">=0.1.5-alpha.1 <0.1.6-0"
|
|
68
68
|
},
|
|
69
69
|
"license": "MIT",
|
|
70
70
|
"peerDependencies": {
|
|
71
71
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
72
|
-
"@deepseek-ai/dsh-client-locale": ">=0.1.5-alpha.1 <0.
|
|
73
|
-
"@deepseek-ai/dsh-client-ui-conversation": ">=0.1.5-alpha.1 <0.
|
|
74
|
-
"@deepseek-ai/dsh-client-ui-primitives": ">=0.1.5-alpha.1 <0.
|
|
75
|
-
"@deepseek-ai/dsh-client-ui-settings": ">=0.1.5-alpha.1 <0.
|
|
76
|
-
"@deepseek-ai/dsh-client-ui-slots": ">=0.1.5-alpha.1 <0.
|
|
77
|
-
"@deepseek-ai/dsh-session": ">=0.1.5-alpha.1 <0.
|
|
72
|
+
"@deepseek-ai/dsh-client-locale": ">=0.1.5-alpha.1 <0.1.6-0",
|
|
73
|
+
"@deepseek-ai/dsh-client-ui-conversation": ">=0.1.5-alpha.1 <0.1.6-0",
|
|
74
|
+
"@deepseek-ai/dsh-client-ui-primitives": ">=0.1.5-alpha.1 <0.1.6-0",
|
|
75
|
+
"@deepseek-ai/dsh-client-ui-settings": ">=0.1.5-alpha.1 <0.1.6-0",
|
|
76
|
+
"@deepseek-ai/dsh-client-ui-slots": ">=0.1.5-alpha.1 <0.1.6-0",
|
|
77
|
+
"@deepseek-ai/dsh-session": ">=0.1.5-alpha.1 <0.1.6-0"
|
|
78
78
|
},
|
|
79
79
|
"peerDependenciesMeta": {
|
|
80
80
|
"@deepseek-ai/cordis": {
|