@rool-dev/svelte 0.10.2-dev.eeb9773 → 0.11.0-dev.7c05180
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +114 -76
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/rool.svelte.d.ts +0 -2
- package/dist/rool.svelte.d.ts.map +1 -1
- package/dist/rool.svelte.js +0 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Svelte 5 bindings for Rool Spaces. Adds reactive state to the SDK using `$state` runes.
|
|
4
4
|
|
|
5
|
-
**Requires Svelte 5.** For core concepts (objects, references, AI
|
|
5
|
+
**Requires Svelte 5.** For core concepts (objects, references, AI, WebDAV files, undo/redo), see the [SDK documentation](../sdk/README.md).
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
@@ -13,16 +13,18 @@ npm install @rool-dev/svelte
|
|
|
13
13
|
## Quick Start
|
|
14
14
|
|
|
15
15
|
```svelte
|
|
16
|
-
<script>
|
|
17
|
-
import { createRool } from '@rool-dev/svelte';
|
|
16
|
+
<script lang="ts">
|
|
17
|
+
import { createRool, type ReactiveChannel } from '@rool-dev/svelte';
|
|
18
18
|
|
|
19
19
|
const rool = createRool();
|
|
20
|
-
rool.init();
|
|
20
|
+
void rool.init();
|
|
21
21
|
|
|
22
|
-
let channel = $state(null);
|
|
22
|
+
let channel = $state<ReactiveChannel | null>(null);
|
|
23
23
|
</script>
|
|
24
24
|
|
|
25
|
-
{#if
|
|
25
|
+
{#if rool.authenticated === null}
|
|
26
|
+
<p>Checking session...</p>
|
|
27
|
+
{:else if !rool.authenticated}
|
|
26
28
|
<button onclick={() => rool.login('My App')}>Login</button>
|
|
27
29
|
{:else}
|
|
28
30
|
<h1>My Spaces</h1>
|
|
@@ -48,14 +50,15 @@ The Svelte wrapper adds reactive state on top of the SDK:
|
|
|
48
50
|
| Reactive Property | Description |
|
|
49
51
|
|-------------------|-------------|
|
|
50
52
|
| `rool.authenticated` | Auth state (`null` = checking, `true`/`false` = known) |
|
|
53
|
+
| `rool.currentUser` | Current user profile after authentication |
|
|
51
54
|
| `rool.spaces` | List of available spaces |
|
|
52
55
|
| `rool.spacesLoading` | Whether spaces are loading |
|
|
53
56
|
| `rool.spacesError` | Error from loading spaces |
|
|
54
|
-
| `rool.connectionState` | SSE connection state |
|
|
57
|
+
| `rool.connectionState` | Client SSE connection state |
|
|
55
58
|
| `rool.userStorage` | User storage (cross-device preferences) |
|
|
56
59
|
| `space.fileTree` | Canonical reactive WebDAV tree for `/`, including `/space` objects and `/rool-drive` user files |
|
|
57
|
-
| `channel.interactions` |
|
|
58
|
-
| `channel.
|
|
60
|
+
| `channel.interactions` | Current conversation interactions |
|
|
61
|
+
| `channel.objectPaths` | Object paths derived from `space.fileTree` |
|
|
59
62
|
| `channel.collections` | Collection directories derived from `space.fileTree` |
|
|
60
63
|
| `channel.conversations` | Conversations in this channel (auto-updates on create/delete/rename) |
|
|
61
64
|
| `thread.interactions` | Interactions for a specific conversation (auto-updates) |
|
|
@@ -75,10 +78,10 @@ space.fileTree.nodes; // ReactiveFileNode[]
|
|
|
75
78
|
space.fileTree.byPath['/space']; // lookup by machine/WebDAV path
|
|
76
79
|
space.fileTree.childrenOf('/'); // /space and /rool-drive
|
|
77
80
|
space.fileTree.childrenOf('/rool-drive');
|
|
78
|
-
space.fileTree.
|
|
81
|
+
space.fileTree.objectPaths(); // object paths from /space/**/*.json
|
|
79
82
|
```
|
|
80
83
|
|
|
81
|
-
Use this tree when UI needs to react to both files and objects. Object helpers like `channel.object()`, `channel.watch()`, `channel.
|
|
84
|
+
Use this tree when UI needs to react to both files and objects. Object helpers like `channel.object()`, `channel.watch()`, `channel.objectPaths`, and `channel.collections` are backed by this tree.
|
|
82
85
|
|
|
83
86
|
## API
|
|
84
87
|
|
|
@@ -87,7 +90,7 @@ Use this tree when UI needs to react to both files and objects. Object helpers l
|
|
|
87
90
|
```typescript
|
|
88
91
|
const rool = createRool();
|
|
89
92
|
|
|
90
|
-
rool.init();
|
|
93
|
+
void rool.init(); // Process auth callbacks (call on app startup)
|
|
91
94
|
rool.login('My App'); // Redirect to login page
|
|
92
95
|
rool.signup('My App'); // Redirect to signup page
|
|
93
96
|
rool.verify(token); // Sign in from an email verification link (used by the official Rool app)
|
|
@@ -106,6 +109,7 @@ rool.destroy(); // Clean up all resources
|
|
|
106
109
|
// rool.spacesError → Error | null
|
|
107
110
|
// rool.connectionState → 'connected' | 'disconnected' | 'reconnecting'
|
|
108
111
|
// rool.userStorage → Record<string, unknown>
|
|
112
|
+
// rool.currentUser → CurrentUser | null
|
|
109
113
|
</script>
|
|
110
114
|
|
|
111
115
|
{#if rool.spacesLoading}
|
|
@@ -124,9 +128,10 @@ rool.destroy(); // Clean up all resources
|
|
|
124
128
|
Reactive cross-device storage for user preferences. Synced from server on `init()`, then kept up-to-date via SSE.
|
|
125
129
|
|
|
126
130
|
```svelte
|
|
127
|
-
<script>
|
|
131
|
+
<script lang="ts">
|
|
132
|
+
import { createRool } from '@rool-dev/svelte';
|
|
128
133
|
const rool = createRool();
|
|
129
|
-
rool.init();
|
|
134
|
+
void rool.init();
|
|
130
135
|
</script>
|
|
131
136
|
|
|
132
137
|
<!-- Reactive binding to storage values -->
|
|
@@ -137,9 +142,7 @@ Reactive cross-device storage for user preferences. Synced from server on `init(
|
|
|
137
142
|
{/if}
|
|
138
143
|
|
|
139
144
|
<!-- Theme toggle -->
|
|
140
|
-
<button onclick={() => rool.setUserStorage('theme',
|
|
141
|
-
rool.userStorage.theme === 'dark' ? 'light' : 'dark'
|
|
142
|
-
)}>
|
|
145
|
+
<button onclick={() => rool.setUserStorage('theme', rool.userStorage.theme === 'dark' ? 'light' : 'dark')}>
|
|
143
146
|
Toggle theme
|
|
144
147
|
</button>
|
|
145
148
|
```
|
|
@@ -176,47 +179,55 @@ space.close();
|
|
|
176
179
|
|
|
177
180
|
### ReactiveChannel
|
|
178
181
|
|
|
179
|
-
`space.openChannel()` returns a `ReactiveChannel` — the SDK's `RoolChannel` with reactive `interactions` and file-tree-backed object helpers:
|
|
182
|
+
`space.openChannel()` returns a `ReactiveChannel` — the SDK's `RoolChannel` with reactive `interactions`, `objectPaths`, `collections`, `conversations`, and file-tree-backed object helpers:
|
|
180
183
|
|
|
181
184
|
```svelte
|
|
182
|
-
<script>
|
|
183
|
-
|
|
184
|
-
|
|
185
|
+
<script lang="ts">
|
|
186
|
+
import { createRool, type ReactiveChannel, type ReactiveSpace } from '@rool-dev/svelte';
|
|
187
|
+
|
|
188
|
+
const rool = createRool();
|
|
189
|
+
void rool.init();
|
|
185
190
|
|
|
186
|
-
|
|
191
|
+
let space = $state<ReactiveSpace | null>(null);
|
|
192
|
+
let channel = $state<ReactiveChannel | null>(null);
|
|
193
|
+
|
|
194
|
+
async function open(spaceId: string) {
|
|
187
195
|
space = await rool.openSpace(spaceId);
|
|
188
196
|
channel = await space.openChannel('main');
|
|
189
197
|
}
|
|
190
198
|
</script>
|
|
191
199
|
|
|
192
200
|
{#if channel}
|
|
193
|
-
<!-- Reactive: updates
|
|
201
|
+
<!-- Reactive: updates when the current conversation changes -->
|
|
194
202
|
{#each channel.interactions as interaction}
|
|
195
203
|
<div>
|
|
196
|
-
<strong>{interaction.operation}</strong>: {interaction.output}
|
|
204
|
+
<strong>{interaction.operation}</strong>: {interaction.output ?? ''}
|
|
197
205
|
</div>
|
|
198
206
|
{/each}
|
|
199
207
|
|
|
200
208
|
<!-- All SDK methods work directly -->
|
|
201
|
-
<button onclick={() => channel.prompt('Hello')}>Send</button>
|
|
209
|
+
<button onclick={() => void channel.prompt('Hello')}>Send</button>
|
|
202
210
|
{/if}
|
|
203
211
|
```
|
|
204
212
|
|
|
205
213
|
### Reactive Object
|
|
206
214
|
|
|
207
|
-
Track a single object by
|
|
215
|
+
Track a single object by machine path with auto-updates:
|
|
208
216
|
|
|
209
217
|
```svelte
|
|
210
|
-
<script>
|
|
211
|
-
|
|
212
|
-
|
|
218
|
+
<script lang="ts">
|
|
219
|
+
import { createRool, type ReactiveChannel, type ReactiveObject } from '@rool-dev/svelte';
|
|
220
|
+
|
|
221
|
+
const rool = createRool();
|
|
222
|
+
void rool.init();
|
|
213
223
|
|
|
214
|
-
let
|
|
224
|
+
let channel = $state<ReactiveChannel | null>(null);
|
|
225
|
+
let item = $state<ReactiveObject | null>(null);
|
|
215
226
|
|
|
216
|
-
async function open(spaceId,
|
|
217
|
-
space = await rool.openSpace(spaceId);
|
|
227
|
+
async function open(spaceId: string, path: string) {
|
|
228
|
+
const space = await rool.openSpace(spaceId);
|
|
218
229
|
channel = await space.openChannel('main');
|
|
219
|
-
item = channel.object(
|
|
230
|
+
item = channel.object(path); // e.g. '/space/article/welcome.json'
|
|
220
231
|
}
|
|
221
232
|
</script>
|
|
222
233
|
|
|
@@ -224,7 +235,7 @@ Track a single object by location with auto-updates:
|
|
|
224
235
|
{#if item.loading}
|
|
225
236
|
<p>Loading...</p>
|
|
226
237
|
{:else if item.data}
|
|
227
|
-
<div>{item.data.body.title}</div>
|
|
238
|
+
<div>{String(item.data.body.title ?? '')}</div>
|
|
228
239
|
{:else}
|
|
229
240
|
<p>Object not found</p>
|
|
230
241
|
{/if}
|
|
@@ -248,13 +259,16 @@ item.close() // Stop listening for updates
|
|
|
248
259
|
Create auto-updating watches of objects filtered by field values:
|
|
249
260
|
|
|
250
261
|
```svelte
|
|
251
|
-
<script>
|
|
252
|
-
|
|
253
|
-
let articles = $state(null);
|
|
262
|
+
<script lang="ts">
|
|
263
|
+
import { createRool, type ReactiveChannel, type ReactiveSpace, type ReactiveWatch } from '@rool-dev/svelte';
|
|
254
264
|
|
|
255
|
-
|
|
265
|
+
const rool = createRool();
|
|
266
|
+
void rool.init();
|
|
256
267
|
|
|
257
|
-
|
|
268
|
+
let space = $state<ReactiveSpace | null>(null);
|
|
269
|
+
let channel = $state<ReactiveChannel | null>(null);
|
|
270
|
+
let articles = $state<ReactiveWatch | null>(null);
|
|
271
|
+
async function open(spaceId: string) {
|
|
258
272
|
space = await rool.openSpace(spaceId);
|
|
259
273
|
channel = await space.openChannel('main');
|
|
260
274
|
// Create a reactive watch of all objects in the 'article' collection
|
|
@@ -267,7 +281,7 @@ Create auto-updating watches of objects filtered by field values:
|
|
|
267
281
|
<p>Loading...</p>
|
|
268
282
|
{:else}
|
|
269
283
|
{#each articles.objects as article}
|
|
270
|
-
<div>{article.body.title}</div>
|
|
284
|
+
<div>{String(article.body.title ?? '')}</div>
|
|
271
285
|
{/each}
|
|
272
286
|
{/if}
|
|
273
287
|
{/if}
|
|
@@ -297,36 +311,51 @@ articles.close() // Stop listening for updates
|
|
|
297
311
|
|
|
298
312
|
### Reactive Channel List
|
|
299
313
|
|
|
300
|
-
`space.channels` is a reactive `ChannelInfo[]`
|
|
314
|
+
`space.channels` is a reactive `ChannelInfo[]` on an opened `ReactiveSpace`. If you only need a live channel list without managing a `ReactiveSpace`, use `rool.channels(spaceId)` and call `close()` when done.
|
|
301
315
|
|
|
302
316
|
```svelte
|
|
303
|
-
<script>
|
|
304
|
-
|
|
317
|
+
<script lang="ts">
|
|
318
|
+
import { createRool, type ReactiveSpace } from '@rool-dev/svelte';
|
|
319
|
+
|
|
320
|
+
const rool = createRool();
|
|
321
|
+
void rool.init();
|
|
305
322
|
|
|
306
|
-
|
|
323
|
+
let space = $state<ReactiveSpace | null>(null);
|
|
324
|
+
async function open(spaceId: string) {
|
|
307
325
|
space = await rool.openSpace(spaceId);
|
|
308
326
|
}
|
|
309
327
|
</script>
|
|
310
328
|
|
|
311
329
|
{#if space}
|
|
312
330
|
{#each space.channels as ch}
|
|
313
|
-
<button onclick={() => space.openChannel(ch.id)}>{ch.name ?? ch.id}</button>
|
|
331
|
+
<button onclick={() => void space.openChannel(ch.id)}>{ch.name ?? ch.id}</button>
|
|
314
332
|
{/each}
|
|
315
333
|
{/if}
|
|
316
334
|
```
|
|
317
335
|
|
|
336
|
+
```typescript
|
|
337
|
+
const channels = rool.channels(spaceId);
|
|
338
|
+
channels.list; // ChannelInfo[]
|
|
339
|
+
channels.loading; // boolean
|
|
340
|
+
await channels.refresh();
|
|
341
|
+
channels.close();
|
|
342
|
+
```
|
|
343
|
+
|
|
318
344
|
### Reactive Conversation Handle
|
|
319
345
|
|
|
320
346
|
For apps with multiple independent interaction threads (e.g., chat with threads), use `channel.conversation()` to get a handle with reactive interactions:
|
|
321
347
|
|
|
322
348
|
```svelte
|
|
323
|
-
<script>
|
|
324
|
-
|
|
325
|
-
let thread = $state(null);
|
|
349
|
+
<script lang="ts">
|
|
350
|
+
import { createRool, type ReactiveChannel, type ReactiveConversationHandle, type ReactiveSpace } from '@rool-dev/svelte';
|
|
326
351
|
|
|
327
|
-
|
|
352
|
+
const rool = createRool();
|
|
353
|
+
void rool.init();
|
|
328
354
|
|
|
329
|
-
|
|
355
|
+
let space = $state<ReactiveSpace | null>(null);
|
|
356
|
+
let channel = $state<ReactiveChannel | null>(null);
|
|
357
|
+
let thread = $state<ReactiveConversationHandle | null>(null);
|
|
358
|
+
async function openThread(spaceId: string, threadId: string) {
|
|
330
359
|
space = await rool.openSpace(spaceId);
|
|
331
360
|
channel = await space.openChannel('main');
|
|
332
361
|
thread = channel.conversation(threadId);
|
|
@@ -338,17 +367,18 @@ For apps with multiple independent interaction threads (e.g., chat with threads)
|
|
|
338
367
|
<div>{interaction.output}</div>
|
|
339
368
|
{/each}
|
|
340
369
|
|
|
341
|
-
<button onclick={() => thread.prompt('Hello')}>Send</button>
|
|
370
|
+
<button onclick={() => void thread.prompt('Hello')}>Send</button>
|
|
342
371
|
{/if}
|
|
343
372
|
```
|
|
344
373
|
|
|
345
374
|
```typescript
|
|
346
375
|
// Reactive state
|
|
347
|
-
thread.interactions // $state<Interaction[]> —
|
|
376
|
+
thread.interactions // $state<Interaction[]> — updates from space/channel events
|
|
348
377
|
|
|
349
|
-
//
|
|
378
|
+
// Conversation-scoped methods
|
|
350
379
|
await thread.prompt('Hello')
|
|
351
|
-
await thread.
|
|
380
|
+
await thread.putObject('/space/note/welcome.json', { text: 'Note' })
|
|
381
|
+
await thread.patchObject('/space/note/welcome.json', { data: { text: 'Updated' } })
|
|
352
382
|
await thread.setSystemInstruction('Respond in haiku')
|
|
353
383
|
await thread.rename('Research Thread')
|
|
354
384
|
thread.getInteractions() // Manual read
|
|
@@ -358,7 +388,7 @@ thread.getSystemInstruction()
|
|
|
358
388
|
thread.close() // Stop listening for updates
|
|
359
389
|
```
|
|
360
390
|
|
|
361
|
-
Conversations are auto-created
|
|
391
|
+
Conversations are auto-created when you first write history or settings. Real-time events are owned by the space subscription; conversation handles subscribe to channel events locally.
|
|
362
392
|
|
|
363
393
|
### Channel Management
|
|
364
394
|
|
|
@@ -384,13 +414,13 @@ channel.name
|
|
|
384
414
|
channel.role
|
|
385
415
|
channel.channelId
|
|
386
416
|
|
|
387
|
-
// Object operations — addressed by
|
|
388
|
-
|
|
389
|
-
await channel.
|
|
390
|
-
await channel.
|
|
391
|
-
await channel.
|
|
392
|
-
await channel.moveObject(
|
|
393
|
-
await channel.deleteObjects([
|
|
417
|
+
// Object operations — addressed by exact machine paths
|
|
418
|
+
const path = '/space/note/welcome.json';
|
|
419
|
+
await channel.getObject(path)
|
|
420
|
+
await channel.putObject(path, { text: 'Hello' })
|
|
421
|
+
await channel.patchObject(path, { data: { text: 'Updated' } })
|
|
422
|
+
await channel.moveObject(path, '/space/note/renamed.json')
|
|
423
|
+
await channel.deleteObjects(['/space/note/renamed.json'])
|
|
394
424
|
|
|
395
425
|
// AI
|
|
396
426
|
await channel.prompt('Summarize everything')
|
|
@@ -401,7 +431,7 @@ await channel.createCollection('article', [
|
|
|
401
431
|
{ name: 'title', type: { kind: 'string' } },
|
|
402
432
|
{ name: 'status', type: { kind: 'enum', values: ['draft', 'published'] } },
|
|
403
433
|
])
|
|
404
|
-
await channel.alterCollection('article',
|
|
434
|
+
await channel.alterCollection('article', updatedFields)
|
|
405
435
|
await channel.dropCollection('article')
|
|
406
436
|
|
|
407
437
|
// Undo/Redo
|
|
@@ -419,7 +449,7 @@ await channel.renameConversation('Research')
|
|
|
419
449
|
// Conversation handles (reactive interactions for specific conversations)
|
|
420
450
|
const thread = channel.conversation('thread-42');
|
|
421
451
|
await thread.prompt('Hello'); // Uses thread-42's interaction history
|
|
422
|
-
// thread.interactions is reactive $state —
|
|
452
|
+
// thread.interactions is reactive $state — updates from space/channel events
|
|
423
453
|
thread.close(); // Stop listening when done
|
|
424
454
|
|
|
425
455
|
// Channel admin
|
|
@@ -431,19 +461,23 @@ See the [SDK documentation](../sdk/README.md) for complete API details.
|
|
|
431
461
|
### Utilities
|
|
432
462
|
|
|
433
463
|
```typescript
|
|
434
|
-
import {
|
|
464
|
+
import { machinePath, machineUri, isObjectPath, generateId } from '@rool-dev/svelte';
|
|
465
|
+
|
|
466
|
+
machinePath('rool-machine:/rool-drive/docs/read%20me.md');
|
|
467
|
+
// '/rool-drive/docs/read me.md'
|
|
435
468
|
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
469
|
+
machineUri('/space/article/welcome.json');
|
|
470
|
+
// 'rool-machine:/space/article/welcome.json'
|
|
471
|
+
|
|
472
|
+
isObjectPath('/space/article/welcome.json'); // true
|
|
473
|
+
generateId(); // 6-character alphanumeric ID
|
|
440
474
|
```
|
|
441
475
|
|
|
442
476
|
## Exported Types
|
|
443
477
|
|
|
444
478
|
```typescript
|
|
445
479
|
// Package types
|
|
446
|
-
import type { Rool, ReactiveChannel, ReactiveConversationHandle, ReactiveObject, ReactiveWatch, WatchOptions, ReactiveChannelList } from '@rool-dev/svelte';
|
|
480
|
+
import type { Rool, ReactiveSpace, ReactiveChannel, ReactiveConversationHandle, ReactiveObject, ReactiveWatch, WatchOptions, ReactiveChannelList, ReactiveFileTree, ReactiveFileNode, ReactiveFileRoot, ReactiveFileTreeEvent, ReactiveFileTreeSyncResult } from '@rool-dev/svelte';
|
|
447
481
|
|
|
448
482
|
// Re-exported from @rool-dev/sdk
|
|
449
483
|
import type {
|
|
@@ -453,6 +487,7 @@ import type {
|
|
|
453
487
|
RoolSpace,
|
|
454
488
|
RoolSpaceInfo,
|
|
455
489
|
RoolObject,
|
|
490
|
+
GetObjectsResult,
|
|
456
491
|
RoolObjectStat,
|
|
457
492
|
RoolUserRole,
|
|
458
493
|
ConnectionState,
|
|
@@ -462,23 +497,26 @@ import type {
|
|
|
462
497
|
CurrentUser,
|
|
463
498
|
Interaction,
|
|
464
499
|
PromptOptions,
|
|
465
|
-
|
|
500
|
+
PromptAttachment,
|
|
466
501
|
UpdateObjectOptions,
|
|
467
502
|
MoveObjectOptions,
|
|
503
|
+
CollectionOptions,
|
|
468
504
|
FieldType,
|
|
469
505
|
FieldDef,
|
|
470
506
|
CollectionDef,
|
|
471
507
|
SpaceSchema,
|
|
472
508
|
SpaceMember,
|
|
473
509
|
UserResult,
|
|
510
|
+
SpaceFileStorageUsage,
|
|
511
|
+
RoolSpaceEvents,
|
|
512
|
+
WebDAVDepth,
|
|
513
|
+
WebDAVSyncLevel,
|
|
514
|
+
WebDAVPropName,
|
|
515
|
+
WebDAVResponse,
|
|
516
|
+
WebDAVProps,
|
|
474
517
|
} from '@rool-dev/svelte';
|
|
475
518
|
```
|
|
476
519
|
|
|
477
|
-
## Examples
|
|
478
|
-
|
|
479
|
-
- [soft-sql](../../examples/soft-sql) — SQL-style natural language queries with live tool call progress
|
|
480
|
-
- [flashcards](../../examples/flashcards) — Spaced repetition with AI-generated cards
|
|
481
|
-
|
|
482
520
|
## License
|
|
483
521
|
|
|
484
522
|
MIT - see [LICENSE](../../LICENSE) for details.
|
package/dist/index.d.ts
CHANGED
|
@@ -7,5 +7,5 @@ export type { Rool } from './rool.svelte.js';
|
|
|
7
7
|
export type { ReactiveChannel, ReactiveConversationHandle, ReactiveObject, ReactiveWatch, ReactiveChannelList, WatchOptions } from './channel.svelte.js';
|
|
8
8
|
export type { ReactiveSpace } from './space.svelte.js';
|
|
9
9
|
export type { ReactiveFileNode, ReactiveFilePath, ReactiveFileRoot, ReactiveFileTreeEvent, ReactiveFileTreeSyncResult } from './file-tree.svelte.js';
|
|
10
|
-
export type { RoolClientConfig, RoolChannel, RoolSpace, RoolSpaceInfo, RoolObject, GetObjectsResult, RoolObjectStat, RoolUserRole, ConnectionState, ChannelInfo, Conversation, ConversationInfo, CurrentUser, Interaction, PromptOptions, PromptAttachment, UpdateObjectOptions, MoveObjectOptions, CollectionOptions, FieldType, FieldDef, CollectionDef, SpaceSchema, SpaceMember, UserResult, RoolClient, RoolSpaceEvents,
|
|
10
|
+
export type { RoolClientConfig, RoolChannel, RoolSpace, RoolSpaceInfo, RoolObject, GetObjectsResult, RoolObjectStat, RoolUserRole, ConnectionState, ChannelInfo, Conversation, ConversationInfo, CurrentUser, Interaction, PromptOptions, PromptAttachment, UpdateObjectOptions, MoveObjectOptions, CollectionOptions, FieldType, FieldDef, CollectionDef, SpaceSchema, SpaceMember, UserResult, RoolClient, RoolSpaceEvents, SpaceFileStorageUsage, WebDAVDepth, WebDAVSyncLevel, WebDAVPropName, WebDAVResponse, WebDAVProps, } from '@rool-dev/sdk';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,YAAY,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,0BAA0B,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzJ,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAGrJ,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,YAAY,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,0BAA0B,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzJ,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAGrJ,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,WAAW,GACZ,MAAM,eAAe,CAAC"}
|
package/dist/rool.svelte.d.ts
CHANGED
|
@@ -120,8 +120,6 @@ declare class RoolImpl {
|
|
|
120
120
|
slug?: string;
|
|
121
121
|
marketingOptIn?: boolean;
|
|
122
122
|
}): Promise<CurrentUser>;
|
|
123
|
-
/** Respond to a server-initiated probe with a method-specific result or error. */
|
|
124
|
-
probeResponse(requestId: string, result?: unknown, error?: string): Promise<boolean>;
|
|
125
123
|
/**
|
|
126
124
|
* Create a reactive channel list for a space.
|
|
127
125
|
* Auto-updates when channels are created, updated, or deleted.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rool.svelte.d.ts","sourceRoot":"","sources":["../src/rool.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9H,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElE;;;;;;;;GAQG;AACH,cAAM,QAAQ;;IAMZ,aAAa,iBAAgC;IAC7C,MAAM,8BAAkD;IACxD,aAAa,UAAiB;IAC9B,WAAW,eAA8B;IACzC,eAAe,kBAA2C;IAC1D,WAAW,0BAAuC;IAClD,WAAW,qBAAoC;gBAEnC,MAAM,CAAC,EAAE,gBAAgB;IAKrC;;;OAGG;IACH,IAAI,MAAM,IAAI,UAAU,CAEvB;IAwDD;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAgB9B;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI7D;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI9D;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa7C;;OAEG;IACH,MAAM,IAAI,IAAI;IAQd;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAOxD;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAOvD;;OAEG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAOjF;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C;;OAEG;IACH,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C;;OAEG;IACH,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIvD;;OAEG;IACH,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI5C;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKjD;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAI9C;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM;IAIxB;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;IAOxE;;OAEG;IACH,IAAI,QAAQ,qCAEX;IAED;;OAEG;IACG,cAAc;IAMpB;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE;IAOzF
|
|
1
|
+
{"version":3,"file":"rool.svelte.d.ts","sourceRoot":"","sources":["../src/rool.svelte.ts"],"names":[],"mappings":"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"}
|
package/dist/rool.svelte.js
CHANGED
|
@@ -260,10 +260,6 @@ class RoolImpl {
|
|
|
260
260
|
this.currentUser = user;
|
|
261
261
|
return user;
|
|
262
262
|
}
|
|
263
|
-
/** Respond to a server-initiated probe with a method-specific result or error. */
|
|
264
|
-
probeResponse(requestId, result, error) {
|
|
265
|
-
return this.#client.probeResponse(requestId, result, error);
|
|
266
|
-
}
|
|
267
263
|
/**
|
|
268
264
|
* Create a reactive channel list for a space.
|
|
269
265
|
* Auto-updates when channels are created, updated, or deleted.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rool-dev/svelte",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0-dev.7c05180",
|
|
4
4
|
"description": "Svelte 5 runes for Rool Spaces",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"svelte": "./dist/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"license": "MIT",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@rool-dev/sdk": "0.
|
|
44
|
+
"@rool-dev/sdk": "0.11.0-dev.7c05180"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"svelte": "^5.0.0"
|