@rool-dev/extension 0.3.7-dev.2ccb343 → 0.3.7-dev.d9f341e

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/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 } 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,10 +29,13 @@ 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;
31
34
  }
32
35
  export declare class BridgeHost {
33
36
  private channel;
34
37
  private iframe;
38
+ private user;
35
39
  private eventCleanups;
36
40
  private _destroyed;
37
41
  constructor(options: BridgeHostOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;;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;CAC3B;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,iBAAiB;IA0BtC,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,UAAU,CAchB;YAEY,cAAc;IAqD5B,OAAO,CAAC,UAAU;IASlB,OAAO,IAAI,IAAI;CAQhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAEvE"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAA6B,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3E;;;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;CAClB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,EAAE,iBAAiB;IA2BtC,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,UAAU,CAchB;YAEY,cAAc;IAqD5B,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
@@ -83,11 +83,13 @@ const GETTER_MAP = {
83
83
  export class BridgeHost {
84
84
  channel;
85
85
  iframe;
86
+ user;
86
87
  eventCleanups = [];
87
88
  _destroyed = false;
88
89
  constructor(options) {
89
90
  this.channel = options.channel;
90
91
  this.iframe = options.iframe;
92
+ this.user = options.user;
91
93
  window.addEventListener('message', this._onMessage);
92
94
  // Forward channel events to the extension iframe
93
95
  for (const eventName of FORWARDED_EVENTS) {
@@ -116,6 +118,7 @@ export class BridgeHost {
116
118
  role: this.channel.role,
117
119
  linkAccess: this.channel.linkAccess,
118
120
  userId: this.channel.userId,
121
+ user: this.user,
119
122
  schema: this.channel.getSchema(),
120
123
  metadata: this.channel.getAllMetadata(),
121
124
  };
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 } 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
@@ -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,MAAM,eAAe,CAAC;AAGhD,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"}
@@ -30,6 +30,12 @@ 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
+ }
33
39
  /** Host → Extension: handshake response with channel metadata */
34
40
  export interface BridgeInit {
35
41
  type: 'rool:init';
@@ -39,6 +45,7 @@ export interface BridgeInit {
39
45
  role: string;
40
46
  linkAccess: string;
41
47
  userId: string;
48
+ user: BridgeUser;
42
49
  schema: Record<string, unknown>;
43
50
  metadata: Record<string, unknown>;
44
51
  }
@@ -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,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,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
- * Reactive Svelte wrapper around Channel (bridge client).
2
+ * Extension channel bridge client with Svelte 5 reactivity.
3
3
  *
4
- * Mirrors the @rool-dev/svelte ReactiveChannel API: same $state properties,
5
- * same methods, same reactive primitives (object(), watch()).
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 { Channel } from './client.js';
9
- import type { RoolObject, FieldDef, Interaction, ConversationInfo, PromptOptions, FindObjectsOptions, CreateObjectOptions, UpdateObjectOptions } from './types.js';
7
+ import type { BridgeInit, BridgeUser } 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: Channel, options: WatchOptions);
20
+ constructor(channel: ReactiveChannelImpl, options: WatchOptions);
21
21
  refresh(): Promise<void>;
22
22
  close(): void;
23
23
  }
@@ -26,27 +26,43 @@ declare class ReactiveObjectImpl {
26
26
  #private;
27
27
  data: RoolObject | undefined;
28
28
  loading: boolean;
29
- constructor(channel: Channel, objectId: string);
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
- constructor(channel: Channel);
41
- get channelId(): string;
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
+ constructor(init: BridgeInit);
47
53
  get isReadOnly(): boolean;
54
+ on<E extends EventName>(event: E, callback: (data: ChannelEvents[E]) => void): void;
55
+ off<E extends EventName>(event: E, callback: (data: ChannelEvents[E]) => void): void;
56
+ private _emit;
57
+ private _call;
58
+ /**
59
+ * Send a bridge request, optionally scoped to a conversation.
60
+ * @internal
61
+ */
62
+ _callScoped(method: string, args: unknown[], conversationId?: string): Promise<unknown>;
63
+ private _onMessage;
48
64
  getObject(objectId: string): Promise<RoolObject | undefined>;
49
- stat(objectId: string): Promise<import("./types.js").RoolObjectStat | undefined>;
65
+ stat(objectId: string): Promise<RoolObjectStat | undefined>;
50
66
  findObjects(options: FindObjectsOptions): Promise<{
51
67
  objects: RoolObject[];
52
68
  message: string;
@@ -64,19 +80,10 @@ declare class ReactiveChannelImpl {
64
80
  message: string;
65
81
  }>;
66
82
  deleteObjects(objectIds: string[]): Promise<void>;
67
- prompt(text: string, options?: PromptOptions): Promise<{
68
- message: string;
69
- objects: RoolObject[];
70
- }>;
71
- checkpoint(label?: string): Promise<string>;
72
- canUndo(): Promise<boolean>;
73
- canRedo(): Promise<boolean>;
74
- undo(): Promise<boolean>;
75
- redo(): Promise<boolean>;
76
- clearHistory(): Promise<void>;
77
- setMetadata(key: string, value: unknown): Promise<void>;
78
- getMetadata(key: string): unknown;
79
- getAllMetadata(): Record<string, unknown>;
83
+ getSchema(): SpaceSchema;
84
+ createCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
85
+ alterCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
86
+ dropCollection(name: string): Promise<void>;
80
87
  getInteractions(): Promise<Interaction[]>;
81
88
  getTree(): Promise<Record<string, Interaction>>;
82
89
  getActiveLeafId(): Promise<string | undefined>;
@@ -86,13 +93,25 @@ declare class ReactiveChannelImpl {
86
93
  getConversations(): Promise<ConversationInfo[]>;
87
94
  deleteConversation(conversationId: string): Promise<void>;
88
95
  renameConversation(name: string): Promise<void>;
89
- getSchema(): import("./types.js").SpaceSchema;
90
- createCollection(name: string, fields: FieldDef[]): Promise<import("./types.js").CollectionDef>;
91
- alterCollection(name: string, fields: FieldDef[]): Promise<import("./types.js").CollectionDef>;
92
- dropCollection(name: string): Promise<void>;
96
+ /**
97
+ * Get a reactive handle for a specific conversation within this channel.
98
+ * Scopes AI and mutation operations to that conversation's interaction history.
99
+ * Conversations are auto-created on first interaction.
100
+ */
93
101
  conversation(conversationId: string): ReactiveConversationHandle;
94
- on(...args: Parameters<Channel['on']>): void;
95
- off(...args: Parameters<Channel['off']>): void;
102
+ setMetadata(key: string, value: unknown): Promise<void>;
103
+ getMetadata(key: string): unknown;
104
+ getAllMetadata(): Record<string, unknown>;
105
+ prompt(text: string, options?: PromptOptions): Promise<{
106
+ message: string;
107
+ objects: RoolObject[];
108
+ }>;
109
+ checkpoint(label?: string): Promise<string>;
110
+ canUndo(): Promise<boolean>;
111
+ canRedo(): Promise<boolean>;
112
+ undo(): Promise<boolean>;
113
+ redo(): Promise<boolean>;
114
+ clearHistory(): Promise<void>;
96
115
  object(objectId: string): ReactiveObject;
97
116
  watch(options: WatchOptions): ReactiveWatch;
98
117
  destroy(): void;
@@ -100,15 +119,15 @@ declare class ReactiveChannelImpl {
100
119
  export type ReactiveChannel = ReactiveChannelImpl;
101
120
  /**
102
121
  * A reactive conversation handle for the extension bridge.
103
- * Wraps ConversationHandle with $state interactions that auto-update
104
- * when the conversation changes via SSE events.
122
+ * Scopes AI and mutation operations to a specific conversation's
123
+ * interaction history, while sharing the channel's bridge connection.
105
124
  *
106
125
  * Call `close()` when done to stop listening for updates.
107
126
  */
108
127
  declare class ReactiveConversationHandleImpl {
109
128
  #private;
110
129
  interactions: Interaction[];
111
- constructor(channel: Channel, conversationId: string);
130
+ constructor(channel: ReactiveChannelImpl, conversationId: string);
112
131
  get conversationId(): string;
113
132
  getInteractions(): Promise<Interaction[]>;
114
133
  getTree(): Promise<Record<string, Interaction>>;
@@ -134,8 +153,8 @@ declare class ReactiveConversationHandleImpl {
134
153
  message: string;
135
154
  objects: RoolObject[];
136
155
  }>;
137
- createCollection(name: string, fields: FieldDef[]): Promise<import("./types.js").CollectionDef>;
138
- alterCollection(name: string, fields: FieldDef[]): Promise<import("./types.js").CollectionDef>;
156
+ createCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
157
+ alterCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
139
158
  dropCollection(name: string): Promise<void>;
140
159
  setMetadata(key: string, value: unknown): Promise<void>;
141
160
  /**
@@ -150,6 +169,11 @@ export type ReactiveConversationHandle = ReactiveConversationHandleImpl;
150
169
  * Sends `rool:ready` to the host, waits for the handshake, and returns
151
170
  * a reactive channel with $state properties (interactions, objectIds)
152
171
  * and reactive primitives (object(), watch()).
172
+ *
173
+ * If the extension is opened directly (not in an iframe), redirects to the Rool
174
+ * console with `?openExtension={extensionId}` so the user can install or navigate to it.
175
+ *
176
+ * @param timeout - How long to wait for the handshake (ms). Default: 10000.
153
177
  */
154
178
  export declare function initExtension(timeout?: number): Promise<ReactiveChannel>;
155
179
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"reactive.svelte.d.ts","sourceRoot":"","sources":["../src/reactive.svelte.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactive.svelte.d.ts","sourceRoot":"","sources":["../src/reactive.svelte.ts"],"names":[],"mappings":"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"}