@deepseek-ai/dsh-cordis-client-runner 0.1.2-alpha.2 → 0.1.2-alpha.4
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 +2 -0
- package/README.zh.md +2 -0
- package/lib/client.js +42 -22
- package/package.json +7 -13
- package/lib/invariant.js +0 -26
- package/lib/types/invariant.d.ts +0 -16
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
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
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 3b5762786e0f5b00fc80533ca4fa97a3d4cd0a4b
|
|
6
|
+
README.zh.md: d68dc218f75e65c9a1787a5e43f018c9cdfa3383
|
package/README.md
CHANGED
|
@@ -140,3 +140,5 @@ These limits define where the browser half needs special care. They are current
|
|
|
140
140
|
None.
|
|
141
141
|
|
|
142
142
|
</details>
|
|
143
|
+
|
|
144
|
+
**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
|
@@ -1608,7 +1608,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1608
1608
|
},
|
|
1609
1609
|
{
|
|
1610
1610
|
name: "BeginSubmissionInput",
|
|
1611
|
-
declaration: "export interface BeginSubmissionInput {\n readonly text: string;\n readonly images: readonly PendingSubmissionImage[];\n readonly onRetire?: (retirement: PendingSubmissionRetirement) => void;\n}"
|
|
1611
|
+
declaration: "export interface BeginSubmissionInput {\n readonly mode: 'queue' | 'steer';\n readonly text: string;\n readonly images: readonly PendingSubmissionImage[];\n readonly onRetire?: (retirement: PendingSubmissionRetirement) => void;\n}"
|
|
1612
1612
|
},
|
|
1613
1613
|
{
|
|
1614
1614
|
name: "BoundActions",
|
|
@@ -1720,7 +1720,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1720
1720
|
},
|
|
1721
1721
|
{
|
|
1722
1722
|
name: "InjectFace",
|
|
1723
|
-
declaration: "export type InjectFace<I extends object> = I extends {\n hooks: infer HS extends HooksSources;\n} ? Omit<I, 'hooks'> & PropsHooks<HS> : I;"
|
|
1723
|
+
declaration: "export type InjectFace<I extends object> = I extends {\n hooks: infer HS extends HooksSources;\n} ? I extends {\n keyedHooks: infer KS extends KeyedHooksSources;\n} ? Omit<I, 'hooks' | 'keyedHooks'> & PropsHooks<HS> & PropsKeyedHooks<KS> : Omit<I, 'hooks'> & PropsHooks<HS> : I extends {\n keyedHooks: infer KS extends KeyedHooksSources;\n} ? Omit<I, 'keyedHooks'> & PropsKeyedHooks<KS> : I;"
|
|
1724
1724
|
},
|
|
1725
1725
|
{
|
|
1726
1726
|
name: "InjectParams",
|
|
@@ -1728,7 +1728,19 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1728
1728
|
},
|
|
1729
1729
|
{
|
|
1730
1730
|
name: "ISession",
|
|
1731
|
-
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:
|
|
1731
|
+
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}"
|
|
1732
|
+
},
|
|
1733
|
+
{
|
|
1734
|
+
name: "KeyedHooksSources",
|
|
1735
|
+
declaration: "export type KeyedHooksSources = Record<string, KeyedStandardSource>;"
|
|
1736
|
+
},
|
|
1737
|
+
{
|
|
1738
|
+
name: "KeyedSnapshotSelectorHook",
|
|
1739
|
+
declaration: "export type KeyedSnapshotSelectorHook<Snapshot> = {\n (key: string): Snapshot | undefined;\n <Selected>(key: string, selector: (value: Snapshot | undefined) => Selected, equal?: (left: Selected, right: Selected) => boolean): Selected;\n};"
|
|
1740
|
+
},
|
|
1741
|
+
{
|
|
1742
|
+
name: "KeyedStandardSource",
|
|
1743
|
+
declaration: "export type KeyedStandardSource = (key: string) => HostObservable<unknown> | undefined;"
|
|
1732
1744
|
},
|
|
1733
1745
|
{
|
|
1734
1746
|
name: "KeyPropsOf",
|
|
@@ -1784,12 +1796,16 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1784
1796
|
},
|
|
1785
1797
|
{
|
|
1786
1798
|
name: "PendingSubmission",
|
|
1787
|
-
declaration: "export interface PendingSubmission {\n readonly requestId: SessionRequestId;\n readonly time: number;\n readonly text: string;\n readonly images: readonly PendingSubmissionImage[];\n}"
|
|
1799
|
+
declaration: "export interface PendingSubmission {\n readonly requestId: SessionRequestId;\n readonly placement: PendingSubmissionPlacement;\n readonly time: number;\n readonly text: string;\n readonly images: readonly PendingSubmissionImage[];\n}"
|
|
1788
1800
|
},
|
|
1789
1801
|
{
|
|
1790
1802
|
name: "PendingSubmissionImage",
|
|
1791
1803
|
declaration: "export interface PendingSubmissionImage {\n readonly previewUrl: string;\n readonly name?: string;\n readonly width?: number;\n readonly height?: number;\n}"
|
|
1792
1804
|
},
|
|
1805
|
+
{
|
|
1806
|
+
name: "PendingSubmissionPlacement",
|
|
1807
|
+
declaration: "export type PendingSubmissionPlacement = 'transcript' | 'queued' | 'steering';"
|
|
1808
|
+
},
|
|
1793
1809
|
{
|
|
1794
1810
|
name: "PendingSubmissionRetirement",
|
|
1795
1811
|
declaration: "export type PendingSubmissionRetirement = {\n readonly reason: 'observed';\n readonly attachments: readonly ImageAttachmentRef[];\n} | {\n readonly reason: 'failed';\n};"
|
|
@@ -1810,6 +1826,10 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1810
1826
|
name: "PropsHooks",
|
|
1811
1827
|
declaration: "export type PropsHooks<HS extends HooksSources> = {\n [N in keyof HS & string as `use${Capitalize<N>}`]: SnapshotSelectorHook<HS[N] extends HostObservable<infer T> ? T : never>;\n};"
|
|
1812
1828
|
},
|
|
1829
|
+
{
|
|
1830
|
+
name: "PropsKeyedHooks",
|
|
1831
|
+
declaration: "export type PropsKeyedHooks<HS extends KeyedHooksSources> = {\n [N in keyof HS & string as `use${Capitalize<N>}`]: KeyedSnapshotSelectorHook<HS[N] extends (key: string) => HostObservable<infer T> | undefined ? T : never>;\n};"
|
|
1832
|
+
},
|
|
1813
1833
|
{
|
|
1814
1834
|
name: "PropsLocale",
|
|
1815
1835
|
declaration: "export type PropsLocale<N> = N extends keyof LocaleNamespaceMap & string ? {\n t: TranslateNS<N>;\n} : object;"
|
|
@@ -2224,7 +2244,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2224
2244
|
occupants: ["client-ui-message-feedback MessageFeedbackActions id 'feedback'"],
|
|
2225
2245
|
replaceRisk: "none",
|
|
2226
2246
|
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}",
|
|
2227
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2247
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:221"
|
|
2228
2248
|
},
|
|
2229
2249
|
{
|
|
2230
2250
|
key: "conversation.chat.commandview",
|
|
@@ -2265,7 +2285,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2265
2285
|
occupants: [],
|
|
2266
2286
|
replaceRisk: "none",
|
|
2267
2287
|
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}",
|
|
2268
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2288
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:209"
|
|
2269
2289
|
},
|
|
2270
2290
|
{
|
|
2271
2291
|
key: "conversation.chat.node",
|
|
@@ -2301,7 +2321,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2301
2321
|
"useTrajectory: UseTrajectory"
|
|
2302
2322
|
],
|
|
2303
2323
|
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, unknown, user, workflow-run",
|
|
2304
|
-
hookContext: "
|
|
2324
|
+
hookContext: "ConversationLocationDataStore<ConversationTurnDataMap> | undefined",
|
|
2305
2325
|
slotInject: "ChatNodeTurnDataInjected",
|
|
2306
2326
|
declaredBy: "an entry in 'conversation.view' (client-ui-chat), so it exists while that entry is mounted",
|
|
2307
2327
|
occupants: [
|
|
@@ -2325,7 +2345,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2325
2345
|
],
|
|
2326
2346
|
replaceRisk: "shadows-shipped-ui",
|
|
2327
2347
|
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}",
|
|
2328
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2348
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:190"
|
|
2329
2349
|
},
|
|
2330
2350
|
{
|
|
2331
2351
|
key: "conversation.chat.turnTail",
|
|
@@ -2362,7 +2382,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2362
2382
|
occupants: ["client-ui-deliverables ProducedFiles"],
|
|
2363
2383
|
replaceRisk: "none",
|
|
2364
2384
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.chat.turnTail', () => ctx.slots.register(\n { name: 'conversation.chat.turnTail', select: owner => null },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
2365
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2385
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:215"
|
|
2366
2386
|
},
|
|
2367
2387
|
{
|
|
2368
2388
|
key: "conversation.composer",
|
|
@@ -2416,7 +2436,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2416
2436
|
summary: "Resident composer body, including the no-Session inert state.",
|
|
2417
2437
|
doc: "Resident composer body, including the no-Session inert state.",
|
|
2418
2438
|
registerOptions: [],
|
|
2419
|
-
ownerProps: ["/** Owner share of the resident composer bar. */\nexport interface ComposerBarOwnerProps {\n /** Hero uses centered placement; composer uses the active bottom placement. */\n variant: 'hero' | 'composer'\n /** A feature-owned reason that makes message input inert while leaving model selection live. */\n blocked?: { readonly reason: string }\n /** Lock all message actions while preserving the resident composer surface. */\n disabled?: boolean\n /** Whether the shared Workspace picker is expanded. */\n workspacePickerOpen?: boolean\n /** Open the Workspace picker from the inert composer surface. */\n onRequestWorkspace?: () => void\n placeholder?: string\n /** Optional content rendered above the composer surface. */\n accessory?: ReactNode\n
|
|
2439
|
+
ownerProps: ["/** Owner share of the resident composer bar. */\nexport interface ComposerBarOwnerProps {\n /** Hero uses centered placement; composer uses the active bottom placement. */\n variant: 'hero' | 'composer'\n /** A feature-owned reason that makes message input inert while leaving model selection live. */\n blocked?: { readonly reason: string }\n /** Lock all message actions while preserving the resident composer surface. */\n disabled?: boolean\n /** Whether the shared Workspace picker is expanded. */\n workspacePickerOpen?: boolean\n /** Open the Workspace picker from the inert composer surface. */\n onRequestWorkspace?: () => void\n placeholder?: string\n /** Optional content rendered above the composer surface. */\n accessory?: ReactNode\n}"],
|
|
2420
2440
|
ownerPropsReferences: ["Workspace"],
|
|
2421
2441
|
standardProps: [
|
|
2422
2442
|
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
@@ -2465,8 +2485,8 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2465
2485
|
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."
|
|
2466
2486
|
}
|
|
2467
2487
|
],
|
|
2468
|
-
ownerProps: [
|
|
2469
|
-
ownerPropsReferences: [
|
|
2488
|
+
ownerProps: [],
|
|
2489
|
+
ownerPropsReferences: [],
|
|
2470
2490
|
standardProps: [
|
|
2471
2491
|
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
2472
2492
|
"useSessions: UseSessions",
|
|
@@ -2484,7 +2504,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2484
2504
|
keyDomain: "",
|
|
2485
2505
|
hookContext: "",
|
|
2486
2506
|
slotInject: "",
|
|
2487
|
-
declaredBy: "an entry in 'conversation' (client-ui-conversation), so it exists while that entry is mounted",
|
|
2507
|
+
declaredBy: "an entry in 'conversation.composer.bar' (client-ui-conversation), so it exists while that entry is mounted",
|
|
2488
2508
|
occupants: ["client-ui-chat StatsLine id 'stats'"],
|
|
2489
2509
|
replaceRisk: "none",
|
|
2490
2510
|
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}",
|
|
@@ -2520,7 +2540,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2520
2540
|
occupants: ["client-ui-tool ToolDetails"],
|
|
2521
2541
|
replaceRisk: "shadows-shipped-ui",
|
|
2522
2542
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.details.tool', () => ctx.slots.register(\n { name: 'conversation.details.tool' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
2523
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2543
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:227"
|
|
2524
2544
|
},
|
|
2525
2545
|
{
|
|
2526
2546
|
key: "conversation.hero.agentPreset",
|
|
@@ -2729,8 +2749,8 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2729
2749
|
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."
|
|
2730
2750
|
}
|
|
2731
2751
|
],
|
|
2732
|
-
ownerProps: [
|
|
2733
|
-
ownerPropsReferences: [
|
|
2752
|
+
ownerProps: [],
|
|
2753
|
+
ownerPropsReferences: [],
|
|
2734
2754
|
standardProps: [
|
|
2735
2755
|
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
2736
2756
|
"useSessions: UseSessions",
|
|
@@ -2748,7 +2768,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2748
2768
|
keyDomain: "",
|
|
2749
2769
|
hookContext: "",
|
|
2750
2770
|
slotInject: "",
|
|
2751
|
-
declaredBy: "an entry in 'conversation' (client-ui-conversation), so it exists while that entry is mounted",
|
|
2771
|
+
declaredBy: "an entry in 'conversation.composer.bar' (client-ui-conversation), so it exists while that entry is mounted",
|
|
2752
2772
|
occupants: [],
|
|
2753
2773
|
replaceRisk: "none",
|
|
2754
2774
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.input.left', () => ctx.slots.register(\n { name: 'conversation.input.left', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
@@ -2831,7 +2851,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2831
2851
|
keyDomain: "",
|
|
2832
2852
|
hookContext: "",
|
|
2833
2853
|
slotInject: "",
|
|
2834
|
-
declaredBy: "an entry in 'conversation' (client-ui-conversation), so it exists while that entry is mounted",
|
|
2854
|
+
declaredBy: "an entry in 'conversation.composer.bar' (client-ui-conversation), so it exists while that entry is mounted",
|
|
2835
2855
|
occupants: ["client-ui-commands PopupSelectView id 'command-popup'", "client-ui-input-trigger MenuView id 'slash-menu'"],
|
|
2836
2856
|
replaceRisk: "none",
|
|
2837
2857
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.input.overlay', () => ctx.slots.register(\n { name: 'conversation.input.overlay', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
@@ -2895,8 +2915,8 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2895
2915
|
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."
|
|
2896
2916
|
}
|
|
2897
2917
|
],
|
|
2898
|
-
ownerProps: [
|
|
2899
|
-
ownerPropsReferences: [
|
|
2918
|
+
ownerProps: [],
|
|
2919
|
+
ownerPropsReferences: [],
|
|
2900
2920
|
standardProps: [
|
|
2901
2921
|
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
2902
2922
|
"useSessions: UseSessions",
|
|
@@ -2914,7 +2934,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2914
2934
|
keyDomain: "",
|
|
2915
2935
|
hookContext: "",
|
|
2916
2936
|
slotInject: "",
|
|
2917
|
-
declaredBy: "an entry in 'conversation' (client-ui-conversation), so it exists while that entry is mounted",
|
|
2937
|
+
declaredBy: "an entry in 'conversation.composer.bar' (client-ui-conversation), so it exists while that entry is mounted",
|
|
2918
2938
|
occupants: [],
|
|
2919
2939
|
replaceRisk: "none",
|
|
2920
2940
|
example: "return {\n inject: ['slots'],\n apply(ctx) {\n ctx.slots.inject('conversation.input.right', () => ctx.slots.register(\n { name: 'conversation.input.right', id: 'my-entry', order: 100, label: 'My entry' },\n () => React.createElement('div', null, 'hello'),\n ))\n },\n}",
|
|
@@ -2954,7 +2974,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2954
2974
|
occupants: ["client-ui-attachment MessageImages"],
|
|
2955
2975
|
replaceRisk: "shadows-shipped-ui",
|
|
2956
2976
|
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}",
|
|
2957
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2977
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:203"
|
|
2958
2978
|
},
|
|
2959
2979
|
{
|
|
2960
2980
|
key: "conversation.session",
|
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.1.2-alpha.
|
|
4
|
+
"version": "0.1.2-alpha.4",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -18,10 +18,6 @@
|
|
|
18
18
|
"types": "./lib/types/index.d.ts",
|
|
19
19
|
"default": "./lib/index.js"
|
|
20
20
|
},
|
|
21
|
-
"./invariant": {
|
|
22
|
-
"types": "./lib/types/invariant.d.ts",
|
|
23
|
-
"default": "./lib/invariant.js"
|
|
24
|
-
},
|
|
25
21
|
"./client": {
|
|
26
22
|
"types": "./lib/types/client/index.d.ts",
|
|
27
23
|
"default": "./lib/client.js"
|
|
@@ -48,17 +44,15 @@
|
|
|
48
44
|
"@types/react": "~18.3.1",
|
|
49
45
|
"react": "^18.2.0",
|
|
50
46
|
"@deepseek-ai/cordis-plugin-loader": "^1.0.3",
|
|
51
|
-
"@deepseek-ai/dsh-
|
|
52
|
-
"@deepseek-ai/dsh-
|
|
53
|
-
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.2-alpha.
|
|
54
|
-
"@deepseek-ai/dsh-
|
|
55
|
-
"@deepseek-ai/dsh-
|
|
56
|
-
"@deepseek-ai/cordis": "^4.0.2"
|
|
57
|
-
"@deepseek-ai/dsh-util-values": "^0.1.2-alpha.2"
|
|
47
|
+
"@deepseek-ai/dsh-api-remotes": "^0.1.2-alpha.4",
|
|
48
|
+
"@deepseek-ai/dsh-client-modules": "^0.1.2-alpha.4",
|
|
49
|
+
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.2-alpha.4",
|
|
50
|
+
"@deepseek-ai/dsh-client-ui-theme": "^0.1.2-alpha.4",
|
|
51
|
+
"@deepseek-ai/dsh-util-values": "^0.1.2-alpha.4",
|
|
52
|
+
"@deepseek-ai/cordis": "^4.0.2"
|
|
58
53
|
},
|
|
59
54
|
"files": [
|
|
60
55
|
"lib/index.js",
|
|
61
|
-
"lib/invariant.js",
|
|
62
56
|
"lib/client.js",
|
|
63
57
|
"lib/types/**/*.d.ts"
|
|
64
58
|
],
|
package/lib/invariant.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
//#region lib/types/invariant.js
|
|
2
|
-
/**
|
|
3
|
-
* Package-owned invariant companion for `@deepseek-ai/dsh-cordis-client-runner`.
|
|
4
|
-
* @module @deepseek-ai/dsh-cordis-client-runner/invariant
|
|
5
|
-
*/
|
|
6
|
-
const PACKAGE_NAME = "@deepseek-ai/dsh-cordis-client-runner";
|
|
7
|
-
/** Cordis companion plugin name. */
|
|
8
|
-
const name = "cordis-client-runner-invariant";
|
|
9
|
-
/** Service required before the companion can reserve package ownership. */
|
|
10
|
-
const inject = ["invariants"];
|
|
11
|
-
/**
|
|
12
|
-
* No runtime invariant: the owned relation (a live
|
|
13
|
-
* Plugin's loader entry exists exactly while one Plugin Run ID is live) is
|
|
14
|
-
* browser-only state reachable through the client half's service, which the
|
|
15
|
-
* node-plane companion cannot observe. The relation is asserted by the
|
|
16
|
-
* package's own load/teardown coverage instead.
|
|
17
|
-
*/
|
|
18
|
-
const install = () => {};
|
|
19
|
-
/**
|
|
20
|
-
* Register this package's invariant companion.
|
|
21
|
-
* @param ctx - Cordis context carrying the invariant service.
|
|
22
|
-
* @returns the installed registration's disposer after setup succeeds.
|
|
23
|
-
*/
|
|
24
|
-
const apply = (ctx) => Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install));
|
|
25
|
-
//#endregion
|
|
26
|
-
export { apply, inject, name };
|
package/lib/types/invariant.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Package-owned invariant companion for `@deepseek-ai/dsh-cordis-client-runner`.
|
|
3
|
-
* @module @deepseek-ai/dsh-cordis-client-runner/invariant
|
|
4
|
-
*/
|
|
5
|
-
import type { Context } from '@deepseek-ai/cordis';
|
|
6
|
-
/** Cordis companion plugin name. */
|
|
7
|
-
export declare const name = "cordis-client-runner-invariant";
|
|
8
|
-
/** Service required before the companion can reserve package ownership. */
|
|
9
|
-
export declare const inject: string[];
|
|
10
|
-
/**
|
|
11
|
-
* Register this package's invariant companion.
|
|
12
|
-
* @param ctx - Cordis context carrying the invariant service.
|
|
13
|
-
* @returns the installed registration's disposer after setup succeeds.
|
|
14
|
-
*/
|
|
15
|
-
export declare const apply: (ctx: Context) => Promise<() => void>;
|
|
16
|
-
//# sourceMappingURL=invariant.d.ts.map
|