@rool-dev/extension 0.3.7 → 0.3.8-dev.368b058
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 +21 -8
- package/dist/cli/build-pipeline.js +1 -1
- package/dist/cli/dev.js +1 -1
- package/dist/cli/init.js +1 -1
- package/dist/dev/DevHostController.d.ts +5 -0
- package/dist/dev/DevHostController.d.ts.map +1 -1
- package/dist/dev/DevHostController.js +22 -1
- package/dist/dev/HostShell.svelte +11 -8
- package/dist/dev/HostShell.svelte.d.ts +1 -8
- package/dist/dev/HostShell.svelte.d.ts.map +1 -1
- package/dist/dev/Sidebar.svelte +14 -1
- package/dist/dev/Sidebar.svelte.d.ts +1 -0
- package/dist/dev/Sidebar.svelte.d.ts.map +1 -1
- package/dist/dev/app.css +1 -0
- package/dist/dev/host-shell.js +280 -72
- package/dist/dev/host-shell.js.map +1 -1
- package/dist/host.d.ts +9 -0
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +28 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/protocol.d.ts +10 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/reactive.svelte.d.ts +68 -37
- package/dist/reactive.svelte.d.ts.map +1 -1
- package/dist/reactive.svelte.js +388 -103
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/client.d.ts +0 -139
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -360
package/dist/host.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Used by both the console's ExtensionHost component and the local dev shell.
|
|
8
8
|
*/
|
|
9
|
+
import type { BridgeUser, ColorScheme } from './protocol.js';
|
|
9
10
|
/**
|
|
10
11
|
* Minimal channel interface accepted by the bridge host.
|
|
11
12
|
* Works with both BridgeableChannel (SDK) and ReactiveChannel (@rool-dev/svelte).
|
|
@@ -28,16 +29,24 @@ export interface BridgeHostOptions {
|
|
|
28
29
|
channel: BridgeableChannel;
|
|
29
30
|
/** The iframe element hosting the extension */
|
|
30
31
|
iframe: HTMLIFrameElement;
|
|
32
|
+
/** Current user info to expose to the extension */
|
|
33
|
+
user: BridgeUser;
|
|
34
|
+
/** Resolved color scheme to send to the extension. Defaults to 'light'. */
|
|
35
|
+
colorScheme?: ColorScheme;
|
|
31
36
|
}
|
|
32
37
|
export declare class BridgeHost {
|
|
33
38
|
private channel;
|
|
34
39
|
private iframe;
|
|
40
|
+
private user;
|
|
41
|
+
private _colorScheme;
|
|
35
42
|
private eventCleanups;
|
|
36
43
|
private _destroyed;
|
|
37
44
|
constructor(options: BridgeHostOptions);
|
|
38
45
|
private _sendInit;
|
|
39
46
|
private _onMessage;
|
|
40
47
|
private _handleRequest;
|
|
48
|
+
/** Update the color scheme and push to the extension iframe. */
|
|
49
|
+
setColorScheme(colorScheme: ColorScheme): void;
|
|
41
50
|
private _postToApp;
|
|
42
51
|
destroy(): void;
|
|
43
52
|
}
|
package/dist/host.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAA6B,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGxF;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAChE,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/C;AAgFD,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,+CAA+C;IAC/C,MAAM,EAAE,iBAAiB,CAAC;IAC1B,mDAAmD;IACnD,IAAI,EAAE,UAAU,CAAC;IACjB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,iBAAiB;IA4BtC,OAAO,CAAC,SAAS;IAqBjB,OAAO,CAAC,UAAU,CAchB;YAEY,cAAc;IAqD5B,gEAAgE;IAChE,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAS9C,OAAO,CAAC,UAAU;IASlB,OAAO,IAAI,IAAI;CAQhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAEvE"}
|
package/dist/host.js
CHANGED
|
@@ -34,6 +34,9 @@ const ALLOWED_METHODS = new Set([
|
|
|
34
34
|
'alterCollection',
|
|
35
35
|
'dropCollection',
|
|
36
36
|
'getInteractions',
|
|
37
|
+
'getTree',
|
|
38
|
+
'setActiveLeaf',
|
|
39
|
+
'getActiveLeafId',
|
|
37
40
|
'getConversations',
|
|
38
41
|
'getSystemInstruction',
|
|
39
42
|
'setSystemInstruction',
|
|
@@ -53,6 +56,9 @@ const ALLOWED_METHODS = new Set([
|
|
|
53
56
|
// Methods that can be dispatched to a ConversationHandle when conversationId is present
|
|
54
57
|
const CONVERSATION_METHODS = new Set([
|
|
55
58
|
'getInteractions',
|
|
59
|
+
'getTree',
|
|
60
|
+
'setActiveLeaf',
|
|
61
|
+
'getActiveLeafId',
|
|
56
62
|
'getSystemInstruction',
|
|
57
63
|
'setSystemInstruction',
|
|
58
64
|
'renameConversation',
|
|
@@ -70,14 +76,22 @@ const CONVERSATION_METHODS = new Set([
|
|
|
70
76
|
const CONVERSATION_METHOD_MAP = {
|
|
71
77
|
'renameConversation': 'rename',
|
|
72
78
|
};
|
|
79
|
+
// Wire method names that map to getters (not callable methods)
|
|
80
|
+
const GETTER_MAP = {
|
|
81
|
+
'getActiveLeafId': 'activeLeafId',
|
|
82
|
+
};
|
|
73
83
|
export class BridgeHost {
|
|
74
84
|
channel;
|
|
75
85
|
iframe;
|
|
86
|
+
user;
|
|
87
|
+
_colorScheme;
|
|
76
88
|
eventCleanups = [];
|
|
77
89
|
_destroyed = false;
|
|
78
90
|
constructor(options) {
|
|
79
91
|
this.channel = options.channel;
|
|
80
92
|
this.iframe = options.iframe;
|
|
93
|
+
this.user = options.user;
|
|
94
|
+
this._colorScheme = options.colorScheme ?? 'light';
|
|
81
95
|
window.addEventListener('message', this._onMessage);
|
|
82
96
|
// Forward channel events to the extension iframe
|
|
83
97
|
for (const eventName of FORWARDED_EVENTS) {
|
|
@@ -106,6 +120,8 @@ export class BridgeHost {
|
|
|
106
120
|
role: this.channel.role,
|
|
107
121
|
linkAccess: this.channel.linkAccess,
|
|
108
122
|
userId: this.channel.userId,
|
|
123
|
+
user: this.user,
|
|
124
|
+
colorScheme: this._colorScheme,
|
|
109
125
|
schema: this.channel.getSchema(),
|
|
110
126
|
metadata: this.channel.getAllMetadata(),
|
|
111
127
|
};
|
|
@@ -147,6 +163,10 @@ export class BridgeHost {
|
|
|
147
163
|
target = this.channel.conversation(conversationId);
|
|
148
164
|
methodName = CONVERSATION_METHOD_MAP[method] ?? method;
|
|
149
165
|
}
|
|
166
|
+
// Resolve getter aliases (e.g. getActiveLeafId → activeLeafId)
|
|
167
|
+
if (GETTER_MAP[methodName]) {
|
|
168
|
+
methodName = GETTER_MAP[methodName];
|
|
169
|
+
}
|
|
150
170
|
// Get the method from the target (cast for dynamic dispatch)
|
|
151
171
|
const fn = target[methodName];
|
|
152
172
|
let result;
|
|
@@ -169,6 +189,14 @@ export class BridgeHost {
|
|
|
169
189
|
}
|
|
170
190
|
}
|
|
171
191
|
// ---------------------------------------------------------------------------
|
|
192
|
+
// Color scheme
|
|
193
|
+
// ---------------------------------------------------------------------------
|
|
194
|
+
/** Update the color scheme and push to the extension iframe. */
|
|
195
|
+
setColorScheme(colorScheme) {
|
|
196
|
+
this._colorScheme = colorScheme;
|
|
197
|
+
this._postToApp({ type: 'rool:event', name: 'colorSchemeChanged', data: { colorScheme } });
|
|
198
|
+
}
|
|
199
|
+
// ---------------------------------------------------------------------------
|
|
172
200
|
// Helpers
|
|
173
201
|
// ---------------------------------------------------------------------------
|
|
174
202
|
_postToApp(message) {
|
package/dist/index.d.ts
CHANGED
|
@@ -6,5 +6,6 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export { initExtension } from './reactive.svelte.js';
|
|
8
8
|
export type { ReactiveChannel, ReactiveConversationHandle, ReactiveObject, ReactiveWatch, WatchOptions } from './reactive.svelte.js';
|
|
9
|
+
export type { BridgeUser, ColorScheme } from './protocol.js';
|
|
9
10
|
export type { RoolObject, RoolObjectStat, SpaceSchema, CollectionDef, FieldDef, FieldType, Interaction, InteractionStatus, ConversationInfo, ToolCall, PromptOptions, PromptEffort, FindObjectsOptions, CreateObjectOptions, UpdateObjectOptions, ChangeSource, RoolUserRole, LinkAccess, ChannelEvents, } from './types.js';
|
|
10
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":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,0BAA0B,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGrI,YAAY,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,0BAA0B,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGrI,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG7D,YAAY,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,YAAY,CAAC"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -30,6 +30,14 @@ export interface BridgeEvent {
|
|
|
30
30
|
export interface BridgeReady {
|
|
31
31
|
type: 'rool:ready';
|
|
32
32
|
}
|
|
33
|
+
/** Current user info sent to extensions during handshake */
|
|
34
|
+
export interface BridgeUser {
|
|
35
|
+
id: string;
|
|
36
|
+
name: string | null;
|
|
37
|
+
email: string;
|
|
38
|
+
}
|
|
39
|
+
/** Resolved color scheme sent to extensions */
|
|
40
|
+
export type ColorScheme = 'light' | 'dark';
|
|
33
41
|
/** Host → Extension: handshake response with channel metadata */
|
|
34
42
|
export interface BridgeInit {
|
|
35
43
|
type: 'rool:init';
|
|
@@ -39,6 +47,8 @@ export interface BridgeInit {
|
|
|
39
47
|
role: string;
|
|
40
48
|
linkAccess: string;
|
|
41
49
|
userId: string;
|
|
50
|
+
user: BridgeUser;
|
|
51
|
+
colorScheme: ColorScheme;
|
|
42
52
|
schema: Record<string, unknown>;
|
|
43
53
|
metadata: Record<string, unknown>;
|
|
44
54
|
}
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,eAAe,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,0DAA0D;AAC1D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAED,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,iEAAiE;AACjE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,cAAc,GACd,WAAW,GACX,WAAW,GACX,UAAU,CAAC;AAEf,qCAAqC;AACrC,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,aAAa,CAQpE"}
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,eAAe,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,0DAA0D;AAC1D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAED,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,+CAA+C;AAC/C,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,iEAAiE;AACjE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,cAAc,GACd,WAAW,GACX,WAAW,GACX,UAAU,CAAC;AAEf,qCAAqC;AACrC,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,aAAa,CAQpE"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Extension channel — bridge client with Svelte 5 reactivity.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* The underlying transport is the postMessage bridge, not the SDK.
|
|
4
|
+
* Handles the postMessage bridge to the host and provides reactive $state
|
|
5
|
+
* properties, matching the @rool-dev/svelte ReactiveChannel API.
|
|
7
6
|
*/
|
|
8
|
-
import {
|
|
9
|
-
import type { RoolObject, FieldDef, Interaction, ConversationInfo, PromptOptions, FindObjectsOptions, CreateObjectOptions, UpdateObjectOptions } from './types.js';
|
|
7
|
+
import type { BridgeInit, BridgeUser, ColorScheme } from './protocol.js';
|
|
8
|
+
import type { RoolObject, RoolObjectStat, SpaceSchema, CollectionDef, FieldDef, Interaction, ConversationInfo, PromptOptions, FindObjectsOptions, CreateObjectOptions, UpdateObjectOptions, RoolUserRole, LinkAccess, ChannelEvents } from './types.js';
|
|
9
|
+
type EventName = keyof ChannelEvents;
|
|
10
10
|
export interface WatchOptions {
|
|
11
11
|
where?: Record<string, unknown>;
|
|
12
12
|
collection?: string;
|
|
@@ -17,7 +17,7 @@ declare class ReactiveWatchImpl {
|
|
|
17
17
|
#private;
|
|
18
18
|
objects: RoolObject[];
|
|
19
19
|
loading: boolean;
|
|
20
|
-
constructor(channel:
|
|
20
|
+
constructor(channel: ReactiveChannelImpl, options: WatchOptions);
|
|
21
21
|
refresh(): Promise<void>;
|
|
22
22
|
close(): void;
|
|
23
23
|
}
|
|
@@ -26,27 +26,44 @@ declare class ReactiveObjectImpl {
|
|
|
26
26
|
#private;
|
|
27
27
|
data: RoolObject | undefined;
|
|
28
28
|
loading: boolean;
|
|
29
|
-
constructor(channel:
|
|
29
|
+
constructor(channel: ReactiveChannelImpl, objectId: string);
|
|
30
30
|
refresh(): Promise<void>;
|
|
31
31
|
close(): void;
|
|
32
32
|
}
|
|
33
33
|
export type ReactiveObject = ReactiveObjectImpl;
|
|
34
34
|
declare class ReactiveChannelImpl {
|
|
35
35
|
#private;
|
|
36
|
+
private _pending;
|
|
37
|
+
private _listeners;
|
|
38
|
+
private _schema;
|
|
39
|
+
private _metadata;
|
|
40
|
+
readonly channelId: string;
|
|
41
|
+
readonly spaceId: string;
|
|
42
|
+
readonly spaceName: string;
|
|
43
|
+
readonly role: RoolUserRole;
|
|
44
|
+
readonly linkAccess: LinkAccess;
|
|
45
|
+
readonly userId: string;
|
|
46
|
+
/** Current user info (id, name, email). */
|
|
47
|
+
readonly user: BridgeUser;
|
|
36
48
|
interactions: Interaction[];
|
|
37
49
|
objectIds: string[];
|
|
38
50
|
collections: string[];
|
|
39
51
|
conversations: ConversationInfo[];
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
get spaceId(): string;
|
|
43
|
-
get spaceName(): string;
|
|
44
|
-
get role(): import("./types.js").RoolUserRole;
|
|
45
|
-
get linkAccess(): import("./types.js").LinkAccess;
|
|
46
|
-
get userId(): string;
|
|
52
|
+
colorScheme: ColorScheme;
|
|
53
|
+
constructor(init: BridgeInit);
|
|
47
54
|
get isReadOnly(): boolean;
|
|
55
|
+
on<E extends EventName>(event: E, callback: (data: ChannelEvents[E]) => void): void;
|
|
56
|
+
off<E extends EventName>(event: E, callback: (data: ChannelEvents[E]) => void): void;
|
|
57
|
+
private _emit;
|
|
58
|
+
private _call;
|
|
59
|
+
/**
|
|
60
|
+
* Send a bridge request, optionally scoped to a conversation.
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
_callScoped(method: string, args: unknown[], conversationId?: string): Promise<unknown>;
|
|
64
|
+
private _onMessage;
|
|
48
65
|
getObject(objectId: string): Promise<RoolObject | undefined>;
|
|
49
|
-
stat(objectId: string): Promise<
|
|
66
|
+
stat(objectId: string): Promise<RoolObjectStat | undefined>;
|
|
50
67
|
findObjects(options: FindObjectsOptions): Promise<{
|
|
51
68
|
objects: RoolObject[];
|
|
52
69
|
message: string;
|
|
@@ -64,6 +81,28 @@ declare class ReactiveChannelImpl {
|
|
|
64
81
|
message: string;
|
|
65
82
|
}>;
|
|
66
83
|
deleteObjects(objectIds: string[]): Promise<void>;
|
|
84
|
+
getSchema(): SpaceSchema;
|
|
85
|
+
createCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
|
|
86
|
+
alterCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
|
|
87
|
+
dropCollection(name: string): Promise<void>;
|
|
88
|
+
getInteractions(): Promise<Interaction[]>;
|
|
89
|
+
getTree(): Promise<Record<string, Interaction>>;
|
|
90
|
+
getActiveLeafId(): Promise<string | undefined>;
|
|
91
|
+
setActiveLeaf(interactionId: string): Promise<void>;
|
|
92
|
+
getSystemInstruction(): Promise<string | undefined>;
|
|
93
|
+
setSystemInstruction(instruction: string | null): Promise<void>;
|
|
94
|
+
getConversations(): Promise<ConversationInfo[]>;
|
|
95
|
+
deleteConversation(conversationId: string): Promise<void>;
|
|
96
|
+
renameConversation(name: string): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* Get a reactive handle for a specific conversation within this channel.
|
|
99
|
+
* Scopes AI and mutation operations to that conversation's interaction history.
|
|
100
|
+
* Conversations are auto-created on first interaction.
|
|
101
|
+
*/
|
|
102
|
+
conversation(conversationId: string): ReactiveConversationHandle;
|
|
103
|
+
setMetadata(key: string, value: unknown): Promise<void>;
|
|
104
|
+
getMetadata(key: string): unknown;
|
|
105
|
+
getAllMetadata(): Record<string, unknown>;
|
|
67
106
|
prompt(text: string, options?: PromptOptions): Promise<{
|
|
68
107
|
message: string;
|
|
69
108
|
objects: RoolObject[];
|
|
@@ -74,22 +113,6 @@ declare class ReactiveChannelImpl {
|
|
|
74
113
|
undo(): Promise<boolean>;
|
|
75
114
|
redo(): Promise<boolean>;
|
|
76
115
|
clearHistory(): Promise<void>;
|
|
77
|
-
setMetadata(key: string, value: unknown): Promise<void>;
|
|
78
|
-
getMetadata(key: string): unknown;
|
|
79
|
-
getAllMetadata(): Record<string, unknown>;
|
|
80
|
-
getInteractions(): Promise<Interaction[]>;
|
|
81
|
-
getSystemInstruction(): Promise<string | undefined>;
|
|
82
|
-
setSystemInstruction(instruction: string | null): Promise<void>;
|
|
83
|
-
getConversations(): Promise<ConversationInfo[]>;
|
|
84
|
-
deleteConversation(conversationId: string): Promise<void>;
|
|
85
|
-
renameConversation(name: string): Promise<void>;
|
|
86
|
-
getSchema(): import("./types.js").SpaceSchema;
|
|
87
|
-
createCollection(name: string, fields: FieldDef[]): Promise<import("./types.js").CollectionDef>;
|
|
88
|
-
alterCollection(name: string, fields: FieldDef[]): Promise<import("./types.js").CollectionDef>;
|
|
89
|
-
dropCollection(name: string): Promise<void>;
|
|
90
|
-
conversation(conversationId: string): ReactiveConversationHandle;
|
|
91
|
-
on(...args: Parameters<Channel['on']>): void;
|
|
92
|
-
off(...args: Parameters<Channel['off']>): void;
|
|
93
116
|
object(objectId: string): ReactiveObject;
|
|
94
117
|
watch(options: WatchOptions): ReactiveWatch;
|
|
95
118
|
destroy(): void;
|
|
@@ -97,17 +120,20 @@ declare class ReactiveChannelImpl {
|
|
|
97
120
|
export type ReactiveChannel = ReactiveChannelImpl;
|
|
98
121
|
/**
|
|
99
122
|
* A reactive conversation handle for the extension bridge.
|
|
100
|
-
*
|
|
101
|
-
*
|
|
123
|
+
* Scopes AI and mutation operations to a specific conversation's
|
|
124
|
+
* interaction history, while sharing the channel's bridge connection.
|
|
102
125
|
*
|
|
103
126
|
* Call `close()` when done to stop listening for updates.
|
|
104
127
|
*/
|
|
105
128
|
declare class ReactiveConversationHandleImpl {
|
|
106
129
|
#private;
|
|
107
130
|
interactions: Interaction[];
|
|
108
|
-
constructor(channel:
|
|
131
|
+
constructor(channel: ReactiveChannelImpl, conversationId: string);
|
|
109
132
|
get conversationId(): string;
|
|
110
133
|
getInteractions(): Promise<Interaction[]>;
|
|
134
|
+
getTree(): Promise<Record<string, Interaction>>;
|
|
135
|
+
getActiveLeafId(): Promise<string | undefined>;
|
|
136
|
+
setActiveLeaf(interactionId: string): Promise<void>;
|
|
111
137
|
getSystemInstruction(): Promise<string | undefined>;
|
|
112
138
|
setSystemInstruction(instruction: string | null): Promise<void>;
|
|
113
139
|
rename(name: string): Promise<void>;
|
|
@@ -128,8 +154,8 @@ declare class ReactiveConversationHandleImpl {
|
|
|
128
154
|
message: string;
|
|
129
155
|
objects: RoolObject[];
|
|
130
156
|
}>;
|
|
131
|
-
createCollection(name: string, fields: FieldDef[]): Promise<
|
|
132
|
-
alterCollection(name: string, fields: FieldDef[]): Promise<
|
|
157
|
+
createCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
|
|
158
|
+
alterCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
|
|
133
159
|
dropCollection(name: string): Promise<void>;
|
|
134
160
|
setMetadata(key: string, value: unknown): Promise<void>;
|
|
135
161
|
/**
|
|
@@ -144,6 +170,11 @@ export type ReactiveConversationHandle = ReactiveConversationHandleImpl;
|
|
|
144
170
|
* Sends `rool:ready` to the host, waits for the handshake, and returns
|
|
145
171
|
* a reactive channel with $state properties (interactions, objectIds)
|
|
146
172
|
* and reactive primitives (object(), watch()).
|
|
173
|
+
*
|
|
174
|
+
* If the extension is opened directly (not in an iframe), redirects to the Rool
|
|
175
|
+
* console with `?openExtension={extensionId}` so the user can install or navigate to it.
|
|
176
|
+
*
|
|
177
|
+
* @param timeout - How long to wait for the handshake (ms). Default: 10000.
|
|
147
178
|
*/
|
|
148
179
|
export declare function initExtension(timeout?: number): Promise<ReactiveChannel>;
|
|
149
180
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactive.svelte.d.ts","sourceRoot":"","sources":["../src/reactive.svelte.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"reactive.svelte.d.ts","sourceRoot":"","sources":["../src/reactive.svelte.ts"],"names":[],"mappings":"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"}
|