@deepseek-ai/dsh-cordis-client-runner 0.2.0-rc.1 → 0.2.1-alpha.1
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 +0 -2
- package/README.zh.md +0 -2
- package/lib/client.js +161 -20
- package/package.json +9 -9
package/README.i18n.yaml
CHANGED
package/README.md
CHANGED
|
@@ -143,5 +143,3 @@ These limits define where the browser half needs special care. They are current
|
|
|
143
143
|
None.
|
|
144
144
|
|
|
145
145
|
</details>
|
|
146
|
-
|
|
147
|
-
**Runtime invariant:** No companion is published. The owned relation (a live Plugin's loader entry exists exactly while one Plugin Run ID is live) is browser-only state reachable through the client half's service, which the node-plane companion cannot observe. The relation is asserted by the package's own load/teardown coverage instead.
|
package/README.zh.md
CHANGED
package/lib/client.js
CHANGED
|
@@ -1530,11 +1530,14 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1530
1530
|
returns: "a Session already addressable through the Session Controller."
|
|
1531
1531
|
},
|
|
1532
1532
|
{
|
|
1533
|
-
signature: "startSession(workspaceId?: WorkspaceId): void",
|
|
1533
|
+
signature: "startSession(workspaceId?: WorkspaceId, options?: StartSessionOptions): void",
|
|
1534
1534
|
description: "Start a New Session flow and navigate to its Session; a creation the Host refuses is shown through the Workspace notice and leaves the selection as it was.",
|
|
1535
1535
|
parameters: [{
|
|
1536
1536
|
name: "workspaceId",
|
|
1537
1537
|
description: "explicit target; absent inherits the current or most recent Workspace."
|
|
1538
|
+
}, {
|
|
1539
|
+
name: "options",
|
|
1540
|
+
description: "initial content; existing text or attachments are preserved unless clearPreviousDraft is true."
|
|
1538
1541
|
}]
|
|
1539
1542
|
},
|
|
1540
1543
|
{
|
|
@@ -1814,6 +1817,10 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1814
1817
|
name: "ConnectionStateSource",
|
|
1815
1818
|
declaration: "export interface ConnectionStateSource {\n getSnapshot(): ConnectionState | undefined;\n subscribe(listener: () => void): () => void;\n}"
|
|
1816
1819
|
},
|
|
1820
|
+
{
|
|
1821
|
+
name: "DraftInitializationOptions",
|
|
1822
|
+
declaration: "export interface DraftInitializationOptions {\n readonly prompt?: string;\n readonly clearPreviousDraft?: boolean;\n}"
|
|
1823
|
+
},
|
|
1817
1824
|
{
|
|
1818
1825
|
name: "EntryKeyOf",
|
|
1819
1826
|
declaration: "export type EntryKeyOf<K extends keyof SlotMap & string> = SlotMap[K] extends {\n kind: 'keyed';\n keyProps: infer P extends object;\n} ? keyof P & string : string;"
|
|
@@ -2202,6 +2209,10 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2202
2209
|
name: "SnapshotSelectorHook",
|
|
2203
2210
|
declaration: "export type SnapshotSelectorHook<T> = <S>(sel: (s: T) => S, eq?: (a: S, b: S) => boolean) => S;"
|
|
2204
2211
|
},
|
|
2212
|
+
{
|
|
2213
|
+
name: "StartSessionOptions",
|
|
2214
|
+
declaration: "export type StartSessionOptions = DraftInitializationOptions;"
|
|
2215
|
+
},
|
|
2205
2216
|
{
|
|
2206
2217
|
name: "StoreDecl",
|
|
2207
2218
|
declaration: "export type StoreDecl = StoreHandle<any, any> | StoreFactory;"
|
|
@@ -2532,7 +2543,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2532
2543
|
"useProjection: UseProjection",
|
|
2533
2544
|
"useTrajectory: UseTrajectory"
|
|
2534
2545
|
],
|
|
2535
|
-
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, steering, system-prompt, tool-call, turn-error, turn-max-tokens, turn-process, turn-tail, turn-trigger, unknown, user, workflow-run",
|
|
2546
|
+
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",
|
|
2536
2547
|
hookContext: "ChatNodeHookContext",
|
|
2537
2548
|
slotInject: "ChatNodeInjected",
|
|
2538
2549
|
declaredBy: "an entry in 'conversation.view' (client-ui-chat), so it exists while that entry is mounted",
|
|
@@ -2554,6 +2565,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2554
2565
|
"client-ui-chat UnknownNodeView key 'unknown'",
|
|
2555
2566
|
"client-ui-goal GoalCommandInputView key 'command-input'",
|
|
2556
2567
|
"client-ui-tool ToolCallTree key 'tool-call'",
|
|
2568
|
+
"client-ui-user-questions QuestionReplyView key 'question-reply'",
|
|
2557
2569
|
"client-ui-workflow-run WorkflowRunPanel key 'workflow-run'"
|
|
2558
2570
|
],
|
|
2559
2571
|
replaceRisk: "shadows-shipped-ui",
|
|
@@ -2748,7 +2760,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2748
2760
|
hookContext: "",
|
|
2749
2761
|
slotInject: "",
|
|
2750
2762
|
declaredBy: "an entry in 'conversation.composer.bar' (client-ui-conversation), so it exists while that entry is mounted",
|
|
2751
|
-
occupants: ["client-ui-chat
|
|
2763
|
+
occupants: ["client-ui-chat ActivityPill id 'activity'", "client-ui-chat UsagePill id 'usage'"],
|
|
2752
2764
|
replaceRisk: "none",
|
|
2753
2765
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.composer.dock', () => ctx.slots.register(\n { name: 'conversation.composer.dock', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
2754
2766
|
source: "packages/client/ui-conversation/src/client/contract/slots.ts:199"
|
|
@@ -3051,7 +3063,8 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
3051
3063
|
occupants: [
|
|
3052
3064
|
"client-ui-conversation QueueDock id 'queue'",
|
|
3053
3065
|
"client-ui-conversation TodoDock id 'todo'",
|
|
3054
|
-
"client-ui-goal GoalDock id 'goal'"
|
|
3066
|
+
"client-ui-goal GoalDock id 'goal'",
|
|
3067
|
+
"experimental-client-ui-claude-code-mods Band id 'claude-code-mods'"
|
|
3055
3068
|
],
|
|
3056
3069
|
replaceRisk: "none",
|
|
3057
3070
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.input.dock', () => ctx.slots.register(\n { name: 'conversation.input.dock', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
@@ -3670,7 +3683,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
3670
3683
|
slotInject: "",
|
|
3671
3684
|
declaredBy: "an entry in 'conversation.session.header' (client-ui-conversation), so it exists while that entry is mounted",
|
|
3672
3685
|
occupants: [
|
|
3673
|
-
"client-ui-open-in-app
|
|
3686
|
+
"client-ui-open-in-app SessionOpenInAppAction id 'open-in-app'",
|
|
3674
3687
|
"client-ui-schedule ScheduleCatalogAction id 'schedule-catalog'",
|
|
3675
3688
|
"session-log-export SessionLogDownloadHeaderAction id 'session-log-download'"
|
|
3676
3689
|
],
|
|
@@ -3948,6 +3961,52 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
3948
3961
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('main.conversation', () => ctx.slots.register(\n { name: 'main.conversation' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
3949
3962
|
source: "packages/client/ui-conversation/src/client/contract/slots.ts:131"
|
|
3950
3963
|
},
|
|
3964
|
+
{
|
|
3965
|
+
key: "plugins.add.actions",
|
|
3966
|
+
kind: "list",
|
|
3967
|
+
scope: "root",
|
|
3968
|
+
summary: "Additional MenuItemButton rows after installation: 72px high, with a title and a description capped at two lines.",
|
|
3969
|
+
doc: "Additional MenuItemButton rows after installation: 72px high, with a title and a description capped at two lines.",
|
|
3970
|
+
registerOptions: [
|
|
3971
|
+
{
|
|
3972
|
+
name: "id",
|
|
3973
|
+
requirement: "required",
|
|
3974
|
+
type: "string",
|
|
3975
|
+
doc: "Your cell key. Use an id of your own: a fresh id is added beside the shipped entries, while reusing a shipped id puts you in THAT cell and replaces it. Owners that filter by id address you by it."
|
|
3976
|
+
},
|
|
3977
|
+
{
|
|
3978
|
+
name: "order",
|
|
3979
|
+
requirement: "optional",
|
|
3980
|
+
type: "number",
|
|
3981
|
+
doc: "Position among the entries, ascending (default 0)."
|
|
3982
|
+
},
|
|
3983
|
+
{
|
|
3984
|
+
name: "label",
|
|
3985
|
+
requirement: "optional",
|
|
3986
|
+
type: "string | (() => string)",
|
|
3987
|
+
doc: "Display text where the owner projects one (nav rows, tabs). A thunk is re-read on every projection, so localized text follows the active locale without re-registering."
|
|
3988
|
+
}
|
|
3989
|
+
],
|
|
3990
|
+
ownerProps: ["/** Add-plugin menu actions, independent of any selected bundle or Session. */\nexport interface PluginAddActionsProps {\n /** Close the add-plugin menu before starting the contributed action. */\n readonly onDismiss: () => void\n}"],
|
|
3991
|
+
ownerPropsReferences: [],
|
|
3992
|
+
standardProps: [
|
|
3993
|
+
"useResource: UseResource",
|
|
3994
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
3995
|
+
"usePanelInfo: UsePanelInfo",
|
|
3996
|
+
"useSessions: UseSessions",
|
|
3997
|
+
"useSessionStatus: UseSessionStatus",
|
|
3998
|
+
"useSessionRetainInfo: UseSessionRetainInfo",
|
|
3999
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>"
|
|
4000
|
+
],
|
|
4001
|
+
keyDomain: "",
|
|
4002
|
+
hookContext: "",
|
|
4003
|
+
slotInject: "",
|
|
4004
|
+
declaredBy: "an entry in 'main' (client-ui-plugin-manager), so it exists while that entry is mounted",
|
|
4005
|
+
occupants: ["client-ui-agent-preset CreatePluginMenuItem id 'create-plugin'"],
|
|
4006
|
+
replaceRisk: "none",
|
|
4007
|
+
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:84"
|
|
4009
|
+
},
|
|
3951
4010
|
{
|
|
3952
4011
|
key: "plugins.bundle.activation",
|
|
3953
4012
|
kind: "keyed",
|
|
@@ -3978,7 +4037,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
3978
4037
|
occupants: ["experimental-client-ui-voice-input VoiceSetupPrompt key '@deepseek-ai/dsh-experimental-voice-input-bundle'"],
|
|
3979
4038
|
replaceRisk: "shadows-shipped-ui",
|
|
3980
4039
|
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}",
|
|
3981
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4040
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:86"
|
|
3982
4041
|
},
|
|
3983
4042
|
{
|
|
3984
4043
|
key: "plugins.bundle.config",
|
|
@@ -4010,7 +4069,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4010
4069
|
occupants: ["experimental-client-ui-voice-input VoicePreparation key '@deepseek-ai/dsh-experimental-voice-input-bundle'"],
|
|
4011
4070
|
replaceRisk: "shadows-shipped-ui",
|
|
4012
4071
|
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}",
|
|
4013
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4072
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:102"
|
|
4014
4073
|
},
|
|
4015
4074
|
{
|
|
4016
4075
|
key: "plugins.detail.actions",
|
|
@@ -4056,7 +4115,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4056
4115
|
occupants: [],
|
|
4057
4116
|
replaceRisk: "none",
|
|
4058
4117
|
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}",
|
|
4059
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4118
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:116"
|
|
4060
4119
|
},
|
|
4061
4120
|
{
|
|
4062
4121
|
key: "plugins.detail.badge",
|
|
@@ -4102,7 +4161,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4102
4161
|
occupants: [],
|
|
4103
4162
|
replaceRisk: "none",
|
|
4104
4163
|
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}",
|
|
4105
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4164
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:121"
|
|
4106
4165
|
},
|
|
4107
4166
|
{
|
|
4108
4167
|
key: "plugins.detail.section",
|
|
@@ -4148,7 +4207,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4148
4207
|
occupants: [],
|
|
4149
4208
|
replaceRisk: "none",
|
|
4150
4209
|
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}",
|
|
4151
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4210
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:128"
|
|
4152
4211
|
},
|
|
4153
4212
|
{
|
|
4154
4213
|
key: "plugins.item",
|
|
@@ -4199,7 +4258,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4199
4258
|
],
|
|
4200
4259
|
replaceRisk: "none",
|
|
4201
4260
|
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}",
|
|
4202
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4261
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:96"
|
|
4203
4262
|
},
|
|
4204
4263
|
{
|
|
4205
4264
|
key: "plugins.row.config",
|
|
@@ -4231,7 +4290,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4231
4290
|
occupants: [],
|
|
4232
4291
|
replaceRisk: "none",
|
|
4233
4292
|
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}",
|
|
4234
|
-
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:
|
|
4293
|
+
source: "packages/client/ui-plugin-manager/src/client/slot-contract.ts:110"
|
|
4235
4294
|
},
|
|
4236
4295
|
{
|
|
4237
4296
|
key: "rightbar",
|
|
@@ -4784,6 +4843,33 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4784
4843
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('settings.trigger', () => ctx.slots.register(\n { name: 'settings.trigger' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4785
4844
|
source: "packages/client/ui-settings/src/client/contract/slots.ts:27"
|
|
4786
4845
|
},
|
|
4846
|
+
{
|
|
4847
|
+
key: "shell.bottom",
|
|
4848
|
+
kind: "single",
|
|
4849
|
+
scope: "root",
|
|
4850
|
+
summary: "Full-width bottom content below all three columns.",
|
|
4851
|
+
doc: "Full-width bottom content below all three columns. Its rendered height\nreduces the columns' available height; empty content reserves no space.\nThe occupant owns its height, visibility, and controls. It receives no\nSession binding and remains mounted across main-panel navigation.",
|
|
4852
|
+
registerOptions: [],
|
|
4853
|
+
ownerProps: [],
|
|
4854
|
+
ownerPropsReferences: [],
|
|
4855
|
+
standardProps: [
|
|
4856
|
+
"useResource: UseResource",
|
|
4857
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
4858
|
+
"usePanelInfo: UsePanelInfo",
|
|
4859
|
+
"useSessions: UseSessions",
|
|
4860
|
+
"useSessionStatus: UseSessionStatus",
|
|
4861
|
+
"useSessionRetainInfo: UseSessionRetainInfo",
|
|
4862
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>"
|
|
4863
|
+
],
|
|
4864
|
+
keyDomain: "",
|
|
4865
|
+
hookContext: "",
|
|
4866
|
+
slotInject: "",
|
|
4867
|
+
declaredBy: "an entry in 'root' (client-ui-layout), so it exists while that entry is mounted",
|
|
4868
|
+
occupants: ["experimental-inspector InspectorPage"],
|
|
4869
|
+
replaceRisk: "shadows-shipped-ui",
|
|
4870
|
+
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('shell.bottom', () => ctx.slots.register(\n { name: 'shell.bottom' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4871
|
+
source: "packages/client/ui-layout/src/client/index.ts:94"
|
|
4872
|
+
},
|
|
4787
4873
|
{
|
|
4788
4874
|
key: "shell.leading",
|
|
4789
4875
|
kind: "single",
|
|
@@ -4809,7 +4895,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4809
4895
|
occupants: ["client-ui-sidebar HeaderLeadingControls"],
|
|
4810
4896
|
replaceRisk: "shadows-shipped-ui",
|
|
4811
4897
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('shell.leading', () => ctx.slots.register(\n { name: 'shell.leading' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4812
|
-
source: "packages/client/ui-layout/src/client/index.ts:
|
|
4898
|
+
source: "packages/client/ui-layout/src/client/index.ts:119"
|
|
4813
4899
|
},
|
|
4814
4900
|
{
|
|
4815
4901
|
key: "shell.overlay",
|
|
@@ -4866,7 +4952,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4866
4952
|
],
|
|
4867
4953
|
replaceRisk: "none",
|
|
4868
4954
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('shell.overlay', () => ctx.slots.register(\n { name: 'shell.overlay', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4869
|
-
source: "packages/client/ui-layout/src/client/index.ts:
|
|
4955
|
+
source: "packages/client/ui-layout/src/client/index.ts:105"
|
|
4870
4956
|
},
|
|
4871
4957
|
{
|
|
4872
4958
|
key: "shell.quota-notice",
|
|
@@ -5152,7 +5238,8 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5152
5238
|
"client-ui-sidebar-files FilesBody",
|
|
5153
5239
|
"client-ui-sidebar-right GuideBody",
|
|
5154
5240
|
"client-ui-sidebar-terminal LazyTerminalBody",
|
|
5155
|
-
"client-ui-subagent SidebarChatTab"
|
|
5241
|
+
"client-ui-subagent SidebarChatTab",
|
|
5242
|
+
"experimental-session-inspector SessionInspectorView"
|
|
5156
5243
|
],
|
|
5157
5244
|
replaceRisk: "none",
|
|
5158
5245
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.right.pane.tab', () => ctx.slots.register(\n { name: 'sidebar.right.pane.tab', key: '<one key the owner dispatches>' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
@@ -5443,6 +5530,60 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5443
5530
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.right.tab.document.unpreviewable', () => ctx.slots.register(\n { name: 'sidebar.right.tab.document.unpreviewable', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5444
5531
|
source: "packages/client/ui-sidebar-documentpreview/src/client/document/contract.ts:78"
|
|
5445
5532
|
},
|
|
5533
|
+
{
|
|
5534
|
+
key: "sidebar.right.tab.files.actions",
|
|
5535
|
+
kind: "list",
|
|
5536
|
+
scope: "session",
|
|
5537
|
+
summary: "Workspace directory actions after the file tree's reload control.",
|
|
5538
|
+
doc: "Workspace directory actions after the file tree's reload control.",
|
|
5539
|
+
registerOptions: [
|
|
5540
|
+
{
|
|
5541
|
+
name: "id",
|
|
5542
|
+
requirement: "required",
|
|
5543
|
+
type: "string",
|
|
5544
|
+
doc: "Your cell key. Use an id of your own: a fresh id is added beside the shipped entries, while reusing a shipped id puts you in THAT cell and replaces it. Owners that filter by id address you by it."
|
|
5545
|
+
},
|
|
5546
|
+
{
|
|
5547
|
+
name: "order",
|
|
5548
|
+
requirement: "optional",
|
|
5549
|
+
type: "number",
|
|
5550
|
+
doc: "Position among the entries, ascending (default 0)."
|
|
5551
|
+
},
|
|
5552
|
+
{
|
|
5553
|
+
name: "label",
|
|
5554
|
+
requirement: "optional",
|
|
5555
|
+
type: "string | (() => string)",
|
|
5556
|
+
doc: "Display text where the owner projects one (nav rows, tabs). A thunk is re-read on every projection, so localized text follows the active locale without re-registering."
|
|
5557
|
+
}
|
|
5558
|
+
],
|
|
5559
|
+
ownerProps: [],
|
|
5560
|
+
ownerPropsReferences: [],
|
|
5561
|
+
standardProps: [
|
|
5562
|
+
"useResource: UseResource",
|
|
5563
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
5564
|
+
"usePanelInfo: UsePanelInfo",
|
|
5565
|
+
"useSessions: UseSessions",
|
|
5566
|
+
"useSessionStatus: UseSessionStatus",
|
|
5567
|
+
"useSessionRetainInfo: UseSessionRetainInfo",
|
|
5568
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
5569
|
+
"useChat: UseChat",
|
|
5570
|
+
"useConversation: UseConversation",
|
|
5571
|
+
"useInput: SnapshotSelectorHook<InputState>",
|
|
5572
|
+
"inputActions: InputActions",
|
|
5573
|
+
"useSession: SessionSnapshotSelector",
|
|
5574
|
+
"sessionId: SessionId",
|
|
5575
|
+
"useProjection: UseProjection",
|
|
5576
|
+
"useTrajectory: UseTrajectory"
|
|
5577
|
+
],
|
|
5578
|
+
keyDomain: "",
|
|
5579
|
+
hookContext: "",
|
|
5580
|
+
slotInject: "",
|
|
5581
|
+
declaredBy: "an entry in 'sidebar.right.pane.tab' (client-ui-sidebar-files), so it exists while that entry is mounted",
|
|
5582
|
+
occupants: ["client-ui-open-in-app OpenInAppAction id 'open-in-app'"],
|
|
5583
|
+
replaceRisk: "none",
|
|
5584
|
+
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.right.tab.files.actions', () => ctx.slots.register(\n { name: 'sidebar.right.tab.files.actions', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5585
|
+
source: "packages/client/ui-sidebar-files/src/client/index.ts:34"
|
|
5586
|
+
},
|
|
5446
5587
|
{
|
|
5447
5588
|
key: "sidebar.right.tab.guide",
|
|
5448
5589
|
kind: "chain",
|
|
@@ -5907,14 +6048,14 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5907
6048
|
occupants: ["client-ui-attachment MessageImages"],
|
|
5908
6049
|
replaceRisk: "shadows-shipped-ui",
|
|
5909
6050
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('tool.call.images', () => ctx.slots.register(\n { name: 'tool.call.images' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5910
|
-
source: "packages/client/ui-tool/src/client/contract/slots.ts:
|
|
6051
|
+
source: "packages/client/ui-tool/src/client/contract/slots.ts:44"
|
|
5911
6052
|
},
|
|
5912
6053
|
{
|
|
5913
6054
|
key: "tool.call.toolview",
|
|
5914
6055
|
kind: "keyed",
|
|
5915
6056
|
scope: "session",
|
|
5916
6057
|
summary: "Keyed Tool call view dispatched by wire Tool name.",
|
|
5917
|
-
doc: "Keyed Tool call view dispatched by wire Tool name. Any name is allowed,\nincluding tools registered by your package. Register with\n`key: '<tool name>'`; a typo never renders.\n\nRegistering an occupied key replaces its view; unclaimed keys use the\ngeneric row. The owner supplies the call identity and
|
|
6058
|
+
doc: "Keyed Tool call view dispatched by wire Tool name. Any name is allowed,\nincluding tools registered by your package. Register with\n`key: '<tool name>'`; a typo never renders.\n\nRegistering an occupied key replaces its view; unclaimed keys use the\ngeneric row. The owner supplies the call identity and running\nor settled node through explicit phase props. Every stage supplies\n`name` and a lazy `args` view; preparing arguments may be incomplete.",
|
|
5918
6059
|
registerOptions: [{
|
|
5919
6060
|
name: "key",
|
|
5920
6061
|
requirement: "required",
|
|
@@ -5952,8 +6093,8 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5952
6093
|
"useTrajectory: UseTrajectory"
|
|
5953
6094
|
],
|
|
5954
6095
|
keyDomain: "open: any string the owner dispatches (no compile-time key set), already taken: ask_user_question, bash, cordis_define, cordis_inspect_list, cordis_inspect_query, cordis_inspect_self, cordis_run, cordis_stop, cordis_undefine, create_goal, edit, get_goal, glob, grep, interrupt_agent, job_kill, job_list, job_output, list_agents, list_subagent_models, lsp, present, ralph, read, read_image, schedule_create, schedule_delete, schedule_list, schedule_update, send_message, session_event_read, session_event_search, session_event_trace, session_search, session_trace, skill, spawn_teammate, subagent, team_task_create, team_task_get, team_task_list, team_task_update, terminal_close, terminal_list, terminal_open, terminal_read, terminal_signal, todo_write, update_goal, wait_agent, web_fetch, web_search, workflow, write",
|
|
5955
|
-
hookContext: "
|
|
5956
|
-
slotInject: "
|
|
6096
|
+
hookContext: "",
|
|
6097
|
+
slotInject: "",
|
|
5957
6098
|
declaredBy: "an entry in 'conversation.chat.node' (client-ui-tool), so it exists while that entry is mounted",
|
|
5958
6099
|
occupants: [
|
|
5959
6100
|
"client-ui-deliverables PresentRow key 'present'",
|
|
@@ -6013,7 +6154,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
6013
6154
|
],
|
|
6014
6155
|
replaceRisk: "shadows-shipped-ui",
|
|
6015
6156
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('tool.call.toolview', () => ctx.slots.register(\n { name: 'tool.call.toolview', key: '<one key the owner dispatches>' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
6016
|
-
source: "packages/client/ui-tool/src/client/contract/slots.ts:
|
|
6157
|
+
source: "packages/client/ui-tool/src/client/contract/slots.ts:26"
|
|
6017
6158
|
},
|
|
6018
6159
|
{
|
|
6019
6160
|
key: "tool.view.cordis",
|
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.
|
|
4
|
+
"version": "0.2.1-alpha.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -38,18 +38,18 @@
|
|
|
38
38
|
},
|
|
39
39
|
"license": "MIT",
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"@deepseek-ai/cordis": "~4.0.
|
|
41
|
+
"@deepseek-ai/cordis": "~4.0.5-alpha.1"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/react": "~18.3.1",
|
|
45
45
|
"react": "^18.2.0",
|
|
46
|
-
"@deepseek-ai/cordis-plugin-loader": "~1.0.
|
|
47
|
-
"@deepseek-ai/dsh-api-remotes": "0.2.
|
|
48
|
-
"@deepseek-ai/dsh-client-modules": "0.2.
|
|
49
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.2.
|
|
50
|
-
"@deepseek-ai/
|
|
51
|
-
"@deepseek-ai/
|
|
52
|
-
"@deepseek-ai/dsh-
|
|
46
|
+
"@deepseek-ai/cordis-plugin-loader": "~1.0.6-alpha.1",
|
|
47
|
+
"@deepseek-ai/dsh-api-remotes": "0.2.1-alpha.1",
|
|
48
|
+
"@deepseek-ai/dsh-client-modules": "0.2.1-alpha.1",
|
|
49
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.2.1-alpha.1",
|
|
50
|
+
"@deepseek-ai/cordis": "~4.0.5-alpha.1",
|
|
51
|
+
"@deepseek-ai/dsh-util-values": "0.2.1-alpha.1",
|
|
52
|
+
"@deepseek-ai/dsh-client-ui-theme": "0.2.1-alpha.1"
|
|
53
53
|
},
|
|
54
54
|
"files": [
|
|
55
55
|
"lib/index.js",
|