@blue-soda/dsh-remote 0.5.6 → 0.5.7

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 (232) hide show
  1. package/README.md +2 -2
  2. package/cordis.patch.yml +30 -30
  3. package/dist/client.github.js +1 -1
  4. package/dist/client.js +1 -1
  5. package/dist/index.js +321 -57
  6. package/dist/index.js.map +3 -3
  7. package/dsh-plugin.json +41 -41
  8. package/package.json +165 -165
  9. package/dist/acp.d.ts +0 -75
  10. package/dist/acp.d.ts.map +0 -1
  11. package/dist/acp.js +0 -61
  12. package/dist/acp.js.map +0 -1
  13. package/dist/api-proxy-switch.d.ts +0 -33
  14. package/dist/api-proxy-switch.d.ts.map +0 -1
  15. package/dist/api-proxy-switch.js +0 -109
  16. package/dist/api-proxy-switch.js.map +0 -1
  17. package/dist/atomic-file.d.ts +0 -16
  18. package/dist/atomic-file.d.ts.map +0 -1
  19. package/dist/atomic-file.js +0 -81
  20. package/dist/atomic-file.js.map +0 -1
  21. package/dist/bin/doctor.d.ts +0 -3
  22. package/dist/bin/doctor.d.ts.map +0 -1
  23. package/dist/bin/doctor.js +0 -13
  24. package/dist/bin/doctor.js.map +0 -1
  25. package/dist/cli.d.ts +0 -32
  26. package/dist/cli.d.ts.map +0 -1
  27. package/dist/cli.js +0 -289
  28. package/dist/cli.js.map +0 -1
  29. package/dist/client-runtime.d.ts +0 -375
  30. package/dist/client-runtime.d.ts.map +0 -1
  31. package/dist/client-runtime.js +0 -1768
  32. package/dist/client-runtime.js.map +0 -1
  33. package/dist/client-secure-transport.d.ts +0 -23
  34. package/dist/client-secure-transport.d.ts.map +0 -1
  35. package/dist/client-secure-transport.js +0 -144
  36. package/dist/client-secure-transport.js.map +0 -1
  37. package/dist/client-target-store.d.ts +0 -40
  38. package/dist/client-target-store.d.ts.map +0 -1
  39. package/dist/client-target-store.js +0 -79
  40. package/dist/client-target-store.js.map +0 -1
  41. package/dist/client.d.ts +0 -13
  42. package/dist/client.d.ts.map +0 -1
  43. package/dist/codex/app-server.d.ts +0 -71
  44. package/dist/codex/app-server.d.ts.map +0 -1
  45. package/dist/codex/app-server.js +0 -268
  46. package/dist/codex/app-server.js.map +0 -1
  47. package/dist/codex/codex-image-codec.d.ts +0 -7
  48. package/dist/codex/codex-image-codec.d.ts.map +0 -1
  49. package/dist/codex/codex-image-codec.js +0 -288
  50. package/dist/codex/codex-image-codec.js.map +0 -1
  51. package/dist/codex/domain.d.ts +0 -102
  52. package/dist/codex/domain.d.ts.map +0 -1
  53. package/dist/codex/domain.js +0 -1323
  54. package/dist/codex/domain.js.map +0 -1
  55. package/dist/codex/method-policy.d.ts +0 -338
  56. package/dist/codex/method-policy.d.ts.map +0 -1
  57. package/dist/codex/method-policy.js +0 -141
  58. package/dist/codex/method-policy.js.map +0 -1
  59. package/dist/codex/peer-bridge.d.ts +0 -57
  60. package/dist/codex/peer-bridge.d.ts.map +0 -1
  61. package/dist/codex/peer-bridge.js +0 -299
  62. package/dist/codex/peer-bridge.js.map +0 -1
  63. package/dist/codex/permissions.d.ts +0 -4
  64. package/dist/codex/permissions.d.ts.map +0 -1
  65. package/dist/codex/permissions.js +0 -21
  66. package/dist/codex/permissions.js.map +0 -1
  67. package/dist/codex/session-id.d.ts +0 -10
  68. package/dist/codex/session-id.d.ts.map +0 -1
  69. package/dist/codex/session-id.js +0 -15
  70. package/dist/codex/session-id.js.map +0 -1
  71. package/dist/codex/virtual-harness.d.ts +0 -209
  72. package/dist/codex/virtual-harness.d.ts.map +0 -1
  73. package/dist/codex/virtual-harness.js +0 -2650
  74. package/dist/codex/virtual-harness.js.map +0 -1
  75. package/dist/codex-workspace-bridge.d.ts +0 -108
  76. package/dist/codex-workspace-bridge.d.ts.map +0 -1
  77. package/dist/codex-workspace-bridge.js +0 -502
  78. package/dist/codex-workspace-bridge.js.map +0 -1
  79. package/dist/config.d.ts +0 -99
  80. package/dist/config.d.ts.map +0 -1
  81. package/dist/config.js +0 -127
  82. package/dist/config.js.map +0 -1
  83. package/dist/connection-controller.d.ts +0 -44
  84. package/dist/connection-controller.d.ts.map +0 -1
  85. package/dist/connection-controller.js +0 -185
  86. package/dist/connection-controller.js.map +0 -1
  87. package/dist/control-route.d.ts +0 -34
  88. package/dist/control-route.d.ts.map +0 -1
  89. package/dist/control-route.js +0 -136
  90. package/dist/control-route.js.map +0 -1
  91. package/dist/control-runtime.d.ts +0 -138
  92. package/dist/control-runtime.d.ts.map +0 -1
  93. package/dist/control-runtime.js +0 -543
  94. package/dist/control-runtime.js.map +0 -1
  95. package/dist/control-stream.d.ts +0 -67
  96. package/dist/control-stream.d.ts.map +0 -1
  97. package/dist/control-stream.js +0 -179
  98. package/dist/control-stream.js.map +0 -1
  99. package/dist/defaults.d.ts +0 -9
  100. package/dist/defaults.d.ts.map +0 -1
  101. package/dist/defaults.js +0 -9
  102. package/dist/defaults.js.map +0 -1
  103. package/dist/file-viewer-bridge.d.ts +0 -30
  104. package/dist/file-viewer-bridge.d.ts.map +0 -1
  105. package/dist/file-viewer-bridge.js +0 -128
  106. package/dist/file-viewer-bridge.js.map +0 -1
  107. package/dist/file-viewer-contract.d.ts +0 -5
  108. package/dist/file-viewer-contract.d.ts.map +0 -1
  109. package/dist/file-viewer-contract.js +0 -4
  110. package/dist/file-viewer-contract.js.map +0 -1
  111. package/dist/harness-api-bridge.d.ts +0 -81
  112. package/dist/harness-api-bridge.d.ts.map +0 -1
  113. package/dist/harness-api-bridge.js +0 -862
  114. package/dist/harness-api-bridge.js.map +0 -1
  115. package/dist/harness-api-history.d.ts +0 -3
  116. package/dist/harness-api-history.d.ts.map +0 -1
  117. package/dist/harness-api-history.js +0 -59
  118. package/dist/harness-api-history.js.map +0 -1
  119. package/dist/harness-remote-bridge.d.ts +0 -60
  120. package/dist/harness-remote-bridge.d.ts.map +0 -1
  121. package/dist/harness-remote-bridge.js +0 -540
  122. package/dist/harness-remote-bridge.js.map +0 -1
  123. package/dist/harness-version.d.ts +0 -23
  124. package/dist/harness-version.d.ts.map +0 -1
  125. package/dist/harness-version.js +0 -95
  126. package/dist/harness-version.js.map +0 -1
  127. package/dist/identity-store.d.ts +0 -45
  128. package/dist/identity-store.d.ts.map +0 -1
  129. package/dist/identity-store.js +0 -186
  130. package/dist/identity-store.js.map +0 -1
  131. package/dist/ids.d.ts +0 -2
  132. package/dist/ids.d.ts.map +0 -1
  133. package/dist/ids.js +0 -17
  134. package/dist/ids.js.map +0 -1
  135. package/dist/index.d.ts +0 -78
  136. package/dist/index.d.ts.map +0 -1
  137. package/dist/logging.d.ts +0 -18
  138. package/dist/logging.d.ts.map +0 -1
  139. package/dist/logging.js +0 -30
  140. package/dist/logging.js.map +0 -1
  141. package/dist/loopback-host.d.ts +0 -20
  142. package/dist/loopback-host.d.ts.map +0 -1
  143. package/dist/loopback-host.js +0 -245
  144. package/dist/loopback-host.js.map +0 -1
  145. package/dist/loopback-preview.d.ts +0 -19
  146. package/dist/loopback-preview.d.ts.map +0 -1
  147. package/dist/loopback-preview.js +0 -232
  148. package/dist/loopback-preview.js.map +0 -1
  149. package/dist/native-rtc-helper.d.ts +0 -14
  150. package/dist/native-rtc-helper.d.ts.map +0 -1
  151. package/dist/native-rtc-helper.js +0 -575
  152. package/dist/native-rtc-helper.js.map +0 -1
  153. package/dist/remote-api-proxy.d.ts +0 -17
  154. package/dist/remote-api-proxy.d.ts.map +0 -1
  155. package/dist/remote-api-proxy.js +0 -451
  156. package/dist/remote-api-proxy.js.map +0 -1
  157. package/dist/remote-directory-browser.d.ts +0 -16
  158. package/dist/remote-directory-browser.d.ts.map +0 -1
  159. package/dist/remote-directory-browser.js +0 -48
  160. package/dist/remote-directory-browser.js.map +0 -1
  161. package/dist/remote-file-content-provider.d.ts +0 -48
  162. package/dist/remote-file-content-provider.d.ts.map +0 -1
  163. package/dist/remote-file-content-provider.js +0 -93
  164. package/dist/remote-file-content-provider.js.map +0 -1
  165. package/dist/remote-typert-gateway.d.ts +0 -20
  166. package/dist/remote-typert-gateway.d.ts.map +0 -1
  167. package/dist/remote-typert-gateway.js +0 -334
  168. package/dist/remote-typert-gateway.js.map +0 -1
  169. package/dist/rpc-binary-attachments.d.ts +0 -33
  170. package/dist/rpc-binary-attachments.d.ts.map +0 -1
  171. package/dist/rpc-binary-attachments.js +0 -142
  172. package/dist/rpc-binary-attachments.js.map +0 -1
  173. package/dist/rpc-router.d.ts +0 -31
  174. package/dist/rpc-router.d.ts.map +0 -1
  175. package/dist/rpc-router.js +0 -201
  176. package/dist/rpc-router.js.map +0 -1
  177. package/dist/safe-error.d.ts +0 -8
  178. package/dist/safe-error.d.ts.map +0 -1
  179. package/dist/safe-error.js +0 -20
  180. package/dist/safe-error.js.map +0 -1
  181. package/dist/server-api.d.ts +0 -109
  182. package/dist/server-api.d.ts.map +0 -1
  183. package/dist/server-api.js +0 -520
  184. package/dist/server-api.js.map +0 -1
  185. package/dist/server-connection.d.ts +0 -79
  186. package/dist/server-connection.d.ts.map +0 -1
  187. package/dist/server-connection.js +0 -1023
  188. package/dist/server-connection.js.map +0 -1
  189. package/dist/server-credentials.d.ts +0 -55
  190. package/dist/server-credentials.d.ts.map +0 -1
  191. package/dist/server-credentials.js +0 -108
  192. package/dist/server-credentials.js.map +0 -1
  193. package/dist/service.d.ts +0 -151
  194. package/dist/service.d.ts.map +0 -1
  195. package/dist/service.js +0 -448
  196. package/dist/service.js.map +0 -1
  197. package/dist/session-format-compat.d.ts +0 -3
  198. package/dist/session-format-compat.d.ts.map +0 -1
  199. package/dist/session-format-compat.js +0 -183
  200. package/dist/session-format-compat.js.map +0 -1
  201. package/dist/status-stream.d.ts +0 -48
  202. package/dist/status-stream.d.ts.map +0 -1
  203. package/dist/status-stream.js +0 -133
  204. package/dist/status-stream.js.map +0 -1
  205. package/dist/terminal-policy.d.ts +0 -21
  206. package/dist/terminal-policy.d.ts.map +0 -1
  207. package/dist/terminal-policy.js +0 -68
  208. package/dist/terminal-policy.js.map +0 -1
  209. package/dist/tui-command.d.ts +0 -13
  210. package/dist/tui-command.d.ts.map +0 -1
  211. package/dist/tui-command.js +0 -392
  212. package/dist/tui-command.js.map +0 -1
  213. package/dist/typert-gateway-contract.d.ts +0 -59
  214. package/dist/typert-gateway-contract.d.ts.map +0 -1
  215. package/dist/typert-gateway-contract.js +0 -2
  216. package/dist/typert-gateway-contract.js.map +0 -1
  217. package/dist/typert-gateway-switch.d.ts +0 -85
  218. package/dist/typert-gateway-switch.d.ts.map +0 -1
  219. package/dist/typert-gateway-switch.js +0 -448
  220. package/dist/typert-gateway-switch.js.map +0 -1
  221. package/dist/types.d.ts +0 -20
  222. package/dist/types.d.ts.map +0 -1
  223. package/dist/types.js +0 -2
  224. package/dist/types.js.map +0 -1
  225. package/dist/version.d.ts +0 -12
  226. package/dist/version.d.ts.map +0 -1
  227. package/dist/version.js +0 -12
  228. package/dist/version.js.map +0 -1
  229. package/dist/werift-rtc.d.ts +0 -121
  230. package/dist/werift-rtc.d.ts.map +0 -1
  231. package/dist/werift-rtc.js +0 -490
  232. package/dist/werift-rtc.js.map +0 -1
