@qilin-agent/client-ui-conversation 3.1.5 → 3.1.6
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.i18n.yaml +2 -2
- package/README.md +5 -3
- package/README.zh.md +5 -3
- package/lib/client.js +4636 -337
- package/lib/index.js +13 -9
- package/lib/types/client/contract/conversation.d.ts +10 -0
- package/lib/types/client/contract/draft-editor.d.ts +23 -0
- package/lib/types/client/contract/input.d.ts +34 -10
- package/lib/types/client/contract/records.d.ts +8 -3
- package/lib/types/client/contract/slots.d.ts +11 -2
- package/lib/types/client/contract/views.d.ts +2 -1
- package/lib/types/client/conversation/assembler.d.ts +3 -0
- package/lib/types/client/draft.d.ts +22 -0
- package/lib/types/client/index.d.ts +2 -2
- package/lib/types/client/input/decorations.d.ts +1 -1
- package/lib/types/client/input/editor/CommandChip.d.ts +13 -0
- package/lib/types/client/input/editor/command-chip-node.d.ts +87 -0
- package/lib/types/client/input/editor/command-chip-selection.d.ts +20 -0
- package/lib/types/client/input/editor/projection.d.ts +3 -0
- package/lib/types/client/input/editor/runtime.d.ts +19 -11
- package/lib/types/client/input/editor/text-ref.d.ts +2 -7
- package/lib/types/client/input/facade.d.ts +50 -17
- package/lib/types/client/input/hub.d.ts +2 -1
- package/lib/types/client/input/machine.d.ts +9 -5
- package/lib/types/client/locales.d.ts +2 -16
- package/lib/types/client/skeleton/DefaultConversationViews.d.ts +2 -2
- package/lib/types/client/stores.d.ts +8 -1
- package/lib/types/conversation-settings.d.ts +4 -0
- package/lib/types/index.d.ts +20 -5
- package/package.json +35 -35
- package/lib/types/client/input/editor/claim-decor.d.ts +0 -23
- package/lib/types/client/settings/ContentWidthRow.d.ts +0 -26
|
@@ -12,8 +12,8 @@ import type { Context } from '@qilin-agent/kylin';
|
|
|
12
12
|
import type { InboxState } from '@qilin-agent/agent/types';
|
|
13
13
|
import { type ObservableSnapshot, type SnapshotStore } from '@qilin-agent/client-store';
|
|
14
14
|
import type { LexicalEditor } from 'lexical';
|
|
15
|
-
import type { CommandClaim, ConsumeTokenRequest, DraftAttachmentId, InputActions, InputNotice, InputState, InputTriggerController, SessionInput, SubmitAttachment, SubmitOutcome } from '../contract/input.ts';
|
|
16
|
-
import type { ArbitrateKey, ArbitrateOutcome, ComposerKeyboard, ReferenceInsert, TokenSpan } from '../contract/draft-editor.ts';
|
|
15
|
+
import type { CommandClaim, ConsumeTokenRequest, DraftAttachmentId, DraftInitializationOptions, DraftInitializationResult, InputActions, InputNotice, InputState, InputTriggerController, SessionInput, SubmitAttachment, SubmitOutcome } from '../contract/input.ts';
|
|
16
|
+
import type { ArbitrateKey, ArbitrateOutcome, ComposerKeyboard, DraftInput, DraftSnapshot, ReferenceInsert, TokenSpan } from '../contract/draft-editor.ts';
|
|
17
17
|
import type { InputSubmitMode } from '../contract/composer-submission.ts';
|
|
18
18
|
/** Popup face the shell needs (dismissal only; typed structurally to avoid a value import). */
|
|
19
19
|
export interface PopupDismissFace {
|
|
@@ -72,11 +72,16 @@ export declare class SessionInputShell implements SessionInput {
|
|
|
72
72
|
private rev;
|
|
73
73
|
private readonly unregister;
|
|
74
74
|
private noticeSeq;
|
|
75
|
-
private
|
|
75
|
+
private lastPublishedDraft;
|
|
76
|
+
private draftSnapshotCache;
|
|
76
77
|
private attachmentIds;
|
|
77
78
|
private disposed;
|
|
78
|
-
/**
|
|
79
|
-
private
|
|
79
|
+
/** Conversation store writer for the current semantic document. */
|
|
80
|
+
private persistDraft;
|
|
81
|
+
/** A restored draft's command token waiting for the trigger pipeline, with the revision its restore produced. */
|
|
82
|
+
private pendingCommand;
|
|
83
|
+
/** The in-flight claim resolution for a restored command chip. */
|
|
84
|
+
private commandRestore;
|
|
80
85
|
/** The mounted composer's file-picker opener (scoped pick-files event target). */
|
|
81
86
|
private filePicker;
|
|
82
87
|
/** Default sends retained until admission settles or scope disposal releases their attachments. */
|
|
@@ -91,15 +96,40 @@ export declare class SessionInputShell implements SessionInput {
|
|
|
91
96
|
private readonly attachmentFlights;
|
|
92
97
|
private readonly unsubscribeInbox;
|
|
93
98
|
constructor(deps: SessionInputDeps);
|
|
94
|
-
/** Re-project,
|
|
99
|
+
/** Re-project, sync the claim with the leading command chip, publish, and feed trigger tracking after every editor commit. */
|
|
95
100
|
private onEditorUpdate;
|
|
96
101
|
/**
|
|
97
102
|
* Replace the whole draft (persisted-draft seed and programmatic writes).
|
|
98
103
|
* Placeholder-sanitized; newlines split paragraphs; the caret lands at the
|
|
99
104
|
* end. Merged into history so a seed is not an undoable step of its own.
|
|
100
|
-
* @param text - the
|
|
105
|
+
* @param text - plain text or the complete semantic document.
|
|
101
106
|
*/
|
|
102
|
-
setDraft(text:
|
|
107
|
+
setDraft(text: DraftInput): void;
|
|
108
|
+
/**
|
|
109
|
+
* Reconnect optional catalog notifications and resume a pending command
|
|
110
|
+
* chip restore without waiting for another edit.
|
|
111
|
+
*/
|
|
112
|
+
refreshLexiconSubscription(): void;
|
|
113
|
+
/**
|
|
114
|
+
* Rebuild the command chip a restored draft carried once the trigger
|
|
115
|
+
* pipeline can resolve its claim. The rebuild applies only at the revision
|
|
116
|
+
* the restore produced: an edit made while the claim resolves keeps the
|
|
117
|
+
* literal token, which Enter still adjudicates as the command.
|
|
118
|
+
*/
|
|
119
|
+
private restoreCommand;
|
|
120
|
+
/** Drop a pending or in-flight command chip restore. */
|
|
121
|
+
private cancelCommandRestore;
|
|
122
|
+
/** Current semantic document, stable until its content revision changes. */
|
|
123
|
+
get draftSnapshot(): DraftSnapshot;
|
|
124
|
+
/** Persist the latest document without changing the editor or binding a writer. */
|
|
125
|
+
persistCurrentDraft(): void;
|
|
126
|
+
/**
|
|
127
|
+
* Apply one new-task request to this already-initialized input model.
|
|
128
|
+
* @param options - replacement content and explicit permission to clear existing text.
|
|
129
|
+
* @returns whether text changed, was preserved, or submission prevented editing.
|
|
130
|
+
*/
|
|
131
|
+
requestDraftInitialization(options: DraftInitializationOptions): DraftInitializationResult;
|
|
132
|
+
private draftInitializationBlocked;
|
|
103
133
|
/** Append ordered attachment ids unless an admission transaction is locked. */
|
|
104
134
|
addAttachments(ids: readonly DraftAttachmentId[]): boolean;
|
|
105
135
|
/**
|
|
@@ -182,6 +212,14 @@ export declare class SessionInputShell implements SessionInput {
|
|
|
182
212
|
* @returns whether the edit applied (phase, span CAS, and leading guard passed).
|
|
183
213
|
*/
|
|
184
214
|
beginCommand(claim: CommandClaim, span: TokenSpan): boolean;
|
|
215
|
+
/**
|
|
216
|
+
* Replace [0, span.end) with the command chip and enter claimed.
|
|
217
|
+
* @param claim - the command claim the chip anchors.
|
|
218
|
+
* @param span - pick-time span snapshot (detect coordinates).
|
|
219
|
+
* @param mergeHistory - merge the edit into the previous history entry.
|
|
220
|
+
* @returns whether the edit applied.
|
|
221
|
+
*/
|
|
222
|
+
private applyClaim;
|
|
185
223
|
/**
|
|
186
224
|
* Apply one reference insertion (scoped insert-reference event listener
|
|
187
225
|
* body): the editor replaces the span with one chip node, followed by a
|
|
@@ -234,14 +272,11 @@ export declare class SessionInputShell implements SessionInput {
|
|
|
234
272
|
/** Read the live input state (guard derivation reads here). */
|
|
235
273
|
get snapshot(): InputState;
|
|
236
274
|
/**
|
|
237
|
-
* Bind the
|
|
238
|
-
*
|
|
239
|
-
* seeds it via setDraft BEFORE binding, and afterwards every editor-adopted
|
|
240
|
-
* draft mirrors out.
|
|
241
|
-
* @param write - store draft write.
|
|
275
|
+
* Bind the Conversation store writer without importing or saving content.
|
|
276
|
+
* @param write - semantic draft writer; persistCurrentDraft flushes the initial value.
|
|
242
277
|
* @returns the unbind disposer.
|
|
243
278
|
*/
|
|
244
|
-
|
|
279
|
+
bindDraftPersistence(write: (draft: DraftSnapshot) => void): () => void;
|
|
245
280
|
/**
|
|
246
281
|
* Bind the mounted composer's file action and live intake availability.
|
|
247
282
|
* @param picker - availability query and native file-dialog opener.
|
|
@@ -258,9 +293,7 @@ export declare class SessionInputShell implements SessionInput {
|
|
|
258
293
|
* @returns whether the opener was called.
|
|
259
294
|
*/
|
|
260
295
|
pickFiles(): boolean;
|
|
261
|
-
/**
|
|
262
|
-
private activeClaimToken;
|
|
263
|
-
/** Dispatch + execute, refreshing the claim decoration when the styled token flips. */
|
|
296
|
+
/** Dispatch one machine event and execute its effects. */
|
|
264
297
|
private dispatchRun;
|
|
265
298
|
private run;
|
|
266
299
|
private execute;
|
|
@@ -11,7 +11,7 @@ import type { Context } from '@qilin-agent/kylin';
|
|
|
11
11
|
import type { SessionBinding } from '@qilin-agent/api-session-controller/client';
|
|
12
12
|
import type { SessionId } from '@qilin-agent/session/types';
|
|
13
13
|
import type { TranslateNS } from '@qilin-agent/client-locale/client';
|
|
14
|
-
import type { InputTriggerController, SessionInputResolver, SessionInput } from '../contract/input.ts';
|
|
14
|
+
import type { DraftInitializationOptions, DraftInitializationResult, InputTriggerController, SessionInputResolver, SessionInput } from '../contract/input.ts';
|
|
15
15
|
import type { ComposerKeyboard } from '../contract/draft-editor.ts';
|
|
16
16
|
import { SessionInputShell } from './facade.ts';
|
|
17
17
|
/** Session-addressed input facade registry (SessionInputResolver face + composer-layer extras). */
|
|
@@ -30,6 +30,7 @@ export declare class InputHub implements SessionInputResolver {
|
|
|
30
30
|
* @returns the resident per-session facade.
|
|
31
31
|
*/
|
|
32
32
|
for(actx: Context): SessionInput;
|
|
33
|
+
requestDraftInitialization(binding: SessionBinding, options: DraftInitializationOptions): DraftInitializationResult;
|
|
33
34
|
/**
|
|
34
35
|
* Resident shell for one session binding — the provide-channel entry
|
|
35
36
|
* (called during scope materialization, BEFORE the scope record is
|
|
@@ -20,10 +20,14 @@ export declare class SubmitMachine {
|
|
|
20
20
|
* @returns effects for the SessionInput shell, in execution order.
|
|
21
21
|
*/
|
|
22
22
|
dispatch(ev: InputEvent): readonly InputEffect[];
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Outside a transaction the claim follows the document's leading command
|
|
25
|
+
* chip: deleting or displacing the chip releases it, and a history restore
|
|
26
|
+
* of the chip re-enters claimed. The claim event applies the same rule to a
|
|
27
|
+
* chip the editor just inserted, before its update commits; busy phases
|
|
28
|
+
* refuse both.
|
|
29
|
+
*/
|
|
30
|
+
private followCommand;
|
|
27
31
|
/** Mint an attempt and controller without assigning its lifecycle owner. */
|
|
28
32
|
private mintAttempt;
|
|
29
33
|
/** Mint the frozen command/adjudication attempt. */
|
|
@@ -35,7 +39,7 @@ export declare class SubmitMachine {
|
|
|
35
39
|
private onEnter;
|
|
36
40
|
private onAdjudicated;
|
|
37
41
|
private onAdjudicationFailed;
|
|
38
|
-
/** Claimed command settlement
|
|
42
|
+
/** Claimed command settlement; after a failure the claim follows the leading command chip again. */
|
|
39
43
|
private onSubmitSettled;
|
|
40
44
|
/** Settle one ordinary send independently of current phase and other detached sends. */
|
|
41
45
|
private onSinkSettled;
|
|
@@ -65,14 +65,6 @@ export declare const zh: {
|
|
|
65
65
|
'settings.enter.description': string;
|
|
66
66
|
'settings.enter.queue': string;
|
|
67
67
|
'settings.enter.steer': string;
|
|
68
|
-
'settings.width.title': string;
|
|
69
|
-
'settings.width.description': string;
|
|
70
|
-
'settings.width.adaptive': string;
|
|
71
|
-
'settings.width.unit': string;
|
|
72
|
-
'settings.width.increase': string;
|
|
73
|
-
'settings.width.decrease': string;
|
|
74
|
-
'settings.width.customize': string;
|
|
75
|
-
'settings.width.reset': string;
|
|
76
68
|
'hero.headline': string;
|
|
77
69
|
'hero.tagline': string;
|
|
78
70
|
'hero.greeting.morning': string;
|
|
@@ -110,6 +102,7 @@ export declare const zh: {
|
|
|
110
102
|
'row.stopped': string;
|
|
111
103
|
'row.input': string;
|
|
112
104
|
'row.output': string;
|
|
105
|
+
'row.commandArguments': string;
|
|
113
106
|
'row.inspect': string;
|
|
114
107
|
'tool.title.search': string;
|
|
115
108
|
'tool.title.read': string;
|
|
@@ -450,14 +443,6 @@ export declare const en: {
|
|
|
450
443
|
'settings.enter.description': string;
|
|
451
444
|
'settings.enter.queue': string;
|
|
452
445
|
'settings.enter.steer': string;
|
|
453
|
-
'settings.width.title': string;
|
|
454
|
-
'settings.width.description': string;
|
|
455
|
-
'settings.width.adaptive': string;
|
|
456
|
-
'settings.width.unit': string;
|
|
457
|
-
'settings.width.increase': string;
|
|
458
|
-
'settings.width.decrease': string;
|
|
459
|
-
'settings.width.customize': string;
|
|
460
|
-
'settings.width.reset': string;
|
|
461
446
|
'hero.headline': string;
|
|
462
447
|
'hero.tagline': string;
|
|
463
448
|
'hero.greeting.morning': string;
|
|
@@ -495,6 +480,7 @@ export declare const en: {
|
|
|
495
480
|
'row.stopped': string;
|
|
496
481
|
'row.input': string;
|
|
497
482
|
'row.output': string;
|
|
483
|
+
'row.commandArguments': string;
|
|
498
484
|
'row.inspect': string;
|
|
499
485
|
'tool.title.search': string;
|
|
500
486
|
'tool.title.read': string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { ConversationSessionSlotProps } from '../contract/slots.ts';
|
|
2
2
|
/**
|
|
3
3
|
* Renders the active Session view inside the resident scrollport and keeps
|
|
4
|
-
* the input draft
|
|
4
|
+
* the input draft persisted while blank Hero chrome is visible.
|
|
5
5
|
* @param props - Strict Session input/store, view ledger, and render shares.
|
|
6
6
|
* @returns the active view area, or null while the Session remains blank.
|
|
7
7
|
*/
|
|
8
|
-
export declare function DefaultConversationViews({ view, useSession, useConversation, useConversationViews,
|
|
8
|
+
export declare function DefaultConversationViews({ view, useSession, useConversation, useConversationViews, inputActions, useStore, actions, renderSlot, bindDraftPersistence, openView, }: ConversationSessionSlotProps): import("react").JSX.Element | null;
|
|
9
9
|
//# sourceMappingURL=DefaultConversationViews.d.ts.map
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
import { type EngineStoreHandle } from '@qilin-agent/client-store';
|
|
3
3
|
import type { SessionId } from '@qilin-agent/session/types';
|
|
4
4
|
import type { ConversationStoreState } from './contract/views.ts';
|
|
5
|
+
import type { DraftInput, DraftSnapshot } from './contract/draft-editor.ts';
|
|
5
6
|
/** Declared write set for the Conversation shell. */
|
|
6
7
|
type ConversationActions = {
|
|
7
|
-
setDraft: (draft: ConversationStoreState, text:
|
|
8
|
+
setDraft: (draft: ConversationStoreState, text: DraftInput) => void;
|
|
8
9
|
setView: (draft: ConversationStoreState, view: string) => void;
|
|
9
10
|
openView: (draft: ConversationStoreState, view: string, focus: string) => void;
|
|
10
11
|
completeViewRequest: (draft: ConversationStoreState) => void;
|
|
@@ -14,6 +15,12 @@ type ConversationActions = {
|
|
|
14
15
|
* @returns the store handle.
|
|
15
16
|
*/
|
|
16
17
|
export declare function createConversationStore(): EngineStoreHandle<ConversationStoreState, ConversationActions>;
|
|
18
|
+
/**
|
|
19
|
+
* Read a Session's draft before its input source is published to React.
|
|
20
|
+
* @param sessionId - Session-scoped persistence suffix.
|
|
21
|
+
* @returns saved semantic content, or an empty document when storage is absent or invalid.
|
|
22
|
+
*/
|
|
23
|
+
export declare function readConversationDraft(sessionId: SessionId): DraftSnapshot;
|
|
17
24
|
/**
|
|
18
25
|
* Read the persisted View preference before the Slot store is materialized.
|
|
19
26
|
* @param sessionId - Session-scoped persistence suffix.
|
|
@@ -34,5 +34,9 @@ export interface ConversationSettings {
|
|
|
34
34
|
contentWidth: number;
|
|
35
35
|
}
|
|
36
36
|
/** Durable conversation schema; also the wire envelope the browser scope validates against. */
|
|
37
|
+
export declare const ConversationSettingsFields: {
|
|
38
|
+
busyEnter: z<"queue" | "steer", "queue" | "steer", "defined">;
|
|
39
|
+
contentWidth: z<number, number, "defined">;
|
|
40
|
+
};
|
|
37
41
|
export declare const ConversationSettingsSchema: z<ConversationSettings>;
|
|
38
42
|
//# sourceMappingURL=conversation-settings.d.ts.map
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
import type {
|
|
1
|
+
import type { Volatile, Context } from '@qilin-agent/kylin';
|
|
2
|
+
import type { BusyEnterBehavior } from './conversation-settings.ts';
|
|
3
|
+
import z from '@qilin-agent/schemastery';
|
|
3
4
|
export { BUSY_ENTER_BEHAVIORS, BUSY_ENTER_FIELD, CONVERSATION_SETTINGS_NAMESPACE, CONTENT_WIDTH_ADAPTIVE, CONTENT_WIDTH_FIELD, CONTENT_WIDTH_MAX, CONTENT_WIDTH_MIN, CONTENT_WIDTH_STEP, DEFAULT_BUSY_ENTER_BEHAVIOR, DEFAULT_CONTENT_WIDTH, type BusyEnterBehavior, type ConversationSettings, } from './conversation-settings.ts';
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/** Runtime preferences projected to the browser. */
|
|
6
|
+
export interface Config {
|
|
7
|
+
/** Enter key behavior while a turn is running. */
|
|
8
|
+
busyEnter: Volatile<BusyEnterBehavior>;
|
|
9
|
+
/** Transcript content width in px, or 0 for the layout's adaptive clamp. */
|
|
10
|
+
contentWidth: Volatile<number>;
|
|
11
|
+
}
|
|
12
|
+
/** Live preferences projected to the browser. */
|
|
13
|
+
export declare const Config: z<Schemastery.ObjectS<NoInfer<{
|
|
14
|
+
busyEnter: z<"queue" | "steer", "queue" | "steer", "volatile-defined">;
|
|
15
|
+
contentWidth: z<number, number, "volatile-defined">;
|
|
16
|
+
}>>, Schemastery.ObjectT<NoInfer<{
|
|
17
|
+
busyEnter: z<"queue" | "steer", "queue" | "steer", "volatile-defined">;
|
|
18
|
+
contentWidth: z<number, number, "volatile-defined">;
|
|
19
|
+
}>>, "plain">;
|
|
20
|
+
/** Host preferences are consumed through the configuration form projection.
|
|
21
|
+
* @param ctx Plugin context used for optional settings presentation.
|
|
7
22
|
*/
|
|
8
23
|
export declare function apply(ctx: Context): void;
|
|
9
24
|
//# sourceMappingURL=index.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qilin-agent/client-ui-conversation",
|
|
3
3
|
"description": "Target-neutral Conversation assembly, shell, composer, queue, and view navigation",
|
|
4
|
-
"version": "3.1.
|
|
4
|
+
"version": "3.1.6",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
},
|
|
47
47
|
"license": "MIT",
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@qilin-agent/schemastery": "~3.18.
|
|
49
|
+
"@qilin-agent/schemastery": "~3.18.5"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"@qilin-agent/kylin": "~4.0.
|
|
52
|
+
"@qilin-agent/kylin": "~4.0.5"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@lexical/headless": "^0.49.0",
|
|
@@ -64,38 +64,38 @@
|
|
|
64
64
|
"react": "^18.2.0",
|
|
65
65
|
"react-dom": "^18.2.0",
|
|
66
66
|
"zod": "^4.4.3",
|
|
67
|
-
"@qilin-agent/
|
|
68
|
-
"@qilin-agent/
|
|
69
|
-
"@qilin-agent/api-session-controller": "3.1.
|
|
70
|
-
"@qilin-agent/
|
|
71
|
-
"@qilin-agent/
|
|
72
|
-
"@qilin-agent/brand": "3.1.
|
|
73
|
-
"@qilin-agent/client-locale": "3.1.
|
|
74
|
-
"@qilin-agent/client-
|
|
75
|
-
"@qilin-agent/client-
|
|
76
|
-
"@qilin-agent/client-store": "3.1.
|
|
77
|
-
"@qilin-agent/client-
|
|
78
|
-
"@qilin-agent/client-
|
|
79
|
-
"@qilin-agent/client-ui-primitives": "3.1.
|
|
80
|
-
"@qilin-agent/client-ui-renderer": "3.1.
|
|
81
|
-
"@qilin-agent/client-ui-session": "3.1.
|
|
82
|
-
"@qilin-agent/client-ui-
|
|
83
|
-
"@qilin-agent/client-ui-slots": "3.1.
|
|
84
|
-
"@qilin-agent/
|
|
85
|
-
"@qilin-agent/
|
|
86
|
-
"@qilin-agent/
|
|
87
|
-
"@qilin-agent/
|
|
88
|
-
"@qilin-agent/llm": "3.1.
|
|
89
|
-
"@qilin-agent/
|
|
90
|
-
"@qilin-agent/
|
|
91
|
-
"@qilin-agent/
|
|
92
|
-
"@qilin-agent/
|
|
93
|
-
"@qilin-agent/
|
|
94
|
-
"@qilin-agent/
|
|
95
|
-
"@qilin-agent/
|
|
96
|
-
"@qilin-agent/
|
|
97
|
-
"@qilin-agent/workspace": "3.1.
|
|
98
|
-
"@qilin-agent/
|
|
67
|
+
"@qilin-agent/agent": "3.1.6",
|
|
68
|
+
"@qilin-agent/api-remotes": "3.1.6",
|
|
69
|
+
"@qilin-agent/api-session-controller": "3.1.6",
|
|
70
|
+
"@qilin-agent/api-workspace-controller": "3.1.6",
|
|
71
|
+
"@qilin-agent/attachment": "3.1.6",
|
|
72
|
+
"@qilin-agent/brand": "3.1.6",
|
|
73
|
+
"@qilin-agent/client-locale": "3.1.6",
|
|
74
|
+
"@qilin-agent/client-file-upload": "3.1.6",
|
|
75
|
+
"@qilin-agent/client-shortcuts": "3.1.6",
|
|
76
|
+
"@qilin-agent/client-store": "3.1.6",
|
|
77
|
+
"@qilin-agent/client-ui-layout": "3.1.6",
|
|
78
|
+
"@qilin-agent/client-test-runtime": "3.1.6",
|
|
79
|
+
"@qilin-agent/client-ui-primitives": "3.1.6",
|
|
80
|
+
"@qilin-agent/client-ui-renderer": "3.1.6",
|
|
81
|
+
"@qilin-agent/client-ui-session": "3.1.6",
|
|
82
|
+
"@qilin-agent/client-ui-workspace": "3.1.6",
|
|
83
|
+
"@qilin-agent/client-ui-slots": "3.1.6",
|
|
84
|
+
"@qilin-agent/commands": "3.1.6",
|
|
85
|
+
"@qilin-agent/goal": "3.1.6",
|
|
86
|
+
"@qilin-agent/kylin": "~4.0.5",
|
|
87
|
+
"@qilin-agent/client-ui-settings": "3.1.6",
|
|
88
|
+
"@qilin-agent/llm": "3.1.6",
|
|
89
|
+
"@qilin-agent/session": "3.1.6",
|
|
90
|
+
"@qilin-agent/settings": "3.1.6",
|
|
91
|
+
"@qilin-agent/llm-retry": "3.1.6",
|
|
92
|
+
"@qilin-agent/plan-mode": "3.1.6",
|
|
93
|
+
"@qilin-agent/util-values": "3.1.6",
|
|
94
|
+
"@qilin-agent/util-crypto": "3.1.6",
|
|
95
|
+
"@qilin-agent/tool-todo": "3.1.6",
|
|
96
|
+
"@qilin-agent/token-meter": "3.1.6",
|
|
97
|
+
"@qilin-agent/util-workspace-path": "3.1.6",
|
|
98
|
+
"@qilin-agent/workspace": "3.1.6"
|
|
99
99
|
},
|
|
100
100
|
"files": [
|
|
101
101
|
"lib/index.js",
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claim-token highlight: while a command claim holds, the draft's leading
|
|
3
|
-
* token renders in the warn color. A TextNode transform keeps the token in
|
|
4
|
-
* its own styled node (splitting when typing merges text into it), and the
|
|
5
|
-
* shell nudges the first leaf dirty when the claim flips so entering and
|
|
6
|
-
* leaving claimed restyles without a text edit.
|
|
7
|
-
*/
|
|
8
|
-
import type { LexicalEditor } from 'lexical';
|
|
9
|
-
/**
|
|
10
|
-
* Register the claim-token styling transform.
|
|
11
|
-
* @param editor - the shell-owned editor.
|
|
12
|
-
* @param activeToken - live claim token accessor; null while unclaimed.
|
|
13
|
-
* @returns the unregister disposer.
|
|
14
|
-
*/
|
|
15
|
-
export declare function registerClaimDecoration(editor: LexicalEditor, activeToken: () => string | null): () => void;
|
|
16
|
-
/**
|
|
17
|
-
* Nudge the token seat dirty so the transform restyles after a claim flip
|
|
18
|
-
* (claims change phase without a text edit; transforms only run on dirty
|
|
19
|
-
* nodes).
|
|
20
|
-
* @param editor - the shell-owned editor.
|
|
21
|
-
*/
|
|
22
|
-
export declare function refreshClaimDecoration(editor: LexicalEditor): void;
|
|
23
|
-
//# sourceMappingURL=claim-decor.d.ts.map
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* General Settings row for the transcript content width. The pill carries the
|
|
3
|
-
* persisted width — the word for the adaptive column clamp, otherwise the px
|
|
4
|
-
* value — and steps it by CONTENT_WIDTH_STEP. Reverting to the clamp is an
|
|
5
|
-
* explicit action, never a stepper bound.
|
|
6
|
-
*/
|
|
7
|
-
import type { SnapshotStore } from '@qilin-agent/client-store';
|
|
8
|
-
import type { InjectFace, PropsLocale, PropsRuntime } from '@qilin-agent/client-ui-slots';
|
|
9
|
-
/** Registration-side preference face. */
|
|
10
|
-
export interface ContentWidthRowInjected {
|
|
11
|
-
hooks: {
|
|
12
|
-
/** Persisted transcript width bound as useContentWidth. */
|
|
13
|
-
contentWidth: SnapshotStore<number>;
|
|
14
|
-
};
|
|
15
|
-
/** Persist a width, or {@link CONTENT_WIDTH_ADAPTIVE} to return to the adaptive clamp. */
|
|
16
|
-
setContentWidth: (px: number) => void;
|
|
17
|
-
}
|
|
18
|
-
/** Full Settings-row props. */
|
|
19
|
-
export type ContentWidthRowProps = PropsRuntime<'settings.general.item'> & PropsLocale<'conversation'> & InjectFace<ContentWidthRowInjected>;
|
|
20
|
-
/**
|
|
21
|
-
* Render the transcript width row.
|
|
22
|
-
* @param props - composed Settings slot props.
|
|
23
|
-
* @returns the preference row.
|
|
24
|
-
*/
|
|
25
|
-
export declare function ContentWidthRow({ t, useContentWidth, setContentWidth }: ContentWidthRowProps): import("react").JSX.Element;
|
|
26
|
-
//# sourceMappingURL=ContentWidthRow.d.ts.map
|