@deepseek-ai/dsh-experimental-liveshare 0.0.0-stage → 0.2.2-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/LICENSE +21 -0
  2. package/README.i18n.yaml +52 -0
  3. package/README.md +176 -2
  4. package/README.zh.md +177 -0
  5. package/cordis.patch.yml +17 -0
  6. package/icon.svg +12 -0
  7. package/lib/client.js +7130 -0
  8. package/lib/index.js +7775 -0
  9. package/lib/owner-gateway/cli.js +370 -0
  10. package/lib/retry-backoff-ccJYtzOj.js +121 -0
  11. package/lib/typert.host.d.ts +3 -0
  12. package/lib/typert.host.js +767 -0
  13. package/lib/typert.remote-client.d.ts +58 -0
  14. package/lib/typert.remote-client.js +551 -0
  15. package/lib/types/client/ManageSharesDialog.d.ts +21 -0
  16. package/lib/types/client/ShareAction.d.ts +19 -0
  17. package/lib/types/client/ShareCapabilitiesPicker.d.ts +77 -0
  18. package/lib/types/client/ShareCreateForm.d.ts +104 -0
  19. package/lib/types/client/ShareDialog.d.ts +28 -0
  20. package/lib/types/client/ShareEditPanel.d.ts +98 -0
  21. package/lib/types/client/SharePermissionFields.d.ts +46 -0
  22. package/lib/types/client/endpoint-classification.d.ts +201 -0
  23. package/lib/types/client/index.d.ts +33 -0
  24. package/lib/types/client/locales.d.ts +282 -0
  25. package/lib/types/client/owner-display.d.ts +41 -0
  26. package/lib/types/client/owner-identity-login.d.ts +72 -0
  27. package/lib/types/client/owner-identity.d.ts +81 -0
  28. package/lib/types/client/owner-login.d.ts +146 -0
  29. package/lib/types/client/owner-routes.d.ts +20 -0
  30. package/lib/types/client/owner-shares.d.ts +83 -0
  31. package/lib/types/client/share-navigation.d.ts +25 -0
  32. package/lib/types/client/share-options.d.ts +19 -0
  33. package/lib/types/client/share-relay-address.d.ts +117 -0
  34. package/lib/types/client/share-types.d.ts +76 -0
  35. package/lib/types/client/user-origin.d.ts +46 -0
  36. package/lib/types/client/viewer-brand.d.ts +48 -0
  37. package/lib/types/client/viewer-capabilities.d.ts +74 -0
  38. package/lib/types/client/viewer-context.d.ts +45 -0
  39. package/lib/types/client/viewer-model.d.ts +77 -0
  40. package/lib/types/client/viewer-permission.d.ts +44 -0
  41. package/lib/types/client/viewer-seat.d.ts +55 -0
  42. package/lib/types/client/viewer-session-plugin.d.ts +47 -0
  43. package/lib/types/client/viewer-session-row.d.ts +49 -0
  44. package/lib/types/client/viewer-session.d.ts +20 -0
  45. package/lib/types/client/viewer-share-path.d.ts +32 -0
  46. package/lib/types/client/viewer-status-banner.d.ts +33 -0
  47. package/lib/types/client/viewer-status.d.ts +69 -0
  48. package/lib/types/endpoint-classification.d.ts +233 -0
  49. package/lib/types/fork-lineage.d.ts +47 -0
  50. package/lib/types/host/base64-url.d.ts +17 -0
  51. package/lib/types/host/fork-ceiling.d.ts +41 -0
  52. package/lib/types/host/fork-enforcement.d.ts +271 -0
  53. package/lib/types/host/fork-policy.d.ts +147 -0
  54. package/lib/types/host/fork-registry.d.ts +231 -0
  55. package/lib/types/host/fork-tool-guard.d.ts +148 -0
  56. package/lib/types/host/owner-authorization.d.ts +128 -0
  57. package/lib/types/host/owner-credential-file.d.ts +64 -0
  58. package/lib/types/host/owner-http-routes.d.ts +46 -0
  59. package/lib/types/host/owner-persistence.d.ts +91 -0
  60. package/lib/types/host/owner-share-operations.d.ts +70 -0
  61. package/lib/types/host/owner-types.d.ts +64 -0
  62. package/lib/types/host/relay-authority.d.ts +130 -0
  63. package/lib/types/host/relay-url.d.ts +16 -0
  64. package/lib/types/host/share-host.d.ts +61 -0
  65. package/lib/types/host/share-operations.d.ts +87 -0
  66. package/lib/types/host/share-remote.d.ts +96 -0
  67. package/lib/types/host/shared-tools.d.ts +109 -0
  68. package/lib/types/host/source-access.d.ts +171 -0
  69. package/lib/types/host/tunnel-supervision.d.ts +218 -0
  70. package/lib/types/host/tunnel-worker.d.ts +80 -0
  71. package/lib/types/host/viewer-access-policy.d.ts +100 -0
  72. package/lib/types/host/viewer-assets.d.ts +23 -0
  73. package/lib/types/host/viewer-capability-selection.d.ts +59 -0
  74. package/lib/types/host/viewer-declarations.d.ts +162 -0
  75. package/lib/types/host/viewer-dispatch.d.ts +88 -0
  76. package/lib/types/host/viewer-fork.d.ts +84 -0
  77. package/lib/types/host/viewer-lifecycle.d.ts +226 -0
  78. package/lib/types/host/viewer-principal.d.ts +59 -0
  79. package/lib/types/host/viewer-read.d.ts +201 -0
  80. package/lib/types/host/wire-json.d.ts +24 -0
  81. package/lib/types/index.d.ts +15 -0
  82. package/lib/types/owner-gateway/cli.d.ts +3 -0
  83. package/lib/types/owner-gateway/pending-rpc.d.ts +47 -0
  84. package/lib/types/owner-gateway/registration-url.d.ts +20 -0
  85. package/lib/types/owner-gateway/relay-refusal.d.ts +28 -0
  86. package/lib/types/owner-gateway/retry-backoff.d.ts +37 -0
  87. package/lib/types/owner-gateway/worker.d.ts +7 -0
  88. package/lib/types/owner-identity.d.ts +23 -0
  89. package/lib/types/read-budgets.d.ts +45 -0
  90. package/lib/types/share-api-types.d.ts +284 -0
  91. package/lib/types/viewer-channel.d.ts +107 -0
  92. package/lib/types/viewer-declarations.d.ts +22 -0
  93. package/lib/viewer-declarations-krUNq6VU.js +287 -0
  94. package/lib/viewer-declarations.js +26 -0
  95. package/locale/de.json +6 -0
  96. package/locale/en.json +6 -0
  97. package/locale/es.json +6 -0
  98. package/locale/fr.json +6 -0
  99. package/locale/ja.json +6 -0
  100. package/locale/pt.json +6 -0
  101. package/locale/ru.json +6 -0
  102. package/locale/zh.json +6 -0
  103. package/package.json +168 -3