@@ -1,138 +0,0 @@
1
- import { type Config, type ConfigInput, type ResolvedConfig } from './config.js';
2
- import { type ClientModeRuntime, type HostConnectionHandle, type HostAuthorizationControl } from './client-runtime.js';
3
- import { type HostWebServerLike } from './control-route.js';
4
- export interface PluginSettingsView {
5
- config: Config;
6
- deviceName: string;
7
- writable: boolean;
8
- applies: 'live' | 'restart';
9
- association?: PluginAssociation;
10
- associations: Partial<Record<'host' | 'client', PluginAssociation>>;
11
- acpAvailability?: Record<string, boolean>;
12
- /**
13
- * The Codex binary the Host found for itself, when the configured command was
14
- * left at its default. Absent means nothing was found, and the settings UI says
15
- * so instead of showing an empty field the user cannot interpret.
16
- */
17
- discoveredCodexBinary?: string;
18
- }
19
- export interface PluginAssociation {
20
- method: 'account' | 'host_registration_code' | 'owned_device';
21
- account?: string;
22
- }
23
- /**
24
- * Request to begin the DeepSeek browser authorization on the user's behalf.
25
- *
26
- * The provider only accepts a loopback callback, so the origin must be the one
27
- * this page was served from; anything else is refused before the browser opens.
28
- */
29
- export interface DeepSeekSignInRequest {
30
- /** Browser-accessible loopback origin that receives the provider callback. */
31
- callbackOrigin: string;
32
- /** Initiating UI: a Desktop shell returns from a failed exchange differently. */
33
- loginSource: 'web' | 'desktop';
34
- /** Active UI language, reduced to the platform wire locale by the provider. */
35
- locale: string;
36
- /** Seconds east of UTC, the form the platform's client identity expects. */
37
- timezoneOffsetSeconds: number;
38
- }
39
- /**
40
- * Host-side source of the DSH DeepSeek account grant.
41
- *
42
- * The grant is read from the account service on demand and never cached here:
43
- * it is a bearer credential for the user's DeepSeek account, so the plugin
44
- * forwards it once and forgets it.
45
- */
46
- export interface DeepSeekSessionSource {
47
- /** The signed-in account's platform grant, or undefined when signed out. */
48
- read(): Promise<{
49
- token: string;
50
- } | undefined>;
51
- /**
52
- * Begin the official browser authorization and report the page to open.
53
- * @param request - callback origin and client identity for the attempt.
54
- * @returns the authorization URL when the provider exposes one.
55
- */
56
- startSignIn(request: DeepSeekSignInRequest): Promise<{
57
- authorizeUrl?: string;
58
- }>;
59
- /**
60
- * Sign the DSH DeepSeek account out.
61
- *
62
- * Signing in here borrows that account authorization, so leaving it behind
63
- * would make this plugin's sign-out look ineffective: the next sign-in would
64
- * silently reuse the same account.
65
- * @returns whether the account was signed out.
66
- */
67
- signOut(): Promise<boolean>;
68
- }
69
- /**
70
- * Live read/write face of the plugin's profile-owned entry Config.
71
- *
72
- * DSH 0.1.7-rc.1 (DSH-0.1.7-RC1-04) removed the settings-namespace registry
73
- * and its scope type: the entry's editable fields are a single
74
- * `.volatile()` Cordis Config, read through `.get()`, and writes go to
75
- * `ctx.settings.replace(entryId, section)` (persisted in the active profile's
76
- * `cordis.patch.yml` under the entry id).
77
- */
78
- export interface PluginSettingsBinding {
79
- /** The current config, read from the entry's live volatile reference. */
80
- get(): ConfigInput;
81
- /** Replace the entry's editable fields in the active profile. */
82
- replace(section: Config): Promise<void>;
83
- }
84
- /** Loopback-only control plane shared by Local/Remote switching and plugin setup. */
85
- export declare class PluginControlRuntime {
86
- private readonly config;
87
- private readonly identityDirectory;
88
- private readonly settings;
89
- private readonly client;
90
- private readonly host;
91
- private readonly deepseekSession;
92
- constructor(config: ResolvedConfig, identityDirectory: string, settings: PluginSettingsBinding | undefined, client: ClientModeRuntime | undefined, host: HostAuthorizationControl | undefined, deepseekSession?: DeepSeekSessionSource | undefined);
93
- /**
94
- * The DeepSeek grant whose Server authorization this runtime already completed.
95
- *
96
- * The client polls this control endpoint while the browser page is open, and
97
- * every call used to re-run the authorization: that repeats a platform request
98
- * and re-registers the device, which rotates its tokens. The Host connection
99
- * using those tokens then fails with AUTH_INVALID, intermittently, right after a
100
- * sign-in. Verify once per grant instead.
101
- */
102
- private verifiedDeepSeekToken?;
103
- private verifiedDeepSeekAuthorization?;
104
- register(connection: HostConnectionHandle, webServer?: HostWebServerLike): () => Promise<void>;
105
- /**
106
- * Read the value the status event stream pushes. It resolves through the same
107
- * endpoint handler as the unary `status` control call, so a pushed status and
108
- * a polled one can never diverge.
109
- */
110
- private streamStatus;
111
- private handle;
112
- private configure;
113
- private setServer;
114
- private setRole;
115
- private setDevelopment;
116
- private setCodex;
117
- private setAcp;
118
- private addAcp;
119
- private removeAcp;
120
- private authorizeOwnedRole;
121
- private logout;
122
- /**
123
- * Stop or resume this machine's remote availability without releasing its
124
- * authorization, and remember the choice so a restart respects it.
125
- *
126
- * This is the non-destructive counterpart of releasing the authorization: it
127
- * closes the connection, keeps the credentials and the device identity, and
128
- * therefore costs neither a re-authorization nor a device identity.
129
- * @param connected - whether this machine should accept remote connections.
130
- * @returns the refreshed status for the caller's view.
131
- */
132
- private setHostConnection;
133
- private settingsView;
134
- private associations;
135
- private association;
136
- private hostOnlyStatus;
137
- }
138
- //# sourceMappingURL=control-runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-runtime.d.ts","sourceRoot":"","sources":["../src/control-runtime.ts"],"names":[],"mappings":"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"}