@deepseek-ai/dsh-cordis-client-runner 0.1.7-rc.1 → 0.2.0-rc.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 +78 -5
- package/lib/client.js +192 -42
- package/package.json +6 -6
package/README.i18n.yaml
CHANGED
|
@@ -1,6 +1,79 @@
|
|
|
1
|
-
# Bilingual-pair consistency record (docs/i18n/README.md):
|
|
2
|
-
#
|
|
3
|
-
#
|
|
1
|
+
# Bilingual-pair consistency record for README.md (docs/i18n/README.md): per heading
|
|
2
|
+
# section, a hash of its English and Chinese blocks outside code blocks and generated regions.
|
|
3
|
+
# After editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/extensions/cordis-client-runner/README.md
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/:
|
|
6
|
+
en: 0d1382466301a0cb
|
|
7
|
+
zh: 64ee27ce126adad2
|
|
8
|
+
/deepseek-ai-dsh-cordis-client-runner:
|
|
9
|
+
en: ea84dfc91fbdbf90
|
|
10
|
+
zh: 3c70bc4bb1b1a7ab
|
|
11
|
+
/deepseek-ai-dsh-cordis-client-runner/summary:
|
|
12
|
+
en: 639cd79ac2d186c1
|
|
13
|
+
zh: 07d7bf8655111e55
|
|
14
|
+
/deepseek-ai-dsh-cordis-client-runner/table-of-contents:
|
|
15
|
+
en: d152484eb41ac6b4
|
|
16
|
+
zh: 09388d293f9be9cb
|
|
17
|
+
/deepseek-ai-dsh-cordis-client-runner/use-this-package:
|
|
18
|
+
en: 731e4c9c364beeb5
|
|
19
|
+
zh: 6aa113070967571f
|
|
20
|
+
/deepseek-ai-dsh-cordis-client-runner/use-this-package/what-the-page-does:
|
|
21
|
+
en: b303762b91f6d830
|
|
22
|
+
zh: c6e60cf498da3c4e
|
|
23
|
+
/deepseek-ai-dsh-cordis-client-runner/use-this-package/what-the-run-surface-offers:
|
|
24
|
+
en: 155c8371306a5cda
|
|
25
|
+
zh: 8b4cd48a0fc3f545
|
|
26
|
+
/deepseek-ai-dsh-cordis-client-runner/use-this-package/lifecycle-boundaries:
|
|
27
|
+
en: 8444eaa96ee05a5e
|
|
28
|
+
zh: 621bb78731bd0138
|
|
29
|
+
/deepseek-ai-dsh-cordis-client-runner/understand-the-implementation:
|
|
30
|
+
en: 64f24636f966aa86
|
|
31
|
+
zh: a4d3bb2e541b222a
|
|
32
|
+
/deepseek-ai-dsh-cordis-client-runner/understand-the-implementation/design-philosophy:
|
|
33
|
+
en: df635b29eaef982c
|
|
34
|
+
zh: ddaa4bd98359bd30
|
|
35
|
+
/deepseek-ai-dsh-cordis-client-runner/understand-the-implementation/source-map:
|
|
36
|
+
en: cbd46fb5821cfcc7
|
|
37
|
+
zh: 392e5cace2db6194
|
|
38
|
+
/deepseek-ai-dsh-cordis-client-runner/understand-the-implementation/inspecting-slot-inputs:
|
|
39
|
+
en: 33f14a7fff7835e6
|
|
40
|
+
zh: 53838ac8d4a79600
|
|
41
|
+
/deepseek-ai-dsh-cordis-client-runner/understand-the-implementation/how-a-run-is-carried-out:
|
|
42
|
+
en: e64ffad27ecf4bbd
|
|
43
|
+
zh: 7949755b8a782b08
|
|
44
|
+
/deepseek-ai-dsh-cordis-client-runner/further-exploration:
|
|
45
|
+
en: dcfcc126e7345db1
|
|
46
|
+
zh: 47b564ef00a83297
|
|
47
|
+
/deepseek-ai-dsh-cordis-client-runner/model-experience:
|
|
48
|
+
en: 215e7ba838619b7b
|
|
49
|
+
zh: a311da3843709f90
|
|
50
|
+
/deepseek-ai-dsh-cordis-client-runner/model-experience/run-resolution-relayed-by-the-host:
|
|
51
|
+
en: 4573c6b269e4fecb
|
|
52
|
+
zh: 7f76baf2f74bf9cc
|
|
53
|
+
/deepseek-ai-dsh-cordis-client-runner/model-experience/run-resolution-relayed-by-the-host/what-the-model-sees:
|
|
54
|
+
en: 0f941f02680ba2ed
|
|
55
|
+
zh: d62dd787dea11f5f
|
|
56
|
+
/deepseek-ai-dsh-cordis-client-runner/model-experience/run-resolution-relayed-by-the-host/token-effect:
|
|
57
|
+
en: 37462821d8e35933
|
|
58
|
+
zh: bb94b21eff2911e8
|
|
59
|
+
/deepseek-ai-dsh-cordis-client-runner/model-experience/run-resolution-relayed-by-the-host/kv-cache-effect:
|
|
60
|
+
en: da210ff9eb982144
|
|
61
|
+
zh: 633a73ac9bc9e5e6
|
|
62
|
+
/deepseek-ai-dsh-cordis-client-runner/model-experience/render-failure-after-the-run-settled:
|
|
63
|
+
en: 524d638584142d72
|
|
64
|
+
zh: 3ffc463419fba2e1
|
|
65
|
+
/deepseek-ai-dsh-cordis-client-runner/model-experience/render-failure-after-the-run-settled/what-the-model-sees:
|
|
66
|
+
en: f347bd0b5f9e297e
|
|
67
|
+
zh: 0b7bc88659e38306
|
|
68
|
+
/deepseek-ai-dsh-cordis-client-runner/model-experience/render-failure-after-the-run-settled/token-effect:
|
|
69
|
+
en: c8c1657fa4e37ca4
|
|
70
|
+
zh: d03af1593a9b4d3a
|
|
71
|
+
/deepseek-ai-dsh-cordis-client-runner/model-experience/render-failure-after-the-run-settled/kv-cache-effect:
|
|
72
|
+
en: d2d35b83beb936b2
|
|
73
|
+
zh: 604aa6929c7a9c76
|
|
74
|
+
/deepseek-ai-dsh-cordis-client-runner/known-limitations-and-deferred-work:
|
|
75
|
+
en: a728aeb4aa18db7d
|
|
76
|
+
zh: b596309cd6707da7
|
|
77
|
+
/deepseek-ai-dsh-cordis-client-runner/known-limitations-and-deferred-work/dev-note:
|
|
78
|
+
en: c4cff307d238c93a
|
|
79
|
+
zh: d1a9ff4164056741
|
package/lib/client.js
CHANGED
|
@@ -1329,11 +1329,11 @@ 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
|
|
1332
|
+
signature: "fork(opts: { sessionId: SessionId atSeq?: number increaseTitle?: boolean onCreated?: (childId: SessionId) => void }): 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",
|
|
1336
|
-
description: "source session id, the optional exact inclusive boundary seq (a real event seq the caller already knows; a cut inside an open turn is balanced Host-side with synthetic closers, and omission selects the latest completed-turn prefix), and whether to increment an inherited durable title before resolving."
|
|
1336
|
+
description: "source session id, the optional exact inclusive boundary seq (a real event seq the caller already knows; a cut inside an open turn is balanced Host-side with synthetic closers, and omission selects the latest completed-turn prefix), and whether to increment an inherited durable title before resolving. `onCreated` observes the catalogued child before that optional rename."
|
|
1337
1337
|
}],
|
|
1338
1338
|
returns: "the child session id.",
|
|
1339
1339
|
throws: ["when the fork fails, or when a requested child-title rename fails after creation."]
|
|
@@ -1503,19 +1503,22 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1503
1503
|
description: "target Workspace."
|
|
1504
1504
|
}, {
|
|
1505
1505
|
name: "beforeOpen",
|
|
1506
|
-
description: "optional synchronous preparation for the selected Session, skipped after supersession."
|
|
1506
|
+
description: "optional synchronous preparation for the selected Session, skipped after supersession; a throw aborts the open and releases the retained reference."
|
|
1507
1507
|
}],
|
|
1508
1508
|
returns: "completion; a superseded request may create a Session but does not open it.",
|
|
1509
1509
|
throws: ["on failure; a refused creation is also shown through the Workspace notice unless a later navigation or disposal superseded the request."]
|
|
1510
1510
|
},
|
|
1511
1511
|
{
|
|
1512
|
-
signature: "forkSession(sessionId: SessionId): Promise<
|
|
1512
|
+
signature: "forkSession(sessionId: SessionId, onCreated?: (childId: SessionId) => void): Promise<SessionId>",
|
|
1513
1513
|
description: "Fork a Session without changing the current selection.",
|
|
1514
1514
|
parameters: [{
|
|
1515
1515
|
name: "sessionId",
|
|
1516
1516
|
description: "source Session."
|
|
1517
|
+
}, {
|
|
1518
|
+
name: "onCreated",
|
|
1519
|
+
description: "observer before the optional child-title update."
|
|
1517
1520
|
}],
|
|
1518
|
-
returns: "
|
|
1521
|
+
returns: "the child SessionId after creation and inherited-title increment."
|
|
1519
1522
|
},
|
|
1520
1523
|
{
|
|
1521
1524
|
signature: "connectWorkspace(workspaceId: WorkspaceId): Promise<SessionId>",
|
|
@@ -2445,7 +2448,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2445
2448
|
occupants: ["client-ui-message-feedback MessageFeedbackActions id 'feedback'"],
|
|
2446
2449
|
replaceRisk: "none",
|
|
2447
2450
|
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}",
|
|
2448
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2451
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:321"
|
|
2449
2452
|
},
|
|
2450
2453
|
{
|
|
2451
2454
|
key: "conversation.chat.commandview",
|
|
@@ -2489,7 +2492,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2489
2492
|
occupants: [],
|
|
2490
2493
|
replaceRisk: "none",
|
|
2491
2494
|
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}",
|
|
2492
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2495
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:309"
|
|
2493
2496
|
},
|
|
2494
2497
|
{
|
|
2495
2498
|
key: "conversation.chat.node",
|
|
@@ -2555,7 +2558,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2555
2558
|
],
|
|
2556
2559
|
replaceRisk: "shadows-shipped-ui",
|
|
2557
2560
|
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}",
|
|
2558
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2561
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:290"
|
|
2559
2562
|
},
|
|
2560
2563
|
{
|
|
2561
2564
|
key: "conversation.chat.turnTail",
|
|
@@ -2606,10 +2609,14 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2606
2609
|
hookContext: "",
|
|
2607
2610
|
slotInject: "",
|
|
2608
2611
|
declaredBy: "an entry in 'conversation.chat.node' (client-ui-chat), so it exists while that entry is mounted",
|
|
2609
|
-
occupants: [
|
|
2612
|
+
occupants: [
|
|
2613
|
+
"client-ui-deliverables DeliverablesTail id '@deepseek-ai/dsh-client-ui-deliverables'",
|
|
2614
|
+
"client-ui-plan PlanCards",
|
|
2615
|
+
"client-ui-schedule ScheduleTurnCard id 'schedule-created'"
|
|
2616
|
+
],
|
|
2610
2617
|
replaceRisk: "none",
|
|
2611
2618
|
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}",
|
|
2612
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2619
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:315"
|
|
2613
2620
|
},
|
|
2614
2621
|
{
|
|
2615
2622
|
key: "conversation.composer",
|
|
@@ -2918,7 +2925,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2918
2925
|
occupants: ["client-ui-directory-picker-browse BrowseDirectoryFlow", "client-ui-directory-picker-native NativeDirectoryFlow"],
|
|
2919
2926
|
replaceRisk: "shadows-shipped-ui",
|
|
2920
2927
|
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}",
|
|
2921
|
-
source: "packages/client/ui-workspace/src/client/contract/slots.ts:
|
|
2928
|
+
source: "packages/client/ui-workspace/src/client/contract/slots.ts:117"
|
|
2922
2929
|
},
|
|
2923
2930
|
{
|
|
2924
2931
|
key: "conversation.input.activity",
|
|
@@ -3358,7 +3365,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
3358
3365
|
occupants: ["client-ui-attachment MessageImages"],
|
|
3359
3366
|
replaceRisk: "shadows-shipped-ui",
|
|
3360
3367
|
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}",
|
|
3361
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
3368
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:303"
|
|
3362
3369
|
},
|
|
3363
3370
|
{
|
|
3364
3371
|
key: "conversation.plan-review.actions",
|
|
@@ -3536,7 +3543,6 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
3536
3543
|
occupants: [
|
|
3537
3544
|
"client-ui-agent-preset AgentPresetLabel id 'agent-preset'",
|
|
3538
3545
|
"client-ui-jobs JobListAction id 'job-list'",
|
|
3539
|
-
"client-ui-schedule ScheduleCatalogAction id 'schedule-catalog'",
|
|
3540
3546
|
"client-ui-subagent SubagentCatalogAction id 'subagent-catalog'",
|
|
3541
3547
|
"experimental-client-ui-agent-team TeamAction id 'agent-team'"
|
|
3542
3548
|
],
|
|
@@ -3663,7 +3669,11 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
3663
3669
|
hookContext: "",
|
|
3664
3670
|
slotInject: "",
|
|
3665
3671
|
declaredBy: "an entry in 'conversation.session.header' (client-ui-conversation), so it exists while that entry is mounted",
|
|
3666
|
-
occupants: [
|
|
3672
|
+
occupants: [
|
|
3673
|
+
"client-ui-open-in-app OpenInAppAction id 'open-in-app'",
|
|
3674
|
+
"client-ui-schedule ScheduleCatalogAction id 'schedule-catalog'",
|
|
3675
|
+
"session-log-export SessionLogDownloadHeaderAction id 'session-log-download'"
|
|
3676
|
+
],
|
|
3667
3677
|
replaceRisk: "none",
|
|
3668
3678
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.session.header.utilities', () => ctx.slots.register(\n { name: 'conversation.session.header.utilities', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
3669
3679
|
source: "packages/client/ui-conversation/src/client/contract/slots.ts:162"
|
|
@@ -3896,10 +3906,14 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
3896
3906
|
hookContext: "",
|
|
3897
3907
|
slotInject: "",
|
|
3898
3908
|
declaredBy: "an entry in 'root' (client-ui-layout), so it exists while that entry is mounted",
|
|
3899
|
-
occupants: [
|
|
3909
|
+
occupants: [
|
|
3910
|
+
"client-ui-conversation ConversationPanel key 'conversation'",
|
|
3911
|
+
"client-ui-plugin-manager PluginManagerPage",
|
|
3912
|
+
"client-ui-schedule TaskManagerPage"
|
|
3913
|
+
],
|
|
3900
3914
|
replaceRisk: "shadows-shipped-ui",
|
|
3901
3915
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('main', () => ctx.slots.register(\n { name: 'main', key: '<one key the owner dispatches>' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
3902
|
-
source: "packages/client/ui-layout/src/client/index.ts:
|
|
3916
|
+
source: "packages/client/ui-layout/src/client/index.ts:73"
|
|
3903
3917
|
},
|
|
3904
3918
|
{
|
|
3905
3919
|
key: "main.conversation",
|
|
@@ -4244,7 +4258,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4244
4258
|
occupants: ["client-ui-sidebar-right RightbarRoot"],
|
|
4245
4259
|
replaceRisk: "shadows-shipped-ui",
|
|
4246
4260
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('rightbar', () => ctx.slots.register(\n { name: 'rightbar' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4247
|
-
source: "packages/client/ui-layout/src/client/index.ts:
|
|
4261
|
+
source: "packages/client/ui-layout/src/client/index.ts:87"
|
|
4248
4262
|
},
|
|
4249
4263
|
{
|
|
4250
4264
|
key: "rightbar.session",
|
|
@@ -4279,7 +4293,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4279
4293
|
occupants: ["client-ui-sidebar-right RightbarSeat"],
|
|
4280
4294
|
replaceRisk: "shadows-shipped-ui",
|
|
4281
4295
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('rightbar.session', () => ctx.slots.register(\n { name: 'rightbar.session' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4282
|
-
source: "packages/client/ui-sidebar-right/src/client/contract/slots.ts:
|
|
4296
|
+
source: "packages/client/ui-sidebar-right/src/client/contract/slots.ts:43"
|
|
4283
4297
|
},
|
|
4284
4298
|
{
|
|
4285
4299
|
key: "root",
|
|
@@ -4431,6 +4445,8 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4431
4445
|
"client-ui-permission-presets PermissionRow id 'permission'",
|
|
4432
4446
|
"client-ui-settings-general DeveloperToolsRow id 'developer-tools'",
|
|
4433
4447
|
"client-ui-settings-general CurrentVersionRow id 'current-version'",
|
|
4448
|
+
"client-ui-settings-session-log UploadRow",
|
|
4449
|
+
"client-ui-shortcuts ShortcutsRow id 'shortcuts'",
|
|
4434
4450
|
"client-ui-theme AppearanceRow id 'appearance'",
|
|
4435
4451
|
"client-ui-theme FontSizeRow id 'font-size'"
|
|
4436
4452
|
],
|
|
@@ -4472,7 +4488,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4472
4488
|
summary: "Optional sidebar account launcher; opens the shell-owned settings panel.",
|
|
4473
4489
|
doc: "Optional sidebar account launcher; opens the shell-owned settings panel.",
|
|
4474
4490
|
registerOptions: [],
|
|
4475
|
-
ownerProps: ["/** Sidebar launcher geometry and settings navigation. */\nexport interface SettingsLauncherOwnerProps {\n /** Whether the sidebar shows labels. */\n wide: boolean\n /** Open the settings panel. */\n openSettings: () => void\n /** @param id - registered onboarding editor to open explicitly. */\n openOnboarding: (id: string) => void\n}"],
|
|
4491
|
+
ownerProps: ["/** Sidebar launcher geometry and settings navigation. */\nexport interface SettingsLauncherOwnerProps {\n /** Whether the sidebar shows labels. */\n wide: boolean\n /** Whether the settings dialog covers the sidebar; a launcher may treat a false-to-true edge as one Settings entry. */\n settingsOpen: boolean\n /** Effective Settings key labels and accessible combination; omitted when unbound. */\n settingsShortcut?: { readonly keys: readonly string[]; readonly aria?: string | undefined }\n /** Open the settings panel. */\n openSettings: () => void\n /** @param id - registered onboarding editor to open explicitly. */\n openOnboarding: (id: string) => void\n}"],
|
|
4476
4492
|
ownerPropsReferences: [],
|
|
4477
4493
|
standardProps: [
|
|
4478
4494
|
"useResource: UseResource",
|
|
@@ -4793,7 +4809,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4793
4809
|
occupants: ["client-ui-sidebar HeaderLeadingControls"],
|
|
4794
4810
|
replaceRisk: "shadows-shipped-ui",
|
|
4795
4811
|
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}",
|
|
4796
|
-
source: "packages/client/ui-layout/src/client/index.ts:
|
|
4812
|
+
source: "packages/client/ui-layout/src/client/index.ts:112"
|
|
4797
4813
|
},
|
|
4798
4814
|
{
|
|
4799
4815
|
key: "shell.overlay",
|
|
@@ -4837,13 +4853,52 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4837
4853
|
slotInject: "",
|
|
4838
4854
|
declaredBy: "an entry in 'root' (client-ui-layout), so it exists while that entry is mounted",
|
|
4839
4855
|
occupants: [
|
|
4856
|
+
"client-ui-chat QuotaNoticeHost id 'chat.quota-notice'",
|
|
4857
|
+
"client-ui-plugin-manager PluginRefreshToast id 'plugin-manager.refresh-toast'",
|
|
4858
|
+
"client-ui-schedule ScheduleDeleteToast id 'schedule.delete-toast'",
|
|
4859
|
+
"client-ui-settings-account DesktopOnboardingEntry id 'desktop-onboarding'",
|
|
4860
|
+
"client-ui-settings-account AccountPlatformHost id 'account.platform-page'",
|
|
4861
|
+
"client-ui-settings-session-log UploadToast id 'session-log-upload-toast'",
|
|
4862
|
+
"client-ui-shortcuts ShortcutReference id 'shortcuts'",
|
|
4840
4863
|
"client-ui-workspace SessionRenameDialog id 'workspace.session-rename'",
|
|
4841
4864
|
"client-ui-workspace SessionArchiveConfirmDialog id 'workspace.session-archive'",
|
|
4842
4865
|
"client-ui-workspace RowActionToast id 'workspace.row-toast'"
|
|
4843
4866
|
],
|
|
4844
4867
|
replaceRisk: "none",
|
|
4845
4868
|
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}",
|
|
4846
|
-
source: "packages/client/ui-layout/src/client/index.ts:
|
|
4869
|
+
source: "packages/client/ui-layout/src/client/index.ts:98"
|
|
4870
|
+
},
|
|
4871
|
+
{
|
|
4872
|
+
key: "shell.quota-notice",
|
|
4873
|
+
kind: "chain",
|
|
4874
|
+
scope: "root",
|
|
4875
|
+
summary: "Frame-wide quota notice chain.",
|
|
4876
|
+
doc: "Frame-wide quota notice chain. The Chat-owned host in `shell.overlay`\noffers the one live notice; the first entry whose selector claims its\ncode takes over the surface, and the all-decline case renders the host's\ngeneric warning Toast. The host lives outside the Chat panel, so a notice\nsurvives switching or closing the panel that reported it.",
|
|
4877
|
+
registerOptions: [{
|
|
4878
|
+
name: "select",
|
|
4879
|
+
requirement: "required",
|
|
4880
|
+
type: "(owner) => unknown | null",
|
|
4881
|
+
doc: "Pure routing selector. Entries are tried in ascending order; the first non-null result wins and arrives as the component's `matched` prop. All-null falls through to the owner's fallback."
|
|
4882
|
+
}],
|
|
4883
|
+
ownerProps: ["/** Owner currency of one quota notice offered to the frame-wide chain. */\nexport interface QuotaNoticeOwnerProps {\n /** Stable failure code retained in the Session log. */\n code: QuotaNoticeCode\n /** Provider-neutral notice copy in the active locale. */\n message: string\n /** Take the notice down. */\n dismiss: () => void\n /**\n * Prevent later quota failures from replacing this notice. Dismissal clears\n * all holds; releasing the last hold resumes future notices without replay.\n * Callers must release on unmount.\n * @returns idempotent release that cannot clear another hold.\n */\n keepOpen: () => () => void\n}"],
|
|
4884
|
+
ownerPropsReferences: ["QuotaNoticeCode"],
|
|
4885
|
+
standardProps: [
|
|
4886
|
+
"useResource: UseResource",
|
|
4887
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
4888
|
+
"usePanelInfo: UsePanelInfo",
|
|
4889
|
+
"useSessions: UseSessions",
|
|
4890
|
+
"useSessionStatus: UseSessionStatus",
|
|
4891
|
+
"useSessionRetainInfo: UseSessionRetainInfo",
|
|
4892
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>"
|
|
4893
|
+
],
|
|
4894
|
+
keyDomain: "",
|
|
4895
|
+
hookContext: "",
|
|
4896
|
+
slotInject: "",
|
|
4897
|
+
declaredBy: "an entry in 'shell.overlay' (client-ui-chat), so it exists while that entry is mounted",
|
|
4898
|
+
occupants: ["client-ui-settings-account AccountQuotaNotice"],
|
|
4899
|
+
replaceRisk: "none",
|
|
4900
|
+
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}",
|
|
4901
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:329"
|
|
4847
4902
|
},
|
|
4848
4903
|
{
|
|
4849
4904
|
key: "sidebar",
|
|
@@ -4870,7 +4925,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4870
4925
|
occupants: ["client-ui-sidebar SidebarRoot"],
|
|
4871
4926
|
replaceRisk: "shadows-shipped-ui",
|
|
4872
4927
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar', () => ctx.slots.register(\n { name: 'sidebar' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4873
|
-
source: "packages/client/ui-layout/src/client/index.ts:
|
|
4928
|
+
source: "packages/client/ui-layout/src/client/index.ts:68"
|
|
4874
4929
|
},
|
|
4875
4930
|
{
|
|
4876
4931
|
key: "sidebar.brand.mark",
|
|
@@ -4897,7 +4952,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4897
4952
|
occupants: ["client-ui-brand-official OfficialBrandMark"],
|
|
4898
4953
|
replaceRisk: "shadows-shipped-ui",
|
|
4899
4954
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.brand.mark', () => ctx.slots.register(\n { name: 'sidebar.brand.mark' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4900
|
-
source: "packages/client/ui-sidebar/src/client/contract/slots.ts:
|
|
4955
|
+
source: "packages/client/ui-sidebar/src/client/contract/slots.ts:25"
|
|
4901
4956
|
},
|
|
4902
4957
|
{
|
|
4903
4958
|
key: "sidebar.brand.name",
|
|
@@ -4924,7 +4979,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
4924
4979
|
occupants: ["client-ui-brand-official OfficialBrandName"],
|
|
4925
4980
|
replaceRisk: "shadows-shipped-ui",
|
|
4926
4981
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.brand.name', () => ctx.slots.register(\n { name: 'sidebar.brand.name' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
4927
|
-
source: "packages/client/ui-sidebar/src/client/contract/slots.ts:
|
|
4982
|
+
source: "packages/client/ui-sidebar/src/client/contract/slots.ts:30"
|
|
4928
4983
|
},
|
|
4929
4984
|
{
|
|
4930
4985
|
key: "sidebar.chat.conversation",
|
|
@@ -5005,7 +5060,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5005
5060
|
occupants: ["client-ui-cordis CordisPanel id 'cordis-panel'"],
|
|
5006
5061
|
replaceRisk: "none",
|
|
5007
5062
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.footer.action', () => ctx.slots.register(\n { name: 'sidebar.footer.action', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5008
|
-
source: "packages/client/ui-sidebar/src/client/contract/slots.ts:
|
|
5063
|
+
source: "packages/client/ui-sidebar/src/client/contract/slots.ts:53"
|
|
5009
5064
|
},
|
|
5010
5065
|
{
|
|
5011
5066
|
key: "sidebar.panellist",
|
|
@@ -5048,10 +5103,10 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5048
5103
|
hookContext: "",
|
|
5049
5104
|
slotInject: "",
|
|
5050
5105
|
declaredBy: "an entry in 'sidebar' (client-ui-sidebar), so it exists while that entry is mounted",
|
|
5051
|
-
occupants: ["client-ui-plugin-manager PluginsPanelIcon"],
|
|
5106
|
+
occupants: ["client-ui-plugin-manager PluginsPanelIcon", "client-ui-schedule TaskManagerIcon"],
|
|
5052
5107
|
replaceRisk: "none",
|
|
5053
5108
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.panellist', () => ctx.slots.register(\n { name: 'sidebar.panellist', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5054
|
-
source: "packages/client/ui-sidebar/src/client/contract/slots.ts:
|
|
5109
|
+
source: "packages/client/ui-sidebar/src/client/contract/slots.ts:35"
|
|
5055
5110
|
},
|
|
5056
5111
|
{
|
|
5057
5112
|
key: "sidebar.right.pane.tab",
|
|
@@ -5091,6 +5146,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5091
5146
|
occupants: [
|
|
5092
5147
|
"client-ui-deliverables ReviewTab",
|
|
5093
5148
|
"client-ui-plan PlanPreview",
|
|
5149
|
+
"client-ui-schedule ScheduleTaskTab",
|
|
5094
5150
|
"client-ui-sidebar-browser BrowserBody",
|
|
5095
5151
|
"client-ui-sidebar-documentpreview TextPreview",
|
|
5096
5152
|
"client-ui-sidebar-files FilesBody",
|
|
@@ -5100,7 +5156,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5100
5156
|
],
|
|
5101
5157
|
replaceRisk: "none",
|
|
5102
5158
|
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}",
|
|
5103
|
-
source: "packages/client/ui-sidebar-right/src/client/contract/slots.ts:
|
|
5159
|
+
source: "packages/client/ui-sidebar-right/src/client/contract/slots.ts:59"
|
|
5104
5160
|
},
|
|
5105
5161
|
{
|
|
5106
5162
|
key: "sidebar.right.pane.tab.title",
|
|
@@ -5139,6 +5195,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5139
5195
|
declaredBy: "an entry in 'rightbar.session' (client-ui-sidebar-right), so it exists while that entry is mounted",
|
|
5140
5196
|
occupants: [
|
|
5141
5197
|
"client-ui-plan PlanTitle",
|
|
5198
|
+
"client-ui-schedule ScheduleTaskTabTitle",
|
|
5142
5199
|
"client-ui-sidebar-browser BrowserTitle",
|
|
5143
5200
|
"client-ui-sidebar-documentpreview TextTitle",
|
|
5144
5201
|
"client-ui-sidebar-files FilesTitle",
|
|
@@ -5147,7 +5204,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5147
5204
|
],
|
|
5148
5205
|
replaceRisk: "none",
|
|
5149
5206
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.right.pane.tab.title', () => ctx.slots.register(\n { name: 'sidebar.right.pane.tab.title', key: '<one key the owner dispatches>' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5150
|
-
source: "packages/client/ui-sidebar-right/src/client/contract/slots.ts:
|
|
5207
|
+
source: "packages/client/ui-sidebar-right/src/client/contract/slots.ts:73"
|
|
5151
5208
|
},
|
|
5152
5209
|
{
|
|
5153
5210
|
key: "sidebar.right.tab.document",
|
|
@@ -5424,7 +5481,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5424
5481
|
occupants: [],
|
|
5425
5482
|
replaceRisk: "none",
|
|
5426
5483
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.right.tab.guide', () => ctx.slots.register(\n { name: 'sidebar.right.tab.guide', select: owner => null },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5427
|
-
source: "packages/client/ui-sidebar-right/src/client/contract/slots.ts:
|
|
5484
|
+
source: "packages/client/ui-sidebar-right/src/client/contract/slots.ts:84"
|
|
5428
5485
|
},
|
|
5429
5486
|
{
|
|
5430
5487
|
key: "sidebar.right.tab.guide.entry",
|
|
@@ -5464,7 +5521,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5464
5521
|
occupants: ["client-ui-sidebar-terminal TerminalGuide"],
|
|
5465
5522
|
replaceRisk: "none",
|
|
5466
5523
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.right.tab.guide.entry', () => ctx.slots.register(\n { name: 'sidebar.right.tab.guide.entry', key: '<one key the owner dispatches>' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5467
|
-
source: "packages/client/ui-sidebar-right/src/client/contract/slots.ts:
|
|
5524
|
+
source: "packages/client/ui-sidebar-right/src/client/contract/slots.ts:91"
|
|
5468
5525
|
},
|
|
5469
5526
|
{
|
|
5470
5527
|
key: "sidebar.right.tab.menu.item",
|
|
@@ -5518,7 +5575,99 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5518
5575
|
occupants: [],
|
|
5519
5576
|
replaceRisk: "none",
|
|
5520
5577
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.right.tab.menu.item', () => ctx.slots.register(\n { name: 'sidebar.right.tab.menu.item', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5521
|
-
source: "packages/client/ui-sidebar-right/src/client/contract/slots.ts:
|
|
5578
|
+
source: "packages/client/ui-sidebar-right/src/client/contract/slots.ts:103"
|
|
5579
|
+
},
|
|
5580
|
+
{
|
|
5581
|
+
key: "sidebar.session.row.hover",
|
|
5582
|
+
kind: "list",
|
|
5583
|
+
scope: "root",
|
|
5584
|
+
summary: "Section of the Session row's hover card between its relative time and its trailing status line.",
|
|
5585
|
+
doc: "Section of the Session row's hover card between its relative time and\nits trailing status line. Mounted only while that card is open.",
|
|
5586
|
+
registerOptions: [
|
|
5587
|
+
{
|
|
5588
|
+
name: "id",
|
|
5589
|
+
requirement: "required",
|
|
5590
|
+
type: "string",
|
|
5591
|
+
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."
|
|
5592
|
+
},
|
|
5593
|
+
{
|
|
5594
|
+
name: "order",
|
|
5595
|
+
requirement: "optional",
|
|
5596
|
+
type: "number",
|
|
5597
|
+
doc: "Position among the entries, ascending (default 0)."
|
|
5598
|
+
},
|
|
5599
|
+
{
|
|
5600
|
+
name: "label",
|
|
5601
|
+
requirement: "optional",
|
|
5602
|
+
type: "string | (() => string)",
|
|
5603
|
+
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."
|
|
5604
|
+
}
|
|
5605
|
+
],
|
|
5606
|
+
ownerProps: ["/**\n * Owner share of the two Session-row schedule seats. Both receive only the\n * row's Session identity: the occupant reads that Session's own scheduled\n * tasks, and reading them activates nothing.\n */\nexport interface SessionRowScheduleOwnerProps {\n /** Session this row shows; the occupant addresses its own data by this id. */\n readonly sessionId: SessionId\n}"],
|
|
5607
|
+
ownerPropsReferences: ["SessionId"],
|
|
5608
|
+
standardProps: [
|
|
5609
|
+
"useResource: UseResource",
|
|
5610
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
5611
|
+
"usePanelInfo: UsePanelInfo",
|
|
5612
|
+
"useSessions: UseSessions",
|
|
5613
|
+
"useSessionStatus: UseSessionStatus",
|
|
5614
|
+
"useSessionRetainInfo: UseSessionRetainInfo",
|
|
5615
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>"
|
|
5616
|
+
],
|
|
5617
|
+
keyDomain: "",
|
|
5618
|
+
hookContext: "",
|
|
5619
|
+
slotInject: "",
|
|
5620
|
+
declaredBy: "an entry in 'sidebar.workspaces' (client-ui-workspace), so it exists while that entry is mounted",
|
|
5621
|
+
occupants: ["client-ui-schedule SessionScheduleHover id 'schedule-tasks'"],
|
|
5622
|
+
replaceRisk: "none",
|
|
5623
|
+
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}",
|
|
5624
|
+
source: "packages/client/ui-workspace/src/client/contract/slots.ts:134"
|
|
5625
|
+
},
|
|
5626
|
+
{
|
|
5627
|
+
key: "sidebar.session.row.leading",
|
|
5628
|
+
kind: "list",
|
|
5629
|
+
scope: "root",
|
|
5630
|
+
summary: "Leading decoration of one Session row, in the 16px cell before the title that the row's own state dot otherwise occupies.",
|
|
5631
|
+
doc: "Leading decoration of one Session row, in the 16px cell before the title\nthat the row's own state dot otherwise occupies. A higher-priority state\n(a pending interaction, a new message, live activity) replaces the seat\nwith that dot for the same row, so an occupant here never renders beside\na status dot and is mounted only by a row whose primary state is idle.\nAn archived row keeps that cell blank — neither its status dot nor this\nseat renders there, and its live status appears on the hover card only.",
|
|
5632
|
+
registerOptions: [
|
|
5633
|
+
{
|
|
5634
|
+
name: "id",
|
|
5635
|
+
requirement: "required",
|
|
5636
|
+
type: "string",
|
|
5637
|
+
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."
|
|
5638
|
+
},
|
|
5639
|
+
{
|
|
5640
|
+
name: "order",
|
|
5641
|
+
requirement: "optional",
|
|
5642
|
+
type: "number",
|
|
5643
|
+
doc: "Position among the entries, ascending (default 0)."
|
|
5644
|
+
},
|
|
5645
|
+
{
|
|
5646
|
+
name: "label",
|
|
5647
|
+
requirement: "optional",
|
|
5648
|
+
type: "string | (() => string)",
|
|
5649
|
+
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."
|
|
5650
|
+
}
|
|
5651
|
+
],
|
|
5652
|
+
ownerProps: ["/**\n * Owner share of the two Session-row schedule seats. Both receive only the\n * row's Session identity: the occupant reads that Session's own scheduled\n * tasks, and reading them activates nothing.\n */\nexport interface SessionRowScheduleOwnerProps {\n /** Session this row shows; the occupant addresses its own data by this id. */\n readonly sessionId: SessionId\n}"],
|
|
5653
|
+
ownerPropsReferences: ["SessionId"],
|
|
5654
|
+
standardProps: [
|
|
5655
|
+
"useResource: UseResource",
|
|
5656
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
5657
|
+
"usePanelInfo: UsePanelInfo",
|
|
5658
|
+
"useSessions: UseSessions",
|
|
5659
|
+
"useSessionStatus: UseSessionStatus",
|
|
5660
|
+
"useSessionRetainInfo: UseSessionRetainInfo",
|
|
5661
|
+
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>"
|
|
5662
|
+
],
|
|
5663
|
+
keyDomain: "",
|
|
5664
|
+
hookContext: "",
|
|
5665
|
+
slotInject: "",
|
|
5666
|
+
declaredBy: "an entry in 'sidebar.workspaces' (client-ui-workspace), so it exists while that entry is mounted",
|
|
5667
|
+
occupants: ["client-ui-schedule SessionScheduleMark id 'schedule-mark'"],
|
|
5668
|
+
replaceRisk: "none",
|
|
5669
|
+
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}",
|
|
5670
|
+
source: "packages/client/ui-workspace/src/client/contract/slots.ts:129"
|
|
5522
5671
|
},
|
|
5523
5672
|
{
|
|
5524
5673
|
key: "sidebar.settings",
|
|
@@ -5545,7 +5694,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5545
5694
|
occupants: ["client-ui-settings-general SettingsRoot"],
|
|
5546
5695
|
replaceRisk: "shadows-shipped-ui",
|
|
5547
5696
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.settings', () => ctx.slots.register(\n { name: 'sidebar.settings' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5548
|
-
source: "packages/client/ui-sidebar/src/client/contract/slots.ts:
|
|
5697
|
+
source: "packages/client/ui-sidebar/src/client/contract/slots.ts:48"
|
|
5549
5698
|
},
|
|
5550
5699
|
{
|
|
5551
5700
|
key: "sidebar.toggle.badge",
|
|
@@ -5572,7 +5721,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5572
5721
|
occupants: ["client-ui-settings-general DesktopUpdateBadge"],
|
|
5573
5722
|
replaceRisk: "shadows-shipped-ui",
|
|
5574
5723
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.toggle.badge', () => ctx.slots.register(\n { name: 'sidebar.toggle.badge' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5575
|
-
source: "packages/client/ui-sidebar/src/client/contract/slots.ts:
|
|
5724
|
+
source: "packages/client/ui-sidebar/src/client/contract/slots.ts:19"
|
|
5576
5725
|
},
|
|
5577
5726
|
{
|
|
5578
5727
|
key: "sidebar.workspaces",
|
|
@@ -5599,7 +5748,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5599
5748
|
occupants: ["client-ui-workspace WorkspaceBrowser"],
|
|
5600
5749
|
replaceRisk: "shadows-shipped-ui",
|
|
5601
5750
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('sidebar.workspaces', () => ctx.slots.register(\n { name: 'sidebar.workspaces' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
5602
|
-
source: "packages/client/ui-sidebar/src/client/contract/slots.ts:
|
|
5751
|
+
source: "packages/client/ui-sidebar/src/client/contract/slots.ts:42"
|
|
5603
5752
|
},
|
|
5604
5753
|
{
|
|
5605
5754
|
key: "sidebar.workspaces.directoryFlow",
|
|
@@ -5626,7 +5775,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5626
5775
|
occupants: ["client-ui-directory-picker-browse BrowseDirectoryFlow", "client-ui-directory-picker-native NativeDirectoryFlow"],
|
|
5627
5776
|
replaceRisk: "shadows-shipped-ui",
|
|
5628
5777
|
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}",
|
|
5629
|
-
source: "packages/client/ui-workspace/src/client/contract/slots.ts:
|
|
5778
|
+
source: "packages/client/ui-workspace/src/client/contract/slots.ts:119"
|
|
5630
5779
|
},
|
|
5631
5780
|
{
|
|
5632
5781
|
key: "sidebar.workspaces.session.menu.item",
|
|
@@ -5654,7 +5803,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5654
5803
|
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."
|
|
5655
5804
|
}
|
|
5656
5805
|
],
|
|
5657
|
-
ownerProps: ["/** Owner share of one Session row action occurrence: the row the action belongs to. */\nexport interface SessionRowOwnerProps {\n /** Session the row shows. */\n sessionId: SessionId\n /** Row display title: persisted title,
|
|
5806
|
+
ownerProps: ["/** Owner share of one Session row action occurrence: the row the action belongs to. */\nexport interface SessionRowOwnerProps {\n /** Session the row shows. */\n sessionId: SessionId\n /** Row display title: persisted title, or empty when the Session has none. */\n displayTitle: string\n}"],
|
|
5658
5807
|
ownerPropsReferences: ["SessionId"],
|
|
5659
5808
|
standardProps: [
|
|
5660
5809
|
"useResource: UseResource",
|
|
@@ -5667,7 +5816,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5667
5816
|
],
|
|
5668
5817
|
keyDomain: "",
|
|
5669
5818
|
hookContext: "MenuOpenState",
|
|
5670
|
-
slotInject: "{ hooks: { menuOpenState: SlotHookFactory<'sidebar.workspaces.session.menu.item', UseMenuOpenState> } }",
|
|
5819
|
+
slotInject: "{ hooks: { menuOpenState: SlotHookFactory<'sidebar.workspaces.session.menu.item', UseMenuOpenState> shortcuts: HostObservable<readonly ShortcutCatalogEntry[]> } }",
|
|
5671
5820
|
declaredBy: "an entry in 'sidebar.workspaces' (client-ui-workspace), so it exists while that entry is mounted",
|
|
5672
5821
|
occupants: [
|
|
5673
5822
|
"client-ui-workspace PinSessionMenuItem id 'pin'",
|
|
@@ -5677,7 +5826,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5677
5826
|
],
|
|
5678
5827
|
replaceRisk: "none",
|
|
5679
5828
|
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}",
|
|
5680
|
-
source: "packages/client/ui-workspace/src/client/contract/slots.ts:
|
|
5829
|
+
source: "packages/client/ui-workspace/src/client/contract/slots.ts:166"
|
|
5681
5830
|
},
|
|
5682
5831
|
{
|
|
5683
5832
|
key: "sidebar.workspaces.session.row.action",
|
|
@@ -5705,7 +5854,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5705
5854
|
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."
|
|
5706
5855
|
}
|
|
5707
5856
|
],
|
|
5708
|
-
ownerProps: ["/** Owner share of one Session row action occurrence: the row the action belongs to. */\nexport interface SessionRowOwnerProps {\n /** Session the row shows. */\n sessionId: SessionId\n /** Row display title: persisted title,
|
|
5857
|
+
ownerProps: ["/** Owner share of one Session row action occurrence: the row the action belongs to. */\nexport interface SessionRowOwnerProps {\n /** Session the row shows. */\n sessionId: SessionId\n /** Row display title: persisted title, or empty when the Session has none. */\n displayTitle: string\n}"],
|
|
5709
5858
|
ownerPropsReferences: ["SessionId"],
|
|
5710
5859
|
standardProps: [
|
|
5711
5860
|
"useResource: UseResource",
|
|
@@ -5723,7 +5872,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5723
5872
|
occupants: ["client-ui-workspace ArchiveSessionRowButton id 'archive'", "client-ui-workspace PinSessionRowButton id 'pin'"],
|
|
5724
5873
|
replaceRisk: "none",
|
|
5725
5874
|
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}",
|
|
5726
|
-
source: "packages/client/ui-workspace/src/client/contract/slots.ts:
|
|
5875
|
+
source: "packages/client/ui-workspace/src/client/contract/slots.ts:184"
|
|
5727
5876
|
},
|
|
5728
5877
|
{
|
|
5729
5878
|
key: "tool.call.images",
|
|
@@ -5802,7 +5951,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5802
5951
|
"useProjection: UseProjection",
|
|
5803
5952
|
"useTrajectory: UseTrajectory"
|
|
5804
5953
|
],
|
|
5805
|
-
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, 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",
|
|
5954
|
+
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",
|
|
5806
5955
|
hookContext: "ToolCallHookContext",
|
|
5807
5956
|
slotInject: "ToolCallInjected",
|
|
5808
5957
|
declaredBy: "an entry in 'conversation.chat.node' (client-ui-tool), so it exists while that entry is mounted",
|
|
@@ -5817,6 +5966,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
5817
5966
|
"client-ui-tool DetailsRow key 'schedule_create'",
|
|
5818
5967
|
"client-ui-tool DetailsRow key 'schedule_list'",
|
|
5819
5968
|
"client-ui-tool DetailsRow key 'schedule_delete'",
|
|
5969
|
+
"client-ui-tool DetailsRow key 'schedule_update'",
|
|
5820
5970
|
"client-ui-tool DetailsRow key 'cordis_inspect_list'",
|
|
5821
5971
|
"client-ui-tool DetailsRow key 'cordis_inspect_query'",
|
|
5822
5972
|
"client-ui-tool DetailsRow key 'cordis_inspect_self'",
|
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.
|
|
4
|
+
"version": "0.2.0-rc.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -44,12 +44,12 @@
|
|
|
44
44
|
"@types/react": "~18.3.1",
|
|
45
45
|
"react": "^18.2.0",
|
|
46
46
|
"@deepseek-ai/cordis-plugin-loader": "~1.0.5",
|
|
47
|
-
"@deepseek-ai/dsh-api-remotes": "0.
|
|
48
|
-
"@deepseek-ai/dsh-client-modules": "0.
|
|
49
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.
|
|
50
|
-
"@deepseek-ai/dsh-client-ui-theme": "0.
|
|
47
|
+
"@deepseek-ai/dsh-api-remotes": "0.2.0-rc.1",
|
|
48
|
+
"@deepseek-ai/dsh-client-modules": "0.2.0-rc.1",
|
|
49
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.1",
|
|
50
|
+
"@deepseek-ai/dsh-client-ui-theme": "0.2.0-rc.1",
|
|
51
51
|
"@deepseek-ai/cordis": "~4.0.4",
|
|
52
|
-
"@deepseek-ai/dsh-util-values": "0.
|
|
52
|
+
"@deepseek-ai/dsh-util-values": "0.2.0-rc.1"
|
|
53
53
|
},
|
|
54
54
|
"files": [
|
|
55
55
|
"lib/index.js",
|