@deepseek-ai/dsh-cordis-client-runner 0.2.1-alpha.1 → 0.2.1-alpha.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/lib/client.js +153 -41
- package/package.json +8 -8
package/lib/client.js
CHANGED
|
@@ -1309,7 +1309,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1309
1309
|
},
|
|
1310
1310
|
{
|
|
1311
1311
|
signature: "refreshProjections(sessionId: SessionId): Promise<void>",
|
|
1312
|
-
description: "
|
|
1312
|
+
description: "Read projections without starting migration; retry failed or migration-deferred reads.",
|
|
1313
1313
|
parameters: [{
|
|
1314
1314
|
name: "sessionId",
|
|
1315
1315
|
description: "Session to inspect without opening its conversation."
|
|
@@ -1329,7 +1329,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1329
1329
|
returns: "bounded results, or a business/transport error."
|
|
1330
1330
|
},
|
|
1331
1331
|
{
|
|
1332
|
-
signature: "fork(opts: { sessionId: SessionId atSeq?: number increaseTitle?: boolean onCreated?: (childId: SessionId) => void }): Promise<SessionId>",
|
|
1332
|
+
signature: "fork(opts: { sessionId: SessionId atSeq?: number increaseTitle?: boolean onCreated?: (childId: SessionId) => void /** False refuses source migration; omission preserves the Host default. */ allowMigration?: boolean }): Promise<SessionId>",
|
|
1333
1333
|
description: "Fork a session from an exact inclusive prefix of the source; on resolution the child is catalogued and can be explicitly retained.",
|
|
1334
1334
|
parameters: [{
|
|
1335
1335
|
name: "opts",
|
|
@@ -1415,11 +1415,14 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1415
1415
|
}]
|
|
1416
1416
|
},
|
|
1417
1417
|
{
|
|
1418
|
-
signature: "setFontSize(px: number): void",
|
|
1419
|
-
description: "Change
|
|
1418
|
+
signature: "setFontSize(role: FontRole, px: number): void",
|
|
1419
|
+
description: "Change one role's font size — the only font-size write entry. Accepted values are written through the settings scope and emit `theme/change`.",
|
|
1420
1420
|
parameters: [{
|
|
1421
|
+
name: "role",
|
|
1422
|
+
description: "font role."
|
|
1423
|
+
}, {
|
|
1421
1424
|
name: "px",
|
|
1422
|
-
description: "integer px within
|
|
1425
|
+
description: "integer px within the role's `FONT_SIZE_SPECS` range; out-of-range or fractional values throw."
|
|
1423
1426
|
}]
|
|
1424
1427
|
},
|
|
1425
1428
|
{
|
|
@@ -1509,15 +1512,22 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1509
1512
|
throws: ["on failure; a refused creation is also shown through the Workspace notice unless a later navigation or disposal superseded the request."]
|
|
1510
1513
|
},
|
|
1511
1514
|
{
|
|
1512
|
-
signature: "forkSession(sessionId: SessionId, onCreated?: (childId: SessionId) => void): Promise<SessionId>",
|
|
1515
|
+
signature: "forkSession( sessionId: SessionId, onCreated?: (childId: SessionId) => void, options?: Pick<Parameters<ISessions['fork']>[0], 'allowMigration'>, ): Promise<SessionId>",
|
|
1513
1516
|
description: "Fork a Session without changing the current selection.",
|
|
1514
|
-
parameters: [
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1517
|
+
parameters: [
|
|
1518
|
+
{
|
|
1519
|
+
name: "sessionId",
|
|
1520
|
+
description: "source Session."
|
|
1521
|
+
},
|
|
1522
|
+
{
|
|
1523
|
+
name: "onCreated",
|
|
1524
|
+
description: "observer before the optional child-title update."
|
|
1525
|
+
},
|
|
1526
|
+
{
|
|
1527
|
+
name: "options",
|
|
1528
|
+
description: "optional permission to start source migration; omission preserves the Host default."
|
|
1529
|
+
}
|
|
1530
|
+
],
|
|
1521
1531
|
returns: "the child SessionId after creation and inherited-title increment."
|
|
1522
1532
|
},
|
|
1523
1533
|
{
|
|
@@ -1531,7 +1541,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1531
1541
|
},
|
|
1532
1542
|
{
|
|
1533
1543
|
signature: "startSession(workspaceId?: WorkspaceId, options?: StartSessionOptions): void",
|
|
1534
|
-
description: "
|
|
1544
|
+
description: "Create a fresh Session, or reuse a blank when preparing an explicit draft. A creation the Host refuses is shown through the Workspace notice and leaves the selection as it was.",
|
|
1535
1545
|
parameters: [{
|
|
1536
1546
|
name: "workspaceId",
|
|
1537
1547
|
description: "explicit target; absent inherits the current or most recent Workspace."
|
|
@@ -1845,6 +1855,18 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1845
1855
|
name: "FactoryRegistrationPropsOf",
|
|
1846
1856
|
declaration: "export type FactoryRegistrationPropsOf<F extends keyof SlotFactoryMap & string> = FactoryRenderPropsOf<F> & PropsStore<FactoryStoreOf<F>> & InjectFace<FactoryInjectOf<F>> & PropsLocale<FactoryLocaleOf<F>> & PropsRenderFactories;"
|
|
1847
1857
|
},
|
|
1858
|
+
{
|
|
1859
|
+
name: "FontFamilies",
|
|
1860
|
+
declaration: "export type FontFamilies = Readonly<Record<FontRole, string>>;"
|
|
1861
|
+
},
|
|
1862
|
+
{
|
|
1863
|
+
name: "FontRole",
|
|
1864
|
+
declaration: "export type FontRole = typeof FONT_ROLES[number];"
|
|
1865
|
+
},
|
|
1866
|
+
{
|
|
1867
|
+
name: "FontSizes",
|
|
1868
|
+
declaration: "export type FontSizes = Readonly<Record<FontRole, number>>;"
|
|
1869
|
+
},
|
|
1848
1870
|
{
|
|
1849
1871
|
name: "GlobalStandardProps",
|
|
1850
1872
|
declaration: "export interface GlobalStandardProps {\n}"
|
|
@@ -1873,6 +1895,10 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1873
1895
|
name: "ISession",
|
|
1874
1896
|
declaration: "export interface ISession {\n readonly sessionId: SessionId;\n readonly projections: ProjectionsFace;\n beginSubmission(input: BeginSubmissionInput): SubmissionHandle;\n prompt(content: PromptContentPart[], mode: 'queue' | 'steer', signal?: AbortSignal, requestId?: SessionRequestId): Promise<RemoteResult<{\n accepted: true;\n }>>;\n readAttachment(attachmentId: AttachmentIdType): Promise<RemoteResult<{\n attachment: ImageAttachmentRef;\n data: Uint8Array;\n }>>;\n updateQueue(itemId: MessageId, action: QueueAction): Promise<RemoteResult<{\n accepted: true;\n }>>;\n cancel(): Promise<RemoteResult<{\n accepted: true;\n }>>;\n rename(title: string): Promise<RemoteResult<{\n title: string;\n seq: SessionSeq;\n }>>;\n loadOlder(): Promise<void>;\n loadThrough(seq: SessionSeq): Promise<void>;\n command(line: string): Promise<RemoteResult<{\n matched: boolean;\n }>>;\n}"
|
|
1875
1897
|
},
|
|
1898
|
+
{
|
|
1899
|
+
name: "ISessions",
|
|
1900
|
+
declaration: "export interface ISessions {\n readonly list: ObservableSnapshot<SessionListState>;\n retain(target: SessionTarget, options: SessionRetainOptions): SessionReference;\n using<T>(target: SessionTarget, options: SessionRetainOptions, operation: (reference: SessionReference) => T | Promise<T>): Promise<T>;\n retainInfo(id: SessionId): ObservableSnapshot<SessionRetainInfo>;\n readonly searchResultLimit: number;\n create(opts?: {\n workspaceId?: WorkspaceId;\n cwd?: string;\n sessionId?: SessionId;\n }): Promise<SessionId>;\n subagentAddress(id: SessionId): SubagentAddress | undefined;\n refreshProjections(sessionId: SessionId): Promise<void>;\n refresh(): Promise<void>;\n search(query: string, signal: AbortSignal): Promise<RemoteResult<{\n items: SessionSearchResultItem[];\n hasMore: boolean;\n }>>;\n fork(opts: {\n sessionId: SessionId;\n atSeq?: number;\n increaseTitle?: boolean;\n onCreated?: (childId: SessionId) => void;\n allowMigration?: boolean;\n }): Promise<SessionId>;\n scope(id: SessionId): AgentContext | undefined;\n scopeOf(ctx: Context): SessionId | undefined;\n sessionOf(ctx: Context): SessionFace | undefined;\n binding(id: SessionId): SessionBinding | undefined;\n}"
|
|
1901
|
+
},
|
|
1876
1902
|
{
|
|
1877
1903
|
name: "KeyedHooksSources",
|
|
1878
1904
|
declaration: "export type KeyedHooksSources = Record<string, KeyedStandardSource>;"
|
|
@@ -2109,10 +2135,22 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2109
2135
|
name: "SessionIdOf",
|
|
2110
2136
|
declaration: "export type SessionIdOf = SessionStandardProps extends {\n sessionId: infer S;\n} ? S : string;"
|
|
2111
2137
|
},
|
|
2138
|
+
{
|
|
2139
|
+
name: "SessionListPhase",
|
|
2140
|
+
declaration: "export type SessionListPhase = 'pending' | 'ready';"
|
|
2141
|
+
},
|
|
2142
|
+
{
|
|
2143
|
+
name: "SessionListState",
|
|
2144
|
+
declaration: "export interface SessionListState {\n ids: SessionId[];\n byId: Record<SessionId, SessionSummary>;\n phase: SessionListPhase;\n projectionsBySession: Readonly<Record<SessionId, SessionProjectionSnapshot>>;\n}"
|
|
2145
|
+
},
|
|
2112
2146
|
{
|
|
2113
2147
|
name: "SessionMaybeStandardProps",
|
|
2114
2148
|
declaration: "export interface SessionMaybeStandardProps {\n}"
|
|
2115
2149
|
},
|
|
2150
|
+
{
|
|
2151
|
+
name: "SessionProjectionSnapshot",
|
|
2152
|
+
declaration: "export interface SessionProjectionSnapshot {\n readonly values: Readonly<Partial<SessionProjectionMap>>;\n readonly state: 'idle' | 'loading' | 'ready' | 'migration-required' | 'error';\n readonly error: RemoteFailure | null;\n}"
|
|
2153
|
+
},
|
|
2116
2154
|
{
|
|
2117
2155
|
name: "SessionProviderComponent",
|
|
2118
2156
|
declaration: "export type SessionProviderComponent = (props: SessionAreaProps) => ReactNode;"
|
|
@@ -2255,7 +2293,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2255
2293
|
},
|
|
2256
2294
|
{
|
|
2257
2295
|
name: "ThemeSnapshot",
|
|
2258
|
-
declaration: "export interface ThemeSnapshot {\n preference: ThemePreference;\n
|
|
2296
|
+
declaration: "export interface ThemeSnapshot {\n preference: ThemePreference;\n fontSizes: FontSizes;\n fontFamilies: FontFamilies;\n active: ThemeDefinition;\n themes: readonly ThemeDefinition[];\n revision: number;\n}"
|
|
2259
2297
|
},
|
|
2260
2298
|
{
|
|
2261
2299
|
name: "ThemeTokenModes",
|
|
@@ -2459,7 +2497,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2459
2497
|
occupants: ["client-ui-message-feedback MessageFeedbackActions id 'feedback'"],
|
|
2460
2498
|
replaceRisk: "none",
|
|
2461
2499
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.chat.assistant-actions', () => ctx.slots.register(\n { name: 'conversation.chat.assistant-actions', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
2462
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2500
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:414"
|
|
2463
2501
|
},
|
|
2464
2502
|
{
|
|
2465
2503
|
key: "conversation.chat.commandview",
|
|
@@ -2503,7 +2541,46 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2503
2541
|
occupants: [],
|
|
2504
2542
|
replaceRisk: "none",
|
|
2505
2543
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.chat.commandview', () => ctx.slots.register(\n { name: 'conversation.chat.commandview', key: '<one key the owner dispatches>' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
2506
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2544
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:396"
|
|
2545
|
+
},
|
|
2546
|
+
{
|
|
2547
|
+
key: "conversation.chat.flow",
|
|
2548
|
+
kind: "single",
|
|
2549
|
+
scope: "session",
|
|
2550
|
+
summary: "Ordered Chat rows and local echoes with viewport-bound visibility hooks.",
|
|
2551
|
+
doc: "Ordered Chat rows and local echoes with viewport-bound visibility hooks.",
|
|
2552
|
+
registerOptions: [],
|
|
2553
|
+
ownerProps: ["/** Ordered rows and reconciled local echoes rendered inside one Chat viewport. */\nexport interface ChatFlowOwnerProps extends Pick<ChatNodeOwnerProps,\n 'cwd' | 'openSkill' | 'openFile' | 'inspectCall' | 'forkAt' | 'loadImage' | 'fileMentions'> {\n readonly entries: readonly RenderEntry[]\n readonly pendingInputs: readonly (PendingSubmission | InboxState['next-step'][number])[]\n readonly lastInputTurn: number | undefined\n readonly deferCollapse: boolean\n}"],
|
|
2554
|
+
ownerPropsReferences: [
|
|
2555
|
+
"ChatNodeOwnerProps",
|
|
2556
|
+
"PendingSubmission",
|
|
2557
|
+
"RenderEntry"
|
|
2558
|
+
],
|
|
2559
|
+
standardProps: [
|
|
2560
|
+
"useResource: UseResource",
|
|
2561
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
2562
|
+
"usePanelInfo: UsePanelInfo",
|
|
2563
|
+
"useSessions: UseSessions",
|
|
2564
|
+
"useSessionStatus: UseSessionStatus",
|
|
2565
|
+
"useSessionRetainInfo: UseSessionRetainInfo",
|
|
2566
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
2567
|
+
"useChat: UseChat",
|
|
2568
|
+
"useConversation: UseConversation",
|
|
2569
|
+
"useInput: SnapshotSelectorHook<InputState>",
|
|
2570
|
+
"inputActions: InputActions",
|
|
2571
|
+
"useSession: SessionSnapshotSelector",
|
|
2572
|
+
"sessionId: SessionId",
|
|
2573
|
+
"useProjection: UseProjection",
|
|
2574
|
+
"useTrajectory: UseTrajectory"
|
|
2575
|
+
],
|
|
2576
|
+
keyDomain: "",
|
|
2577
|
+
hookContext: "ChatFlowHookContext",
|
|
2578
|
+
slotInject: "ChatFlowInjected",
|
|
2579
|
+
declaredBy: "an entry in 'conversation.view' (client-ui-chat), so it exists while that entry is mounted",
|
|
2580
|
+
occupants: ["client-ui-chat ChatFlow"],
|
|
2581
|
+
replaceRisk: "shadows-shipped-ui",
|
|
2582
|
+
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.chat.flow', () => ctx.slots.register(\n { name: 'conversation.chat.flow' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
2583
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:365"
|
|
2507
2584
|
},
|
|
2508
2585
|
{
|
|
2509
2586
|
key: "conversation.chat.node",
|
|
@@ -2546,7 +2623,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2546
2623
|
keyDomain: "fixed by the owner's key table { [Kind in ChatNodeKind]: { node: ChatNode<Kind> } }, already taken: assistant-step, command, command-input, compaction, context, manual-compaction, model-retry, question-reply, steering, system-prompt, tool-call, turn-error, turn-max-tokens, turn-process, turn-tail, turn-trigger, unknown, user, workflow-run",
|
|
2547
2624
|
hookContext: "ChatNodeHookContext",
|
|
2548
2625
|
slotInject: "ChatNodeInjected",
|
|
2549
|
-
declaredBy: "an entry in 'conversation.
|
|
2626
|
+
declaredBy: "an entry in 'conversation.chat.flow' (client-ui-chat), so it exists while that entry is mounted",
|
|
2550
2627
|
occupants: [
|
|
2551
2628
|
"client-ui-chat UserMessageNodeView key 'user'",
|
|
2552
2629
|
"client-ui-chat UserMessageNodeView key 'steering'",
|
|
@@ -2570,7 +2647,42 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2570
2647
|
],
|
|
2571
2648
|
replaceRisk: "shadows-shipped-ui",
|
|
2572
2649
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.chat.node', () => ctx.slots.register(\n { name: 'conversation.chat.node', key: '<one key the owner dispatches>' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
2573
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2650
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:377"
|
|
2651
|
+
},
|
|
2652
|
+
{
|
|
2653
|
+
key: "conversation.chat.reasoning.body",
|
|
2654
|
+
kind: "single",
|
|
2655
|
+
scope: "session",
|
|
2656
|
+
summary: "Expanded reasoning body with the unchanged model text.",
|
|
2657
|
+
doc: "Expanded reasoning body with the unchanged model text. The official entry\nhas priority 100 and calls the reasoning Content Factory; smaller priority\nvalues replace it. Contributions must preserve access to the original text.",
|
|
2658
|
+
registerOptions: [],
|
|
2659
|
+
ownerProps: ["/** Original model-provided reasoning offered to the expanded Body Slot. */\nexport interface ReasoningBodyOwnerProps {\n /** Complete or streaming reasoning text. */\n readonly text: string\n /** Whether the reasoning tail is still streaming. */\n readonly running: boolean\n}"],
|
|
2660
|
+
ownerPropsReferences: [],
|
|
2661
|
+
standardProps: [
|
|
2662
|
+
"useResource: UseResource",
|
|
2663
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
2664
|
+
"usePanelInfo: UsePanelInfo",
|
|
2665
|
+
"useSessions: UseSessions",
|
|
2666
|
+
"useSessionStatus: UseSessionStatus",
|
|
2667
|
+
"useSessionRetainInfo: UseSessionRetainInfo",
|
|
2668
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
2669
|
+
"useChat: UseChat",
|
|
2670
|
+
"useConversation: UseConversation",
|
|
2671
|
+
"useInput: SnapshotSelectorHook<InputState>",
|
|
2672
|
+
"inputActions: InputActions",
|
|
2673
|
+
"useSession: SessionSnapshotSelector",
|
|
2674
|
+
"sessionId: SessionId",
|
|
2675
|
+
"useProjection: UseProjection",
|
|
2676
|
+
"useTrajectory: UseTrajectory"
|
|
2677
|
+
],
|
|
2678
|
+
keyDomain: "",
|
|
2679
|
+
hookContext: "",
|
|
2680
|
+
slotInject: "",
|
|
2681
|
+
declaredBy: "an entry in 'conversation.chat.node' (client-ui-chat), so it exists while that entry is mounted",
|
|
2682
|
+
occupants: ["client-ui-chat DefaultReasoningBody", "experimental-client-ui-cot-translation TranslationBody"],
|
|
2683
|
+
replaceRisk: "shadows-shipped-ui",
|
|
2684
|
+
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.chat.reasoning.body', () => ctx.slots.register(\n { name: 'conversation.chat.reasoning.body' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
2685
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:402"
|
|
2574
2686
|
},
|
|
2575
2687
|
{
|
|
2576
2688
|
key: "conversation.chat.turnTail",
|
|
@@ -2628,7 +2740,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2628
2740
|
],
|
|
2629
2741
|
replaceRisk: "none",
|
|
2630
2742
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.chat.turnTail', () => ctx.slots.register(\n { name: 'conversation.chat.turnTail', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
2631
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2743
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:408"
|
|
2632
2744
|
},
|
|
2633
2745
|
{
|
|
2634
2746
|
key: "conversation.composer",
|
|
@@ -2937,7 +3049,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2937
3049
|
occupants: ["client-ui-directory-picker-browse BrowseDirectoryFlow", "client-ui-directory-picker-native NativeDirectoryFlow"],
|
|
2938
3050
|
replaceRisk: "shadows-shipped-ui",
|
|
2939
3051
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.hero.workspace.directoryFlow', () => ctx.slots.register(\n { name: 'conversation.hero.workspace.directoryFlow' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
2940
|
-
source: "packages/client/ui-workspace/src/client/contract/slots.ts:
|
|
3052
|
+
source: "packages/client/ui-workspace/src/client/contract/slots.ts:118"
|
|
2941
3053
|
},
|
|
2942
3054
|
{
|
|
2943
3055
|
key: "conversation.input.activity",
|
|
@@ -3374,11 +3486,11 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
3374
3486
|
keyDomain: "",
|
|
3375
3487
|
hookContext: "",
|
|
3376
3488
|
slotInject: "",
|
|
3377
|
-
declaredBy: "an entry in 'conversation.
|
|
3489
|
+
declaredBy: "an entry in 'conversation.chat.flow' (client-ui-chat), so it exists while that entry is mounted",
|
|
3378
3490
|
occupants: ["client-ui-attachment MessageImages"],
|
|
3379
3491
|
replaceRisk: "shadows-shipped-ui",
|
|
3380
3492
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.message.images', () => ctx.slots.register(\n { name: 'conversation.message.images' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
3381
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
3493
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:390"
|
|
3382
3494
|
},
|
|
3383
3495
|
{
|
|
3384
3496
|
key: "conversation.plan-review.actions",
|
|
@@ -3728,7 +3840,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
3728
3840
|
occupants: ["client-ui-attachment MessageImages"],
|
|
3729
3841
|
replaceRisk: "shadows-shipped-ui",
|
|
3730
3842
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.trajectory.images', () => ctx.slots.register(\n { name: 'conversation.trajectory.images' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
3731
|
-
source: "packages/client/ui-trajectory/src/client/trajectory-contract.ts:
|
|
3843
|
+
source: "packages/client/ui-trajectory/src/client/trajectory-contract.ts:103"
|
|
3732
3844
|
},
|
|
3733
3845
|
{
|
|
3734
3846
|
key: "conversation.view",
|
|
@@ -4005,7 +4117,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4005
4117
|
occupants: ["client-ui-agent-preset CreatePluginMenuItem id 'create-plugin'"],
|
|
4006
4118
|
replaceRisk: "none",
|
|
4007
4119
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('plugins.add.actions', () => ctx.slots.register(\n { name: 'plugins.add.actions', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4008
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4120
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:89"
|
|
4009
4121
|
},
|
|
4010
4122
|
{
|
|
4011
4123
|
key: "plugins.bundle.activation",
|
|
@@ -4037,7 +4149,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4037
4149
|
occupants: ["experimental-client-ui-voice-input VoiceSetupPrompt key '@deepseek-ai/dsh-experimental-voice-input-bundle'"],
|
|
4038
4150
|
replaceRisk: "shadows-shipped-ui",
|
|
4039
4151
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('plugins.bundle.activation', () => ctx.slots.register(\n { name: 'plugins.bundle.activation', key: '<one key the owner dispatches>' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4040
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4152
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:91"
|
|
4041
4153
|
},
|
|
4042
4154
|
{
|
|
4043
4155
|
key: "plugins.bundle.config",
|
|
@@ -4062,14 +4174,14 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4062
4174
|
"useSessionRetainInfo: UseSessionRetainInfo",
|
|
4063
4175
|
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>"
|
|
4064
4176
|
],
|
|
4065
|
-
keyDomain: "open: any string the owner dispatches (no compile-time key set), already taken: @deepseek-ai/dsh-experimental-voice-input-bundle",
|
|
4177
|
+
keyDomain: "open: any string the owner dispatches (no compile-time key set), already taken: @deepseek-ai/dsh-experimental-cot-translation-bundle, @deepseek-ai/dsh-experimental-voice-input-bundle",
|
|
4066
4178
|
hookContext: "",
|
|
4067
4179
|
slotInject: "",
|
|
4068
4180
|
declaredBy: "an entry in 'main' (client-ui-plugin-manager), so it exists while that entry is mounted",
|
|
4069
|
-
occupants: ["experimental-client-ui-voice-input VoicePreparation key '@deepseek-ai/dsh-experimental-voice-input-bundle'"],
|
|
4181
|
+
occupants: ["experimental-client-ui-cot-translation TranslationSettings key '@deepseek-ai/dsh-experimental-cot-translation-bundle'", "experimental-client-ui-voice-input VoicePreparation key '@deepseek-ai/dsh-experimental-voice-input-bundle'"],
|
|
4070
4182
|
replaceRisk: "shadows-shipped-ui",
|
|
4071
4183
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('plugins.bundle.config', () => ctx.slots.register(\n { name: 'plugins.bundle.config', key: '<one key the owner dispatches>' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4072
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4184
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:107"
|
|
4073
4185
|
},
|
|
4074
4186
|
{
|
|
4075
4187
|
key: "plugins.detail.actions",
|
|
@@ -4115,7 +4227,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4115
4227
|
occupants: [],
|
|
4116
4228
|
replaceRisk: "none",
|
|
4117
4229
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('plugins.detail.actions', () => ctx.slots.register(\n { name: 'plugins.detail.actions', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4118
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4230
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:121"
|
|
4119
4231
|
},
|
|
4120
4232
|
{
|
|
4121
4233
|
key: "plugins.detail.badge",
|
|
@@ -4161,7 +4273,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4161
4273
|
occupants: [],
|
|
4162
4274
|
replaceRisk: "none",
|
|
4163
4275
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('plugins.detail.badge', () => ctx.slots.register(\n { name: 'plugins.detail.badge', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4164
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4276
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:126"
|
|
4165
4277
|
},
|
|
4166
4278
|
{
|
|
4167
4279
|
key: "plugins.detail.section",
|
|
@@ -4207,7 +4319,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4207
4319
|
occupants: [],
|
|
4208
4320
|
replaceRisk: "none",
|
|
4209
4321
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('plugins.detail.section', () => ctx.slots.register(\n { name: 'plugins.detail.section', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4210
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4322
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:133"
|
|
4211
4323
|
},
|
|
4212
4324
|
{
|
|
4213
4325
|
key: "plugins.item",
|
|
@@ -4258,7 +4370,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4258
4370
|
],
|
|
4259
4371
|
replaceRisk: "none",
|
|
4260
4372
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('plugins.item', () => ctx.slots.register(\n { name: 'plugins.item', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4261
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4373
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:101"
|
|
4262
4374
|
},
|
|
4263
4375
|
{
|
|
4264
4376
|
key: "plugins.row.config",
|
|
@@ -4290,7 +4402,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4290
4402
|
occupants: [],
|
|
4291
4403
|
replaceRisk: "none",
|
|
4292
4404
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('plugins.row.config', () => ctx.slots.register(\n { name: 'plugins.row.config', key: '<one key the owner dispatches>' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4293
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4405
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:115"
|
|
4294
4406
|
},
|
|
4295
4407
|
{
|
|
4296
4408
|
key: "rightbar",
|
|
@@ -4507,7 +4619,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4507
4619
|
"client-ui-settings-session-log UploadRow",
|
|
4508
4620
|
"client-ui-shortcuts ShortcutsRow id 'shortcuts'",
|
|
4509
4621
|
"client-ui-theme AppearanceRow id 'appearance'",
|
|
4510
|
-
"client-ui-theme
|
|
4622
|
+
"client-ui-theme FontSettingsGroup id 'font-size'"
|
|
4511
4623
|
],
|
|
4512
4624
|
replaceRisk: "none",
|
|
4513
4625
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('settings.general.item', () => ctx.slots.register(\n { name: 'settings.general.item', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
@@ -4984,7 +5096,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4984
5096
|
occupants: ["client-ui-settings-account AccountQuotaNotice"],
|
|
4985
5097
|
replaceRisk: "none",
|
|
4986
5098
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('shell.quota-notice', () => ctx.slots.register(\n { name: 'shell.quota-notice', select: owner => null },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4987
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
5099
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:422"
|
|
4988
5100
|
},
|
|
4989
5101
|
{
|
|
4990
5102
|
key: "sidebar",
|
|
@@ -5762,7 +5874,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5762
5874
|
occupants: ["client-ui-schedule SessionScheduleHover id 'schedule-tasks'"],
|
|
5763
5875
|
replaceRisk: "none",
|
|
5764
5876
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.session.row.hover', () => ctx.slots.register(\n { name: 'sidebar.session.row.hover', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5765
|
-
source: "packages/client/ui-workspace/src/client/contract/slots.ts:
|
|
5877
|
+
source: "packages/client/ui-workspace/src/client/contract/slots.ts:135"
|
|
5766
5878
|
},
|
|
5767
5879
|
{
|
|
5768
5880
|
key: "sidebar.session.row.leading",
|
|
@@ -5808,7 +5920,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5808
5920
|
occupants: ["client-ui-schedule SessionScheduleMark id 'schedule-mark'"],
|
|
5809
5921
|
replaceRisk: "none",
|
|
5810
5922
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.session.row.leading', () => ctx.slots.register(\n { name: 'sidebar.session.row.leading', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5811
|
-
source: "packages/client/ui-workspace/src/client/contract/slots.ts:
|
|
5923
|
+
source: "packages/client/ui-workspace/src/client/contract/slots.ts:130"
|
|
5812
5924
|
},
|
|
5813
5925
|
{
|
|
5814
5926
|
key: "sidebar.settings",
|
|
@@ -5916,7 +6028,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5916
6028
|
occupants: ["client-ui-directory-picker-browse BrowseDirectoryFlow", "client-ui-directory-picker-native NativeDirectoryFlow"],
|
|
5917
6029
|
replaceRisk: "shadows-shipped-ui",
|
|
5918
6030
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.workspaces.directoryFlow', () => ctx.slots.register(\n { name: 'sidebar.workspaces.directoryFlow' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5919
|
-
source: "packages/client/ui-workspace/src/client/contract/slots.ts:
|
|
6031
|
+
source: "packages/client/ui-workspace/src/client/contract/slots.ts:120"
|
|
5920
6032
|
},
|
|
5921
6033
|
{
|
|
5922
6034
|
key: "sidebar.workspaces.session.menu.item",
|
|
@@ -5967,7 +6079,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5967
6079
|
],
|
|
5968
6080
|
replaceRisk: "none",
|
|
5969
6081
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n const copyLabel = 'Copy Session ID' // Localize in the contributing package.\n ctx.slots.inject('sidebar.workspaces.session.menu.item', () => ctx.slots.register(\n { name: 'sidebar.workspaces.session.menu.item', id: 'copy-session-id', order: 500 },\n ({ sessionId, useMenuOpenState }) => {\n const [, setMenuOpen] = useMenuOpenState()\n return React.createElement(\n 'button',\n { type: 'button', role: 'menuitem', onClick: () => { setMenuOpen(false); void navigator.clipboard.writeText(sessionId) } },\n copyLabel,\n )\n },\n ))\n },\n}",
|
|
5970
|
-
source: "packages/client/ui-workspace/src/client/contract/slots.ts:
|
|
6082
|
+
source: "packages/client/ui-workspace/src/client/contract/slots.ts:167"
|
|
5971
6083
|
},
|
|
5972
6084
|
{
|
|
5973
6085
|
key: "sidebar.workspaces.session.row.action",
|
|
@@ -6013,7 +6125,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
6013
6125
|
occupants: ["client-ui-workspace ArchiveSessionRowButton id 'archive'", "client-ui-workspace PinSessionRowButton id 'pin'"],
|
|
6014
6126
|
replaceRisk: "none",
|
|
6015
6127
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.workspaces.session.row.action', () => ctx.slots.register(\n { name: 'sidebar.workspaces.session.row.action', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
6016
|
-
source: "packages/client/ui-workspace/src/client/contract/slots.ts:
|
|
6128
|
+
source: "packages/client/ui-workspace/src/client/contract/slots.ts:185"
|
|
6017
6129
|
},
|
|
6018
6130
|
{
|
|
6019
6131
|
key: "tool.call.images",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-cordis-client-runner",
|
|
3
3
|
"description": "Browser half of dynamic dual-half plugin packages: event subscription, closure evaluation, guard facade, and loader entries",
|
|
4
|
-
"version": "0.2.1-alpha.
|
|
4
|
+
"version": "0.2.1-alpha.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -41,15 +41,15 @@
|
|
|
41
41
|
"@deepseek-ai/cordis": "~4.0.5-alpha.1"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@types/react": "~18.3.1",
|
|
45
|
-
"react": "^18.2.0",
|
|
46
44
|
"@deepseek-ai/cordis-plugin-loader": "~1.0.6-alpha.1",
|
|
47
|
-
"@deepseek-ai/dsh-api-remotes": "0.2.1-alpha.
|
|
48
|
-
"@deepseek-ai/dsh-client-modules": "0.2.1-alpha.
|
|
49
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.2.1-alpha.
|
|
45
|
+
"@deepseek-ai/dsh-api-remotes": "0.2.1-alpha.2",
|
|
46
|
+
"@deepseek-ai/dsh-client-modules": "0.2.1-alpha.2",
|
|
47
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.2.1-alpha.2",
|
|
48
|
+
"@deepseek-ai/dsh-client-ui-theme": "0.2.1-alpha.2",
|
|
49
|
+
"@types/react": "~18.3.1",
|
|
50
50
|
"@deepseek-ai/cordis": "~4.0.5-alpha.1",
|
|
51
|
-
"
|
|
52
|
-
"@deepseek-ai/dsh-
|
|
51
|
+
"react": "^18.2.0",
|
|
52
|
+
"@deepseek-ai/dsh-util-values": "0.2.1-alpha.2"
|
|
53
53
|
},
|
|
54
54
|
"files": [
|
|
55
55
|
"lib/index.js",
|