@rool-dev/extension 0.3.7-dev.042e4a8 → 0.3.7-dev.8d688f9
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/client.d.ts +6 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +18 -0
- package/dist/dev/host-shell.js +115 -10
- package/dist/dev/host-shell.js.map +1 -1
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +14 -0
- package/dist/reactive.svelte.d.ts +6 -0
- package/dist/reactive.svelte.d.ts.map +1 -1
- package/dist/reactive.svelte.js +6 -0
- 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
CHANGED
|
@@ -55,6 +55,9 @@ export declare class Channel {
|
|
|
55
55
|
alterCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
|
|
56
56
|
dropCollection(name: string): Promise<void>;
|
|
57
57
|
getInteractions(): Promise<Interaction[]>;
|
|
58
|
+
getTree(): Promise<Record<string, Interaction>>;
|
|
59
|
+
getActiveLeafId(): Promise<string | undefined>;
|
|
60
|
+
setActiveLeaf(interactionId: string): Promise<void>;
|
|
58
61
|
getSystemInstruction(): Promise<string | undefined>;
|
|
59
62
|
setSystemInstruction(instruction: string | null): Promise<void>;
|
|
60
63
|
getConversations(): Promise<ConversationInfo[]>;
|
|
@@ -98,6 +101,9 @@ export declare class ConversationHandle {
|
|
|
98
101
|
/** The conversation ID this handle is scoped to. */
|
|
99
102
|
get conversationId(): string;
|
|
100
103
|
getInteractions(): Promise<Interaction[]>;
|
|
104
|
+
getTree(): Promise<Record<string, Interaction>>;
|
|
105
|
+
getActiveLeafId(): Promise<string | undefined>;
|
|
106
|
+
setActiveLeaf(interactionId: string): Promise<void>;
|
|
101
107
|
getSystemInstruction(): Promise<string | undefined>;
|
|
102
108
|
setSystemInstruction(instruction: string | null): Promise<void>;
|
|
103
109
|
rename(name: string): Promise<void>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -178,6 +178,15 @@ export class Channel {
|
|
|
178
178
|
async getInteractions() {
|
|
179
179
|
return this._call('getInteractions');
|
|
180
180
|
}
|
|
181
|
+
async getTree() {
|
|
182
|
+
return this._call('getTree');
|
|
183
|
+
}
|
|
184
|
+
async getActiveLeafId() {
|
|
185
|
+
return this._call('getActiveLeafId');
|
|
186
|
+
}
|
|
187
|
+
async setActiveLeaf(interactionId) {
|
|
188
|
+
await this._call('setActiveLeaf', interactionId);
|
|
189
|
+
}
|
|
181
190
|
async getSystemInstruction() {
|
|
182
191
|
return this._call('getSystemInstruction');
|
|
183
192
|
}
|
|
@@ -272,6 +281,15 @@ export class ConversationHandle {
|
|
|
272
281
|
async getInteractions() {
|
|
273
282
|
return this._channel._callScoped('getInteractions', [], this._conversationId);
|
|
274
283
|
}
|
|
284
|
+
async getTree() {
|
|
285
|
+
return this._channel._callScoped('getTree', [], this._conversationId);
|
|
286
|
+
}
|
|
287
|
+
async getActiveLeafId() {
|
|
288
|
+
return this._channel._callScoped('getActiveLeafId', [], this._conversationId);
|
|
289
|
+
}
|
|
290
|
+
async setActiveLeaf(interactionId) {
|
|
291
|
+
await this._channel._callScoped('setActiveLeaf', [interactionId], this._conversationId);
|
|
292
|
+
}
|
|
275
293
|
async getSystemInstruction() {
|
|
276
294
|
return this._channel._callScoped('getSystemInstruction', [], this._conversationId);
|
|
277
295
|
}
|
package/dist/dev/host-shell.js
CHANGED
|
@@ -5638,8 +5638,8 @@ var GraphQLClient = class {
|
|
|
5638
5638
|
}
|
|
5639
5639
|
async prompt(spaceId, prompt, channelId, conversationId, options) {
|
|
5640
5640
|
return (await this.request(`
|
|
5641
|
-
mutation Prompt($spaceId: String!, $prompt: String!, $objectIds: [String!], $responseSchema: JSON, $channelId: String!, $conversationId: String!, $effort: PromptEffort, $ephemeral: Boolean, $readOnly: Boolean, $attachments: [String!], $interactionId: String
|
|
5642
|
-
prompt(spaceId: $spaceId, prompt: $prompt, objectIds: $objectIds, responseSchema: $responseSchema, channelId: $channelId, conversationId: $conversationId, effort: $effort, ephemeral: $ephemeral, readOnly: $readOnly, attachments: $attachments, interactionId: $interactionId) {
|
|
5641
|
+
mutation Prompt($spaceId: String!, $prompt: String!, $objectIds: [String!], $responseSchema: JSON, $channelId: String!, $conversationId: String!, $effort: PromptEffort, $ephemeral: Boolean, $readOnly: Boolean, $attachments: [String!], $interactionId: String!, $parentInteractionId: String) {
|
|
5642
|
+
prompt(spaceId: $spaceId, prompt: $prompt, objectIds: $objectIds, responseSchema: $responseSchema, channelId: $channelId, conversationId: $conversationId, effort: $effort, ephemeral: $ephemeral, readOnly: $readOnly, attachments: $attachments, interactionId: $interactionId, parentInteractionId: $parentInteractionId) {
|
|
5643
5643
|
message
|
|
5644
5644
|
modifiedObjectIds
|
|
5645
5645
|
}
|
|
@@ -5655,7 +5655,8 @@ var GraphQLClient = class {
|
|
|
5655
5655
|
ephemeral: options.ephemeral,
|
|
5656
5656
|
readOnly: options.readOnly,
|
|
5657
5657
|
attachments: options.attachmentUrls,
|
|
5658
|
-
interactionId: options.interactionId
|
|
5658
|
+
interactionId: options.interactionId,
|
|
5659
|
+
parentInteractionId: options.parentInteractionId
|
|
5659
5660
|
})).prompt;
|
|
5660
5661
|
}
|
|
5661
5662
|
async getAccount() {
|
|
@@ -7220,6 +7221,29 @@ function generateEntityId() {
|
|
|
7220
7221
|
for (let i = 0; i < 6; i++) result += ID_CHARS[Math.floor(Math.random() * 62)];
|
|
7221
7222
|
return result;
|
|
7222
7223
|
}
|
|
7224
|
+
/** Walk from a leaf interaction up through parentId to root, return in root→leaf order. */
|
|
7225
|
+
function walkBranch(interactions, leafId) {
|
|
7226
|
+
const path = [];
|
|
7227
|
+
let currentId = leafId;
|
|
7228
|
+
while (currentId) {
|
|
7229
|
+
const ix = interactions[currentId];
|
|
7230
|
+
if (!ix) break;
|
|
7231
|
+
path.push(ix);
|
|
7232
|
+
currentId = ix.parentId;
|
|
7233
|
+
}
|
|
7234
|
+
return path.reverse();
|
|
7235
|
+
}
|
|
7236
|
+
/** Find the default leaf: the most recent interaction by timestamp that has no children. */
|
|
7237
|
+
function findDefaultLeaf(interactions) {
|
|
7238
|
+
if (!interactions || Array.isArray(interactions)) return void 0;
|
|
7239
|
+
const childSet = /* @__PURE__ */ new Set();
|
|
7240
|
+
for (const ix of Object.values(interactions)) if (ix.parentId) childSet.add(ix.parentId);
|
|
7241
|
+
let best;
|
|
7242
|
+
for (const ix of Object.values(interactions)) if (!childSet.has(ix.id)) {
|
|
7243
|
+
if (!best || ix.timestamp > best.timestamp) best = ix;
|
|
7244
|
+
}
|
|
7245
|
+
return best?.id;
|
|
7246
|
+
}
|
|
7223
7247
|
var OBJECT_COLLECT_TIMEOUT = 3e4;
|
|
7224
7248
|
/**
|
|
7225
7249
|
* A channel is a space + channelId pair.
|
|
@@ -7260,6 +7284,7 @@ var RoolChannel = class extends EventEmitter {
|
|
|
7260
7284
|
_objectIds;
|
|
7261
7285
|
_objectStats;
|
|
7262
7286
|
_hasConnected = false;
|
|
7287
|
+
_activeLeaves = /* @__PURE__ */ new Map();
|
|
7263
7288
|
_pendingMutations = /* @__PURE__ */ new Map();
|
|
7264
7289
|
_objectResolvers = /* @__PURE__ */ new Map();
|
|
7265
7290
|
_objectBuffer = /* @__PURE__ */ new Map();
|
|
@@ -7350,14 +7375,62 @@ var RoolChannel = class extends EventEmitter {
|
|
|
7350
7375
|
return this._channel?.extensionUrl ?? null;
|
|
7351
7376
|
}
|
|
7352
7377
|
/**
|
|
7353
|
-
* Get
|
|
7378
|
+
* Get the active branch of the current conversation as a flat array (root → leaf).
|
|
7379
|
+
* Walks from the active leaf up through parentId pointers.
|
|
7354
7380
|
*/
|
|
7355
7381
|
getInteractions() {
|
|
7356
7382
|
return this._getInteractionsImpl(this._conversationId);
|
|
7357
7383
|
}
|
|
7358
7384
|
/** @internal */
|
|
7359
7385
|
_getInteractionsImpl(conversationId) {
|
|
7360
|
-
|
|
7386
|
+
const interactions = this._channel?.conversations[conversationId]?.interactions;
|
|
7387
|
+
if (!interactions) return [];
|
|
7388
|
+
if (Array.isArray(interactions)) return interactions;
|
|
7389
|
+
const leafId = this._getActiveLeafImpl(conversationId);
|
|
7390
|
+
if (!leafId) return [];
|
|
7391
|
+
return walkBranch(interactions, leafId);
|
|
7392
|
+
}
|
|
7393
|
+
/**
|
|
7394
|
+
* Get the full interaction tree for a conversation as a record.
|
|
7395
|
+
* For clients that need to render branch navigation UI.
|
|
7396
|
+
*/
|
|
7397
|
+
getTree() {
|
|
7398
|
+
return this._getTreeImpl(this._conversationId);
|
|
7399
|
+
}
|
|
7400
|
+
/** @internal */
|
|
7401
|
+
_getTreeImpl(conversationId) {
|
|
7402
|
+
const interactions = this._channel?.conversations[conversationId]?.interactions;
|
|
7403
|
+
if (!interactions || Array.isArray(interactions)) return {};
|
|
7404
|
+
return interactions;
|
|
7405
|
+
}
|
|
7406
|
+
/**
|
|
7407
|
+
* Get the active leaf interaction ID for a conversation.
|
|
7408
|
+
* Returns undefined if the conversation has no interactions.
|
|
7409
|
+
*/
|
|
7410
|
+
get activeLeafId() {
|
|
7411
|
+
return this._getActiveLeafImpl(this._conversationId);
|
|
7412
|
+
}
|
|
7413
|
+
/** @internal */
|
|
7414
|
+
_getActiveLeafImpl(conversationId) {
|
|
7415
|
+
return this._activeLeaves.get(conversationId) ?? findDefaultLeaf(this._channel?.conversations[conversationId]?.interactions);
|
|
7416
|
+
}
|
|
7417
|
+
/**
|
|
7418
|
+
* Set the active leaf for a conversation (switch branches).
|
|
7419
|
+
* Emits a conversationUpdated event so reactive wrappers refresh.
|
|
7420
|
+
*/
|
|
7421
|
+
setActiveLeaf(interactionId) {
|
|
7422
|
+
this._setActiveLeafImpl(interactionId, this._conversationId);
|
|
7423
|
+
}
|
|
7424
|
+
/** @internal */
|
|
7425
|
+
_setActiveLeafImpl(interactionId, conversationId) {
|
|
7426
|
+
const interactions = this._channel?.conversations[conversationId]?.interactions;
|
|
7427
|
+
if (!interactions || Array.isArray(interactions) || !interactions[interactionId]) throw new Error(`Interaction "${interactionId}" not found in conversation "${conversationId}"`);
|
|
7428
|
+
this._activeLeaves.set(conversationId, interactionId);
|
|
7429
|
+
this.emit("conversationUpdated", {
|
|
7430
|
+
conversationId,
|
|
7431
|
+
channelId: this._channelId,
|
|
7432
|
+
source: "local_user"
|
|
7433
|
+
});
|
|
7361
7434
|
}
|
|
7362
7435
|
/**
|
|
7363
7436
|
* Get all conversations in this channel.
|
|
@@ -7371,7 +7444,7 @@ var RoolChannel = class extends EventEmitter {
|
|
|
7371
7444
|
systemInstruction: conv.systemInstruction ?? null,
|
|
7372
7445
|
createdAt: conv.createdAt,
|
|
7373
7446
|
createdBy: conv.createdBy,
|
|
7374
|
-
interactionCount: conv.interactions.length
|
|
7447
|
+
interactionCount: Object.keys(conv.interactions).length
|
|
7375
7448
|
}));
|
|
7376
7449
|
}
|
|
7377
7450
|
/**
|
|
@@ -7780,7 +7853,7 @@ var RoolChannel = class extends EventEmitter {
|
|
|
7780
7853
|
if (!this._channel.conversations[conversationId]) this._channel.conversations[conversationId] = {
|
|
7781
7854
|
createdAt: Date.now(),
|
|
7782
7855
|
createdBy: this._userId,
|
|
7783
|
-
interactions:
|
|
7856
|
+
interactions: {}
|
|
7784
7857
|
};
|
|
7785
7858
|
}
|
|
7786
7859
|
/**
|
|
@@ -7822,14 +7895,17 @@ var RoolChannel = class extends EventEmitter {
|
|
|
7822
7895
|
}
|
|
7823
7896
|
/** @internal */
|
|
7824
7897
|
async _promptImpl(prompt, options, conversationId) {
|
|
7825
|
-
const { attachments, ...rest } = options ?? {};
|
|
7898
|
+
const { attachments, parentInteractionId: explicitParent, ...rest } = options ?? {};
|
|
7826
7899
|
let attachmentUrls;
|
|
7827
7900
|
if (attachments?.length) attachmentUrls = await Promise.all(attachments.map((file) => this.mediaClient.upload(this._id, file)));
|
|
7901
|
+
const parentInteractionId = explicitParent !== void 0 ? explicitParent : this._getActiveLeafImpl(conversationId) ?? null;
|
|
7828
7902
|
const interactionId = generateEntityId();
|
|
7903
|
+
this._activeLeaves.set(conversationId, interactionId);
|
|
7829
7904
|
const result = await this.graphqlClient.prompt(this._id, prompt, this._channelId, conversationId, {
|
|
7830
7905
|
...rest,
|
|
7831
7906
|
attachmentUrls,
|
|
7832
|
-
interactionId
|
|
7907
|
+
interactionId,
|
|
7908
|
+
parentInteractionId
|
|
7833
7909
|
});
|
|
7834
7910
|
const objects = [];
|
|
7835
7911
|
const missing = [];
|
|
@@ -8015,6 +8091,15 @@ var RoolChannel = class extends EventEmitter {
|
|
|
8015
8091
|
if (event.conversation) this._channel.conversations[event.conversationId] = event.conversation;
|
|
8016
8092
|
else delete this._channel.conversations[event.conversationId];
|
|
8017
8093
|
if (JSON.stringify(prev) === JSON.stringify(event.conversation)) break;
|
|
8094
|
+
if (event.conversation && !Array.isArray(event.conversation.interactions)) {
|
|
8095
|
+
const currentLeaf = this._getActiveLeafImpl(event.conversationId);
|
|
8096
|
+
if (currentLeaf) {
|
|
8097
|
+
for (const ix of Object.values(event.conversation.interactions)) if (ix.parentId === currentLeaf && ix.id !== currentLeaf) {
|
|
8098
|
+
this._activeLeaves.set(event.conversationId, ix.id);
|
|
8099
|
+
break;
|
|
8100
|
+
}
|
|
8101
|
+
}
|
|
8102
|
+
}
|
|
8018
8103
|
this.emit("conversationUpdated", {
|
|
8019
8104
|
conversationId: event.conversationId,
|
|
8020
8105
|
channelId: event.channelId,
|
|
@@ -8123,10 +8208,22 @@ var ConversationHandle = class {
|
|
|
8123
8208
|
get conversationId() {
|
|
8124
8209
|
return this._conversationId;
|
|
8125
8210
|
}
|
|
8126
|
-
/** Get
|
|
8211
|
+
/** Get the active branch of this conversation as a flat array (root → leaf). */
|
|
8127
8212
|
getInteractions() {
|
|
8128
8213
|
return this._channel._getInteractionsImpl(this._conversationId);
|
|
8129
8214
|
}
|
|
8215
|
+
/** Get the full interaction tree as a record. */
|
|
8216
|
+
getTree() {
|
|
8217
|
+
return this._channel._getTreeImpl(this._conversationId);
|
|
8218
|
+
}
|
|
8219
|
+
/** Get the active leaf interaction ID, or undefined if empty. */
|
|
8220
|
+
get activeLeafId() {
|
|
8221
|
+
return this._channel._getActiveLeafImpl(this._conversationId);
|
|
8222
|
+
}
|
|
8223
|
+
/** Switch to a different branch by setting the active leaf. */
|
|
8224
|
+
setActiveLeaf(interactionId) {
|
|
8225
|
+
this._channel._setActiveLeafImpl(interactionId, this._conversationId);
|
|
8226
|
+
}
|
|
8130
8227
|
/** Get the system instruction for this conversation. */
|
|
8131
8228
|
getSystemInstruction() {
|
|
8132
8229
|
return this._channel._getSystemInstructionImpl(this._conversationId);
|
|
@@ -8871,6 +8968,9 @@ var ALLOWED_METHODS = new Set([
|
|
|
8871
8968
|
"alterCollection",
|
|
8872
8969
|
"dropCollection",
|
|
8873
8970
|
"getInteractions",
|
|
8971
|
+
"getTree",
|
|
8972
|
+
"setActiveLeaf",
|
|
8973
|
+
"getActiveLeafId",
|
|
8874
8974
|
"getConversations",
|
|
8875
8975
|
"getSystemInstruction",
|
|
8876
8976
|
"setSystemInstruction",
|
|
@@ -8889,6 +8989,9 @@ var ALLOWED_METHODS = new Set([
|
|
|
8889
8989
|
]);
|
|
8890
8990
|
var CONVERSATION_METHODS = new Set([
|
|
8891
8991
|
"getInteractions",
|
|
8992
|
+
"getTree",
|
|
8993
|
+
"setActiveLeaf",
|
|
8994
|
+
"getActiveLeafId",
|
|
8892
8995
|
"getSystemInstruction",
|
|
8893
8996
|
"setSystemInstruction",
|
|
8894
8997
|
"renameConversation",
|
|
@@ -8903,6 +9006,7 @@ var CONVERSATION_METHODS = new Set([
|
|
|
8903
9006
|
"setMetadata"
|
|
8904
9007
|
]);
|
|
8905
9008
|
var CONVERSATION_METHOD_MAP = { "renameConversation": "rename" };
|
|
9009
|
+
var GETTER_MAP = { "getActiveLeafId": "activeLeafId" };
|
|
8906
9010
|
var BridgeHost = class {
|
|
8907
9011
|
channel;
|
|
8908
9012
|
iframe;
|
|
@@ -8969,6 +9073,7 @@ var BridgeHost = class {
|
|
|
8969
9073
|
target = this.channel.conversation(conversationId);
|
|
8970
9074
|
methodName = CONVERSATION_METHOD_MAP[method] ?? method;
|
|
8971
9075
|
}
|
|
9076
|
+
if (GETTER_MAP[methodName]) methodName = GETTER_MAP[methodName];
|
|
8972
9077
|
const fn = target[methodName];
|
|
8973
9078
|
let result;
|
|
8974
9079
|
if (typeof fn === "function") {
|