@rool-dev/client 0.3.1-dev.5742de4 → 0.3.1-dev.5aaae9e
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 +168 -89
- package/dist/client.d.ts +29 -26
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +90 -88
- package/dist/client.js.map +1 -1
- package/dist/graphql.d.ts +16 -16
- package/dist/graphql.d.ts.map +1 -1
- package/dist/graphql.js +69 -88
- package/dist/graphql.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/media.d.ts +7 -7
- package/dist/media.js +14 -14
- package/dist/{graph.d.ts → space.d.ts} +75 -70
- package/dist/space.d.ts.map +1 -0
- package/dist/space.js +728 -0
- package/dist/space.js.map +1 -0
- package/dist/subscription.d.ts +2 -2
- package/dist/subscription.d.ts.map +1 -1
- package/dist/subscription.js +14 -17
- package/dist/subscription.js.map +1 -1
- package/dist/types.d.ts +72 -70
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/package.json +1 -1
- package/dist/graph.d.ts.map +0 -1
- package/dist/graph.js +0 -658
- package/dist/graph.js.map +0 -1
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import { EventEmitter } from './event-emitter.js';
|
|
2
2
|
import type { GraphQLClient } from './graphql.js';
|
|
3
3
|
import type { MediaClient } from './media.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { RoolSpaceData, RoolObject, JSONPatchOp, SpaceEvents, RoolUserRole, RoolUser, PromptOptions, MediaItem } from './types.js';
|
|
5
5
|
export declare function generateEntityId(): string;
|
|
6
|
-
interface
|
|
6
|
+
interface SpaceConfig {
|
|
7
7
|
id: string;
|
|
8
8
|
name: string;
|
|
9
|
-
role:
|
|
10
|
-
initialData:
|
|
9
|
+
role: RoolUserRole;
|
|
10
|
+
initialData: RoolSpaceData;
|
|
11
11
|
graphqlClient: GraphQLClient;
|
|
12
12
|
mediaClient: MediaClient;
|
|
13
|
-
onRegisterForEvents: (
|
|
14
|
-
onUnregisterFromEvents: (
|
|
13
|
+
onRegisterForEvents: (spaceId: string, space: RoolSpace) => void;
|
|
14
|
+
onUnregisterFromEvents: (spaceId: string) => void;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
* First-class
|
|
17
|
+
* First-class Space object.
|
|
18
18
|
*
|
|
19
19
|
* Features:
|
|
20
|
-
* - High-level
|
|
20
|
+
* - High-level object/link operations
|
|
21
21
|
* - Built-in undo/redo with checkpoints
|
|
22
22
|
* - Metadata management
|
|
23
23
|
* - Event emission for state changes
|
|
24
24
|
* - Real-time subscription support
|
|
25
25
|
*/
|
|
26
|
-
export declare class
|
|
26
|
+
export declare class RoolSpace extends EventEmitter<SpaceEvents> {
|
|
27
27
|
private _id;
|
|
28
28
|
private _name;
|
|
29
29
|
private _role;
|
|
@@ -35,18 +35,18 @@ export declare class RoolGraph extends EventEmitter<GraphEvents> {
|
|
|
35
35
|
private undoStack;
|
|
36
36
|
private redoStack;
|
|
37
37
|
private _isSubscribed;
|
|
38
|
-
constructor(config:
|
|
38
|
+
constructor(config: SpaceConfig);
|
|
39
39
|
get id(): string;
|
|
40
40
|
get name(): string;
|
|
41
|
-
get role():
|
|
41
|
+
get role(): RoolUserRole;
|
|
42
42
|
get isReadOnly(): boolean;
|
|
43
43
|
get isSubscribed(): boolean;
|
|
44
44
|
/**
|
|
45
|
-
* Rename this
|
|
45
|
+
* Rename this space.
|
|
46
46
|
*/
|
|
47
47
|
rename(newName: string): Promise<void>;
|
|
48
48
|
/**
|
|
49
|
-
* Subscribe to real-time updates for this
|
|
49
|
+
* Subscribe to real-time updates for this space.
|
|
50
50
|
* Registers with the client for event routing.
|
|
51
51
|
*/
|
|
52
52
|
subscribe(): void;
|
|
@@ -55,7 +55,7 @@ export declare class RoolGraph extends EventEmitter<GraphEvents> {
|
|
|
55
55
|
*/
|
|
56
56
|
unsubscribe(): void;
|
|
57
57
|
/**
|
|
58
|
-
* Close this
|
|
58
|
+
* Close this space and clean up resources.
|
|
59
59
|
*/
|
|
60
60
|
close(): void;
|
|
61
61
|
/**
|
|
@@ -87,31 +87,36 @@ export declare class RoolGraph extends EventEmitter<GraphEvents> {
|
|
|
87
87
|
*/
|
|
88
88
|
clearHistory(): void;
|
|
89
89
|
/**
|
|
90
|
-
* Get
|
|
91
|
-
*
|
|
90
|
+
* Get an object's data by ID.
|
|
91
|
+
* Returns just the data portion (RoolObject), not the full entry with meta/links.
|
|
92
|
+
* @throws Error if object not found
|
|
92
93
|
*/
|
|
93
|
-
|
|
94
|
+
getObject(objectId: string): RoolObject;
|
|
94
95
|
/**
|
|
95
|
-
* Get
|
|
96
|
+
* Get an object's data by ID, or undefined if not found.
|
|
96
97
|
*/
|
|
97
|
-
|
|
98
|
+
getObjectOrUndefined(objectId: string): RoolObject | undefined;
|
|
98
99
|
/**
|
|
99
|
-
* Get
|
|
100
|
+
* Get an object's metadata (position, UI state, etc).
|
|
100
101
|
*/
|
|
101
|
-
|
|
102
|
+
getObjectMeta(objectId: string): Record<string, unknown>;
|
|
102
103
|
/**
|
|
103
|
-
* Get all
|
|
104
|
+
* Get all objects of a specific type.
|
|
104
105
|
*/
|
|
105
|
-
|
|
106
|
+
getObjectsByType(type: string): RoolObject[];
|
|
106
107
|
/**
|
|
107
|
-
*
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
* Get all object IDs.
|
|
109
|
+
*/
|
|
110
|
+
getObjectIds(): string[];
|
|
111
|
+
/**
|
|
112
|
+
* Create a new object with optional AI generation.
|
|
113
|
+
* @param options.type - The object type (required)
|
|
114
|
+
* @param options.fields - Object fields (optional). Use {{placeholder}} for AI-generated content.
|
|
110
115
|
* @param options.meta - Client-private metadata (optional). Hidden from AI operations.
|
|
111
116
|
* @param options.prompt - AI prompt for content generation (optional).
|
|
112
|
-
* @returns The generated
|
|
117
|
+
* @returns The generated object ID
|
|
113
118
|
*/
|
|
114
|
-
|
|
119
|
+
createObject(options: {
|
|
115
120
|
type: string;
|
|
116
121
|
fields?: Record<string, unknown>;
|
|
117
122
|
meta?: Record<string, unknown>;
|
|
@@ -121,87 +126,87 @@ export declare class RoolGraph extends EventEmitter<GraphEvents> {
|
|
|
121
126
|
message: string;
|
|
122
127
|
}>;
|
|
123
128
|
/**
|
|
124
|
-
* Update an existing
|
|
125
|
-
* @param
|
|
126
|
-
* @param options.type - Optional new type for the
|
|
129
|
+
* Update an existing object.
|
|
130
|
+
* @param objectId - The ID of the object to update
|
|
131
|
+
* @param options.type - Optional new type for the object
|
|
127
132
|
* @param options.fields - Fields to add or update. Use {{placeholder}} for AI-generated content.
|
|
128
133
|
* @param options.meta - Client-private metadata to merge. Hidden from AI operations.
|
|
129
134
|
* @param options.prompt - AI prompt for content editing (optional).
|
|
130
135
|
*/
|
|
131
|
-
|
|
136
|
+
updateObject(objectId: string, options: {
|
|
132
137
|
type?: string;
|
|
133
138
|
fields?: Record<string, unknown>;
|
|
134
139
|
meta?: Record<string, unknown>;
|
|
135
140
|
prompt?: string;
|
|
136
141
|
}): Promise<string>;
|
|
137
142
|
/**
|
|
138
|
-
* Delete
|
|
139
|
-
*
|
|
140
|
-
|
|
141
|
-
deleteNodes(nodeIds: string[]): Promise<void>;
|
|
142
|
-
/**
|
|
143
|
-
* Create an edge between nodes.
|
|
144
|
-
* @returns The generated edge ID
|
|
143
|
+
* Delete objects by IDs.
|
|
144
|
+
* Outbound links are automatically deleted with the object.
|
|
145
|
+
* Inbound links become orphans (tolerated).
|
|
145
146
|
*/
|
|
146
|
-
|
|
147
|
+
deleteObjects(objectIds: string[]): Promise<void>;
|
|
147
148
|
/**
|
|
148
|
-
*
|
|
149
|
-
*
|
|
149
|
+
* Create a link between objects.
|
|
150
|
+
* Links are stored on the source object.
|
|
150
151
|
*/
|
|
151
|
-
|
|
152
|
+
link(sourceId: string, targetId: string, linkType: string): Promise<void>;
|
|
152
153
|
/**
|
|
153
|
-
*
|
|
154
|
-
* @param
|
|
154
|
+
* Remove a link between two objects.
|
|
155
|
+
* @param linkType - Optional: if provided, only removes that type; otherwise removes all links between the objects
|
|
156
|
+
* @returns true if any links were removed
|
|
155
157
|
*/
|
|
156
|
-
|
|
158
|
+
unlink(sourceId: string, targetId: string, linkType?: string): Promise<boolean>;
|
|
157
159
|
/**
|
|
158
|
-
* Get
|
|
159
|
-
* @param
|
|
160
|
+
* Get parent object IDs (objects that have links pointing TO this object).
|
|
161
|
+
* @param linkType - Optional filter by link type
|
|
160
162
|
*/
|
|
161
|
-
|
|
163
|
+
getParents(objectId: string, linkType?: string): string[];
|
|
162
164
|
/**
|
|
163
|
-
* Get
|
|
165
|
+
* Get child object IDs (objects that this object has links pointing TO).
|
|
166
|
+
* Filters out orphan targets (targets that don't exist).
|
|
167
|
+
* @param linkType - Optional filter by link type
|
|
164
168
|
*/
|
|
165
|
-
|
|
169
|
+
getChildren(objectId: string, linkType?: string): string[];
|
|
166
170
|
/**
|
|
167
|
-
* Get all
|
|
171
|
+
* Get all child object IDs including orphans (targets that may not exist).
|
|
172
|
+
* @param linkType - Optional filter by link type
|
|
168
173
|
*/
|
|
169
|
-
|
|
174
|
+
getChildrenIncludingOrphans(objectId: string, linkType?: string): string[];
|
|
170
175
|
/**
|
|
171
|
-
* Set a metadata value.
|
|
172
|
-
* Metadata is stored in
|
|
176
|
+
* Set a space-level metadata value.
|
|
177
|
+
* Metadata is stored in meta and hidden from AI operations.
|
|
173
178
|
*/
|
|
174
179
|
setMetadata(key: string, value: unknown): void;
|
|
175
180
|
/**
|
|
176
|
-
* Get a metadata value.
|
|
181
|
+
* Get a space-level metadata value.
|
|
177
182
|
*/
|
|
178
183
|
getMetadata(key: string): unknown;
|
|
179
184
|
/**
|
|
180
|
-
* Get all metadata.
|
|
185
|
+
* Get all space-level metadata.
|
|
181
186
|
*/
|
|
182
187
|
getAllMetadata(): Record<string, unknown>;
|
|
183
188
|
/**
|
|
184
|
-
* Send a prompt to the AI agent for
|
|
189
|
+
* Send a prompt to the AI agent for space manipulation.
|
|
185
190
|
*/
|
|
186
191
|
prompt(prompt: string, options?: PromptOptions): Promise<string | null>;
|
|
187
192
|
/**
|
|
188
|
-
* List users with access to this
|
|
193
|
+
* List users with access to this space.
|
|
189
194
|
*/
|
|
190
|
-
listUsers(): Promise<
|
|
195
|
+
listUsers(): Promise<RoolUser[]>;
|
|
191
196
|
/**
|
|
192
|
-
* Add a user to this
|
|
197
|
+
* Add a user to this space with specified role.
|
|
193
198
|
*/
|
|
194
|
-
addUser(userId: string, role:
|
|
199
|
+
addUser(userId: string, role: RoolUserRole): Promise<void>;
|
|
195
200
|
/**
|
|
196
|
-
* Remove a user from this
|
|
201
|
+
* Remove a user from this space.
|
|
197
202
|
*/
|
|
198
203
|
removeUser(userId: string): Promise<void>;
|
|
199
204
|
/**
|
|
200
|
-
* List all media files for this
|
|
205
|
+
* List all media files for this space.
|
|
201
206
|
*/
|
|
202
207
|
listMedia(): Promise<MediaItem[]>;
|
|
203
208
|
/**
|
|
204
|
-
* Upload a file to this
|
|
209
|
+
* Upload a file to this space.
|
|
205
210
|
*/
|
|
206
211
|
uploadMedia(file: File | Blob | {
|
|
207
212
|
data: string;
|
|
@@ -220,10 +225,10 @@ export declare class RoolGraph extends EventEmitter<GraphEvents> {
|
|
|
220
225
|
*/
|
|
221
226
|
deleteMedia(uuid: string): Promise<void>;
|
|
222
227
|
/**
|
|
223
|
-
* Get the full
|
|
228
|
+
* Get the full space data.
|
|
224
229
|
* Use sparingly - prefer specific operations.
|
|
225
230
|
*/
|
|
226
|
-
getData():
|
|
231
|
+
getData(): RoolSpaceData;
|
|
227
232
|
/**
|
|
228
233
|
* Handle a patch event from another client.
|
|
229
234
|
* @internal
|
|
@@ -235,10 +240,10 @@ export declare class RoolGraph extends EventEmitter<GraphEvents> {
|
|
|
235
240
|
*/
|
|
236
241
|
private emitSemanticEventsFromPatch;
|
|
237
242
|
/**
|
|
238
|
-
* Handle a full
|
|
243
|
+
* Handle a full reload from server.
|
|
239
244
|
* @internal
|
|
240
245
|
*/
|
|
241
|
-
handleRemoteChange(newData:
|
|
246
|
+
handleRemoteChange(newData: RoolSpaceData): void;
|
|
242
247
|
/**
|
|
243
248
|
* Update the name from external source.
|
|
244
249
|
* @internal
|
|
@@ -247,4 +252,4 @@ export declare class RoolGraph extends EventEmitter<GraphEvents> {
|
|
|
247
252
|
private resyncFromServer;
|
|
248
253
|
}
|
|
249
254
|
export {};
|
|
250
|
-
//# sourceMappingURL=
|
|
255
|
+
//# sourceMappingURL=space.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../src/space.ts"],"names":[],"mappings":"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"}
|