@@ -0,0 +1,551 @@
1
+ /* Generated by @deepseek-ai/dsh-typert-generator from the Host FaceModel — do not edit. */
2
+ import { z } from 'zod'
3
+
4
+ import { createTypertRemoteInfo } from '@deepseek-ai/dsh-typert-protocol/remote-info'
5
+
6
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_audit_parameter_0$schema$value
7
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_audit_parameter_0$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_audit_parameter_0$schema$value ??= z.object({
8
+ 'shareId': z.string().readonly(),
9
+ }))
10
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_audit_result$schema$value
11
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_audit_result$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_audit_result$schema$value ??= z.object({
12
+ 'events': z.array(z.object({
13
+ 'id': z.string().readonly(),
14
+ 'action': z.string().readonly(),
15
+ 'createdAt': z.string().readonly(),
16
+ 'actor': z.string().readonly().optional(),
17
+ 'detail': z.json().readonly().optional(),
18
+ })).readonly(),
19
+ }))
20
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_capabilities_result$schema$value
21
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_capabilities_result$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_capabilities_result$schema$value ??= z.object({
22
+ 'capabilities': z.array(z.object({
23
+ 'plugin': z.string().readonly().describe('Declaring plugin\'s package name.'),
24
+ 'readable': z.array(z.string()).readonly().describe('Readable endpoints that plugin offers.'),
25
+ 'writable': z.array(z.string()).readonly().describe('Writable endpoints that plugin offers.'),
26
+ })).readonly(),
27
+ }))
28
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_create_parameter_0$schema$value
29
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_create_parameter_0$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_create_parameter_0$schema$value ??= z.object({
30
+ 'sessionId': z.string().readonly(),
31
+ 'sessionTitle': z.string().readonly().optional().describe('Display title; the Session id is used when this is absent or empty.'),
32
+ 'accessMode': z.union([z.literal("open"), z.literal("selected")]).readonly().optional().describe('Access mode to store with the share. Legacy and direct-API use only: the shipped Share dialog creates `open` shares and sends no access mode, while stored `selected` records and callers that invoke this Remote directly still set it.'),
33
+ 'ttlMinutes': z.number().readonly().optional().describe('Lifetime in minutes; absent means the share never expires.'),
34
+ 'allowedSubjectIds': z.array(z.string()).readonly().optional().describe('Viewers named on a `selected` share, stored beside the deployment\'s allowed subjects. Legacy and direct-API use only: the shipped Share dialog creates `open` shares and sends no subjects.'),
35
+ 'allowsFork': z.boolean().readonly().optional(),
36
+ 'sessionMode': z.union([z.literal("write"), z.literal("view")]).readonly().optional(),
37
+ }))
38
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_create_result$schema$value
39
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_create_result$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_create_result$schema$value ??= z.object({
40
+ 'link': z.string().readonly(),
41
+ 'shareId': z.string().readonly(),
42
+ 'sessionId': z.string().readonly(),
43
+ 'sessionMode': z.union([z.literal("write"), z.literal("view")]).readonly(),
44
+ 'access': z.object({
45
+ 'mode': z.union([z.literal("open"), z.literal("selected")]).readonly(),
46
+ 'selected': z.array(z.object({
47
+ 'providerId': z.string().readonly(),
48
+ 'tenantId': z.string().readonly(),
49
+ 'subjectId': z.string().readonly(),
50
+ 'identityKey': z.string().readonly(),
51
+ })).readonly(),
52
+ 'deploymentAllowedSubjectIds': z.array(z.string()).readonly(),
53
+ 'shareAllowedSubjectIds': z.array(z.string()).readonly(),
54
+ 'broadenedByDeploymentSubjects': z.boolean().readonly(),
55
+ 'identityKeyAcl': z.literal(true).readonly(),
56
+ }).readonly(),
57
+ }))
58
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_identity_parameter_0$schema$value
59
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_identity_parameter_0$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_identity_parameter_0$schema$value ??= z.object({
60
+ 'relay': z.string().readonly().optional(),
61
+ }))
62
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_identity_result$schema$value
63
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_identity_result$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_identity_result$schema$value ??= z.object({
64
+ 'state': z.union([z.literal("expired"), z.literal("verified"), z.literal("unverified"), z.literal("relay-unsupported")]).readonly(),
65
+ 'relay': z.string().readonly().describe('Relay base URL the credential is bound to. A host keeps one credential per Relay address and never presents it to another, so a viewer of this field compares it with the active address.'),
66
+ 'displayName': z.string().readonly().optional().describe('Provider display name, when the credential carries one.'),
67
+ 'subjectId': z.string().readonly().optional().describe('Verified subject id, which a client may show as the identity label.'),
68
+ 'avatarUrl': z.string().readonly().optional().describe('Provider-issued avatar URL the credential carried, when it carried one.'),
69
+ 'expiresAt': z.string().readonly().optional().describe('ISO expiry of the credential currently held.'),
70
+ 'renewed': z.boolean().readonly().optional().describe('True when this report followed a renewal that pushed the expiry out.'),
71
+ 'claim': z.object({
72
+ 'claimed': z.number().readonly().describe('Shares the Relay bound to this identity.'),
73
+ 'skipped': z.number().readonly().describe('Shares already bound to this identity, so the Relay left them untouched.'),
74
+ }).readonly().optional().describe('Automatic claim result, present once this host has run a claim pass.'),
75
+ }))
76
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_list_result$schema$value
77
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_list_result$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_list_result$schema$value ??= z.object({
78
+ 'shares': z.array(z.object({
79
+ 'shareId': z.string().readonly(),
80
+ 'sessionId': z.string().readonly(),
81
+ 'sessionTitle': z.string().readonly(),
82
+ 'link': z.string().readonly(),
83
+ 'createdAt': z.string().readonly(),
84
+ 'expiresAt': z.string().readonly().optional().describe('ISO time after which the Relay denies viewers; absent means the share never expires.'),
85
+ 'allowsFork': z.boolean().readonly(),
86
+ 'sessionMode': z.union([z.literal("write"), z.literal("view")]).readonly(),
87
+ 'viewerCapabilities': z.array(z.object({
88
+ 'plugin': z.string().readonly().describe('Declaring plugin\'s package name.'),
89
+ 'readable': z.array(z.string()).readonly().describe('Readable endpoints that plugin offers.'),
90
+ 'writable': z.array(z.string()).readonly().describe('Writable endpoints that plugin offers.'),
91
+ })).readonly().describe('Plugin endpoints this share exposes; an empty list means none.'),
92
+ 'online': z.boolean().readonly(),
93
+ 'access': z.object({
94
+ 'mode': z.union([z.literal("open"), z.literal("selected")]).readonly(),
95
+ 'selected': z.array(z.object({
96
+ 'providerId': z.string().readonly(),
97
+ 'tenantId': z.string().readonly(),
98
+ 'subjectId': z.string().readonly(),
99
+ 'identityKey': z.string().readonly(),
100
+ })).readonly(),
101
+ 'deploymentAllowedSubjectIds': z.array(z.string()).readonly(),
102
+ 'shareAllowedSubjectIds': z.array(z.string()).readonly(),
103
+ 'broadenedByDeploymentSubjects': z.boolean().readonly(),
104
+ 'identityKeyAcl': z.literal(true).readonly(),
105
+ }).readonly().optional().describe('Confirmed ACL scope, absent on records written before it was recorded.'),
106
+ })).readonly(),
107
+ }))
108
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_relay_result$schema$value
109
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_relay_result$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_relay_result$schema$value ??= z.object({
110
+ 'configured': z.string().readonly().optional().describe('Address a deployment configures directly. Retained so an older Host that still reports one can be read; this build never sets it, because the owner\'s saved address is the only one in force.'),
111
+ 'override': z.string().readonly().optional().describe('Address the owner saved.'),
112
+ 'effective': z.string().readonly().optional().describe('Address new shares publish to; absent while no address is saved.'),
113
+ }))
114
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setCapabilities_parameter_0$schema$value
115
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setCapabilities_parameter_0$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_setCapabilities_parameter_0$schema$value ??= z.object({
116
+ 'shareId': z.string().readonly(),
117
+ 'capabilities': z.array(z.object({
118
+ 'plugin': z.string().readonly().describe('Declaring plugin\'s package name.'),
119
+ 'readable': z.array(z.string()).readonly().describe('Readable endpoints that plugin offers.'),
120
+ 'writable': z.array(z.string()).readonly().describe('Writable endpoints that plugin offers.'),
121
+ })).readonly().optional(),
122
+ }))
123
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setCapabilities_result$schema$value
124
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setCapabilities_result$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_setCapabilities_result$schema$value ??= z.object({
125
+ 'shareId': z.string().readonly(),
126
+ 'viewerCapabilities': z.array(z.object({
127
+ 'plugin': z.string().readonly().describe('Declaring plugin\'s package name.'),
128
+ 'readable': z.array(z.string()).readonly().describe('Readable endpoints that plugin offers.'),
129
+ 'writable': z.array(z.string()).readonly().describe('Writable endpoints that plugin offers.'),
130
+ })).readonly(),
131
+ }))
132
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setRelay_parameter_0$schema$value
133
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setRelay_parameter_0$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_setRelay_parameter_0$schema$value ??= z.object({
134
+ 'relayUrl': z.union([z.literal(null), z.string()]).readonly(),
135
+ }))
136
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setRelay_result$schema$value
137
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setRelay_result$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_setRelay_result$schema$value ??= z.object({
138
+ 'configured': z.string().readonly().optional().describe('Address a deployment configures directly. Retained so an older Host that still reports one can be read; this build never sets it, because the owner\'s saved address is the only one in force.'),
139
+ 'override': z.string().readonly().optional().describe('Address the owner saved.'),
140
+ 'effective': z.string().readonly().optional().describe('Address new shares publish to; absent while no address is saved.'),
141
+ }))
142
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_stop_parameter_0$schema$value
143
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_stop_parameter_0$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_stop_parameter_0$schema$value ??= z.object({
144
+ 'shareId': z.string().readonly(),
145
+ }))
146
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_stop_result$schema$value
147
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_stop_result$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_stop_result$schema$value ??= z.object({
148
+ 'ok': z.literal(true).readonly(),
149
+ 'relay': z.literal("unreachable").readonly().optional(),
150
+ }))
151
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_testPublish_parameter_0$schema$value
152
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_testPublish_parameter_0$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_testPublish_parameter_0$schema$value ??= z.object({
153
+ 'sessionId': z.string().readonly(),
154
+ }))
155
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_testPublish_result$schema$value
156
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_testPublish_result$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_testPublish_result$schema$value ??= z.object({
157
+ 'ok': z.boolean().readonly(),
158
+ 'blocking': z.boolean().readonly(),
159
+ 'error': z.string().readonly().optional(),
160
+ }))
161
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_testRelay_result$schema$value
162
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_testRelay_result$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_testRelay_result$schema$value ??= z.object({
163
+ 'ok': z.boolean().readonly(),
164
+ 'httpReachable': z.boolean().readonly().describe('True when the address answered at all, including with a refusal an anonymous request gets.'),
165
+ 'blocking': z.boolean().readonly(),
166
+ 'error': z.string().readonly().optional(),
167
+ }))
168
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_updatePermissions_parameter_0$schema$value
169
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_updatePermissions_parameter_0$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_updatePermissions_parameter_0$schema$value ??= z.object({
170
+ 'shareId': z.string().readonly(),
171
+ 'sessionMode': z.union([z.literal("write"), z.literal("view")]).readonly().optional(),
172
+ 'allowsFork': z.boolean().readonly().optional(),
173
+ 'ttlMinutes': z.union([z.literal(null), z.number()]).readonly().optional().describe('New lifetime in minutes; null clears the deadline and means the share never expires.'),
174
+ }))
175
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_updatePermissions_result$schema$value
176
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_updatePermissions_result$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_updatePermissions_result$schema$value ??= z.object({
177
+ 'shareId': z.string().readonly(),
178
+ 'sessionMode': z.union([z.literal("write"), z.literal("view")]).readonly(),
179
+ 'allowsFork': z.boolean().readonly(),
180
+ 'expiresAt': z.string().readonly().optional().describe('New deadline; absent means the share never expires.'),
181
+ }))
182
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_audit_parameter_0_strict$schema$value
183
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_audit_parameter_0_strict$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_audit_parameter_0_strict$schema$value ??= z.strictObject({
184
+ 'shareId': z.string().readonly(),
185
+ }))
186
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_create_parameter_0_strict$schema$value
187
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_create_parameter_0_strict$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_create_parameter_0_strict$schema$value ??= z.strictObject({
188
+ 'sessionId': z.string().readonly(),
189
+ 'sessionTitle': z.string().readonly().optional().describe('Display title; the Session id is used when this is absent or empty.'),
190
+ 'accessMode': z.union([z.literal("open"), z.literal("selected")]).readonly().optional().describe('Access mode to store with the share. Legacy and direct-API use only: the shipped Share dialog creates `open` shares and sends no access mode, while stored `selected` records and callers that invoke this Remote directly still set it.'),
191
+ 'ttlMinutes': z.number().readonly().optional().describe('Lifetime in minutes; absent means the share never expires.'),
192
+ 'allowedSubjectIds': z.array(z.string()).readonly().optional().describe('Viewers named on a `selected` share, stored beside the deployment\'s allowed subjects. Legacy and direct-API use only: the shipped Share dialog creates `open` shares and sends no subjects.'),
193
+ 'allowsFork': z.boolean().readonly().optional(),
194
+ 'sessionMode': z.union([z.literal("write"), z.literal("view")]).readonly().optional(),
195
+ }))
196
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_identity_parameter_0_strict$schema$value
197
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_identity_parameter_0_strict$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_identity_parameter_0_strict$schema$value ??= z.strictObject({
198
+ 'relay': z.string().readonly().optional(),
199
+ }))
200
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setCapabilities_parameter_0_strict$schema$value
201
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setCapabilities_parameter_0_strict$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_setCapabilities_parameter_0_strict$schema$value ??= z.strictObject({
202
+ 'shareId': z.string().readonly(),
203
+ 'capabilities': z.array(z.strictObject({
204
+ 'plugin': z.string().readonly().describe('Declaring plugin\'s package name.'),
205
+ 'readable': z.array(z.string()).readonly().describe('Readable endpoints that plugin offers.'),
206
+ 'writable': z.array(z.string()).readonly().describe('Writable endpoints that plugin offers.'),
207
+ })).readonly().optional(),
208
+ }))
209
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setRelay_parameter_0_strict$schema$value
210
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setRelay_parameter_0_strict$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_setRelay_parameter_0_strict$schema$value ??= z.strictObject({
211
+ 'relayUrl': z.union([z.literal(null), z.string()]).readonly(),
212
+ }))
213
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_stop_parameter_0_strict$schema$value
214
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_stop_parameter_0_strict$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_stop_parameter_0_strict$schema$value ??= z.strictObject({
215
+ 'shareId': z.string().readonly(),
216
+ }))
217
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_testPublish_parameter_0_strict$schema$value
218
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_testPublish_parameter_0_strict$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_testPublish_parameter_0_strict$schema$value ??= z.strictObject({
219
+ 'sessionId': z.string().readonly(),
220
+ }))
221
+ let _deepseek_ai_dsh_experimental_liveshare_liveshareShares_updatePermissions_parameter_0_strict$schema$value
222
+ const _deepseek_ai_dsh_experimental_liveshare_liveshareShares_updatePermissions_parameter_0_strict$schema = () => (_deepseek_ai_dsh_experimental_liveshare_liveshareShares_updatePermissions_parameter_0_strict$schema$value ??= z.strictObject({
223
+ 'shareId': z.string().readonly(),
224
+ 'sessionMode': z.union([z.literal("write"), z.literal("view")]).readonly().optional(),
225
+ 'allowsFork': z.boolean().readonly().optional(),
226
+ 'ttlMinutes': z.union([z.literal(null), z.number()]).readonly().optional().describe('New lifetime in minutes; null clears the deadline and means the share never expires.'),
227
+ }))
228
+
229
+ export const TYPERT_REMOTE = createTypertRemoteInfo({
230
+ package: '@deepseek-ai/dsh-experimental-liveshare',
231
+ methods: {
232
+ 'liveshareShares/audit': {
233
+ service: 'liveshareShares',
234
+ description: 'Read the Liveshare server\'s durable audit trail for one share.',
235
+ invocation: { kind: 'direct' },
236
+ parameters: [
237
+ {
238
+ name: 'request',
239
+ description: 'Share whose audit is read.',
240
+ source: 'json',
241
+ codec: {
242
+ mode: 'strict',
243
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#ShareAuditRequest',
244
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_audit_parameter_0$schema,
245
+ jsonSchema: {"type":"object","properties":{"shareId":{"type":"string"}},"required":["shareId"],"additionalProperties":true},
246
+ },
247
+ strictCodec: {
248
+ mode: 'strict',
249
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#ShareAuditRequest',
250
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_audit_parameter_0_strict$schema,
251
+ jsonSchema: {"type":"object","properties":{"shareId":{"type":"string"}},"required":["shareId"],"additionalProperties":false},
252
+ },
253
+ },
254
+ ],
255
+ result: {
256
+ mode: 'strict',
257
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#ShareAudit',
258
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_audit_result$schema,
259
+ description: 'The audit events, or a structured failure when the Liveshare server cannot answer.',
260
+ jsonSchema: {"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"action":{"type":"string"},"createdAt":{"type":"string"},"actor":{"type":"string"},"detail":{}},"required":["id","action","createdAt"],"additionalProperties":true}}},"required":["events"],"additionalProperties":true},
261
+ },
262
+ sourceLocation: {"file":"packages/experimental/liveshare/src/host/share-remote.ts","line":132,"column":3},
263
+ },
264
+ 'liveshareShares/capabilities': {
265
+ service: 'liveshareShares',
266
+ description: 'Read the endpoints plugins currently offer.',
267
+ invocation: { kind: 'direct' },
268
+ parameters: [
269
+ ],
270
+ result: {
271
+ mode: 'strict',
272
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#ShareCapabilityOffers',
273
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_capabilities_result$schema,
274
+ description: 'The live offer list.',
275
+ jsonSchema: {"type":"object","properties":{"capabilities":{"type":"array","items":{"type":"object","properties":{"plugin":{"type":"string","description":"Declaring plugin's package name."},"readable":{"type":"array","items":{"type":"string"},"description":"Readable endpoints that plugin offers."},"writable":{"type":"array","items":{"type":"string"},"description":"Writable endpoints that plugin offers."}},"required":["plugin","readable","writable"],"additionalProperties":true}}},"required":["capabilities"],"additionalProperties":true},
276
+ },
277
+ sourceLocation: {"file":"packages/experimental/liveshare/src/host/share-remote.ts","line":99,"column":3},
278
+ },
279
+ 'liveshareShares/create': {
280
+ service: 'liveshareShares',
281
+ description: 'Publish one Session and store the share.',
282
+ invocation: { kind: 'direct' },
283
+ parameters: [
284
+ {
285
+ name: 'request',
286
+ description: 'Session, title, access, lifetime, and both switches the owner chose.',
287
+ source: 'json',
288
+ codec: {
289
+ mode: 'strict',
290
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#CreateShareRequest',
291
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_create_parameter_0$schema,
292
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"sessionTitle":{"type":"string","description":"Display title; the Session id is used when this is absent or empty."},"accessMode":{"type":"string","enum":["open","selected"],"description":"Access mode to store with the share. Legacy and direct-API use only: the shipped Share dialog creates `open` shares and sends no access mode, while stored `selected` records and callers that invoke this Remote directly still set it."},"ttlMinutes":{"type":"number","description":"Lifetime in minutes; absent means the share never expires."},"allowedSubjectIds":{"type":"array","items":{"type":"string"},"description":"Viewers named on a `selected` share, stored beside the deployment's allowed subjects. Legacy and direct-API use only: the shipped Share dialog creates `open` shares and sends no subjects."},"allowsFork":{"type":"boolean"},"sessionMode":{"type":"string","enum":["write","view"]}},"required":["sessionId"],"additionalProperties":true},
293
+ },
294
+ strictCodec: {
295
+ mode: 'strict',
296
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#CreateShareRequest',
297
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_create_parameter_0_strict$schema,
298
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"sessionTitle":{"type":"string","description":"Display title; the Session id is used when this is absent or empty."},"accessMode":{"type":"string","enum":["open","selected"],"description":"Access mode to store with the share. Legacy and direct-API use only: the shipped Share dialog creates `open` shares and sends no access mode, while stored `selected` records and callers that invoke this Remote directly still set it."},"ttlMinutes":{"type":"number","description":"Lifetime in minutes; absent means the share never expires."},"allowedSubjectIds":{"type":"array","items":{"type":"string"},"description":"Viewers named on a `selected` share, stored beside the deployment's allowed subjects. Legacy and direct-API use only: the shipped Share dialog creates `open` shares and sends no subjects."},"allowsFork":{"type":"boolean"},"sessionMode":{"type":"string","enum":["write","view"]}},"required":["sessionId"],"additionalProperties":false},
299
+ },
300
+ },
301
+ ],
302
+ result: {
303
+ mode: 'strict',
304
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#CreatedShare',
305
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_create_result$schema,
306
+ description: 'The created share\'s link and stored values.',
307
+ jsonSchema: {"type":"object","properties":{"link":{"type":"string"},"shareId":{"type":"string"},"sessionId":{"type":"string"},"sessionMode":{"type":"string","enum":["write","view"]},"access":{"type":"object","properties":{"mode":{"type":"string","enum":["open","selected"]},"selected":{"type":"array","items":{"type":"object","properties":{"providerId":{"type":"string"},"tenantId":{"type":"string"},"subjectId":{"type":"string"},"identityKey":{"type":"string"}},"required":["providerId","tenantId","subjectId","identityKey"],"additionalProperties":true}},"deploymentAllowedSubjectIds":{"type":"array","items":{"type":"string"}},"shareAllowedSubjectIds":{"type":"array","items":{"type":"string"}},"broadenedByDeploymentSubjects":{"type":"boolean"},"identityKeyAcl":{"type":"boolean","const":true}},"required":["mode","selected","deploymentAllowedSubjectIds","shareAllowedSubjectIds","broadenedByDeploymentSubjects","identityKeyAcl"],"additionalProperties":true}},"required":["link","shareId","sessionId","sessionMode","access"],"additionalProperties":true},
308
+ },
309
+ sourceLocation: {"file":"packages/experimental/liveshare/src/host/share-remote.ts","line":57,"column":3},
310
+ },
311
+ 'liveshareShares/identity': {
312
+ service: 'liveshareShares',
313
+ description: 'Report this host\'s owner identity for one Liveshare server address.',
314
+ invocation: { kind: 'direct' },
315
+ parameters: [
316
+ {
317
+ name: 'request',
318
+ description: 'Address to report, or the effective one when absent.',
319
+ source: 'json',
320
+ codec: {
321
+ mode: 'strict',
322
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#OwnerIdentityRequest',
323
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_identity_parameter_0$schema,
324
+ jsonSchema: {"type":"object","properties":{"relay":{"type":"string"}},"required":[],"additionalProperties":true},
325
+ },
326
+ strictCodec: {
327
+ mode: 'strict',
328
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#OwnerIdentityRequest',
329
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_identity_parameter_0_strict$schema,
330
+ jsonSchema: {"type":"object","properties":{"relay":{"type":"string"}},"required":[],"additionalProperties":false},
331
+ },
332
+ },
333
+ ],
334
+ result: {
335
+ mode: 'strict',
336
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#OwnerIdentityStatus',
337
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_identity_result$schema,
338
+ description: 'The owner identity status, without the credential.',
339
+ jsonSchema: {"type":"object","properties":{"state":{"type":"string","enum":["expired","verified","unverified","relay-unsupported"]},"relay":{"type":"string","description":"Relay base URL the credential is bound to. A host keeps one credential per Relay address and never presents it to another, so a viewer of this field compares it with the active address."},"displayName":{"type":"string","description":"Provider display name, when the credential carries one."},"subjectId":{"type":"string","description":"Verified subject id, which a client may show as the identity label."},"avatarUrl":{"type":"string","description":"Provider-issued avatar URL the credential carried, when it carried one."},"expiresAt":{"type":"string","description":"ISO expiry of the credential currently held."},"renewed":{"type":"boolean","description":"True when this report followed a renewal that pushed the expiry out."},"claim":{"type":"object","properties":{"claimed":{"type":"number","description":"Shares the Relay bound to this identity."},"skipped":{"type":"number","description":"Shares already bound to this identity, so the Relay left them untouched."}},"required":["claimed","skipped"],"additionalProperties":true,"description":"Automatic claim result, present once this host has run a claim pass."}},"required":["state","relay"],"additionalProperties":true},
340
+ },
341
+ sourceLocation: {"file":"packages/experimental/liveshare/src/host/share-remote.ts","line":122,"column":3},
342
+ },
343
+ 'liveshareShares/list': {
344
+ service: 'liveshareShares',
345
+ description: 'Refresh titles and Liveshare server authority, then list this host\'s shares.',
346
+ invocation: { kind: 'direct' },
347
+ parameters: [
348
+ ],
349
+ result: {
350
+ mode: 'strict',
351
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#OwnerShareList',
352
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_list_result$schema,
353
+ description: 'Every share this host publishes.',
354
+ jsonSchema: {"type":"object","properties":{"shares":{"type":"array","items":{"type":"object","properties":{"shareId":{"type":"string"},"sessionId":{"type":"string"},"sessionTitle":{"type":"string"},"link":{"type":"string"},"createdAt":{"type":"string"},"expiresAt":{"type":"string","description":"ISO time after which the Relay denies viewers; absent means the share never expires."},"allowsFork":{"type":"boolean"},"sessionMode":{"type":"string","enum":["write","view"]},"viewerCapabilities":{"type":"array","items":{"type":"object","properties":{"plugin":{"type":"string","description":"Declaring plugin's package name."},"readable":{"type":"array","items":{"type":"string"},"description":"Readable endpoints that plugin offers."},"writable":{"type":"array","items":{"type":"string"},"description":"Writable endpoints that plugin offers."}},"required":["plugin","readable","writable"],"additionalProperties":true},"description":"Plugin endpoints this share exposes; an empty list means none."},"online":{"type":"boolean"},"access":{"type":"object","properties":{"mode":{"type":"string","enum":["open","selected"]},"selected":{"type":"array","items":{"type":"object","properties":{"providerId":{"type":"string"},"tenantId":{"type":"string"},"subjectId":{"type":"string"},"identityKey":{"type":"string"}},"required":["providerId","tenantId","subjectId","identityKey"],"additionalProperties":true}},"deploymentAllowedSubjectIds":{"type":"array","items":{"type":"string"}},"shareAllowedSubjectIds":{"type":"array","items":{"type":"string"}},"broadenedByDeploymentSubjects":{"type":"boolean"},"identityKeyAcl":{"type":"boolean","const":true}},"required":["mode","selected","deploymentAllowedSubjectIds","shareAllowedSubjectIds","broadenedByDeploymentSubjects","identityKeyAcl"],"additionalProperties":true,"description":"Confirmed ACL scope, absent on records written before it was recorded."}},"required":["shareId","sessionId","sessionTitle","link","createdAt","allowsFork","sessionMode","viewerCapabilities","online"],"additionalProperties":true}}},"required":["shares"],"additionalProperties":true},
355
+ },
356
+ sourceLocation: {"file":"packages/experimental/liveshare/src/host/share-remote.ts","line":64,"column":3},
357
+ },
358
+ 'liveshareShares/relay': {
359
+ service: 'liveshareShares',
360
+ description: 'Read the Liveshare server address the owner saved.',
361
+ invocation: { kind: 'direct' },
362
+ parameters: [
363
+ ],
364
+ result: {
365
+ mode: 'strict',
366
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#OwnerRelayState',
367
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_relay_result$schema,
368
+ description: 'The current Liveshare server state, with both address fields absent while none is saved.',
369
+ jsonSchema: {"type":"object","properties":{"configured":{"type":"string","description":"Address a deployment configures directly. Retained so an older Host that still reports one can be read; this build never sets it, because the owner's saved address is the only one in force."},"override":{"type":"string","description":"Address the owner saved."},"effective":{"type":"string","description":"Address new shares publish to; absent while no address is saved."}},"required":[],"additionalProperties":true},
370
+ },
371
+ sourceLocation: {"file":"packages/experimental/liveshare/src/host/share-remote.ts","line":106,"column":3},
372
+ },
373
+ 'liveshareShares/setCapabilities': {
374
+ service: 'liveshareShares',
375
+ description: 'Replace one share\'s exposed plugin endpoints.',
376
+ invocation: { kind: 'direct' },
377
+ parameters: [
378
+ {
379
+ name: 'request',
380
+ description: 'Share and the selection to store.',
381
+ source: 'json',
382
+ codec: {
383
+ mode: 'strict',
384
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#SetShareCapabilitiesRequest',
385
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setCapabilities_parameter_0$schema,
386
+ jsonSchema: {"type":"object","properties":{"shareId":{"type":"string"},"capabilities":{"type":"array","items":{"type":"object","properties":{"plugin":{"type":"string","description":"Declaring plugin's package name."},"readable":{"type":"array","items":{"type":"string"},"description":"Readable endpoints that plugin offers."},"writable":{"type":"array","items":{"type":"string"},"description":"Writable endpoints that plugin offers."}},"required":["plugin","readable","writable"],"additionalProperties":true}}},"required":["shareId"],"additionalProperties":true},
387
+ },
388
+ strictCodec: {
389
+ mode: 'strict',
390
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#SetShareCapabilitiesRequest',
391
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setCapabilities_parameter_0_strict$schema,
392
+ jsonSchema: {"type":"object","properties":{"shareId":{"type":"string"},"capabilities":{"type":"array","items":{"type":"object","properties":{"plugin":{"type":"string","description":"Declaring plugin's package name."},"readable":{"type":"array","items":{"type":"string"},"description":"Readable endpoints that plugin offers."},"writable":{"type":"array","items":{"type":"string"},"description":"Writable endpoints that plugin offers."}},"required":["plugin","readable","writable"],"additionalProperties":false}}},"required":["shareId"],"additionalProperties":false},
393
+ },
394
+ },
395
+ ],
396
+ result: {
397
+ mode: 'strict',
398
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#ShareCapabilities',
399
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setCapabilities_result$schema,
400
+ description: 'The capability selection the share now carries.',
401
+ jsonSchema: {"type":"object","properties":{"shareId":{"type":"string"},"viewerCapabilities":{"type":"array","items":{"type":"object","properties":{"plugin":{"type":"string","description":"Declaring plugin's package name."},"readable":{"type":"array","items":{"type":"string"},"description":"Readable endpoints that plugin offers."},"writable":{"type":"array","items":{"type":"string"},"description":"Writable endpoints that plugin offers."}},"required":["plugin","readable","writable"],"additionalProperties":true}}},"required":["shareId","viewerCapabilities"],"additionalProperties":true},
402
+ },
403
+ sourceLocation: {"file":"packages/experimental/liveshare/src/host/share-remote.ts","line":90,"column":3},
404
+ },
405
+ 'liveshareShares/setRelay': {
406
+ service: 'liveshareShares',
407
+ description: 'Choose the Liveshare server address later shares publish to.',
408
+ invocation: { kind: 'direct' },
409
+ parameters: [
410
+ {
411
+ name: 'request',
412
+ description: 'Normalized address or null to clear the saved one.',
413
+ source: 'json',
414
+ codec: {
415
+ mode: 'strict',
416
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#SetRelayRequest',
417
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setRelay_parameter_0$schema,
418
+ jsonSchema: {"type":"object","properties":{"relayUrl":{"oneOf":[{"type":"null","const":null},{"type":"string"}]}},"required":["relayUrl"],"additionalProperties":true},
419
+ },
420
+ strictCodec: {
421
+ mode: 'strict',
422
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#SetRelayRequest',
423
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setRelay_parameter_0_strict$schema,
424
+ jsonSchema: {"type":"object","properties":{"relayUrl":{"oneOf":[{"type":"null","const":null},{"type":"string"}]}},"required":["relayUrl"],"additionalProperties":false},
425
+ },
426
+ },
427
+ ],
428
+ result: {
429
+ mode: 'strict',
430
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#OwnerRelayState',
431
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_setRelay_result$schema,
432
+ description: 'The Liveshare server state after the change.',
433
+ jsonSchema: {"type":"object","properties":{"configured":{"type":"string","description":"Address a deployment configures directly. Retained so an older Host that still reports one can be read; this build never sets it, because the owner's saved address is the only one in force."},"override":{"type":"string","description":"Address the owner saved."},"effective":{"type":"string","description":"Address new shares publish to; absent while no address is saved."}},"required":[],"additionalProperties":true},
434
+ },
435
+ sourceLocation: {"file":"packages/experimental/liveshare/src/host/share-remote.ts","line":114,"column":3},
436
+ },
437
+ 'liveshareShares/stop': {
438
+ service: 'liveshareShares',
439
+ description: 'Stop one share locally, revoke its forks, and delete its row on the Liveshare server when reachable.',
440
+ invocation: { kind: 'direct' },
441
+ parameters: [
442
+ {
443
+ name: 'request',
444
+ description: 'Share to stop.',
445
+ source: 'json',
446
+ codec: {
447
+ mode: 'strict',
448
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#StopShareRequest',
449
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_stop_parameter_0$schema,
450
+ jsonSchema: {"type":"object","properties":{"shareId":{"type":"string"}},"required":["shareId"],"additionalProperties":true},
451
+ },
452
+ strictCodec: {
453
+ mode: 'strict',
454
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#StopShareRequest',
455
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_stop_parameter_0_strict$schema,
456
+ jsonSchema: {"type":"object","properties":{"shareId":{"type":"string"}},"required":["shareId"],"additionalProperties":false},
457
+ },
458
+ },
459
+ ],
460
+ result: {
461
+ mode: 'strict',
462
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#StopShareResult',
463
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_stop_result$schema,
464
+ description: 'Whether the row on the Liveshare server still needs a retry.',
465
+ jsonSchema: {"type":"object","properties":{"ok":{"type":"boolean","const":true},"relay":{"type":"string","const":"unreachable"}},"required":["ok"],"additionalProperties":true},
466
+ },
467
+ sourceLocation: {"file":"packages/experimental/liveshare/src/host/share-remote.ts","line":72,"column":3},
468
+ },
469
+ 'liveshareShares/testPublish': {
470
+ service: 'liveshareShares',
471
+ description: 'Register one throwaway share to check whether this host may publish.',
472
+ invocation: { kind: 'direct' },
473
+ parameters: [
474
+ {
475
+ name: 'request',
476
+ description: 'Session the throwaway registration names.',
477
+ source: 'json',
478
+ codec: {
479
+ mode: 'strict',
480
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#TestPublishRequest',
481
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_testPublish_parameter_0$schema,
482
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"}},"required":["sessionId"],"additionalProperties":true},
483
+ },
484
+ strictCodec: {
485
+ mode: 'strict',
486
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#TestPublishRequest',
487
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_testPublish_parameter_0_strict$schema,
488
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"}},"required":["sessionId"],"additionalProperties":false},
489
+ },
490
+ },
491
+ ],
492
+ result: {
493
+ mode: 'strict',
494
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#RelayPublishView',
495
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_testPublish_result$schema,
496
+ description: 'The Liveshare server\'s decision about this host\'s credential.',
497
+ jsonSchema: {"type":"object","properties":{"ok":{"type":"boolean"},"blocking":{"type":"boolean"},"error":{"type":"string"}},"required":["ok","blocking"],"additionalProperties":true},
498
+ },
499
+ sourceLocation: {"file":"packages/experimental/liveshare/src/host/share-remote.ts","line":147,"column":3},
500
+ },
501
+ 'liveshareShares/testRelay': {
502
+ service: 'liveshareShares',
503
+ description: 'Check that the effective Liveshare server answers at all.',
504
+ invocation: { kind: 'direct' },
505
+ parameters: [
506
+ ],
507
+ result: {
508
+ mode: 'strict',
509
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#RelayConnectivityView',
510
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_testRelay_result$schema,
511
+ description: 'The anonymous connectivity result.',
512
+ jsonSchema: {"type":"object","properties":{"ok":{"type":"boolean"},"httpReachable":{"type":"boolean","description":"True when the address answered at all, including with a refusal an anonymous request gets."},"blocking":{"type":"boolean"},"error":{"type":"string"}},"required":["ok","httpReachable","blocking"],"additionalProperties":true},
513
+ },
514
+ sourceLocation: {"file":"packages/experimental/liveshare/src/host/share-remote.ts","line":139,"column":3},
515
+ },
516
+ 'liveshareShares/updatePermissions': {
517
+ service: 'liveshareShares',
518
+ description: 'Change one share\'s tier, fork switch, or both.',
519
+ invocation: { kind: 'direct' },
520
+ parameters: [
521
+ {
522
+ name: 'request',
523
+ description: 'Share and the switches to change.',
524
+ source: 'json',
525
+ codec: {
526
+ mode: 'strict',
527
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#UpdateSharePermissionsRequest',
528
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_updatePermissions_parameter_0$schema,
529
+ jsonSchema: {"type":"object","properties":{"shareId":{"type":"string"},"sessionMode":{"type":"string","enum":["write","view"]},"allowsFork":{"type":"boolean"},"ttlMinutes":{"oneOf":[{"type":"null","const":null},{"type":"number"}],"description":"New lifetime in minutes; null clears the deadline and means the share never expires."}},"required":["shareId"],"additionalProperties":true},
530
+ },
531
+ strictCodec: {
532
+ mode: 'strict',
533
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#UpdateSharePermissionsRequest',
534
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_updatePermissions_parameter_0_strict$schema,
535
+ jsonSchema: {"type":"object","properties":{"shareId":{"type":"string"},"sessionMode":{"type":"string","enum":["write","view"]},"allowsFork":{"type":"boolean"},"ttlMinutes":{"oneOf":[{"type":"null","const":null},{"type":"number"}],"description":"New lifetime in minutes; null clears the deadline and means the share never expires."}},"required":["shareId"],"additionalProperties":false},
536
+ },
537
+ },
538
+ ],
539
+ result: {
540
+ mode: 'strict',
541
+ typeSymbol: '@deepseek-ai/dsh-experimental-liveshare/types#SharePermissions',
542
+ create: _deepseek_ai_dsh_experimental_liveshare_liveshareShares_updatePermissions_result$schema,
543
+ description: 'The permissions the share now carries.',
544
+ jsonSchema: {"type":"object","properties":{"shareId":{"type":"string"},"sessionMode":{"type":"string","enum":["write","view"]},"allowsFork":{"type":"boolean"},"expiresAt":{"type":"string","description":"New deadline; absent means the share never expires."}},"required":["shareId","sessionMode","allowsFork"],"additionalProperties":true},
545
+ },
546
+ sourceLocation: {"file":"packages/experimental/liveshare/src/host/share-remote.ts","line":80,"column":3},
547
+ },
548
+ },
549
+ }, z)
550
+
551
+ export default TYPERT_REMOTE
@@ -0,0 +1,21 @@
1
+ /** Global owner-side list of shares; each row opens that Session's share dialog. */
2
+ import { type ReactNode } from 'react';
3
+ import type { PropsLocale } from '@deepseek-ai/dsh-client-ui-slots';
4
+ import type { NS } from './locales.ts';
5
+ import type { OwnerShares } from './owner-shares.ts';
6
+ /** Props for the global Liveshare share manager. */
7
+ export interface LiveshareManageSharesDialogProps extends PropsLocale<typeof NS> {
8
+ /** Owner share management, addressed through the generated `liveshareShares` namespace. */
9
+ readonly shares: OwnerShares;
10
+ /** Open the share dialog for one Session. */
11
+ readonly onOpenShare?: (sessionId: string, sessionTitle: string) => void;
12
+ /** Close the manager. */
13
+ readonly onClose: () => void;
14
+ }
15
+ /**
16
+ * List every share and open the one whose Session the owner wants to manage.
17
+ * @param props - Owner shares, navigation callback, close callback, and copy.
18
+ * @returns The manager modal.
19
+ */
20
+ export declare function LiveshareManageSharesDialog({ shares, onOpenShare, onClose, t }: LiveshareManageSharesDialogProps): ReactNode;
21
+ //# sourceMappingURL=ManageSharesDialog.d.ts.map
@@ -0,0 +1,19 @@
1
+ /** Session-header action that opens the Liveshare owner-side share dialog. */
2
+ import { type ReactNode } from 'react';
3
+ import type { InjectFace, PropsLocale, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
4
+ import type { NS } from './locales.ts';
5
+ import type { OwnerShares } from './owner-shares.ts';
6
+ /** Business face the header action receives: the owner's share-management Remote. */
7
+ export interface LiveshareShareActionInjected {
8
+ /** Owner share management, addressed through the generated `liveshareShares` namespace. */
9
+ readonly shares: OwnerShares;
10
+ }
11
+ /** Full props for the Liveshare Session-header utility. */
12
+ export type LiveshareShareActionProps = PropsRuntime<'conversation.session.header.utilities'> & InjectFace<LiveshareShareActionInjected> & PropsLocale<typeof NS>;
13
+ /**
14
+ * Render the Session Header Share action and its dialog for a local owner.
15
+ * @param props - Session runtime plus localized copy.
16
+ * @returns the header action and optional dialog.
17
+ */
18
+ export declare function LiveshareShareAction({ sessionId, useSessions, shares, t }: LiveshareShareActionProps): ReactNode;
19
+ //# sourceMappingURL=ShareAction.d.ts.map