@rool-dev/sdk 0.10.2-dev.a9e71cd → 0.10.2-dev.eeb9773
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 +6 -49
- package/dist/channel.d.ts +29 -65
- package/dist/channel.d.ts.map +1 -1
- package/dist/channel.js +127 -145
- package/dist/channel.js.map +1 -1
- package/dist/client.d.ts +2 -40
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +6 -66
- package/dist/client.js.map +1 -1
- package/dist/graphql.d.ts +2 -7
- package/dist/graphql.d.ts.map +1 -1
- package/dist/graphql.js +8 -53
- package/dist/graphql.js.map +1 -1
- package/dist/index.d.ts +3 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -4
- package/dist/index.js.map +1 -1
- package/dist/path.d.ts +6 -0
- package/dist/path.d.ts.map +1 -0
- package/dist/path.js +47 -0
- package/dist/path.js.map +1 -0
- package/dist/rest.d.ts +9 -0
- package/dist/rest.d.ts.map +1 -1
- package/dist/rest.js +48 -1
- package/dist/rest.js.map +1 -1
- package/dist/space.d.ts +2 -10
- package/dist/space.d.ts.map +1 -1
- package/dist/space.js +13 -26
- package/dist/space.js.map +1 -1
- package/dist/subscription.d.ts.map +1 -1
- package/dist/subscription.js +0 -5
- package/dist/subscription.js.map +1 -1
- package/dist/types.d.ts +26 -126
- package/dist/types.d.ts.map +1 -1
- package/dist/webdav.d.ts +21 -21
- package/dist/webdav.d.ts.map +1 -1
- package/dist/webdav.js +25 -78
- package/dist/webdav.js.map +1 -1
- package/package.json +1 -1
- package/dist/apps.d.ts +0 -30
- package/dist/apps.d.ts.map +0 -1
- package/dist/apps.js +0 -81
- package/dist/apps.js.map +0 -1
- package/dist/locations.d.ts +0 -34
- package/dist/locations.d.ts.map +0 -1
- package/dist/locations.js +0 -90
- package/dist/locations.js.map +0 -1
- package/dist/machine.d.ts +0 -16
- package/dist/machine.d.ts.map +0 -1
- package/dist/machine.js +0 -51
- package/dist/machine.js.map +0 -1
package/README.md
CHANGED
|
@@ -226,7 +226,7 @@ References are just data — no special API is needed to create or remove them.
|
|
|
226
226
|
#### Location helpers
|
|
227
227
|
|
|
228
228
|
```typescript
|
|
229
|
-
import { loc, parseLocation, normalizeLocation
|
|
229
|
+
import { loc, parseLocation, normalizeLocation } from '@rool-dev/sdk';
|
|
230
230
|
|
|
231
231
|
loc('article', 'welcome'); // '/space/article/welcome.json'
|
|
232
232
|
parseLocation('/space/article/welcome.json'); // { collection: 'article', basename: 'welcome' }
|
|
@@ -234,9 +234,6 @@ parseLocation('/space/article/welcome.json'); // { collection: 'article', basena
|
|
|
234
234
|
// normalizeLocation accepts canonical or short form and returns canonical
|
|
235
235
|
normalizeLocation('article/welcome'); // '/space/article/welcome.json'
|
|
236
236
|
normalizeLocation('/space/article/welcome.json'); // unchanged
|
|
237
|
-
|
|
238
|
-
// 6-char random basename — same generator the SDK uses by default
|
|
239
|
-
generateBasename(); // e.g., 'X7kQ9p'
|
|
240
237
|
```
|
|
241
238
|
|
|
242
239
|
SDK methods that accept a location (`getObject`, `updateObject`, `deleteObjects`, `moveObject`, etc.) accept either form and normalize internally. SDK return values always use the canonical full form.
|
|
@@ -355,7 +352,7 @@ await channel.createObject('article',
|
|
|
355
352
|
|
|
356
353
|
```typescript
|
|
357
354
|
// Fire-and-forget: create and reference without waiting
|
|
358
|
-
const basename =
|
|
355
|
+
const basename = 'idea-seed';
|
|
359
356
|
const location = loc('note', basename);
|
|
360
357
|
|
|
361
358
|
channel.createObject('note', { text: '{{expand this idea}}' }, { basename });
|
|
@@ -659,7 +656,6 @@ Manage channels on the `RoolSpace` handle:
|
|
|
659
656
|
| Method | Description |
|
|
660
657
|
|--------|-------------|
|
|
661
658
|
| `space.channels: ChannelInfo[]` | Live channel list (auto-updates via SSE) |
|
|
662
|
-
| `space.getChannels(): ChannelInfo[]` | List channels (deprecated — use `space.channels` instead) |
|
|
663
659
|
| `space.renameChannel(channelId, name): Promise<void>` | Rename a channel |
|
|
664
660
|
| `space.deleteChannel(channelId): Promise<void>` | Delete a channel and its interaction history |
|
|
665
661
|
| `channel.rename(name): Promise<void>` | Rename the current open channel |
|
|
@@ -703,39 +699,11 @@ client.on('userStorageChanged', ({ key, value, source }) => {
|
|
|
703
699
|
});
|
|
704
700
|
```
|
|
705
701
|
|
|
706
|
-
### Extensions
|
|
707
|
-
|
|
708
|
-
Manage and publish extensions.
|
|
709
|
-
|
|
710
|
-
There are two distinct domains: your **personal library** (extensions you've created or installed) and the **published extensions** (extensions discoverable by all users). Each has its own return type.
|
|
711
|
-
|
|
712
|
-
#### Your Library (`ExtensionInfo`)
|
|
713
|
-
|
|
714
|
-
Manage extensions you own. Each `ExtensionInfo` includes `published` (whether it's listed in the marketplace) and `marketplaceExtensionId` (non-null if you installed it from someone else's listing, null if you authored it).
|
|
715
|
-
|
|
716
|
-
| Method | Description |
|
|
717
|
-
|--------|-------------|
|
|
718
|
-
| `uploadExtension(extensionId, options): Promise<ExtensionInfo>` | Upload or update an extension (`options.bundle`: zip with `index.html` and `manifest.json`) |
|
|
719
|
-
| `listExtensions(): Promise<ExtensionInfo[]>` | List your extensions |
|
|
720
|
-
| `getExtensionInfo(extensionId): Promise<ExtensionInfo \| null>` | Get info for a specific extension |
|
|
721
|
-
| `deleteExtension(extensionId): Promise<void>` | Delete an extension permanently (removes files and DB row) |
|
|
722
|
-
|
|
723
|
-
#### Marketplace (`PublishedExtensionInfo`)
|
|
724
|
-
|
|
725
|
-
Discover and install extensions published by other users.
|
|
726
|
-
|
|
727
|
-
| Method | Description |
|
|
728
|
-
|--------|-------------|
|
|
729
|
-
| `findExtensions(options?): Promise<PublishedExtensionInfo[]>` | Search the marketplace. Options: `query` (semantic search string), `limit` (default 20, max 100). Omit `query` to browse all. |
|
|
730
|
-
| `publishToPublic(extensionId): Promise<void>` | Publish one of your extensions to the marketplace |
|
|
731
|
-
| `unpublishFromPublic(extensionId): Promise<void>` | Remove from the marketplace (keeps the extension in your library) |
|
|
732
|
-
|
|
733
702
|
### Utilities
|
|
734
703
|
|
|
735
704
|
| Method | Description |
|
|
736
705
|
|--------|-------------|
|
|
737
|
-
| `RoolClient.
|
|
738
|
-
| `RoolClient.generateId(): string` | Same as `generateBasename()`; retained for callers minting non-object IDs (interactions, conversations, channels). |
|
|
706
|
+
| `RoolClient.generateId(): string` | Generate a unique 6-character alphanumeric ID. |
|
|
739
707
|
| `destroy(): void` | Clean up resources |
|
|
740
708
|
|
|
741
709
|
### Client Events
|
|
@@ -797,10 +765,8 @@ A space handle with a live SSE subscription. Extends `EventEmitter`. Manages use
|
|
|
797
765
|
| `addUser(userId, role): Promise<void>` | Add user to space |
|
|
798
766
|
| `removeUser(userId): Promise<void>` | Remove user from space |
|
|
799
767
|
| `setLinkAccess(linkAccess): Promise<void>` | Set URL sharing level |
|
|
800
|
-
| `getChannels(): ChannelInfo[]` | List channels (deprecated — use `channels` property instead) |
|
|
801
768
|
| `renameChannel(channelId, name): Promise<void>` | Rename a channel |
|
|
802
769
|
| `deleteChannel(channelId): Promise<void>` | Delete a channel |
|
|
803
|
-
| `installExtension(extensionId, channelId): Promise<string>` | Install an extension into a channel of this space. If you own it, wires it directly. If it's a marketplace extension, copies and builds a new extension in your library. Returns the channel ID. |
|
|
804
770
|
| `exportArchive(): Promise<Blob>` | Export space as zip archive |
|
|
805
771
|
| `getStorageUsage(): Promise<SpaceFileStorageUsage>` | Get WebDAV quota usage for this space |
|
|
806
772
|
| `fetchMachineResource(resource): Promise<Response>` | Fetch a resolved file `MachineResource` through this space |
|
|
@@ -810,7 +776,7 @@ A space handle with a live SSE subscription. Extends `EventEmitter`. Manages use
|
|
|
810
776
|
|
|
811
777
|
```typescript
|
|
812
778
|
space.on('channelCreated', (channel: ChannelInfo) => void) // New channel added
|
|
813
|
-
space.on('channelUpdated', (channel: ChannelInfo) => void) // Channel metadata changed
|
|
779
|
+
space.on('channelUpdated', (channel: ChannelInfo) => void) // Channel metadata changed
|
|
814
780
|
space.on('channelDeleted', (channelId: string) => void) // Channel removed
|
|
815
781
|
space.on('filesChanged', ({ source, timestamp }) => void) // WebDAV file storage changed; call webdav.syncCollection()
|
|
816
782
|
space.on('connectionStateChanged', (state: 'connected' | 'disconnected' | 'reconnecting') => void)
|
|
@@ -831,9 +797,6 @@ A channel is a named context within a space. All object operations, AI prompts,
|
|
|
831
797
|
| `userId: string` | Current user's ID |
|
|
832
798
|
| `channelId: string` | Channel ID (read-only, fixed at open time) |
|
|
833
799
|
| `isReadOnly: boolean` | True if viewer role |
|
|
834
|
-
| `extensionUrl: string \| null` | URL of the installed extension, or null if this is a plain channel |
|
|
835
|
-
| `extensionId: string \| null` | ID of the installed extension, or null if this is a plain channel |
|
|
836
|
-
| `manifest: ExtensionManifest \| null` | Extension manifest snapshot (name, icon, collections, etc.), or null |
|
|
837
800
|
|
|
838
801
|
### Lifecycle
|
|
839
802
|
|
|
@@ -1158,7 +1121,7 @@ The archive bundles `data.json` (objects, metadata, and channels) together with
|
|
|
1158
1121
|
Channel events are for channel/conversation state. Object and file reactivity goes through `space.on('filesChanged' | 'filesReset')` plus WebDAV `syncCollection()`.
|
|
1159
1122
|
|
|
1160
1123
|
```typescript
|
|
1161
|
-
// Channel metadata updated
|
|
1124
|
+
// Channel metadata updated
|
|
1162
1125
|
channel.on('channelUpdated', ({ channelId, source }) => void)
|
|
1163
1126
|
|
|
1164
1127
|
// Conversation interaction history updated
|
|
@@ -1302,13 +1265,10 @@ interface Channel {
|
|
|
1302
1265
|
createdAt: number; // Timestamp when channel was created
|
|
1303
1266
|
createdBy: string; // User ID who created the channel
|
|
1304
1267
|
createdByName?: string; // Display name at time of creation
|
|
1305
|
-
extensionUrl?: string; // URL of installed extension (set by installExtension)
|
|
1306
|
-
extensionId?: string; // ID of installed extension (user_extensions.extension_id)
|
|
1307
|
-
manifest?: ExtensionManifest; // Extension manifest snapshot (set when extension is wired)
|
|
1308
1268
|
conversations: Record<string, Conversation>; // Keyed by conversation ID
|
|
1309
1269
|
}
|
|
1310
1270
|
|
|
1311
|
-
// Channel summary info (
|
|
1271
|
+
// Channel summary info (used by space.channels)
|
|
1312
1272
|
interface ChannelInfo {
|
|
1313
1273
|
id: string;
|
|
1314
1274
|
name: string | null;
|
|
@@ -1316,9 +1276,6 @@ interface ChannelInfo {
|
|
|
1316
1276
|
createdBy: string;
|
|
1317
1277
|
createdByName: string | null;
|
|
1318
1278
|
interactionCount: number;
|
|
1319
|
-
extensionUrl: string | null; // URL of installed extension, or null
|
|
1320
|
-
extensionId: string | null; // ID of installed extension, or null
|
|
1321
|
-
manifest: ExtensionManifest | null; // Extension manifest snapshot, or null
|
|
1322
1279
|
}
|
|
1323
1280
|
```
|
|
1324
1281
|
|
package/dist/channel.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { GraphQLClient } from './graphql.js';
|
|
|
3
3
|
import type { RestClient } from './rest.js';
|
|
4
4
|
import { type RoolWebDAV } from './webdav.js';
|
|
5
5
|
import type { Logger } from './logger.js';
|
|
6
|
-
import type { RoolObject, RoolObjectStat, ChannelEvents, RoolUserRole, PromptOptions,
|
|
6
|
+
import type { RoolObject, GetObjectsResult, RoolObjectStat, ChannelEvents, RoolUserRole, PromptOptions, UpdateObjectOptions, MoveObjectOptions, ChannelEvent, Interaction, Channel, ConversationInfo, LinkAccess, SpaceSchema, CollectionDef, FieldDef, CollectionOptions } from './types.js';
|
|
7
7
|
export declare function generateEntityId(): string;
|
|
8
8
|
export interface ChannelConfig {
|
|
9
9
|
id: string;
|
|
@@ -12,7 +12,7 @@ export interface ChannelConfig {
|
|
|
12
12
|
linkAccess: LinkAccess;
|
|
13
13
|
/** Current user's ID (for identifying own interactions) */
|
|
14
14
|
userId: string;
|
|
15
|
-
/** Object stats keyed by
|
|
15
|
+
/** Object stats keyed by path */
|
|
16
16
|
objectStats: Record<string, RoolObjectStat>;
|
|
17
17
|
/** Collection schema */
|
|
18
18
|
schema: SpaceSchema;
|
|
@@ -35,7 +35,7 @@ export interface ChannelConfig {
|
|
|
35
35
|
* at open time and cannot be changed. To use a different channel,
|
|
36
36
|
* open a second one.
|
|
37
37
|
*
|
|
38
|
-
* Objects are addressed by
|
|
38
|
+
* Objects are addressed by machine path (`/space/.../*.json`).
|
|
39
39
|
* Only schema, metadata, object stats, and the channel's own history are cached
|
|
40
40
|
* locally. Object bodies are fetched on demand. Object/file reactivity is
|
|
41
41
|
* exposed at the space level via WebDAV sync notifications.
|
|
@@ -98,18 +98,6 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
|
|
|
98
98
|
*/
|
|
99
99
|
get conversationId(): string;
|
|
100
100
|
get isReadOnly(): boolean;
|
|
101
|
-
/**
|
|
102
|
-
* Get the extension URL if this channel was created via installExtension, or null.
|
|
103
|
-
*/
|
|
104
|
-
get extensionUrl(): string | null;
|
|
105
|
-
/**
|
|
106
|
-
* Get the extension ID if this channel has an installed extension, or null.
|
|
107
|
-
*/
|
|
108
|
-
get extensionId(): string | null;
|
|
109
|
-
/**
|
|
110
|
-
* Get the extension manifest if this channel has an installed extension, or null.
|
|
111
|
-
*/
|
|
112
|
-
get manifest(): ExtensionManifest | null;
|
|
113
101
|
/**
|
|
114
102
|
* Get the active branch of the current conversation as a flat array (root → leaf).
|
|
115
103
|
* Walks from the active leaf up through parentId pointers.
|
|
@@ -173,58 +161,33 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
|
|
|
173
161
|
clearHistory(): Promise<void>;
|
|
174
162
|
private davHeaders;
|
|
175
163
|
private readObject;
|
|
176
|
-
/**
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
* Get an object's stat (audit information).
|
|
185
|
-
* Returns the cached stat or undefined if not known.
|
|
186
|
-
*/
|
|
187
|
-
stat(location: string): RoolObjectStat | undefined;
|
|
188
|
-
/**
|
|
189
|
-
* Create a new object in the given collection.
|
|
190
|
-
*
|
|
191
|
-
* @param collection - The collection (must exist in the schema)
|
|
192
|
-
* @param body - Object body fields. Fields prefixed with `_` are hidden from AI.
|
|
193
|
-
* @param options.basename - Specific basename to use. If omitted, the SDK generates a random one.
|
|
194
|
-
* @returns The created object and a status message.
|
|
195
|
-
*/
|
|
196
|
-
createObject(collection: string, body: Record<string, unknown>, options?: CreateObjectOptions): Promise<{
|
|
164
|
+
/** Get an object JSON file by machine path. Fetches from the server on each call. */
|
|
165
|
+
getObject(path: string): Promise<RoolObject | undefined>;
|
|
166
|
+
/** Get object JSON files by machine path in bulk. Duplicate paths are fetched once. */
|
|
167
|
+
getObjects(paths: string[]): Promise<GetObjectsResult>;
|
|
168
|
+
/** Get an object's cached audit information. */
|
|
169
|
+
stat(path: string): RoolObjectStat | undefined;
|
|
170
|
+
/** Create or replace an object JSON file at an exact machine path. */
|
|
171
|
+
putObject(path: string, body: Record<string, unknown>): Promise<{
|
|
197
172
|
object: RoolObject;
|
|
198
173
|
message: string;
|
|
199
174
|
}>;
|
|
200
175
|
/** @internal */
|
|
201
|
-
|
|
176
|
+
_putObjectImpl(path: string, body: Record<string, unknown>, conversationId: string): Promise<{
|
|
202
177
|
object: RoolObject;
|
|
203
178
|
message: string;
|
|
204
179
|
}>;
|
|
205
|
-
/**
|
|
206
|
-
|
|
207
|
-
*
|
|
208
|
-
* @param location - The object's location (canonical or short form)
|
|
209
|
-
* @param options.data - Fields to add or update. Pass `null` to delete a field.
|
|
210
|
-
*/
|
|
211
|
-
updateObject(location: string, options: UpdateObjectOptions): Promise<{
|
|
180
|
+
/** Patch an existing object. Null or undefined deletes a field. */
|
|
181
|
+
patchObject(path: string, options: UpdateObjectOptions): Promise<{
|
|
212
182
|
object: RoolObject;
|
|
213
183
|
message: string;
|
|
214
184
|
}>;
|
|
215
185
|
/** @internal */
|
|
216
|
-
|
|
186
|
+
_patchObjectImpl(path: string, options: UpdateObjectOptions, conversationId: string): Promise<{
|
|
217
187
|
object: RoolObject;
|
|
218
188
|
message: string;
|
|
219
189
|
}>;
|
|
220
|
-
/**
|
|
221
|
-
* Move (rename or relocate) an object to a new location.
|
|
222
|
-
* Use this to rename, change collection, or atomically rewrite the body.
|
|
223
|
-
*
|
|
224
|
-
* @param from - Current location
|
|
225
|
-
* @param to - New location
|
|
226
|
-
* @param options.body - Replace the body atomically as part of the move.
|
|
227
|
-
*/
|
|
190
|
+
/** Move an object JSON file to a new machine path, optionally replacing its body. */
|
|
228
191
|
moveObject(from: string, to: string, options?: MoveObjectOptions): Promise<{
|
|
229
192
|
object: RoolObject;
|
|
230
193
|
message: string;
|
|
@@ -234,13 +197,12 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
|
|
|
234
197
|
object: RoolObject;
|
|
235
198
|
message: string;
|
|
236
199
|
}>;
|
|
237
|
-
/**
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
deleteObjects(locations: string[]): Promise<void>;
|
|
200
|
+
/** Delete object JSON files by machine path. */
|
|
201
|
+
deleteObjects(paths: string[]): Promise<void>;
|
|
202
|
+
/** @deprecated Use deleteObjects instead. */
|
|
203
|
+
deletePaths(paths: string[]): Promise<void>;
|
|
242
204
|
/** @internal */
|
|
243
|
-
_deleteObjectsImpl(
|
|
205
|
+
_deleteObjectsImpl(paths: string[], conversationId: string): Promise<void>;
|
|
244
206
|
/** Get the current schema for this space. */
|
|
245
207
|
getSchema(): SpaceSchema;
|
|
246
208
|
/** Create a new collection schema. */
|
|
@@ -335,13 +297,13 @@ export declare class ConversationHandle {
|
|
|
335
297
|
setSystemInstruction(instruction: string | null): Promise<void>;
|
|
336
298
|
/** Rename this conversation. */
|
|
337
299
|
rename(name: string): Promise<void>;
|
|
338
|
-
/** Create
|
|
339
|
-
|
|
300
|
+
/** Create or replace an object JSON file. */
|
|
301
|
+
putObject(path: string, body: Record<string, unknown>): Promise<{
|
|
340
302
|
object: RoolObject;
|
|
341
303
|
message: string;
|
|
342
304
|
}>;
|
|
343
|
-
/**
|
|
344
|
-
|
|
305
|
+
/** Patch an existing object JSON file. */
|
|
306
|
+
patchObject(path: string, options: UpdateObjectOptions): Promise<{
|
|
345
307
|
object: RoolObject;
|
|
346
308
|
message: string;
|
|
347
309
|
}>;
|
|
@@ -350,8 +312,10 @@ export declare class ConversationHandle {
|
|
|
350
312
|
object: RoolObject;
|
|
351
313
|
message: string;
|
|
352
314
|
}>;
|
|
353
|
-
/** Delete
|
|
354
|
-
deleteObjects(
|
|
315
|
+
/** Delete object JSON files by path. */
|
|
316
|
+
deleteObjects(paths: string[]): Promise<void>;
|
|
317
|
+
/** @deprecated Use deleteObjects instead. */
|
|
318
|
+
deletePaths(paths: string[]): Promise<void>;
|
|
355
319
|
/** Send a prompt to the AI agent, scoped to this conversation's history. */
|
|
356
320
|
prompt(text: string, options?: PromptOptions): Promise<{
|
|
357
321
|
message: string;
|
package/dist/channel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
|