@rool-dev/client 0.4.10 → 0.5.0

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/graphql.js CHANGED
@@ -45,75 +45,76 @@ export class GraphQLClient {
45
45
  }
46
46
  // ===========================================================================
47
47
  // Space Lifecycle Operations (called from RoolClient)
48
- // These use a placeholder sessionId since client events aren't filtered
48
+ // These use a placeholder conversationId since client events aren't filtered
49
49
  // ===========================================================================
50
- async createSpace(spaceId, name, sessionId) {
50
+ async createSpace(spaceId, name, conversationId) {
51
51
  const mutation = `
52
- mutation CreateSpace($id: String!, $name: String!, $sessionId: String!) {
53
- createSpace(id: $id, name: $name, sessionId: $sessionId)
52
+ mutation CreateSpace($id: String!, $name: String!, $conversationId: String!) {
53
+ createSpace(id: $id, name: $name, conversationId: $conversationId)
54
54
  }
55
55
  `;
56
56
  await this.request(mutation, {
57
57
  id: spaceId,
58
58
  name,
59
- sessionId,
59
+ conversationId,
60
60
  });
61
61
  }
62
- async deleteSpace(spaceId, sessionId) {
62
+ async deleteSpace(spaceId, conversationId) {
63
63
  const mutation = `
64
- mutation DeleteSpace($id: String!, $sessionId: String!) {
65
- deleteSpace(id: $id, sessionId: $sessionId)
64
+ mutation DeleteSpace($id: String!, $conversationId: String!) {
65
+ deleteSpace(id: $id, conversationId: $conversationId)
66
66
  }
67
67
  `;
68
68
  await this.request(mutation, {
69
69
  id: spaceId,
70
- sessionId,
70
+ conversationId,
71
71
  });
72
72
  }
73
- async renameSpace(spaceId, name, sessionId) {
73
+ async renameSpace(spaceId, name, conversationId) {
74
74
  const mutation = `
75
- mutation RenameSpace($id: String!, $name: String!, $sessionId: String!) {
76
- renameSpace(id: $id, name: $name, sessionId: $sessionId)
75
+ mutation RenameSpace($id: String!, $name: String!, $conversationId: String!) {
76
+ renameSpace(id: $id, name: $name, conversationId: $conversationId)
77
77
  }
78
78
  `;
79
79
  await this.request(mutation, {
80
80
  id: spaceId,
81
81
  name,
82
- sessionId,
82
+ conversationId,
83
83
  });
84
84
  }
85
85
  // ===========================================================================
86
86
  // Space Content Operations (called from RoolSpace)
87
- // These require sessionId for echo suppression
87
+ // These require conversationId for AI context and echoId for echo suppression
88
88
  // ===========================================================================
89
- async setSpace(spaceId, space, sessionId) {
89
+ async setSpace(spaceId, space, conversationId, echoId) {
90
90
  const mutation = `
91
- mutation SetSpace($id: String!, $spaceData: String!, $sessionId: String!) {
92
- setSpace(id: $id, spaceData: $spaceData, sessionId: $sessionId)
91
+ mutation SetSpace($id: String!, $spaceData: String!, $conversationId: String!, $echoId: String!) {
92
+ setSpace(id: $id, spaceData: $spaceData, conversationId: $conversationId, echoId: $echoId)
93
93
  }
94
94
  `;
95
95
  await this.request(mutation, {
96
96
  id: spaceId,
97
97
  spaceData: JSON.stringify(space),
98
- sessionId,
98
+ conversationId,
99
+ echoId,
99
100
  });
100
101
  }
101
- async setSpaceMeta(spaceId, meta, sessionId) {
102
+ async setSpaceMeta(spaceId, meta, conversationId) {
102
103
  const mutation = `
103
- mutation SetSpaceMeta($id: String!, $meta: String!, $sessionId: String!) {
104
- setSpaceMeta(id: $id, meta: $meta, sessionId: $sessionId)
104
+ mutation SetSpaceMeta($id: String!, $meta: String!, $conversationId: String!) {
105
+ setSpaceMeta(id: $id, meta: $meta, conversationId: $conversationId)
105
106
  }
106
107
  `;
107
108
  await this.request(mutation, {
108
109
  id: spaceId,
109
110
  meta: JSON.stringify(meta),
110
- sessionId,
111
+ conversationId,
111
112
  });
112
113
  }
113
- async link(spaceId, source, relation, target, sessionId) {
114
+ async link(spaceId, source, relation, target, conversationId, echoId) {
114
115
  const mutation = `
115
- mutation Link($spaceId: String!, $source: String!, $relation: String!, $target: String!, $sessionId: String!) {
116
- link(spaceId: $spaceId, source: $source, relation: $relation, target: $target, sessionId: $sessionId)
116
+ mutation Link($spaceId: String!, $source: String!, $relation: String!, $target: String!, $conversationId: String!, $echoId: String!) {
117
+ link(spaceId: $spaceId, source: $source, relation: $relation, target: $target, conversationId: $conversationId, echoId: $echoId)
117
118
  }
118
119
  `;
119
120
  await this.request(mutation, {
@@ -121,13 +122,14 @@ export class GraphQLClient {
121
122
  source,
122
123
  relation,
123
124
  target,
124
- sessionId,
125
+ conversationId,
126
+ echoId,
125
127
  });
126
128
  }
127
- async unlink(spaceId, source, relation, target, sessionId) {
129
+ async unlink(spaceId, source, relation, target, conversationId, echoId) {
128
130
  const mutation = `
129
- mutation Unlink($spaceId: String!, $source: String!, $relation: String, $target: String, $sessionId: String!) {
130
- unlink(spaceId: $spaceId, source: $source, relation: $relation, target: $target, sessionId: $sessionId)
131
+ mutation Unlink($spaceId: String!, $source: String!, $relation: String, $target: String, $conversationId: String!, $echoId: String!) {
132
+ unlink(spaceId: $spaceId, source: $source, relation: $relation, target: $target, conversationId: $conversationId, echoId: $echoId)
131
133
  }
132
134
  `;
133
135
  await this.request(mutation, {
@@ -135,39 +137,42 @@ export class GraphQLClient {
135
137
  source,
136
138
  relation: relation ?? null,
137
139
  target: target ?? null,
138
- sessionId: sessionId,
140
+ conversationId,
141
+ echoId,
139
142
  });
140
143
  }
141
- async deleteObjects(spaceId, ids, sessionId) {
144
+ async deleteObjects(spaceId, ids, conversationId, echoId) {
142
145
  const mutation = `
143
- mutation DeleteObjects($spaceId: String!, $ids: [String!]!, $sessionId: String!) {
144
- deleteObjects(spaceId: $spaceId, ids: $ids, sessionId: $sessionId)
146
+ mutation DeleteObjects($spaceId: String!, $ids: [String!]!, $conversationId: String!, $echoId: String!) {
147
+ deleteObjects(spaceId: $spaceId, ids: $ids, conversationId: $conversationId, echoId: $echoId)
145
148
  }
146
149
  `;
147
150
  await this.request(mutation, {
148
151
  spaceId,
149
152
  ids,
150
- sessionId,
153
+ conversationId,
154
+ echoId,
151
155
  });
152
156
  }
153
- async createObject(spaceId, data, sessionId, prompt) {
157
+ async createObject(spaceId, data, conversationId, echoId, prompt) {
154
158
  const mutation = `
155
- mutation CreateObject($spaceId: String!, $data: String!, $prompt: String, $sessionId: String!) {
156
- createObject(spaceId: $spaceId, data: $data, prompt: $prompt, sessionId: $sessionId)
159
+ mutation CreateObject($spaceId: String!, $data: String!, $prompt: String, $conversationId: String!, $echoId: String!) {
160
+ createObject(spaceId: $spaceId, data: $data, prompt: $prompt, conversationId: $conversationId, echoId: $echoId)
157
161
  }
158
162
  `;
159
163
  const result = await this.request(mutation, {
160
164
  spaceId,
161
165
  data: JSON.stringify(data),
162
166
  prompt,
163
- sessionId,
167
+ conversationId,
168
+ echoId,
164
169
  });
165
170
  return result.createObject;
166
171
  }
167
- async updateObject(spaceId, id, sessionId, data, prompt) {
172
+ async updateObject(spaceId, id, conversationId, echoId, data, prompt) {
168
173
  const mutation = `
169
- mutation UpdateObject($spaceId: String!, $id: String!, $data: String, $prompt: String, $sessionId: String!) {
170
- updateObject(spaceId: $spaceId, id: $id, data: $data, prompt: $prompt, sessionId: $sessionId)
174
+ mutation UpdateObject($spaceId: String!, $id: String!, $data: String, $prompt: String, $conversationId: String!, $echoId: String!) {
175
+ updateObject(spaceId: $spaceId, id: $id, data: $data, prompt: $prompt, conversationId: $conversationId, echoId: $echoId)
171
176
  }
172
177
  `;
173
178
  const result = await this.request(mutation, {
@@ -175,14 +180,15 @@ export class GraphQLClient {
175
180
  id,
176
181
  data: data ? JSON.stringify(data) : undefined,
177
182
  prompt,
178
- sessionId,
183
+ conversationId,
184
+ echoId,
179
185
  });
180
186
  return result.updateObject;
181
187
  }
182
- async findObjects(spaceId, options, sessionId) {
188
+ async findObjects(spaceId, options, conversationId, echoId) {
183
189
  const query = `
184
- query FindObjects($spaceId: String!, $where: String, $prompt: String, $limit: Int, $objectIds: [String!], $sessionId: String!) {
185
- findObjects(spaceId: $spaceId, where: $where, prompt: $prompt, limit: $limit, objectIds: $objectIds, sessionId: $sessionId) {
190
+ query FindObjects($spaceId: String!, $where: String, $prompt: String, $limit: Int, $objectIds: [String!], $conversationId: String!, $echoId: String!) {
191
+ findObjects(spaceId: $spaceId, where: $where, prompt: $prompt, limit: $limit, objectIds: $objectIds, conversationId: $conversationId, echoId: $echoId) {
186
192
  objects
187
193
  message
188
194
  }
@@ -194,7 +200,8 @@ export class GraphQLClient {
194
200
  prompt: options.prompt,
195
201
  limit: options.limit,
196
202
  objectIds: options.objectIds ?? [],
197
- sessionId,
203
+ conversationId,
204
+ echoId,
198
205
  });
199
206
  return {
200
207
  objects: JSON.parse(result.findObjects.objects),
@@ -204,10 +211,10 @@ export class GraphQLClient {
204
211
  // ===========================================================================
205
212
  // AI Operations
206
213
  // ===========================================================================
207
- async prompt(spaceId, prompt, sessionId, options = {}) {
214
+ async prompt(spaceId, prompt, conversationId, echoId, options = {}) {
208
215
  const mutation = `
209
- mutation Prompt($spaceId: String!, $prompt: String!, $objectIds: [String!], $responseSchema: JSON, $sessionId: String!) {
210
- prompt(spaceId: $spaceId, prompt: $prompt, objectIds: $objectIds, responseSchema: $responseSchema, sessionId: $sessionId) {
216
+ mutation Prompt($spaceId: String!, $prompt: String!, $objectIds: [String!], $responseSchema: JSON, $conversationId: String!, $echoId: String!) {
217
+ prompt(spaceId: $spaceId, prompt: $prompt, objectIds: $objectIds, responseSchema: $responseSchema, conversationId: $conversationId, echoId: $echoId) {
211
218
  message
212
219
  modifiedObjectIds
213
220
  }
@@ -218,7 +225,8 @@ export class GraphQLClient {
218
225
  prompt,
219
226
  objectIds: options.objectIds ?? [],
220
227
  responseSchema: options.responseSchema,
221
- sessionId,
228
+ conversationId,
229
+ echoId,
222
230
  });
223
231
  return response.prompt;
224
232
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../src/graphql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../src/graphql.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { RoolClient } from './client.js';
2
2
  export { RoolSpace, generateEntityId } from './space.js';
3
3
  export { EventEmitter } from './event-emitter.js';
4
- export type { RoolObject, RoolObjectEntry, RoolSpaceData, RoolSpaceInfo, JSONPatchOp, ClientEvent, ClientEventType, SpaceEvent, SpaceEventType, RoolEventSource, SpaceMember, RoolUserRole, UserResult, CurrentUser, AuthUser, MediaInfo, PromptOptions, FindObjectsOptions, ConnectionState, SpaceEvents, ObjectCreatedEvent, ObjectUpdatedEvent, ObjectDeletedEvent, LinkedEvent, UnlinkedEvent, MetadataUpdatedEvent, SpaceResetEvent, RoolClientConfig, RoolClientEvents, AuthTokens, AuthProvider, } from './types.js';
4
+ export type { RoolObject, RoolObjectEntry, RoolSpaceData, RoolSpaceInfo, JSONPatchOp, ClientEvent, ClientEventType, SpaceEvent, SpaceEventType, RoolEventSource, SpaceMember, RoolUserRole, UserResult, CurrentUser, AuthUser, MediaInfo, PromptOptions, FindObjectsOptions, ConnectionState, SpaceEvents, ObjectCreatedEvent, ObjectUpdatedEvent, ObjectDeletedEvent, LinkedEvent, UnlinkedEvent, MetadataUpdatedEvent, ConversationUpdatedEvent, SpaceResetEvent, Conversation, ConversationMessage, RoolClientConfig, RoolClientEvents, AuthTokens, AuthProvider, } from './types.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,YAAY,EAEV,UAAU,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,WAAW,EAGX,WAAW,EACX,eAAe,EACf,UAAU,EACV,cAAc,EACd,eAAe,EAGf,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,QAAQ,EAGR,SAAS,EAGT,aAAa,EACb,kBAAkB,EAGlB,eAAe,EAGf,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,eAAe,EAGf,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,YAAY,EAEV,UAAU,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,WAAW,EAGX,WAAW,EACX,eAAe,EACf,UAAU,EACV,cAAc,EACd,eAAe,EAGf,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,QAAQ,EAGR,SAAS,EAGT,aAAa,EACb,kBAAkB,EAGlB,eAAe,EAGf,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EAGf,YAAY,EACZ,mBAAmB,EAGnB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAC"}
package/dist/space.d.ts CHANGED
@@ -2,15 +2,17 @@ import { EventEmitter } from './event-emitter.js';
2
2
  import type { GraphQLClient } from './graphql.js';
3
3
  import type { MediaClient } from './media.js';
4
4
  import type { AuthManager } from './auth.js';
5
- import type { RoolSpaceData, RoolObject, SpaceEvents, RoolUserRole, SpaceMember, PromptOptions, FindObjectsOptions, MediaInfo } from './types.js';
5
+ import type { RoolSpaceData, RoolObject, SpaceEvents, RoolUserRole, SpaceMember, PromptOptions, FindObjectsOptions, MediaInfo, Conversation, ConversationMessage } from './types.js';
6
6
  export declare function generateEntityId(): string;
7
7
  export interface SpaceConfig {
8
8
  id: string;
9
9
  name: string;
10
10
  role: RoolUserRole;
11
11
  initialData: RoolSpaceData;
12
- /** Optional session ID for AI context continuity. If not provided, a new session is created. */
13
- sessionId?: string;
12
+ /** Current user's ID (for optimistic updates). May be undefined if not fetched yet. */
13
+ userId?: string;
14
+ /** Optional conversation ID for AI context continuity. If not provided, a new conversation is created. */
15
+ conversationId?: string;
14
16
  graphqlClient: GraphQLClient;
15
17
  mediaClient: MediaClient;
16
18
  graphqlUrl: string;
@@ -31,7 +33,9 @@ export declare class RoolSpace extends EventEmitter<SpaceEvents> {
31
33
  private _id;
32
34
  private _name;
33
35
  private _role;
34
- private _sessionId;
36
+ private _userId;
37
+ private _conversationId;
38
+ private _echoId;
35
39
  private _data;
36
40
  private graphqlClient;
37
41
  private mediaClient;
@@ -47,8 +51,22 @@ export declare class RoolSpace extends EventEmitter<SpaceEvents> {
47
51
  * Get the connection ID for this space instance.
48
52
  * Used for AI context tracking and echo suppression.
49
53
  */
50
- get sessionId(): string;
54
+ get conversationId(): string;
51
55
  get isReadOnly(): boolean;
56
+ /**
57
+ * Get conversation messages for this space's conversation.
58
+ * Returns the messages array for the current conversationId.
59
+ */
60
+ getConversation(): ConversationMessage[];
61
+ /**
62
+ * Get conversation messages for a specific conversation ID.
63
+ * Useful for viewing other conversations in the space.
64
+ */
65
+ getConversationById(conversationId: string): Conversation | undefined;
66
+ /**
67
+ * Get all conversation IDs in this space.
68
+ */
69
+ getConversationIds(): string[];
52
70
  /**
53
71
  * Rename this space.
54
72
  */
@@ -214,6 +232,11 @@ export declare class RoolSpace extends EventEmitter<SpaceEvents> {
214
232
  message: string;
215
233
  objects: RoolObject[];
216
234
  }>;
235
+ /**
236
+ * Append a message to the current conversation (for optimistic updates).
237
+ * @internal
238
+ */
239
+ private appendConversationMessage;
217
240
  /**
218
241
  * List users with access to this space.
219
242
  */
@@ -1 +1 @@
1
- {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../src/space.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../src/space.ts"],"names":[],"mappings":"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"}
package/dist/space.js CHANGED
@@ -25,7 +25,9 @@ export class RoolSpace extends EventEmitter {
25
25
  _id;
26
26
  _name;
27
27
  _role;
28
- _sessionId;
28
+ _userId;
29
+ _conversationId;
30
+ _echoId;
29
31
  _data;
30
32
  graphqlClient;
31
33
  mediaClient;
@@ -39,7 +41,9 @@ export class RoolSpace extends EventEmitter {
39
41
  this._id = config.id;
40
42
  this._name = config.name;
41
43
  this._role = config.role;
42
- this._sessionId = config.sessionId ?? generateEntityId();
44
+ this._userId = config.userId;
45
+ this._conversationId = config.conversationId ?? generateEntityId();
46
+ this._echoId = generateEntityId(); // Unique per tab for echo suppression
43
47
  this._data = config.initialData;
44
48
  this.graphqlClient = config.graphqlClient;
45
49
  this.mediaClient = config.mediaClient;
@@ -49,7 +53,8 @@ export class RoolSpace extends EventEmitter {
49
53
  graphqlUrl: config.graphqlUrl,
50
54
  authManager: config.authManager,
51
55
  spaceId: this._id,
52
- sessionId: this._sessionId,
56
+ conversationId: this._conversationId,
57
+ echoId: this._echoId,
53
58
  onEvent: (event) => this.handleSpaceEvent(event),
54
59
  onConnectionStateChanged: () => {
55
60
  // Space-level connection state (could emit events if needed)
@@ -77,13 +82,36 @@ export class RoolSpace extends EventEmitter {
77
82
  * Get the connection ID for this space instance.
78
83
  * Used for AI context tracking and echo suppression.
79
84
  */
80
- get sessionId() {
81
- return this._sessionId;
85
+ get conversationId() {
86
+ return this._conversationId;
82
87
  }
83
88
  get isReadOnly() {
84
89
  return this._role === 'viewer';
85
90
  }
86
91
  // ===========================================================================
92
+ // Conversation Access
93
+ // ===========================================================================
94
+ /**
95
+ * Get conversation messages for this space's conversation.
96
+ * Returns the messages array for the current conversationId.
97
+ */
98
+ getConversation() {
99
+ return this._data.conversations?.[this._conversationId]?.messages ?? [];
100
+ }
101
+ /**
102
+ * Get conversation messages for a specific conversation ID.
103
+ * Useful for viewing other conversations in the space.
104
+ */
105
+ getConversationById(conversationId) {
106
+ return this._data.conversations?.[conversationId];
107
+ }
108
+ /**
109
+ * Get all conversation IDs in this space.
110
+ */
111
+ getConversationIds() {
112
+ return Object.keys(this._data.conversations ?? {});
113
+ }
114
+ // ===========================================================================
87
115
  // Space Lifecycle
88
116
  // ===========================================================================
89
117
  /**
@@ -93,7 +121,7 @@ export class RoolSpace extends EventEmitter {
93
121
  const oldName = this._name;
94
122
  this._name = newName;
95
123
  try {
96
- await this.graphqlClient.renameSpace(this._id, newName, this._sessionId);
124
+ await this.graphqlClient.renameSpace(this._id, newName, this._conversationId);
97
125
  }
98
126
  catch (error) {
99
127
  this._name = oldName;
@@ -163,7 +191,7 @@ export class RoolSpace extends EventEmitter {
163
191
  this._data = previousEntry.data;
164
192
  // Sync to server - resync on failure
165
193
  try {
166
- await this.graphqlClient.setSpace(this._id, this._data, this._sessionId);
194
+ await this.graphqlClient.setSpace(this._id, this._data, this._conversationId, this._echoId);
167
195
  this.emit('reset', { source: 'local_user' });
168
196
  }
169
197
  catch (error) {
@@ -191,7 +219,7 @@ export class RoolSpace extends EventEmitter {
191
219
  this._data = nextEntry.data;
192
220
  // Sync to server - resync on failure
193
221
  try {
194
- await this.graphqlClient.setSpace(this._id, this._data, this._sessionId);
222
+ await this.graphqlClient.setSpace(this._id, this._data, this._conversationId, this._echoId);
195
223
  this.emit('reset', { source: 'local_user' });
196
224
  }
197
225
  catch (error) {
@@ -281,7 +309,7 @@ export class RoolSpace extends EventEmitter {
281
309
  };
282
310
  }
283
311
  // Otherwise, use server (with AI)
284
- return this.graphqlClient.findObjects(this._id, options, this._sessionId);
312
+ return this.graphqlClient.findObjects(this._id, options, this._conversationId, this._echoId);
285
313
  }
286
314
  /**
287
315
  * Get all object IDs.
@@ -318,7 +346,7 @@ export class RoolSpace extends EventEmitter {
318
346
  this.emit('objectCreated', { objectId, object: entry.data, source: 'local_user' });
319
347
  // Await server call (may trigger AI processing that updates local state via patches)
320
348
  try {
321
- const message = await this.graphqlClient.createObject(this.id, dataWithId, this._sessionId, prompt);
349
+ const message = await this.graphqlClient.createObject(this.id, dataWithId, this._conversationId, this._echoId, prompt);
322
350
  // Return current state (may have been updated by AI patches)
323
351
  return { object: this._data.objects[objectId].data, message };
324
352
  }
@@ -355,7 +383,7 @@ export class RoolSpace extends EventEmitter {
355
383
  }
356
384
  // Await server call (may trigger AI processing that updates local state via patches)
357
385
  try {
358
- const message = await this.graphqlClient.updateObject(this.id, objectId, this._sessionId, data, options.prompt);
386
+ const message = await this.graphqlClient.updateObject(this.id, objectId, this._conversationId, this._echoId, data, options.prompt);
359
387
  // Return current state (may have been updated by AI patches)
360
388
  return { object: this._data.objects[objectId].data, message };
361
389
  }
@@ -403,7 +431,7 @@ export class RoolSpace extends EventEmitter {
403
431
  }
404
432
  // Await server call
405
433
  try {
406
- await this.graphqlClient.deleteObjects(this.id, objectIds, this._sessionId);
434
+ await this.graphqlClient.deleteObjects(this.id, objectIds, this._conversationId, this._echoId);
407
435
  }
408
436
  catch (error) {
409
437
  console.error('[Space] Failed to delete objects:', error);
@@ -432,7 +460,7 @@ export class RoolSpace extends EventEmitter {
432
460
  this.emit('linked', { sourceId, relation, targetId, linkData, source: 'local_user' });
433
461
  // Await server call
434
462
  try {
435
- await this.graphqlClient.link(this.id, sourceId, relation, targetId, this._sessionId);
463
+ await this.graphqlClient.link(this.id, sourceId, relation, targetId, this._conversationId, this._echoId);
436
464
  }
437
465
  catch (error) {
438
466
  console.error('[Space] Failed to create link:', error);
@@ -486,7 +514,7 @@ export class RoolSpace extends EventEmitter {
486
514
  }
487
515
  // Await server call
488
516
  try {
489
- await this.graphqlClient.unlink(this.id, sourceId, relation, targetId, this._sessionId);
517
+ await this.graphqlClient.unlink(this.id, sourceId, relation, targetId, this._conversationId, this._echoId);
490
518
  }
491
519
  catch (error) {
492
520
  console.error('[Space] Failed to remove link:', error);
@@ -564,7 +592,7 @@ export class RoolSpace extends EventEmitter {
564
592
  this._data.meta[key] = value;
565
593
  this.emit('metadataUpdated', { metadata: this._data.meta, source: 'local_user' });
566
594
  // Fire-and-forget server call - errors trigger resync
567
- this.graphqlClient.setSpaceMeta(this.id, this._data.meta, this._sessionId)
595
+ this.graphqlClient.setSpaceMeta(this.id, this._data.meta, this._conversationId)
568
596
  .catch((error) => {
569
597
  console.error('[Space] Failed to set meta:', error);
570
598
  this.resyncFromServer(error instanceof Error ? error : new Error(String(error)));
@@ -590,7 +618,20 @@ export class RoolSpace extends EventEmitter {
590
618
  * @returns The message from the AI and the list of objects that were created or modified
591
619
  */
592
620
  async prompt(prompt, options) {
593
- const result = await this.graphqlClient.prompt(this._id, prompt, this._sessionId, options);
621
+ // Optimistic update: add user message immediately (if we have userId)
622
+ if (this._userId) {
623
+ const userMessage = {
624
+ timestamp: Date.now(),
625
+ role: 'user',
626
+ userId: this._userId,
627
+ content: prompt,
628
+ modifiedObjectIds: [],
629
+ source: 'prompt',
630
+ };
631
+ this.appendConversationMessage(userMessage);
632
+ this.emit('conversationUpdated', { conversationId: this._conversationId, source: 'local_user' });
633
+ }
634
+ const result = await this.graphqlClient.prompt(this._id, prompt, this._conversationId, this._echoId, options);
594
635
  // Hydrate modified object IDs to actual objects (filter out deleted ones)
595
636
  const objects = result.modifiedObjectIds
596
637
  .map(id => this._data.objects[id]?.data)
@@ -600,6 +641,19 @@ export class RoolSpace extends EventEmitter {
600
641
  objects,
601
642
  };
602
643
  }
644
+ /**
645
+ * Append a message to the current conversation (for optimistic updates).
646
+ * @internal
647
+ */
648
+ appendConversationMessage(message) {
649
+ if (!this._data.conversations) {
650
+ this._data.conversations = {};
651
+ }
652
+ if (!this._data.conversations[this._conversationId]) {
653
+ this._data.conversations[this._conversationId] = { messages: [] };
654
+ }
655
+ this._data.conversations[this._conversationId].messages.push(message);
656
+ }
603
657
  // ===========================================================================
604
658
  // Collaboration
605
659
  // ===========================================================================
@@ -761,6 +815,14 @@ export class RoolSpace extends EventEmitter {
761
815
  else if (path === '/meta' || path.startsWith('/meta/')) {
762
816
  this.emit('metadataUpdated', { metadata: this._data.meta, source });
763
817
  }
818
+ // Conversation operations: /conversations/{conversationId}/...
819
+ else if (path.startsWith('/conversations/')) {
820
+ const parts = path.split('/');
821
+ const conversationId = parts[2];
822
+ if (conversationId) {
823
+ this.emit('conversationUpdated', { conversationId, source });
824
+ }
825
+ }
764
826
  }
765
827
  }
766
828
  // ===========================================================================