@rool-dev/svelte 0.10.2-dev.5cff17c → 0.10.2-dev.7a2da99
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 +0 -5
- package/dist/channel.svelte.d.ts +11 -14
- package/dist/channel.svelte.d.ts.map +1 -1
- package/dist/channel.svelte.js +26 -29
- package/dist/file-tree.svelte.d.ts +4 -4
- package/dist/file-tree.svelte.d.ts.map +1 -1
- package/dist/file-tree.svelte.js +14 -30
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/rool.svelte.d.ts +1 -20
- package/dist/rool.svelte.d.ts.map +1 -1
- package/dist/rool.svelte.js +0 -35
- package/dist/space.svelte.d.ts +1 -2
- package/dist/space.svelte.d.ts.map +1 -1
- package/dist/space.svelte.js +1 -2
- package/package.json +2 -2
package/README.md
CHANGED
package/dist/channel.svelte.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ declare class ReactiveWatchImpl {
|
|
|
22
22
|
objects: RoolObject[];
|
|
23
23
|
loading: boolean;
|
|
24
24
|
constructor(channel: RoolChannel, fileTree: ReactiveFileTree, options: WatchOptions);
|
|
25
|
-
/** Re-fetch matching objects using the canonical file tree for
|
|
25
|
+
/** Re-fetch matching objects using the canonical file tree for paths. */
|
|
26
26
|
refresh(): Promise<void>;
|
|
27
27
|
close(): void;
|
|
28
28
|
}
|
|
@@ -34,7 +34,7 @@ declare class ReactiveObjectImpl {
|
|
|
34
34
|
#private;
|
|
35
35
|
data: RoolObject | undefined;
|
|
36
36
|
loading: boolean;
|
|
37
|
-
constructor(channel: RoolChannel, fileTree: ReactiveFileTree,
|
|
37
|
+
constructor(channel: RoolChannel, fileTree: ReactiveFileTree, path: string);
|
|
38
38
|
refresh(): Promise<void>;
|
|
39
39
|
close(): void;
|
|
40
40
|
}
|
|
@@ -51,11 +51,11 @@ declare class ReactiveConversationHandleImpl {
|
|
|
51
51
|
getSystemInstruction(): string | undefined;
|
|
52
52
|
setSystemInstruction(...args: Parameters<ConversationHandle['setSystemInstruction']>): Promise<void>;
|
|
53
53
|
rename(...args: Parameters<ConversationHandle['rename']>): Promise<void>;
|
|
54
|
-
|
|
54
|
+
putObject(...args: Parameters<ConversationHandle['putObject']>): Promise<{
|
|
55
55
|
object: RoolObject;
|
|
56
56
|
message: string;
|
|
57
57
|
}>;
|
|
58
|
-
|
|
58
|
+
patchObject(...args: Parameters<ConversationHandle['patchObject']>): Promise<{
|
|
59
59
|
object: RoolObject;
|
|
60
60
|
message: string;
|
|
61
61
|
}>;
|
|
@@ -63,7 +63,7 @@ declare class ReactiveConversationHandleImpl {
|
|
|
63
63
|
object: RoolObject;
|
|
64
64
|
message: string;
|
|
65
65
|
}>;
|
|
66
|
-
|
|
66
|
+
deletePaths(...args: Parameters<ConversationHandle['deletePaths']>): Promise<void>;
|
|
67
67
|
prompt(...args: Parameters<ConversationHandle['prompt']>): Promise<{
|
|
68
68
|
message: string;
|
|
69
69
|
objects: RoolObject[];
|
|
@@ -82,7 +82,7 @@ export type ReactiveConversationHandle = ReactiveConversationHandleImpl;
|
|
|
82
82
|
declare class ReactiveChannelImpl {
|
|
83
83
|
#private;
|
|
84
84
|
interactions: Interaction[];
|
|
85
|
-
|
|
85
|
+
objectPaths: string[];
|
|
86
86
|
collections: string[];
|
|
87
87
|
conversations: ConversationInfo[];
|
|
88
88
|
constructor(channel: RoolChannel, fileTree: ReactiveFileTree);
|
|
@@ -94,19 +94,16 @@ declare class ReactiveChannelImpl {
|
|
|
94
94
|
get channelName(): string | null;
|
|
95
95
|
get isReadOnly(): boolean;
|
|
96
96
|
get linkAccess(): import("@rool-dev/sdk").LinkAccess;
|
|
97
|
-
get extensionUrl(): string | null;
|
|
98
|
-
get extensionId(): string | null;
|
|
99
|
-
get manifest(): import("@rool-dev/sdk").ExtensionManifest | null;
|
|
100
97
|
get isClosed(): boolean;
|
|
101
98
|
close(): void;
|
|
102
99
|
getObject(...args: Parameters<RoolChannel['getObject']>): Promise<RoolObject | undefined>;
|
|
103
100
|
getObjects(...args: Parameters<RoolChannel['getObjects']>): Promise<import("@rool-dev/sdk").GetObjectsResult>;
|
|
104
101
|
stat(...args: Parameters<RoolChannel['stat']>): import("@rool-dev/sdk").RoolObjectStat | undefined;
|
|
105
|
-
|
|
102
|
+
putObject(...args: Parameters<RoolChannel['putObject']>): Promise<{
|
|
106
103
|
object: RoolObject;
|
|
107
104
|
message: string;
|
|
108
105
|
}>;
|
|
109
|
-
|
|
106
|
+
patchObject(...args: Parameters<RoolChannel['patchObject']>): Promise<{
|
|
110
107
|
object: RoolObject;
|
|
111
108
|
message: string;
|
|
112
109
|
}>;
|
|
@@ -114,7 +111,7 @@ declare class ReactiveChannelImpl {
|
|
|
114
111
|
object: RoolObject;
|
|
115
112
|
message: string;
|
|
116
113
|
}>;
|
|
117
|
-
|
|
114
|
+
deletePaths(...args: Parameters<RoolChannel['deletePaths']>): Promise<void>;
|
|
118
115
|
prompt(...args: Parameters<RoolChannel['prompt']>): Promise<{
|
|
119
116
|
message: string;
|
|
120
117
|
objects: RoolObject[];
|
|
@@ -147,9 +144,9 @@ declare class ReactiveChannelImpl {
|
|
|
147
144
|
on(...args: Parameters<RoolChannel['on']>): () => void;
|
|
148
145
|
off(...args: Parameters<RoolChannel['off']>): void;
|
|
149
146
|
/**
|
|
150
|
-
* Create a reactive object that auto-updates when the object at this
|
|
147
|
+
* Create a reactive object that auto-updates when the object at this path changes.
|
|
151
148
|
*/
|
|
152
|
-
object(
|
|
149
|
+
object(path: string): ReactiveObject;
|
|
153
150
|
/**
|
|
154
151
|
* Create a reactive watch that auto-updates when matching objects change.
|
|
155
152
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.svelte.d.ts","sourceRoot":"","sources":["../src/channel.svelte.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAEnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAqD,MAAM,uBAAuB,CAAC;AAE5G;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAyCD;;GAEG;AACH,cAAM,iBAAiB;;IAOrB,OAAO,eAA4B;IACnC,OAAO,UAAgB;gBAEX,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY;IAgBnF,
|
|
1
|
+
{"version":3,"file":"channel.svelte.d.ts","sourceRoot":"","sources":["../src/channel.svelte.ts"],"names":[],"mappings":"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"}
|
package/dist/channel.svelte.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
function eventTouchesObject(event,
|
|
1
|
+
import { machinePath } from '@rool-dev/sdk';
|
|
2
|
+
function eventTouchesObject(event, objectPath, collection) {
|
|
3
3
|
if (event.reset)
|
|
4
4
|
return true;
|
|
5
5
|
for (const path of [...event.changedPaths, ...event.deletedPaths]) {
|
|
6
|
-
if (
|
|
6
|
+
if (objectPath && path === objectPath)
|
|
7
7
|
return true;
|
|
8
|
-
if (!
|
|
8
|
+
if (!objectPath && path.startsWith('/space/') && path.endsWith('.json')) {
|
|
9
9
|
if (!collection || path.startsWith(`/space/${collection}/`))
|
|
10
10
|
return true;
|
|
11
11
|
}
|
|
@@ -18,10 +18,10 @@ function sameJsonValue(a, b) {
|
|
|
18
18
|
async function watchObjectsFromTree(channel, fileTree, options) {
|
|
19
19
|
if (fileTree.loading)
|
|
20
20
|
await fileTree.ready();
|
|
21
|
-
const
|
|
21
|
+
const paths = fileTree.objectPaths({ collection: options.collection, order: options.order });
|
|
22
22
|
const objects = [];
|
|
23
|
-
for (const
|
|
24
|
-
const object = await channel.getObject(
|
|
23
|
+
for (const path of paths) {
|
|
24
|
+
const object = await channel.getObject(path);
|
|
25
25
|
if (!object)
|
|
26
26
|
continue;
|
|
27
27
|
if (options.where) {
|
|
@@ -66,7 +66,7 @@ class ReactiveWatchImpl {
|
|
|
66
66
|
});
|
|
67
67
|
this.#unsubscribers.push(unsubscribe);
|
|
68
68
|
}
|
|
69
|
-
/** Re-fetch matching objects using the canonical file tree for
|
|
69
|
+
/** Re-fetch matching objects using the canonical file tree for paths. */
|
|
70
70
|
async refresh() {
|
|
71
71
|
this.loading = true;
|
|
72
72
|
try {
|
|
@@ -88,25 +88,25 @@ class ReactiveWatchImpl {
|
|
|
88
88
|
class ReactiveObjectImpl {
|
|
89
89
|
#channel;
|
|
90
90
|
#fileTree;
|
|
91
|
-
#
|
|
91
|
+
#path;
|
|
92
92
|
#unsubscribers = [];
|
|
93
93
|
// Reactive state
|
|
94
94
|
data = $state(undefined);
|
|
95
95
|
loading = $state(true);
|
|
96
|
-
constructor(channel, fileTree,
|
|
96
|
+
constructor(channel, fileTree, path) {
|
|
97
97
|
this.#channel = channel;
|
|
98
98
|
this.#fileTree = fileTree;
|
|
99
|
-
this.#
|
|
99
|
+
this.#path = machinePath(path);
|
|
100
100
|
this.#setup();
|
|
101
101
|
}
|
|
102
102
|
#setup() {
|
|
103
103
|
this.refresh();
|
|
104
104
|
const unsubscribe = this.#fileTree.subscribe((event) => {
|
|
105
|
-
if (event.deletedPaths.has(this.#
|
|
105
|
+
if (event.deletedPaths.has(this.#path)) {
|
|
106
106
|
this.data = undefined;
|
|
107
107
|
return;
|
|
108
108
|
}
|
|
109
|
-
if (eventTouchesObject(event, this.#
|
|
109
|
+
if (eventTouchesObject(event, this.#path))
|
|
110
110
|
void this.refresh();
|
|
111
111
|
});
|
|
112
112
|
this.#unsubscribers.push(unsubscribe);
|
|
@@ -114,7 +114,7 @@ class ReactiveObjectImpl {
|
|
|
114
114
|
async refresh() {
|
|
115
115
|
this.loading = true;
|
|
116
116
|
try {
|
|
117
|
-
this.data = await this.#channel.getObject(this.#
|
|
117
|
+
this.data = await this.#channel.getObject(this.#path);
|
|
118
118
|
}
|
|
119
119
|
finally {
|
|
120
120
|
this.loading = false;
|
|
@@ -162,10 +162,10 @@ class ReactiveConversationHandleImpl {
|
|
|
162
162
|
setSystemInstruction(...args) { return this.#handle.setSystemInstruction(...args); }
|
|
163
163
|
rename(...args) { return this.#handle.rename(...args); }
|
|
164
164
|
// Object operations
|
|
165
|
-
|
|
166
|
-
|
|
165
|
+
putObject(...args) { return this.#handle.putObject(...args); }
|
|
166
|
+
patchObject(...args) { return this.#handle.patchObject(...args); }
|
|
167
167
|
moveObject(...args) { return this.#handle.moveObject(...args); }
|
|
168
|
-
|
|
168
|
+
deletePaths(...args) { return this.#handle.deletePaths(...args); }
|
|
169
169
|
// AI
|
|
170
170
|
prompt(...args) { return this.#handle.prompt(...args); }
|
|
171
171
|
// Schema
|
|
@@ -191,14 +191,14 @@ class ReactiveChannelImpl {
|
|
|
191
191
|
#closed = false;
|
|
192
192
|
// Reactive state
|
|
193
193
|
interactions = $state([]);
|
|
194
|
-
|
|
194
|
+
objectPaths = $state([]);
|
|
195
195
|
collections = $state([]);
|
|
196
196
|
conversations = $state([]);
|
|
197
197
|
constructor(channel, fileTree) {
|
|
198
198
|
this.#channel = channel;
|
|
199
199
|
this.#fileTree = fileTree;
|
|
200
200
|
this.interactions = channel.getInteractions();
|
|
201
|
-
this.
|
|
201
|
+
this.objectPaths = fileTree.objectPaths();
|
|
202
202
|
this.collections = fileTree.collections();
|
|
203
203
|
this.conversations = channel.getConversations();
|
|
204
204
|
const onChannelUpdated = () => {
|
|
@@ -213,7 +213,7 @@ class ReactiveChannelImpl {
|
|
|
213
213
|
channel.on('conversationUpdated', onConversationUpdated);
|
|
214
214
|
this.#unsubscribers.push(() => channel.off('conversationUpdated', onConversationUpdated));
|
|
215
215
|
const refreshFromFileTree = () => {
|
|
216
|
-
this.
|
|
216
|
+
this.objectPaths = fileTree.objectPaths();
|
|
217
217
|
this.collections = fileTree.collections();
|
|
218
218
|
};
|
|
219
219
|
this.#unsubscribers.push(fileTree.subscribe((event) => {
|
|
@@ -238,9 +238,6 @@ class ReactiveChannelImpl {
|
|
|
238
238
|
get channelName() { return this.#channel.channelName; }
|
|
239
239
|
get isReadOnly() { return this.#channel.isReadOnly; }
|
|
240
240
|
get linkAccess() { return this.#channel.linkAccess; }
|
|
241
|
-
get extensionUrl() { return this.#channel.extensionUrl; }
|
|
242
|
-
get extensionId() { return this.#channel.extensionId; }
|
|
243
|
-
get manifest() { return this.#channel.manifest; }
|
|
244
241
|
get isClosed() { return this.#closed; }
|
|
245
242
|
close() {
|
|
246
243
|
if (this.#closed)
|
|
@@ -255,10 +252,10 @@ class ReactiveChannelImpl {
|
|
|
255
252
|
getObject(...args) { return this.#channel.getObject(...args); }
|
|
256
253
|
getObjects(...args) { return this.#channel.getObjects(...args); }
|
|
257
254
|
stat(...args) { return this.#channel.stat(...args); }
|
|
258
|
-
|
|
259
|
-
|
|
255
|
+
putObject(...args) { return this.#channel.putObject(...args); }
|
|
256
|
+
patchObject(...args) { return this.#channel.patchObject(...args); }
|
|
260
257
|
moveObject(...args) { return this.#channel.moveObject(...args); }
|
|
261
|
-
|
|
258
|
+
deletePaths(...args) { return this.#channel.deletePaths(...args); }
|
|
262
259
|
// AI
|
|
263
260
|
prompt(...args) { return this.#channel.prompt(...args); }
|
|
264
261
|
// Undo/redo
|
|
@@ -302,12 +299,12 @@ class ReactiveChannelImpl {
|
|
|
302
299
|
off(...args) { return this.#channel.off(...args); }
|
|
303
300
|
// Reactive primitives
|
|
304
301
|
/**
|
|
305
|
-
* Create a reactive object that auto-updates when the object at this
|
|
302
|
+
* Create a reactive object that auto-updates when the object at this path changes.
|
|
306
303
|
*/
|
|
307
|
-
object(
|
|
304
|
+
object(path) {
|
|
308
305
|
if (this.#closed)
|
|
309
306
|
throw new Error('Cannot create reactive object: channel is closed');
|
|
310
|
-
return new ReactiveObjectImpl(this.#channel, this.#fileTree,
|
|
307
|
+
return new ReactiveObjectImpl(this.#channel, this.#fileTree, path);
|
|
311
308
|
}
|
|
312
309
|
/**
|
|
313
310
|
* Create a reactive watch that auto-updates when matching objects change.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export type ReactiveFilePath =
|
|
1
|
+
import { type RoolSpace, type WebDAVDepth, type WebDAVPropName, type WebDAVResponse, type WebDAVSyncLevel } from '@rool-dev/sdk';
|
|
2
|
+
export type ReactiveFilePath = string;
|
|
3
3
|
export type ReactiveFileRoot = '' | 'space' | 'rool-drive';
|
|
4
4
|
export interface ReactiveFileNode {
|
|
5
5
|
/** Stable node id. Same as `path`. */
|
|
@@ -75,8 +75,8 @@ export declare class ReactiveFileTree {
|
|
|
75
75
|
has(path: string): boolean;
|
|
76
76
|
childrenOf(path: string): ReactiveFileNode[];
|
|
77
77
|
descendantsOf(path: string): ReactiveFileNode[];
|
|
78
|
-
/** Object file
|
|
79
|
-
|
|
78
|
+
/** Object file paths sorted by modified time descending. */
|
|
79
|
+
objectPaths(options?: {
|
|
80
80
|
collection?: string;
|
|
81
81
|
order?: 'asc' | 'desc';
|
|
82
82
|
limit?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-tree.svelte.d.ts","sourceRoot":"","sources":["../src/file-tree.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"file-tree.svelte.d.ts","sourceRoot":"","sources":["../src/file-tree.svelte.ts"],"names":[],"mappings":"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"}
|
package/dist/file-tree.svelte.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { machinePath, } from '@rool-dev/sdk';
|
|
2
2
|
const ROOT = '/';
|
|
3
3
|
const DEFAULT_PROPS = [
|
|
4
4
|
'displayname',
|
|
@@ -9,14 +9,7 @@ const DEFAULT_PROPS = [
|
|
|
9
9
|
'resourcetype',
|
|
10
10
|
];
|
|
11
11
|
function normalizePath(path) {
|
|
12
|
-
|
|
13
|
-
return ROOT;
|
|
14
|
-
const normalized = `/${path.replace(/^\/+|\/+$/g, '')}`;
|
|
15
|
-
if (normalized === '/space' || normalized.startsWith('/space/'))
|
|
16
|
-
return normalized;
|
|
17
|
-
if (normalized === '/rool-drive' || normalized.startsWith('/rool-drive/'))
|
|
18
|
-
return normalized;
|
|
19
|
-
return ROOT;
|
|
12
|
+
return machinePath(path);
|
|
20
13
|
}
|
|
21
14
|
function parentPath(path) {
|
|
22
15
|
if (path === ROOT)
|
|
@@ -25,7 +18,7 @@ function parentPath(path) {
|
|
|
25
18
|
parts.pop();
|
|
26
19
|
return parts.length === 0 ? ROOT : `/${parts.join('/')}`;
|
|
27
20
|
}
|
|
28
|
-
function
|
|
21
|
+
function leafName(path) {
|
|
29
22
|
if (path === ROOT)
|
|
30
23
|
return 'Space';
|
|
31
24
|
const leaf = path.split('/').filter(Boolean).pop() ?? '';
|
|
@@ -60,7 +53,7 @@ function nodeFromResponse(response) {
|
|
|
60
53
|
parent: parentPath(path),
|
|
61
54
|
name: typeof response.props.displayname === 'string' && response.props.displayname
|
|
62
55
|
? response.props.displayname
|
|
63
|
-
:
|
|
56
|
+
: leafName(path),
|
|
64
57
|
root: rootOf(path),
|
|
65
58
|
isCollection: response.isCollection,
|
|
66
59
|
size: typeof response.props.getcontentlength === 'number' ? response.props.getcontentlength : null,
|
|
@@ -150,16 +143,16 @@ export class ReactiveFileTree {
|
|
|
150
143
|
const root = normalizePath(path);
|
|
151
144
|
return this.nodes.filter((node) => node.path !== root && isDescendant(node.path, root));
|
|
152
145
|
}
|
|
153
|
-
/** Object file
|
|
154
|
-
|
|
155
|
-
const
|
|
156
|
-
.filter((node) => !node.isCollection &&
|
|
146
|
+
/** Object file paths sorted by modified time descending. */
|
|
147
|
+
objectPaths(options = {}) {
|
|
148
|
+
const paths = this.nodes
|
|
149
|
+
.filter((node) => !node.isCollection && isObjectPath(node.path))
|
|
157
150
|
.filter((node) => !options.collection || safeCollection(node.path) === options.collection)
|
|
158
151
|
.sort((a, b) => (b.modifiedAt ?? 0) - (a.modifiedAt ?? 0))
|
|
159
152
|
.map((node) => node.path);
|
|
160
153
|
if (options.order === 'asc')
|
|
161
|
-
|
|
162
|
-
return options.limit === undefined ?
|
|
154
|
+
paths.reverse();
|
|
155
|
+
return options.limit === undefined ? paths : paths.slice(0, options.limit);
|
|
163
156
|
}
|
|
164
157
|
collections() {
|
|
165
158
|
return this.childrenOf('/space')
|
|
@@ -399,20 +392,11 @@ function isDescendant(path, ancestor) {
|
|
|
399
392
|
return path !== ROOT;
|
|
400
393
|
return path.startsWith(`${ancestor}/`);
|
|
401
394
|
}
|
|
402
|
-
function
|
|
403
|
-
|
|
404
|
-
parseLocation(path);
|
|
405
|
-
return true;
|
|
406
|
-
}
|
|
407
|
-
catch {
|
|
408
|
-
return false;
|
|
409
|
-
}
|
|
395
|
+
function isObjectPath(path) {
|
|
396
|
+
return path.startsWith('/space/') && path.endsWith('.json');
|
|
410
397
|
}
|
|
411
398
|
function safeCollection(path) {
|
|
412
|
-
|
|
413
|
-
return parseLocation(path).collection;
|
|
414
|
-
}
|
|
415
|
-
catch {
|
|
399
|
+
if (!isObjectPath(path))
|
|
416
400
|
return undefined;
|
|
417
|
-
|
|
401
|
+
return path.split('/')[2];
|
|
418
402
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { createRool, generateId } from './rool.svelte.js';
|
|
2
|
-
export {
|
|
3
|
-
export type { ParsedLocation, MachineResource } from '@rool-dev/sdk';
|
|
2
|
+
export { machinePath, machineUri } from '@rool-dev/sdk';
|
|
4
3
|
export { wrapChannel } from './channel.svelte.js';
|
|
5
4
|
export { wrapSpace } from './space.svelte.js';
|
|
6
5
|
export { ReactiveFileTree } from './file-tree.svelte.js';
|
|
@@ -8,5 +7,5 @@ export type { Rool } from './rool.svelte.js';
|
|
|
8
7
|
export type { ReactiveChannel, ReactiveConversationHandle, ReactiveObject, ReactiveWatch, ReactiveChannelList, WatchOptions } from './channel.svelte.js';
|
|
9
8
|
export type { ReactiveSpace } from './space.svelte.js';
|
|
10
9
|
export type { ReactiveFileNode, ReactiveFilePath, ReactiveFileRoot, ReactiveFileTreeEvent, ReactiveFileTreeSyncResult } from './file-tree.svelte.js';
|
|
11
|
-
export type { RoolClientConfig, RoolChannel, RoolSpace, RoolSpaceInfo, RoolObject, GetObjectsResult, RoolObjectStat, RoolUserRole, ConnectionState, ChannelInfo, Conversation, ConversationInfo, CurrentUser, Interaction, PromptOptions, PromptAttachment,
|
|
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, ProbeRequestEvent, SpaceFileStorageUsage, WebDAVDepth, WebDAVSyncLevel, WebDAVPropName, WebDAVResponse, WebDAVProps, } from '@rool-dev/sdk';
|
|
12
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,
|
|
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,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGxD,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,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,WAAW,GACZ,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Main export
|
|
2
2
|
export { createRool, generateId } from './rool.svelte.js';
|
|
3
|
-
//
|
|
4
|
-
export {
|
|
3
|
+
// Machine path helpers — re-exported from the SDK for convenience
|
|
4
|
+
export { machinePath, machineUri } from '@rool-dev/sdk';
|
|
5
5
|
// Reactive wrappers
|
|
6
6
|
export { wrapChannel } from './channel.svelte.js';
|
|
7
7
|
export { wrapSpace } from './space.svelte.js';
|
package/dist/rool.svelte.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RoolClient, type RoolSpaceInfo, type ConnectionState, type RoolClientConfig, type CurrentUser
|
|
1
|
+
import { RoolClient, type RoolSpaceInfo, type ConnectionState, type RoolClientConfig, type CurrentUser } from '@rool-dev/sdk';
|
|
2
2
|
import { type ReactiveChannelList } from './channel.svelte.js';
|
|
3
3
|
import { type ReactiveSpace } from './space.svelte.js';
|
|
4
4
|
/**
|
|
@@ -120,27 +120,8 @@ declare class RoolImpl {
|
|
|
120
120
|
slug?: string;
|
|
121
121
|
marketingOptIn?: boolean;
|
|
122
122
|
}): Promise<CurrentUser>;
|
|
123
|
-
/**
|
|
124
|
-
* Install an extension into a space.
|
|
125
|
-
* Creates/updates a channel with the extension's manifest settings.
|
|
126
|
-
* Returns the channel ID.
|
|
127
|
-
*/
|
|
128
|
-
/** Upload or update a user extension bundle. */
|
|
129
|
-
uploadExtension(extensionId: string, options: UploadExtensionOptions): Promise<ExtensionInfo>;
|
|
130
|
-
/** Delete a user extension permanently. */
|
|
131
|
-
deleteExtension(extensionId: string): Promise<void>;
|
|
132
|
-
/** List the current user's extensions. */
|
|
133
|
-
listExtensions(): Promise<ExtensionInfo[]>;
|
|
134
|
-
/** Get info for a specific user extension. */
|
|
135
|
-
getExtensionInfo(extensionId: string): Promise<ExtensionInfo | null>;
|
|
136
|
-
/** Search published extensions. */
|
|
137
|
-
findExtensions(options?: FindExtensionsOptions): Promise<PublishedExtensionInfo[]>;
|
|
138
123
|
/** Respond to a server-initiated probe with a method-specific result or error. */
|
|
139
124
|
probeResponse(requestId: string, result?: unknown, error?: string): Promise<boolean>;
|
|
140
|
-
/** Publish a user extension (make it publicly discoverable). */
|
|
141
|
-
publishToPublic(extensionId: string): Promise<void>;
|
|
142
|
-
/** Unpublish an extension (remove from public listing). */
|
|
143
|
-
unpublishFromPublic(extensionId: string): Promise<void>;
|
|
144
125
|
/**
|
|
145
126
|
* Create a reactive channel list for a space.
|
|
146
127
|
* 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,
|
|
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,45 +260,10 @@ class RoolImpl {
|
|
|
260
260
|
this.currentUser = user;
|
|
261
261
|
return user;
|
|
262
262
|
}
|
|
263
|
-
/**
|
|
264
|
-
* Install an extension into a space.
|
|
265
|
-
* Creates/updates a channel with the extension's manifest settings.
|
|
266
|
-
* Returns the channel ID.
|
|
267
|
-
*/
|
|
268
|
-
// --- User Extensions (your personal library) ---
|
|
269
|
-
/** Upload or update a user extension bundle. */
|
|
270
|
-
uploadExtension(extensionId, options) {
|
|
271
|
-
return this.#client.uploadExtension(extensionId, options);
|
|
272
|
-
}
|
|
273
|
-
/** Delete a user extension permanently. */
|
|
274
|
-
deleteExtension(extensionId) {
|
|
275
|
-
return this.#client.deleteExtension(extensionId);
|
|
276
|
-
}
|
|
277
|
-
/** List the current user's extensions. */
|
|
278
|
-
listExtensions() {
|
|
279
|
-
return this.#client.listExtensions();
|
|
280
|
-
}
|
|
281
|
-
/** Get info for a specific user extension. */
|
|
282
|
-
getExtensionInfo(extensionId) {
|
|
283
|
-
return this.#client.getExtensionInfo(extensionId);
|
|
284
|
-
}
|
|
285
|
-
// --- Published Extensions (public discovery & install) ---
|
|
286
|
-
/** Search published extensions. */
|
|
287
|
-
findExtensions(options) {
|
|
288
|
-
return this.#client.findExtensions(options);
|
|
289
|
-
}
|
|
290
263
|
/** Respond to a server-initiated probe with a method-specific result or error. */
|
|
291
264
|
probeResponse(requestId, result, error) {
|
|
292
265
|
return this.#client.probeResponse(requestId, result, error);
|
|
293
266
|
}
|
|
294
|
-
/** Publish a user extension (make it publicly discoverable). */
|
|
295
|
-
publishToPublic(extensionId) {
|
|
296
|
-
return this.#client.publishToPublic(extensionId);
|
|
297
|
-
}
|
|
298
|
-
/** Unpublish an extension (remove from public listing). */
|
|
299
|
-
unpublishFromPublic(extensionId) {
|
|
300
|
-
return this.#client.unpublishFromPublic(extensionId);
|
|
301
|
-
}
|
|
302
267
|
/**
|
|
303
268
|
* Create a reactive channel list for a space.
|
|
304
269
|
* Auto-updates when channels are created, updated, or deleted.
|
package/dist/space.svelte.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ declare class ReactiveSpaceImpl {
|
|
|
32
32
|
get webdav(): import("@rool-dev/sdk").RoolWebDAV;
|
|
33
33
|
get fileTree(): ReactiveFileTree;
|
|
34
34
|
getStorageUsage(...args: Parameters<RoolSpace['getStorageUsage']>): Promise<import("@rool-dev/sdk").SpaceFileStorageUsage>;
|
|
35
|
-
|
|
35
|
+
fetchPath(...args: Parameters<RoolSpace['fetchPath']>): Promise<Response>;
|
|
36
36
|
rename(newName: string): Promise<void>;
|
|
37
37
|
delete(): Promise<void>;
|
|
38
38
|
listUsers(): Promise<SpaceMember[]>;
|
|
@@ -41,7 +41,6 @@ declare class ReactiveSpaceImpl {
|
|
|
41
41
|
setLinkAccess(...args: Parameters<RoolSpace['setLinkAccess']>): Promise<void>;
|
|
42
42
|
renameChannel(channelId: string, name: string): Promise<void>;
|
|
43
43
|
deleteChannel(channelId: string): Promise<void>;
|
|
44
|
-
installExtension(extensionId: string, channelId: string): Promise<string>;
|
|
45
44
|
exportArchive(): Promise<Blob>;
|
|
46
45
|
refresh(): Promise<void>;
|
|
47
46
|
on(...args: Parameters<RoolSpace['on']>): () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space.svelte.d.ts","sourceRoot":"","sources":["../src/space.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACpH,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;GAMG;AACH,cAAM,iBAAiB;;IASrB,eAAe,kBAA2C;gBAE9C,KAAK,EAAE,SAAS;IAoB5B,IAAI,QAAQ,YAA2B;IAEvC;;;OAGG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAY9D;;;OAGG;IACH,KAAK,IAAI,IAAI;IAiBb,IAAI,QAAQ,IAAI,WAAW,EAAE,CAA8B;IAG3D,IAAI,EAAE,IAAI,MAAM,CAA2B;IAC3C,IAAI,IAAI,IAAI,MAAM,CAA6B;IAC/C,IAAI,IAAI,IAAI,YAAY,CAA6B;IACrD,IAAI,UAAU,IAAI,UAAU,CAAmC;IAC/D,IAAI,WAAW,IAAI,MAAM,CAAoC;IAC7D,IAAI,MAAM,uCAAiC;IAC3C,IAAI,QAAQ,IAAI,gBAAgB,CAA2B;IAG3D,eAAe,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACjE,
|
|
1
|
+
{"version":3,"file":"space.svelte.d.ts","sourceRoot":"","sources":["../src/space.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACpH,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;GAMG;AACH,cAAM,iBAAiB;;IASrB,eAAe,kBAA2C;gBAE9C,KAAK,EAAE,SAAS;IAoB5B,IAAI,QAAQ,YAA2B;IAEvC;;;OAGG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAY9D;;;OAGG;IACH,KAAK,IAAI,IAAI;IAiBb,IAAI,QAAQ,IAAI,WAAW,EAAE,CAA8B;IAG3D,IAAI,EAAE,IAAI,MAAM,CAA2B;IAC3C,IAAI,IAAI,IAAI,MAAM,CAA6B;IAC/C,IAAI,IAAI,IAAI,YAAY,CAA6B;IACrD,IAAI,UAAU,IAAI,UAAU,CAAmC;IAC/D,IAAI,WAAW,IAAI,MAAM,CAAoC;IAC7D,IAAI,MAAM,uCAAiC;IAC3C,IAAI,QAAQ,IAAI,gBAAgB,CAA2B;IAG3D,eAAe,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACjE,SAAS,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAGrD,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACtC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IACvB,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACjD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACzC,aAAa,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC7D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAC9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAGxB,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvC,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;CAC1C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAEzD;AAED,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC"}
|
package/dist/space.svelte.js
CHANGED
|
@@ -79,7 +79,7 @@ class ReactiveSpaceImpl {
|
|
|
79
79
|
get fileTree() { return this.#fileTree; }
|
|
80
80
|
// Proxy resource methods
|
|
81
81
|
getStorageUsage(...args) { return this.#space.getStorageUsage(...args); }
|
|
82
|
-
|
|
82
|
+
fetchPath(...args) { return this.#space.fetchPath(...args); }
|
|
83
83
|
// Proxy admin methods
|
|
84
84
|
rename(newName) { return this.#space.rename(newName); }
|
|
85
85
|
delete() { return this.#space.delete(); }
|
|
@@ -89,7 +89,6 @@ class ReactiveSpaceImpl {
|
|
|
89
89
|
setLinkAccess(...args) { return this.#space.setLinkAccess(...args); }
|
|
90
90
|
renameChannel(channelId, name) { return this.#space.renameChannel(channelId, name); }
|
|
91
91
|
deleteChannel(channelId) { return this.#space.deleteChannel(channelId); }
|
|
92
|
-
installExtension(extensionId, channelId) { return this.#space.installExtension(extensionId, channelId); }
|
|
93
92
|
exportArchive() { return this.#space.exportArchive(); }
|
|
94
93
|
refresh() { return this.#space.refresh(); }
|
|
95
94
|
// Events on the underlying space (channelCreated/Updated/Deleted, connectionStateChanged)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rool-dev/svelte",
|
|
3
|
-
"version": "0.10.2-dev.
|
|
3
|
+
"version": "0.10.2-dev.7a2da99",
|
|
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.10.2-dev.
|
|
44
|
+
"@rool-dev/sdk": "0.10.2-dev.7a2da99"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"svelte": "^5.0.0"
|