@deepseek-ai/dsh-cordis-client-runner 0.1.2-alpha.3 → 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 +36 -20
- package/package.json +6 -12
- 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
|
@@ -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",
|
|
@@ -1814,6 +1826,10 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
1814
1826
|
name: "PropsHooks",
|
|
1815
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};"
|
|
1816
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
|
+
},
|
|
1817
1833
|
{
|
|
1818
1834
|
name: "PropsLocale",
|
|
1819
1835
|
declaration: "export type PropsLocale<N> = N extends keyof LocaleNamespaceMap & string ? {\n t: TranslateNS<N>;\n} : object;"
|
|
@@ -2228,7 +2244,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2228
2244
|
occupants: ["client-ui-message-feedback MessageFeedbackActions id 'feedback'"],
|
|
2229
2245
|
replaceRisk: "none",
|
|
2230
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}",
|
|
2231
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2247
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:221"
|
|
2232
2248
|
},
|
|
2233
2249
|
{
|
|
2234
2250
|
key: "conversation.chat.commandview",
|
|
@@ -2269,7 +2285,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2269
2285
|
occupants: [],
|
|
2270
2286
|
replaceRisk: "none",
|
|
2271
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}",
|
|
2272
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2288
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:209"
|
|
2273
2289
|
},
|
|
2274
2290
|
{
|
|
2275
2291
|
key: "conversation.chat.node",
|
|
@@ -2305,7 +2321,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2305
2321
|
"useTrajectory: UseTrajectory"
|
|
2306
2322
|
],
|
|
2307
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",
|
|
2308
|
-
hookContext: "
|
|
2324
|
+
hookContext: "ConversationLocationDataStore<ConversationTurnDataMap> | undefined",
|
|
2309
2325
|
slotInject: "ChatNodeTurnDataInjected",
|
|
2310
2326
|
declaredBy: "an entry in 'conversation.view' (client-ui-chat), so it exists while that entry is mounted",
|
|
2311
2327
|
occupants: [
|
|
@@ -2329,7 +2345,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2329
2345
|
],
|
|
2330
2346
|
replaceRisk: "shadows-shipped-ui",
|
|
2331
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}",
|
|
2332
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2348
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:190"
|
|
2333
2349
|
},
|
|
2334
2350
|
{
|
|
2335
2351
|
key: "conversation.chat.turnTail",
|
|
@@ -2366,7 +2382,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2366
2382
|
occupants: ["client-ui-deliverables ProducedFiles"],
|
|
2367
2383
|
replaceRisk: "none",
|
|
2368
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}",
|
|
2369
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2385
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:215"
|
|
2370
2386
|
},
|
|
2371
2387
|
{
|
|
2372
2388
|
key: "conversation.composer",
|
|
@@ -2420,7 +2436,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2420
2436
|
summary: "Resident composer body, including the no-Session inert state.",
|
|
2421
2437
|
doc: "Resident composer body, including the no-Session inert state.",
|
|
2422
2438
|
registerOptions: [],
|
|
2423
|
-
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}"],
|
|
2424
2440
|
ownerPropsReferences: ["Workspace"],
|
|
2425
2441
|
standardProps: [
|
|
2426
2442
|
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
@@ -2469,8 +2485,8 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2469
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."
|
|
2470
2486
|
}
|
|
2471
2487
|
],
|
|
2472
|
-
ownerProps: [
|
|
2473
|
-
ownerPropsReferences: [
|
|
2488
|
+
ownerProps: [],
|
|
2489
|
+
ownerPropsReferences: [],
|
|
2474
2490
|
standardProps: [
|
|
2475
2491
|
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
2476
2492
|
"useSessions: UseSessions",
|
|
@@ -2488,7 +2504,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2488
2504
|
keyDomain: "",
|
|
2489
2505
|
hookContext: "",
|
|
2490
2506
|
slotInject: "",
|
|
2491
|
-
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",
|
|
2492
2508
|
occupants: ["client-ui-chat StatsLine id 'stats'"],
|
|
2493
2509
|
replaceRisk: "none",
|
|
2494
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}",
|
|
@@ -2524,7 +2540,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2524
2540
|
occupants: ["client-ui-tool ToolDetails"],
|
|
2525
2541
|
replaceRisk: "shadows-shipped-ui",
|
|
2526
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}",
|
|
2527
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2543
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:227"
|
|
2528
2544
|
},
|
|
2529
2545
|
{
|
|
2530
2546
|
key: "conversation.hero.agentPreset",
|
|
@@ -2733,8 +2749,8 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2733
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."
|
|
2734
2750
|
}
|
|
2735
2751
|
],
|
|
2736
|
-
ownerProps: [
|
|
2737
|
-
ownerPropsReferences: [
|
|
2752
|
+
ownerProps: [],
|
|
2753
|
+
ownerPropsReferences: [],
|
|
2738
2754
|
standardProps: [
|
|
2739
2755
|
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
2740
2756
|
"useSessions: UseSessions",
|
|
@@ -2752,7 +2768,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2752
2768
|
keyDomain: "",
|
|
2753
2769
|
hookContext: "",
|
|
2754
2770
|
slotInject: "",
|
|
2755
|
-
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",
|
|
2756
2772
|
occupants: [],
|
|
2757
2773
|
replaceRisk: "none",
|
|
2758
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}",
|
|
@@ -2835,7 +2851,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2835
2851
|
keyDomain: "",
|
|
2836
2852
|
hookContext: "",
|
|
2837
2853
|
slotInject: "",
|
|
2838
|
-
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",
|
|
2839
2855
|
occupants: ["client-ui-commands PopupSelectView id 'command-popup'", "client-ui-input-trigger MenuView id 'slash-menu'"],
|
|
2840
2856
|
replaceRisk: "none",
|
|
2841
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}",
|
|
@@ -2899,8 +2915,8 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2899
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."
|
|
2900
2916
|
}
|
|
2901
2917
|
],
|
|
2902
|
-
ownerProps: [
|
|
2903
|
-
ownerPropsReferences: [
|
|
2918
|
+
ownerProps: [],
|
|
2919
|
+
ownerPropsReferences: [],
|
|
2904
2920
|
standardProps: [
|
|
2905
2921
|
"useWorkspaces: SnapshotSelectorHook<WorkspaceSnapshot>",
|
|
2906
2922
|
"useSessions: UseSessions",
|
|
@@ -2918,7 +2934,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2918
2934
|
keyDomain: "",
|
|
2919
2935
|
hookContext: "",
|
|
2920
2936
|
slotInject: "",
|
|
2921
|
-
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",
|
|
2922
2938
|
occupants: [],
|
|
2923
2939
|
replaceRisk: "none",
|
|
2924
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}",
|
|
@@ -2958,7 +2974,7 @@ call: (method, args = null) => env.invoke(method, args) }, harnessTrap(), ...Obj
|
|
|
2958
2974
|
occupants: ["client-ui-attachment MessageImages"],
|
|
2959
2975
|
replaceRisk: "shadows-shipped-ui",
|
|
2960
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}",
|
|
2961
|
-
source: "packages/client/ui-chat/src/client/contract/slots.ts:
|
|
2977
|
+
source: "packages/client/ui-chat/src/client/contract/slots.ts:203"
|
|
2962
2978
|
},
|
|
2963
2979
|
{
|
|
2964
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"
|
|
@@ -47,18 +43,16 @@
|
|
|
47
43
|
"devDependencies": {
|
|
48
44
|
"@types/react": "~18.3.1",
|
|
49
45
|
"react": "^18.2.0",
|
|
50
|
-
"@deepseek-ai/dsh-api-remotes": "^0.1.2-alpha.3",
|
|
51
|
-
"@deepseek-ai/dsh-client-modules": "^0.1.2-alpha.3",
|
|
52
46
|
"@deepseek-ai/cordis-plugin-loader": "^1.0.3",
|
|
53
|
-
"@deepseek-ai/dsh-
|
|
54
|
-
"@deepseek-ai/dsh-client-
|
|
55
|
-
"@deepseek-ai/dsh-
|
|
56
|
-
"@deepseek-ai/dsh-
|
|
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",
|
|
57
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
|