@deepseek-ai/dsh-api-workspace-controller 0.1.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.
@@ -0,0 +1,13 @@
1
+ //#region lib/types/invariant.js
2
+ /** Package-owned invariant companion. @module @deepseek-ai/dsh-api-workspace-controller/invariant */
3
+ const PACKAGE_NAME = "@deepseek-ai/dsh-api-workspace-controller";
4
+ /** Cordis companion plugin name. */
5
+ const name = "api-workspace-controller-invariant";
6
+ /** Service required before the companion can reserve package ownership. */
7
+ const inject = ["invariants"];
8
+ /** No runtime invariant: Workspace Registry owns persistence; every stream generation is a full projection. */
9
+ const install = () => {};
10
+ /** Register this package's invariant companion. */
11
+ const apply = (ctx) => Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install));
12
+ //#endregion
13
+ export { apply, inject, name };
@@ -0,0 +1,3 @@
1
+ /* Generated by @deepseek-ai/dsh-typert-generator from FaceModel — do not edit. */
2
+
3
+ export declare const TYPERT: unknown
@@ -0,0 +1,552 @@
1
+ /* Generated by @deepseek-ai/dsh-typert-generator from FaceModel — do not edit. */
2
+ import { z } from 'zod'
3
+
4
+ const _deepseek_ai_dsh_api_workspace_controller_directoryPicker_createDirectory_parameter_0$schema = z.string()
5
+ const _deepseek_ai_dsh_api_workspace_controller_directoryPicker_createDirectory_parameter_1$schema = z.string()
6
+ const _deepseek_ai_dsh_api_workspace_controller_directoryPicker_createDirectory_result$schema = z.string()
7
+ const _deepseek_ai_dsh_api_workspace_controller_directoryPicker_list_parameter_0$schema = z.union([z.undefined(), z.string()])
8
+ const _deepseek_ai_dsh_api_workspace_controller_directoryPicker_list_result$schema = z.object({
9
+ 'path': z.string(),
10
+ 'home': z.string(),
11
+ 'crumbs': z.array(z.object({
12
+ 'name': z.string(),
13
+ 'path': z.string(),
14
+ 'hidden': z.boolean(),
15
+ })),
16
+ 'entries': z.array(z.object({
17
+ 'name': z.string(),
18
+ 'path': z.string(),
19
+ 'hidden': z.boolean(),
20
+ })),
21
+ 'truncated': z.boolean(),
22
+ })
23
+ const _deepseek_ai_dsh_api_workspace_controller_directoryPicker_pick_result$schema = z.union([z.literal(null), z.string()])
24
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_archiveSession_parameter_0$schema = z.object({
25
+ 'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
26
+ })
27
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_archiveSession_result$schema = z.object({
28
+ 'archivedSessionIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
29
+ })
30
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_create_parameter_0$schema = z.object({
31
+ 'path': z.string().readonly(),
32
+ })
33
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_create_result$schema = z.object({
34
+ 'workspace': z.object({
35
+ 'workspaceId': z.intersection(z.string(), z.unknown()).readonly(),
36
+ 'path': z.string().readonly(),
37
+ 'title': z.string().readonly(),
38
+ 'sessionIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
39
+ 'createdAt': z.string().readonly(),
40
+ 'updatedAt': z.string().readonly(),
41
+ }).readonly(),
42
+ 'created': z.boolean().readonly(),
43
+ })
44
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_delete_parameter_0$schema = z.object({
45
+ 'workspaceId': z.intersection(z.string(), z.unknown()).readonly(),
46
+ })
47
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_delete_result$schema = z.object({
48
+ 'deleted': z.literal(true).readonly(),
49
+ })
50
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_follow_result$schema = z.union([z.object({
51
+ 'type': z.literal("baseline").readonly(),
52
+ 'value': z.object({
53
+ 'items': z.array(z.object({
54
+ 'workspaceId': z.intersection(z.string(), z.unknown()).readonly(),
55
+ 'path': z.string().readonly(),
56
+ 'title': z.string().readonly(),
57
+ 'sessionIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
58
+ 'createdAt': z.string().readonly(),
59
+ 'updatedAt': z.string().readonly(),
60
+ })).readonly(),
61
+ 'archivedSessionIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
62
+ }).readonly(),
63
+ }), z.object({
64
+ 'type': z.literal("upsert").readonly(),
65
+ 'workspace': z.object({
66
+ 'workspaceId': z.intersection(z.string(), z.unknown()).readonly(),
67
+ 'path': z.string().readonly(),
68
+ 'title': z.string().readonly(),
69
+ 'sessionIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
70
+ 'createdAt': z.string().readonly(),
71
+ 'updatedAt': z.string().readonly(),
72
+ }).readonly(),
73
+ }), z.object({
74
+ 'type': z.literal("remove").readonly(),
75
+ 'workspaceId': z.intersection(z.string(), z.unknown()).readonly(),
76
+ }), z.object({
77
+ 'type': z.literal("order").readonly(),
78
+ 'workspaceIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
79
+ }), z.object({
80
+ 'type': z.literal("archived").readonly(),
81
+ 'archivedSessionIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
82
+ })])
83
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_insertBefore_parameter_0$schema = z.object({
84
+ 'workspaceId': z.intersection(z.string(), z.unknown()).readonly(),
85
+ 'beforeWorkspaceId': z.intersection(z.string(), z.unknown()).readonly().optional(),
86
+ })
87
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_insertBefore_result$schema = z.object({
88
+ 'workspaceIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
89
+ })
90
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_insertSessionBefore_parameter_0$schema = z.object({
91
+ 'workspaceId': z.intersection(z.string(), z.unknown()).readonly(),
92
+ 'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
93
+ 'beforeSessionId': z.intersection(z.string(), z.unknown()).readonly().optional(),
94
+ })
95
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_insertSessionBefore_result$schema = z.object({
96
+ 'workspace': z.object({
97
+ 'workspaceId': z.intersection(z.string(), z.unknown()).readonly(),
98
+ 'path': z.string().readonly(),
99
+ 'title': z.string().readonly(),
100
+ 'sessionIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
101
+ 'createdAt': z.string().readonly(),
102
+ 'updatedAt': z.string().readonly(),
103
+ }).readonly(),
104
+ })
105
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_rename_parameter_0$schema = z.object({
106
+ 'workspaceId': z.intersection(z.string(), z.unknown()).readonly(),
107
+ 'title': z.string().readonly(),
108
+ })
109
+ const _deepseek_ai_dsh_api_workspace_controller_workspace_rename_result$schema = z.object({
110
+ 'workspace': z.object({
111
+ 'workspaceId': z.intersection(z.string(), z.unknown()).readonly(),
112
+ 'path': z.string().readonly(),
113
+ 'title': z.string().readonly(),
114
+ 'sessionIds': z.array(z.intersection(z.string(), z.unknown())).readonly(),
115
+ 'createdAt': z.string().readonly(),
116
+ 'updatedAt': z.string().readonly(),
117
+ }).readonly(),
118
+ })
119
+
120
+ export const TYPERT = {
121
+ package: '@deepseek-ai/dsh-api-workspace-controller',
122
+ face: 'host',
123
+ schemas: [
124
+ ],
125
+ invocations: [
126
+ {
127
+ id: '@deepseek-ai/dsh-api-workspace-controller#directoryPicker/createDirectory',
128
+ service: 'directoryPickerController',
129
+ namespace: 'directoryPicker',
130
+ method: 'createDirectory',
131
+ invocation: { kind: 'direct' },
132
+ parameters: [
133
+ {
134
+ name: 'path',
135
+ wire: 'path',
136
+ source: 'json',
137
+ codec: {
138
+ mode: 'strict',
139
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller#directoryPicker/createDirectory:path',
140
+ schema: _deepseek_ai_dsh_api_workspace_controller_directoryPicker_createDirectory_parameter_0$schema,
141
+ },
142
+ },
143
+ {
144
+ name: 'name',
145
+ wire: 'name',
146
+ source: 'json',
147
+ codec: {
148
+ mode: 'strict',
149
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller#directoryPicker/createDirectory:name',
150
+ schema: _deepseek_ai_dsh_api_workspace_controller_directoryPicker_createDirectory_parameter_1$schema,
151
+ },
152
+ },
153
+ ],
154
+ result: {
155
+ mode: 'strict',
156
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller#directoryPicker/createDirectory:result',
157
+ schema: _deepseek_ai_dsh_api_workspace_controller_directoryPicker_createDirectory_result$schema,
158
+ },
159
+ sourceLocation: {"file":"packages/api/workspace-controller/src/directory-picker.ts","line":88,"column":9},
160
+ },
161
+ {
162
+ id: '@deepseek-ai/dsh-api-workspace-controller#directoryPicker/list',
163
+ service: 'directoryPickerController',
164
+ namespace: 'directoryPicker',
165
+ method: 'list',
166
+ invocation: { kind: 'direct' },
167
+ parameters: [
168
+ {
169
+ name: 'path',
170
+ wire: 'path',
171
+ source: 'json',
172
+ acceptsUndefined: true,
173
+ codec: {
174
+ mode: 'strict',
175
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller#directoryPicker/list:path',
176
+ schema: _deepseek_ai_dsh_api_workspace_controller_directoryPicker_list_parameter_0$schema,
177
+ },
178
+ },
179
+ ],
180
+ cancellation: { parameter: 'signal' },
181
+ result: {
182
+ mode: 'strict',
183
+ typeSymbol: '@deepseek-ai/dsh-host-directory-picker/types#DirectoryListing',
184
+ schema: _deepseek_ai_dsh_api_workspace_controller_directoryPicker_list_result$schema,
185
+ },
186
+ sourceLocation: {"file":"packages/api/workspace-controller/src/directory-picker.ts","line":72,"column":9},
187
+ },
188
+ {
189
+ id: '@deepseek-ai/dsh-api-workspace-controller#directoryPicker/pick',
190
+ service: 'directoryPickerController',
191
+ namespace: 'directoryPicker',
192
+ method: 'pick',
193
+ invocation: { kind: 'direct' },
194
+ parameters: [
195
+ ],
196
+ cancellation: { parameter: 'signal' },
197
+ result: {
198
+ mode: 'strict',
199
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller#directoryPicker/pick:result',
200
+ schema: _deepseek_ai_dsh_api_workspace_controller_directoryPicker_pick_result$schema,
201
+ },
202
+ sourceLocation: {"file":"packages/api/workspace-controller/src/directory-picker.ts","line":55,"column":9},
203
+ },
204
+ {
205
+ id: '@deepseek-ai/dsh-api-workspace-controller#workspace/archiveSession',
206
+ service: 'workspaceController',
207
+ namespace: 'workspace',
208
+ method: 'archiveSession',
209
+ invocation: { kind: 'direct' },
210
+ parameters: [
211
+ {
212
+ name: 'request',
213
+ wire: 'request',
214
+ source: 'json',
215
+ codec: {
216
+ mode: 'strict',
217
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceArchiveSessionRequest',
218
+ schema: _deepseek_ai_dsh_api_workspace_controller_workspace_archiveSession_parameter_0$schema,
219
+ },
220
+ },
221
+ ],
222
+ result: {
223
+ mode: 'strict',
224
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceArchiveValue',
225
+ schema: _deepseek_ai_dsh_api_workspace_controller_workspace_archiveSession_result$schema,
226
+ },
227
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":108,"column":3},
228
+ },
229
+ {
230
+ id: '@deepseek-ai/dsh-api-workspace-controller#workspace/create',
231
+ service: 'workspaceController',
232
+ namespace: 'workspace',
233
+ method: 'create',
234
+ invocation: { kind: 'direct' },
235
+ parameters: [
236
+ {
237
+ name: 'request',
238
+ wire: 'request',
239
+ source: 'json',
240
+ codec: {
241
+ mode: 'strict',
242
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceCreateRequest',
243
+ schema: _deepseek_ai_dsh_api_workspace_controller_workspace_create_parameter_0$schema,
244
+ },
245
+ },
246
+ ],
247
+ result: {
248
+ mode: 'strict',
249
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceCreateValue',
250
+ schema: _deepseek_ai_dsh_api_workspace_controller_workspace_create_result$schema,
251
+ },
252
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":58,"column":3},
253
+ },
254
+ {
255
+ id: '@deepseek-ai/dsh-api-workspace-controller#workspace/delete',
256
+ service: 'workspaceController',
257
+ namespace: 'workspace',
258
+ method: 'delete',
259
+ invocation: { kind: 'direct' },
260
+ parameters: [
261
+ {
262
+ name: 'request',
263
+ wire: 'request',
264
+ source: 'json',
265
+ codec: {
266
+ mode: 'strict',
267
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceDeleteRequest',
268
+ schema: _deepseek_ai_dsh_api_workspace_controller_workspace_delete_parameter_0$schema,
269
+ },
270
+ },
271
+ ],
272
+ result: {
273
+ mode: 'strict',
274
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceDeleteValue',
275
+ schema: _deepseek_ai_dsh_api_workspace_controller_workspace_delete_result$schema,
276
+ },
277
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":78,"column":3},
278
+ },
279
+ {
280
+ id: '@deepseek-ai/dsh-api-workspace-controller#workspace/follow',
281
+ service: 'workspaceController',
282
+ namespace: 'workspace',
283
+ method: 'follow',
284
+ mode: 'stream',
285
+ invocation: { kind: 'direct' },
286
+ parameters: [
287
+ ],
288
+ cancellation: { parameter: 'signal' },
289
+ result: {
290
+ mode: 'strict',
291
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceFollowFrame',
292
+ schema: _deepseek_ai_dsh_api_workspace_controller_workspace_follow_result$schema,
293
+ },
294
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":118,"column":3},
295
+ },
296
+ {
297
+ id: '@deepseek-ai/dsh-api-workspace-controller#workspace/insertBefore',
298
+ service: 'workspaceController',
299
+ namespace: 'workspace',
300
+ method: 'insertBefore',
301
+ invocation: { kind: 'direct' },
302
+ parameters: [
303
+ {
304
+ name: 'request',
305
+ wire: 'request',
306
+ source: 'json',
307
+ codec: {
308
+ mode: 'strict',
309
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceInsertBeforeRequest',
310
+ schema: _deepseek_ai_dsh_api_workspace_controller_workspace_insertBefore_parameter_0$schema,
311
+ },
312
+ },
313
+ ],
314
+ result: {
315
+ mode: 'strict',
316
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceOrderValue',
317
+ schema: _deepseek_ai_dsh_api_workspace_controller_workspace_insertBefore_result$schema,
318
+ },
319
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":88,"column":3},
320
+ },
321
+ {
322
+ id: '@deepseek-ai/dsh-api-workspace-controller#workspace/insertSessionBefore',
323
+ service: 'workspaceController',
324
+ namespace: 'workspace',
325
+ method: 'insertSessionBefore',
326
+ invocation: { kind: 'direct' },
327
+ parameters: [
328
+ {
329
+ name: 'request',
330
+ wire: 'request',
331
+ source: 'json',
332
+ codec: {
333
+ mode: 'strict',
334
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceInsertSessionBeforeRequest',
335
+ schema: _deepseek_ai_dsh_api_workspace_controller_workspace_insertSessionBefore_parameter_0$schema,
336
+ },
337
+ },
338
+ ],
339
+ result: {
340
+ mode: 'strict',
341
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceValue',
342
+ schema: _deepseek_ai_dsh_api_workspace_controller_workspace_insertSessionBefore_result$schema,
343
+ },
344
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":98,"column":3},
345
+ },
346
+ {
347
+ id: '@deepseek-ai/dsh-api-workspace-controller#workspace/rename',
348
+ service: 'workspaceController',
349
+ namespace: 'workspace',
350
+ method: 'rename',
351
+ invocation: { kind: 'direct' },
352
+ parameters: [
353
+ {
354
+ name: 'request',
355
+ wire: 'request',
356
+ source: 'json',
357
+ codec: {
358
+ mode: 'strict',
359
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceRenameRequest',
360
+ schema: _deepseek_ai_dsh_api_workspace_controller_workspace_rename_parameter_0$schema,
361
+ },
362
+ },
363
+ ],
364
+ result: {
365
+ mode: 'strict',
366
+ typeSymbol: '@deepseek-ai/dsh-api-workspace-controller/types#WorkspaceValue',
367
+ schema: _deepseek_ai_dsh_api_workspace_controller_workspace_rename_result$schema,
368
+ },
369
+ sourceLocation: {"file":"packages/api/workspace-controller/src/index.ts","line":68,"column":3},
370
+ },
371
+ ],
372
+ model: {
373
+ "services": [
374
+ {
375
+ "description": "Host service backing the generated `ctx.remote.directoryPicker` namespace. The seam it exports is abstract and therefore never a Loader entry of its own, so this controller carries the wire verbs: one composed backend serves either the native chooser or the browse primitives, and a verb the composition cannot serve is refused rather than approximated.",
376
+ "summary": "Host service backing the generated `ctx.remote.directoryPicker` namespace.",
377
+ "tags": [],
378
+ "jsDoc": "/**\n * Host service backing the generated `ctx.remote.directoryPicker` namespace. The\n * seam it exports is abstract and therefore never a Loader entry of its own, so\n * this controller carries the wire verbs: one composed backend serves either the\n * native chooser or the browse primitives, and a verb the composition cannot\n * serve is refused rather than approximated.\n */",
379
+ "key": "directoryPickerController",
380
+ "exportName": "DirectoryPickerController",
381
+ "members": [
382
+ {
383
+ "kind": "method",
384
+ "name": "pick",
385
+ "signature": "@Remote('pick') async pick(signal: AbortSignal): Promise<string | null>",
386
+ "summary": "Open the host's OS chooser for a Remote caller.",
387
+ "jsDoc": "/**\n * Open the host's OS chooser for a Remote caller.\n * @param signal - caller lifetime; abort terminates the chooser.\n * @returns the chosen absolute path, or null when the operator cancels.\n */"
388
+ },
389
+ {
390
+ "kind": "method",
391
+ "name": "list",
392
+ "signature": "@Remote('list') async list(path: string | undefined, signal: AbortSignal): Promise<DirectoryListing>",
393
+ "summary": "List one directory level for a Remote caller's in-app browser.",
394
+ "jsDoc": "/**\n * List one directory level for a Remote caller's in-app browser.\n * @param path - absolute directory to list; absent lists the home directory.\n * @param signal - caller lifetime; abort stops the backend's scan instead of\n * letting it outlive a disconnected caller.\n * @returns the level's listing with its ancestry.\n */"
395
+ },
396
+ {
397
+ "kind": "method",
398
+ "name": "createDirectory",
399
+ "signature": "@Remote('createDirectory') async createDirectory(path: string, name: string): Promise<string>",
400
+ "summary": "Create one child directory for a Remote caller's in-app browser.",
401
+ "jsDoc": "/**\n * Create one child directory for a Remote caller's in-app browser.\n * @param path - absolute existing parent directory.\n * @param name - single non-blank path segment.\n * @returns the created directory's absolute path.\n */"
402
+ }
403
+ ],
404
+ "types": [
405
+ {
406
+ "name": "DirectoryEntry",
407
+ "declaration": "export interface DirectoryEntry {\n name: string;\n path: string;\n hidden: boolean;\n}"
408
+ },
409
+ {
410
+ "name": "DirectoryListing",
411
+ "declaration": "export interface DirectoryListing {\n path: string;\n home: string;\n crumbs: DirectoryEntry[];\n entries: DirectoryEntry[];\n truncated: boolean;\n}"
412
+ }
413
+ ]
414
+ },
415
+ {
416
+ "description": "Host service backing the generated `ctx.remote.workspace` namespace.",
417
+ "summary": "Host service backing the generated `ctx.remote.workspace` namespace.",
418
+ "tags": [],
419
+ "jsDoc": "/** Host service backing the generated `ctx.remote.workspace` namespace. */",
420
+ "key": "workspaceController",
421
+ "exportName": "WorkspaceController",
422
+ "members": [
423
+ {
424
+ "kind": "method",
425
+ "name": "create",
426
+ "signature": "@Remote('create') create(request: WorkspaceCreateRequest): Promise<WorkspaceCreateValue>",
427
+ "summary": "Create or idempotently resolve one Workspace over an existing directory.",
428
+ "jsDoc": "/**\n * Create or idempotently resolve one Workspace over an existing directory.\n * @param request - directory path to register.\n * @returns the Workspace and whether this call created it.\n */"
429
+ },
430
+ {
431
+ "kind": "method",
432
+ "name": "rename",
433
+ "signature": "@Remote('rename') rename(request: WorkspaceRenameRequest): Promise<WorkspaceValue>",
434
+ "summary": "Rename one Workspace to a unique non-blank title.",
435
+ "jsDoc": "/**\n * Rename one Workspace to a unique non-blank title.\n * @param request - Workspace identity and proposed title.\n * @returns the updated Workspace projection.\n */"
436
+ },
437
+ {
438
+ "kind": "method",
439
+ "name": "delete",
440
+ "signature": "@Remote('delete') delete(request: WorkspaceDeleteRequest): Promise<WorkspaceDeleteValue>",
441
+ "summary": "Remove one Workspace registration while retaining files and Sessions.",
442
+ "jsDoc": "/**\n * Remove one Workspace registration while retaining files and Sessions.\n * @param request - Workspace identity to remove.\n * @returns deletion confirmation.\n */"
443
+ },
444
+ {
445
+ "kind": "method",
446
+ "name": "insertBefore",
447
+ "signature": "@Remote('insertBefore') insertBefore(request: WorkspaceInsertBeforeRequest): Promise<WorkspaceOrderValue>",
448
+ "summary": "Move one Workspace within the registry display order.",
449
+ "jsDoc": "/**\n * Move one Workspace within the registry display order.\n * @param request - moved Workspace and optional anchor.\n * @returns the complete resulting Workspace order.\n */"
450
+ },
451
+ {
452
+ "kind": "method",
453
+ "name": "insertSessionBefore",
454
+ "signature": "@Remote('insertSessionBefore') insertSessionBefore(request: WorkspaceInsertSessionBeforeRequest): Promise<WorkspaceValue>",
455
+ "summary": "Move one accounted Session within a Workspace.",
456
+ "jsDoc": "/**\n * Move one accounted Session within a Workspace.\n * @param request - Workspace, Session, and optional anchor identities.\n * @returns the updated Workspace projection.\n */"
457
+ },
458
+ {
459
+ "kind": "method",
460
+ "name": "archiveSession",
461
+ "signature": "@Remote('archiveSession') archiveSession(request: WorkspaceArchiveSessionRequest): Promise<WorkspaceArchiveValue>",
462
+ "summary": "Hide one known Session from Workspace grouping surfaces.",
463
+ "jsDoc": "/**\n * Hide one known Session from Workspace grouping surfaces.\n * @param request - Session identity to archive.\n * @returns the complete resulting archive set.\n */"
464
+ },
465
+ {
466
+ "kind": "method",
467
+ "name": "follow",
468
+ "signature": "@Remote({ mode: 'stream' }) follow(signal: AbortSignal): AsyncIterable<WorkspaceFollowFrame>",
469
+ "summary": "Stream a complete Workspace baseline followed by ordered increments.",
470
+ "jsDoc": "/**\n * Stream a complete Workspace baseline followed by ordered increments.\n * @param signal - generation cancellation.\n * @returns baseline followed by ordered Workspace increments.\n */"
471
+ }
472
+ ],
473
+ "types": [
474
+ {
475
+ "name": "Branded",
476
+ "declaration": "export type Branded<B extends string> = string & { readonly [BRAND]: B; };"
477
+ },
478
+ {
479
+ "name": "SessionId",
480
+ "declaration": "export type SessionId = Branded<'SessionId'>;"
481
+ },
482
+ {
483
+ "name": "WorkspaceArchiveSessionRequest",
484
+ "declaration": "export interface WorkspaceArchiveSessionRequest {\n readonly sessionId: SessionId;\n}"
485
+ },
486
+ {
487
+ "name": "WorkspaceArchiveValue",
488
+ "declaration": "export interface WorkspaceArchiveValue {\n readonly archivedSessionIds: readonly SessionId[];\n}"
489
+ },
490
+ {
491
+ "name": "WorkspaceBaseline",
492
+ "declaration": "export interface WorkspaceBaseline {\n readonly items: readonly WorkspaceView[];\n readonly archivedSessionIds: readonly SessionId[];\n}"
493
+ },
494
+ {
495
+ "name": "WorkspaceCreateRequest",
496
+ "declaration": "export interface WorkspaceCreateRequest {\n readonly path: string;\n}"
497
+ },
498
+ {
499
+ "name": "WorkspaceCreateValue",
500
+ "declaration": "export interface WorkspaceCreateValue {\n readonly workspace: WorkspaceView;\n readonly created: boolean;\n}"
501
+ },
502
+ {
503
+ "name": "WorkspaceDeleteRequest",
504
+ "declaration": "export interface WorkspaceDeleteRequest {\n readonly workspaceId: WorkspaceId;\n}"
505
+ },
506
+ {
507
+ "name": "WorkspaceDeleteValue",
508
+ "declaration": "export interface WorkspaceDeleteValue {\n readonly deleted: true;\n}"
509
+ },
510
+ {
511
+ "name": "WorkspaceFollowFrame",
512
+ "declaration": "export type WorkspaceFollowFrame = { readonly type: 'baseline'; readonly value: WorkspaceBaseline; } | WorkspaceFollowIncrement;"
513
+ },
514
+ {
515
+ "name": "WorkspaceFollowIncrement",
516
+ "declaration": "export type WorkspaceFollowIncrement = { readonly type: 'upsert'; readonly workspace: WorkspaceView; } | { readonly type: 'remove'; readonly workspaceId: WorkspaceId; } | { readonly type: 'order'; readonly workspaceIds: readonly WorkspaceId[]; } | { readonly type: 'archived'; readonly archivedSessionIds: readonly SessionId[]; };"
517
+ },
518
+ {
519
+ "name": "WorkspaceId",
520
+ "declaration": "export type WorkspaceId = Branded<'WorkspaceId'>;"
521
+ },
522
+ {
523
+ "name": "WorkspaceInsertBeforeRequest",
524
+ "declaration": "export interface WorkspaceInsertBeforeRequest {\n readonly workspaceId: WorkspaceId;\n readonly beforeWorkspaceId?: WorkspaceId;\n}"
525
+ },
526
+ {
527
+ "name": "WorkspaceInsertSessionBeforeRequest",
528
+ "declaration": "export interface WorkspaceInsertSessionBeforeRequest {\n readonly workspaceId: WorkspaceId;\n readonly sessionId: SessionId;\n readonly beforeSessionId?: SessionId;\n}"
529
+ },
530
+ {
531
+ "name": "WorkspaceOrderValue",
532
+ "declaration": "export interface WorkspaceOrderValue {\n readonly workspaceIds: readonly WorkspaceId[];\n}"
533
+ },
534
+ {
535
+ "name": "WorkspaceRenameRequest",
536
+ "declaration": "export interface WorkspaceRenameRequest {\n readonly workspaceId: WorkspaceId;\n readonly title: string;\n}"
537
+ },
538
+ {
539
+ "name": "WorkspaceValue",
540
+ "declaration": "export interface WorkspaceValue {\n readonly workspace: WorkspaceView;\n}"
541
+ },
542
+ {
543
+ "name": "WorkspaceView",
544
+ "declaration": "export interface WorkspaceView {\n readonly workspaceId: WorkspaceId;\n readonly path: string;\n readonly title: string;\n readonly sessionIds: readonly SessionId[];\n readonly createdAt: string;\n readonly updatedAt: string;\n}"
545
+ }
546
+ ]
547
+ }
548
+ ],
549
+ "events": [],
550
+ "objects": []
551
+ },
552
+ }
@@ -0,0 +1,44 @@
1
+ /* Generated by @deepseek-ai/dsh-typert-generator from the Host FaceModel — do not edit. */
2
+ import type {
3
+ RemoteResult,
4
+ TypertRemoteContribution,
5
+ } from '@deepseek-ai/dsh-typert-protocol'
6
+ import type { WorkspaceArchiveSessionRequest, WorkspaceArchiveValue, WorkspaceCreateRequest, WorkspaceCreateValue, WorkspaceDeleteRequest, WorkspaceDeleteValue, WorkspaceFollowFrame, WorkspaceInsertBeforeRequest, WorkspaceInsertSessionBeforeRequest, WorkspaceOrderValue, WorkspaceRenameRequest, WorkspaceValue } from '@deepseek-ai/dsh-api-workspace-controller/types'
7
+ import type { DirectoryListing } from '@deepseek-ai/dsh-host-directory-picker/types'
8
+
9
+ declare module '@deepseek-ai/dsh-typert-protocol' {
10
+ interface TypertRemoteNamespace$6469726563746f72795069636b6572 {
11
+ createDirectory: (path: string, name: string) => Promise<RemoteResult<string>>
12
+ list: (path: string | undefined, signal?: AbortSignal) => Promise<RemoteResult<DirectoryListing>>
13
+ pick: (signal?: AbortSignal) => Promise<RemoteResult<string | null>>
14
+ }
15
+ interface TypertRemoteNamespace$776f726b7370616365 {
16
+ archiveSession: (request: WorkspaceArchiveSessionRequest) => Promise<RemoteResult<WorkspaceArchiveValue>>
17
+ create: (request: WorkspaceCreateRequest) => Promise<RemoteResult<WorkspaceCreateValue>>
18
+ delete: (request: WorkspaceDeleteRequest) => Promise<RemoteResult<WorkspaceDeleteValue>>
19
+ follow: (signal?: AbortSignal) => AsyncIterable<WorkspaceFollowFrame>
20
+ insertBefore: (request: WorkspaceInsertBeforeRequest) => Promise<RemoteResult<WorkspaceOrderValue>>
21
+ insertSessionBefore: (request: WorkspaceInsertSessionBeforeRequest) => Promise<RemoteResult<WorkspaceValue>>
22
+ rename: (request: WorkspaceRenameRequest) => Promise<RemoteResult<WorkspaceValue>>
23
+ }
24
+ interface TypertRemoteMap {
25
+ 'directoryPicker/createDirectory': (path: string, name: string) => Promise<RemoteResult<string>>
26
+ 'directoryPicker/list': (path: string | undefined, signal?: AbortSignal) => Promise<RemoteResult<DirectoryListing>>
27
+ 'directoryPicker/pick': (signal?: AbortSignal) => Promise<RemoteResult<string | null>>
28
+ 'workspace/archiveSession': (request: WorkspaceArchiveSessionRequest) => Promise<RemoteResult<WorkspaceArchiveValue>>
29
+ 'workspace/create': (request: WorkspaceCreateRequest) => Promise<RemoteResult<WorkspaceCreateValue>>
30
+ 'workspace/delete': (request: WorkspaceDeleteRequest) => Promise<RemoteResult<WorkspaceDeleteValue>>
31
+ 'workspace/follow': (signal?: AbortSignal) => AsyncIterable<WorkspaceFollowFrame>
32
+ 'workspace/insertBefore': (request: WorkspaceInsertBeforeRequest) => Promise<RemoteResult<WorkspaceOrderValue>>
33
+ 'workspace/insertSessionBefore': (request: WorkspaceInsertSessionBeforeRequest) => Promise<RemoteResult<WorkspaceValue>>
34
+ 'workspace/rename': (request: WorkspaceRenameRequest) => Promise<RemoteResult<WorkspaceValue>>
35
+ }
36
+ interface TypertRemoteNamespaceMap {
37
+ 'directoryPicker': TypertRemoteNamespace$6469726563746f72795069636b6572
38
+ 'workspace': TypertRemoteNamespace$776f726b7370616365
39
+ }
40
+ }
41
+
42
+ export declare const TYPERT_REMOTE: TypertRemoteContribution
43
+ export default TYPERT_REMOTE
44
+ //# sourceMappingURL=typert.remote-client.d.ts.map