@applica-software-guru/persona-chat-sdk 0.1.108 → 0.1.113
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/bundle.cjs.js +13 -13
- package/dist/bundle.cjs.js.map +1 -1
- package/dist/bundle.es.js +2029 -1998
- package/dist/bundle.es.js.map +1 -1
- package/dist/bundle.iife.js +13 -13
- package/dist/bundle.iife.js.map +1 -1
- package/dist/bundle.umd.js +14 -14
- package/dist/bundle.umd.js.map +1 -1
- package/dist/messages.d.ts.map +1 -1
- package/dist/protocol/base.d.ts +1 -1
- package/dist/protocol/base.d.ts.map +1 -1
- package/dist/protocol/rest.d.ts +1 -1
- package/dist/protocol/rest.d.ts.map +1 -1
- package/dist/protocol/transaction.d.ts +4 -4
- package/dist/protocol/transaction.d.ts.map +1 -1
- package/dist/runtime/context.d.ts +5 -0
- package/dist/runtime/context.d.ts.map +1 -1
- package/dist/runtime/file-attachment-adapter.d.ts +1 -1
- package/dist/runtime/file-attachment-adapter.d.ts.map +1 -1
- package/dist/runtime/threads.d.ts +2 -1
- package/dist/runtime/threads.d.ts.map +1 -1
- package/dist/runtime.d.ts +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/storage/base.d.ts +1 -0
- package/dist/storage/base.d.ts.map +1 -1
- package/dist/storage/persona.d.ts +1 -0
- package/dist/storage/persona.d.ts.map +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/types.d.ts +3 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -1
- package/src/messages.ts +22 -3
- package/src/protocol/base.ts +2 -1
- package/src/protocol/rest.ts +1 -1
- package/src/protocol/transaction.ts +7 -5
- package/src/runtime/context.ts +12 -0
- package/src/runtime/file-attachment-adapter.ts +2 -1
- package/src/runtime/protocols.ts +1 -1
- package/src/runtime/threads.ts +9 -0
- package/src/runtime.tsx +13 -1
- package/src/storage/base.ts +2 -0
- package/src/storage/persona.ts +20 -12
- package/src/tools.ts +9 -1
- package/src/types.ts +4 -2
package/dist/messages.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAmB,iBAAiB,EAAiB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAmB,iBAAiB,EAAiB,MAAM,qBAAqB,CAAC;AAuBxF,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,CAiBvE;AAED,iBAAS,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CASzE;AACD,iBAAS,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAyEnE;AAED,iBAAS,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAsFlE;AAED,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC"}
|
package/dist/protocol/base.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ declare abstract class PersonaProtocolBase implements PersonaProtocol {
|
|
|
19
19
|
abstract connect(session?: Session): Promise<Session>;
|
|
20
20
|
abstract disconnect(): Promise<void>;
|
|
21
21
|
abstract sendPacket(packet: PersonaPacket): Promise<void>;
|
|
22
|
-
onTransaction(
|
|
22
|
+
onTransaction(_transaction: PersonaTransaction): void;
|
|
23
23
|
}
|
|
24
24
|
export { PersonaProtocolBase };
|
|
25
25
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/protocol/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAElB,uBAAe,mBAAoB,YAAW,eAAe;IAC3D,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,gBAAgB,CAAiC;IAElD,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB;IAItD,iBAAiB,CAAC,QAAQ,EAAE,uBAAuB;IAG7C,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAGnD,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAG3C,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAStD,cAAc,IAAI,IAAI;IAKtB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE,QAAQ,CAAC,OAAO,IAAI,MAAM;IAC1B,QAAQ,CAAC,WAAW,IAAI,MAAM;IAC9B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACrD,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/protocol/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAElB,uBAAe,mBAAoB,YAAW,eAAe;IAC3D,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,gBAAgB,CAAiC;IAElD,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB;IAItD,iBAAiB,CAAC,QAAQ,EAAE,uBAAuB;IAG7C,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAGnD,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAG3C,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAStD,cAAc,IAAI,IAAI;IAKtB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE,QAAQ,CAAC,OAAO,IAAI,MAAM;IAC1B,QAAQ,CAAC,WAAW,IAAI,MAAM;IAC9B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACrD,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAGlD,aAAa,CAAC,YAAY,EAAE,kBAAkB;CACtD;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
package/dist/protocol/rest.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ declare class PersonaRESTProtocol extends PersonaProtocolBase {
|
|
|
10
10
|
session: Session;
|
|
11
11
|
config: PersonaRESTProtocolConfig;
|
|
12
12
|
notify: boolean;
|
|
13
|
-
context: Record<string,
|
|
13
|
+
context: Record<string, unknown>;
|
|
14
14
|
tools: ToolInstance[];
|
|
15
15
|
constructor(config: PersonaRESTProtocolConfig);
|
|
16
16
|
getName(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../../src/protocol/rest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAEL,OAAO,EACP,cAAc,EACd,yBAAyB,EAEzB,aAAa,EAEd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,KAAK,yBAAyB,GAAG,yBAAyB,GAAG;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,cAAM,mBAAoB,SAAQ,mBAAmB;IACnD,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,EAAE,OAAO,CAAQ;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../../src/protocol/rest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAEL,OAAO,EACP,cAAc,EACd,yBAAyB,EAEzB,aAAa,EAEd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,KAAK,yBAAyB,GAAG,yBAAyB,GAAG;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,cAAM,mBAAoB,SAAQ,mBAAmB;IACnD,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,EAAE,OAAO,CAAQ;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACtC,KAAK,EAAE,YAAY,EAAE,CAAM;gBAEf,MAAM,EAAE,yBAAyB;IAOtC,OAAO,IAAI,MAAM;IAIjB,WAAW,IAAI,MAAM;IAIf,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAK3C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAiD9D;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,YAAY,EAAE,yBAAyB,EAAE,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { Session, ProtocolStatus, PersonaProtocolBaseConfig, PersonaTransaction,
|
|
|
3
3
|
import { ToolInstance } from '../tools';
|
|
4
4
|
type FinishTransactionRequest = {
|
|
5
5
|
success: boolean;
|
|
6
|
-
output:
|
|
6
|
+
output: unknown;
|
|
7
7
|
error: string | null;
|
|
8
8
|
};
|
|
9
9
|
declare class PersonaTransactionsManager {
|
|
@@ -13,7 +13,7 @@ declare class PersonaTransactionsManager {
|
|
|
13
13
|
fail(transaction: PersonaTransaction, request: FinishTransactionRequest): Promise<void>;
|
|
14
14
|
persist(transaction: PersonaTransaction, request: FinishTransactionRequest): Promise<void>;
|
|
15
15
|
}
|
|
16
|
-
export type PersonaToolCallback = (...args: any[]) =>
|
|
16
|
+
export type PersonaToolCallback = (...args: any[]) => any;
|
|
17
17
|
export type PersonaTools = {
|
|
18
18
|
[key: string]: PersonaToolCallback;
|
|
19
19
|
};
|
|
@@ -23,7 +23,7 @@ declare class PersonaPersistableTransaction {
|
|
|
23
23
|
constructor(transaction: PersonaTransaction, manager: PersonaTransactionsManager);
|
|
24
24
|
getFunctionCall(): FunctionCall | null;
|
|
25
25
|
invoke(tools: PersonaTools, toolInstance?: ToolInstance): Promise<void>;
|
|
26
|
-
complete(output:
|
|
26
|
+
complete(output: unknown): Promise<void>;
|
|
27
27
|
fail(error: string): Promise<void>;
|
|
28
28
|
}
|
|
29
29
|
type PersonaTransactionCallback = (transaction: PersonaPersistableTransaction) => void;
|
|
@@ -47,7 +47,7 @@ declare class PersonaTransactionProtocol extends PersonaProtocolBase {
|
|
|
47
47
|
connect(session: Session): Promise<Session>;
|
|
48
48
|
disconnect(): Promise<void>;
|
|
49
49
|
syncSession(session: Session): Promise<void>;
|
|
50
|
-
sendPacket(
|
|
50
|
+
sendPacket(_packet: PersonaPacket): Promise<void>;
|
|
51
51
|
onTransaction(transaction: PersonaTransaction): void;
|
|
52
52
|
getTools(): PersonaTools;
|
|
53
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/protocol/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC/H,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,KAAK,wBAAwB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/protocol/transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export type PersonaRuntimeContextType = {
|
|
|
5
5
|
protocols: PersonaProtocol[];
|
|
6
6
|
protocolsStatus: Map<string, ProtocolStatus>;
|
|
7
7
|
getMessages: () => PersonaMessage[];
|
|
8
|
+
renameThread: (threadId: string, name: string) => void;
|
|
8
9
|
};
|
|
9
10
|
export declare const PersonaRuntimeContext: import("react").Context<PersonaRuntimeContextType | undefined>;
|
|
10
11
|
/**
|
|
@@ -27,6 +28,10 @@ export declare function usePersonaRuntimeEndpoint(): string | null;
|
|
|
27
28
|
* Gets the WebRTC protocol instance
|
|
28
29
|
*/
|
|
29
30
|
export declare function usePersonaRuntimeWebRTCProtocol(): PersonaWebRTCProtocol | null;
|
|
31
|
+
/**
|
|
32
|
+
* Renames a thread by calling the Persona sessions API
|
|
33
|
+
*/
|
|
34
|
+
export declare function usePersonaRenameThread(): (threadId: string, name: string) => void;
|
|
30
35
|
/**
|
|
31
36
|
* Gets all messages from the current conversation
|
|
32
37
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/runtime/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGpD,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,WAAW,EAAE,MAAM,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/runtime/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGpD,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,WAAW,EAAE,MAAM,cAAc,EAAE,CAAC;IACpC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxD,CAAC;AAEF,eAAO,MAAM,qBAAqB,gEAAkE,CAAC;AAErG;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,yBAAyB,CAM7D;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAyBlF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,GAAG,IAAI,CAOzD;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,qBAAqB,GAAG,IAAI,CAE9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAMjF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,cAAc,EAAE,CAM5D"}
|
|
@@ -10,6 +10,6 @@ export declare class SimpleFileAttachmentAdapter implements AttachmentAdapter {
|
|
|
10
10
|
file: File;
|
|
11
11
|
}): Promise<PendingAttachment>;
|
|
12
12
|
send(attachment: PendingAttachment): Promise<CompleteAttachment>;
|
|
13
|
-
remove(
|
|
13
|
+
remove(_a: Attachment): Promise<void>;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=file-attachment-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-attachment-adapter.d.ts","sourceRoot":"","sources":["../../../src/runtime/file-attachment-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAW7F;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,iBAAiB;IACnE,MAAM,SAAO;IAEP,GAAG,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAWtD,IAAI,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"file-attachment-adapter.d.ts","sourceRoot":"","sources":["../../../src/runtime/file-attachment-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAW7F;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,iBAAiB;IACnE,MAAM,SAAO;IAEP,GAAG,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAWtD,IAAI,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiBhE,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAC5C"}
|
|
@@ -7,7 +7,7 @@ export declare function generateSessionId(): string;
|
|
|
7
7
|
/**
|
|
8
8
|
* Creates the thread list adapter for multi-thread support
|
|
9
9
|
*/
|
|
10
|
-
export declare function createThreadListAdapter(currentThreadId: string, threadList: ThreadData[], setCurrentThreadId: (id: string) => void, setThreadList: React.Dispatch<React.SetStateAction<ThreadData[]>>, storage: SessionStorage, onThreadCreate?: (threadId: string) => void, onThreadSwitch?: (threadId: string) => void, onThreadArchive?: (threadId: string) => void, onThreadUnarchive?: (threadId: string) => void, onThreadDelete?: (threadId: string) => void): {
|
|
10
|
+
export declare function createThreadListAdapter(currentThreadId: string, threadList: ThreadData[], setCurrentThreadId: (id: string) => void, setThreadList: React.Dispatch<React.SetStateAction<ThreadData[]>>, storage: SessionStorage, onThreadCreate?: (threadId: string) => void, onThreadSwitch?: (threadId: string) => void, onThreadArchive?: (threadId: string) => void, onThreadUnarchive?: (threadId: string) => void, onThreadDelete?: (threadId: string) => void, onThreadRename?: (threadId: string, name: string) => void): {
|
|
11
11
|
threadId: string;
|
|
12
12
|
threads: {
|
|
13
13
|
id: string;
|
|
@@ -25,6 +25,7 @@ export declare function createThreadListAdapter(currentThreadId: string, threadL
|
|
|
25
25
|
onSwitchToThread: (threadId: string) => void;
|
|
26
26
|
onArchive: (threadId: string) => void;
|
|
27
27
|
onUnarchive: (threadId: string) => void;
|
|
28
|
+
onRename: (threadId: string, name: string) => void;
|
|
28
29
|
onDelete: (threadId: string) => Promise<void>;
|
|
29
30
|
};
|
|
30
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../../src/runtime/threads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAO1C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,UAAU,EAAE,EACxB,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,EACxC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,EACjE,OAAO,EAAE,cAAc,EACvB,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EAC3C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EAC3C,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EAC5C,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EAC9C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../../src/runtime/threads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAO1C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,UAAU,EAAE,EACxB,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,EACxC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,EACjE,OAAO,EAAE,cAAc,EACvB,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EAC3C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EAC3C,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EAC5C,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EAC9C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,EAC3C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI;;;;;;;;;;;;;;;iCAkC1B,MAAM;0BAKb,MAAM;4BASJ,MAAM;yBAKT,MAAM,QAAQ,MAAM;yBAQd,MAAM;EAepC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
2
|
import { PersonaConfig, PersonaMessage, PersonaResponse, ThreadData } from './types';
|
|
3
|
-
export { usePersonaRuntime, usePersonaRuntimeProtocol, usePersonaRuntimeEndpoint, usePersonaRuntimeWebRTCProtocol, usePersonaRuntimeMessages, } from './runtime/context';
|
|
3
|
+
export { usePersonaRuntime, usePersonaRuntimeProtocol, usePersonaRuntimeEndpoint, usePersonaRuntimeWebRTCProtocol, usePersonaRuntimeMessages, usePersonaRenameThread, } from './runtime/context';
|
|
4
4
|
export type { PersonaMessage, PersonaResponse, ThreadData };
|
|
5
5
|
export declare function PersonaRuntimeProvider({ children, ...config }: PropsWithChildren<PersonaConfig>): import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
//# sourceMappingURL=runtime.d.ts.map
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoC,iBAAiB,EAAmB,MAAM,OAAO,CAAC;AAS7F,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAA2B,UAAU,EAAE,MAAM,SAAS,CAAC;AAS9G,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoC,iBAAiB,EAAmB,MAAM,OAAO,CAAC;AAS7F,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAA2B,UAAU,EAAE,MAAM,SAAS,CAAC;AAS9G,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AA4T5D,wBAAgB,sBAAsB,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,EAAE,iBAAiB,CAAC,aAAa,CAAC,2CAE/F"}
|
package/dist/storage/base.d.ts
CHANGED
|
@@ -5,5 +5,6 @@ export interface SessionStorage {
|
|
|
5
5
|
unarchive(sessionId: Session): Promise<void>;
|
|
6
6
|
delete(sessionId: Session): Promise<void>;
|
|
7
7
|
list(agentId: string, userId?: string): Promise<ThreadData[]>;
|
|
8
|
+
rename(sessionId: Session, name: string): Promise<void>;
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/storage/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEpE,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEpD,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/storage/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEpE,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEpD,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAE9D,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD"}
|
|
@@ -22,6 +22,7 @@ export declare class PersonaSessionStorage implements SessionStorage {
|
|
|
22
22
|
unarchive(sessionId: Session): Promise<void>;
|
|
23
23
|
delete(sessionId: Session): Promise<void>;
|
|
24
24
|
_visiblility(sessionId: Session, visibility: 'active' | 'deleted' | 'archived'): Promise<void>;
|
|
25
|
+
rename(sessionId: Session, name: string): Promise<void>;
|
|
25
26
|
clearAll(): Promise<void>;
|
|
26
27
|
list(agentId: string, userId?: string): Promise<ThreadData[]>;
|
|
27
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../../src/storage/persona.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,KAAK,4BAA4B,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,qBAAa,qBAAsB,YAAW,cAAc;IAC1D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAgB;gBAEnB,IAAI,EAAE,4BAA4B;IAO9C,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACG,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../../src/storage/persona.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,KAAK,4BAA4B,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,qBAAa,qBAAsB,YAAW,cAAc;IAC1D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAgB;gBAEnB,IAAI,EAAE,4BAA4B;IAO9C,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACG,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IA+CnD,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9F,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CA0BpE"}
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;SAC3C,CAAC;QACF,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;YACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;SAC3C,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -14,8 +14,8 @@ export type FunctionCall = {
|
|
|
14
14
|
};
|
|
15
15
|
export type FunctionResponse = {
|
|
16
16
|
name: string;
|
|
17
|
-
result
|
|
18
|
-
|
|
17
|
+
result?: ToolResultItem | ToolResultItem[] | null;
|
|
18
|
+
functionCallId?: string;
|
|
19
19
|
};
|
|
20
20
|
export type PersonaFile = {
|
|
21
21
|
name: string;
|
|
@@ -73,6 +73,7 @@ export type PersonaImage = {
|
|
|
73
73
|
content: string;
|
|
74
74
|
contentType: string;
|
|
75
75
|
};
|
|
76
|
+
export type ToolResultItem = string | PersonaFile | PersonaImage | ReadonlyJSONObject;
|
|
76
77
|
export type PersonaSourceChunk = {
|
|
77
78
|
start: number;
|
|
78
79
|
end: number;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;AAE9C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,kBAAkB,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;CACnH,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,kBAAkB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
"name": "@applica-software-guru/persona-chat-sdk",
|
|
3
3
|
"description": "Official Chat SDK for the Persona API — React runtime provider with REST, WebSocket and WebRTC protocols via assistant-ui.",
|
|
4
4
|
"private": false,
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.113",
|
|
6
6
|
"type": "module",
|
|
7
|
+
"publishConfig": {
|
|
8
|
+
"access": "public"
|
|
9
|
+
},
|
|
7
10
|
"scripts": {
|
|
8
11
|
"dev": "vite",
|
|
9
12
|
"build": "tsc --outDir dist && vite build",
|
package/src/messages.ts
CHANGED
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
import { PersonaMessage } from './types';
|
|
2
2
|
import { FileMessagePart, ThreadMessageLike, MessageStatus } from '@assistant-ui/react';
|
|
3
3
|
|
|
4
|
+
function sanitizeToolResult(result: unknown): unknown {
|
|
5
|
+
if (result === null || result === undefined) return result;
|
|
6
|
+
if (typeof result === 'string') return result;
|
|
7
|
+
if (Array.isArray(result)) return result.map(sanitizeToolResult);
|
|
8
|
+
if (typeof result === 'object') {
|
|
9
|
+
const r = result as Record<string, unknown>;
|
|
10
|
+
// Image-shaped: has content + contentType (strip pixel data, keep metadata)
|
|
11
|
+
if (typeof r['contentType'] === 'string' && typeof r['content'] === 'string') {
|
|
12
|
+
return { type: 'image', contentType: r['contentType'], note: 'image content delivered separately' };
|
|
13
|
+
}
|
|
14
|
+
// File-shaped: has name + contentType (strip base64, keep metadata)
|
|
15
|
+
if (typeof r['name'] === 'string' && typeof r['contentType'] === 'string') {
|
|
16
|
+
return { type: 'file', name: r['name'], url: r['url'] ?? null, contentType: r['contentType'] };
|
|
17
|
+
}
|
|
18
|
+
return Object.fromEntries(Object.entries(r).map(([k, v]) => [k, sanitizeToolResult(v)]));
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
|
|
4
23
|
let messageIdCounter = 0;
|
|
5
24
|
|
|
6
25
|
export function generateMessageId(): string {
|
|
@@ -128,7 +147,7 @@ function convertMessage(message: PersonaMessage): ThreadMessageLike {
|
|
|
128
147
|
if (message.role === 'assistant' || message.role === 'function') {
|
|
129
148
|
if (message.status) {
|
|
130
149
|
// Use existing status if provided
|
|
131
|
-
messageStatus = message.status as
|
|
150
|
+
messageStatus = message.status as MessageStatus;
|
|
132
151
|
} else if (message.finishReason === 'stop') {
|
|
133
152
|
messageStatus = { type: 'complete', reason: 'stop' } as const;
|
|
134
153
|
} else if (message.finishReason === 'function_call') {
|
|
@@ -151,7 +170,7 @@ function convertMessage(message: PersonaMessage): ThreadMessageLike {
|
|
|
151
170
|
toolName: call.name,
|
|
152
171
|
toolCallId: call.id || `tool_${Date.now()}`,
|
|
153
172
|
args: call.args,
|
|
154
|
-
result: message.functionResponse?.result,
|
|
173
|
+
result: sanitizeToolResult(message.functionResponse?.result),
|
|
155
174
|
})) ?? [],
|
|
156
175
|
metadata: {
|
|
157
176
|
...message.metadata,
|
|
@@ -177,7 +196,7 @@ function convertMessage(message: PersonaMessage): ThreadMessageLike {
|
|
|
177
196
|
createdAt: message.createdAt,
|
|
178
197
|
content:
|
|
179
198
|
message.type === 'reasoning'
|
|
180
|
-
? [{ type: 'reasoning' as
|
|
199
|
+
? [{ type: 'reasoning' as 'text', text: message.text }, ...files]
|
|
181
200
|
: [{ type: 'text', text: message.text }, ...files],
|
|
182
201
|
metadata: {
|
|
183
202
|
...message.metadata,
|
package/src/protocol/base.ts
CHANGED
|
@@ -67,7 +67,8 @@ abstract class PersonaProtocolBase implements PersonaProtocol {
|
|
|
67
67
|
abstract disconnect(): Promise<void>;
|
|
68
68
|
abstract sendPacket(packet: PersonaPacket): Promise<void>;
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
71
|
+
public onTransaction(_transaction: PersonaTransaction) {}
|
|
71
72
|
}
|
|
72
73
|
|
|
73
74
|
export { PersonaProtocolBase };
|
package/src/protocol/rest.ts
CHANGED
|
@@ -20,7 +20,7 @@ class PersonaRESTProtocol extends PersonaProtocolBase {
|
|
|
20
20
|
session: Session;
|
|
21
21
|
config: PersonaRESTProtocolConfig;
|
|
22
22
|
notify: boolean = true;
|
|
23
|
-
context: Record<string,
|
|
23
|
+
context: Record<string, unknown> = {};
|
|
24
24
|
tools: ToolInstance[] = [];
|
|
25
25
|
|
|
26
26
|
constructor(config: PersonaRESTProtocolConfig) {
|
|
@@ -5,7 +5,7 @@ import _ from 'lodash';
|
|
|
5
5
|
|
|
6
6
|
type FinishTransactionRequest = {
|
|
7
7
|
success: boolean;
|
|
8
|
-
output:
|
|
8
|
+
output: unknown;
|
|
9
9
|
error: string | null;
|
|
10
10
|
};
|
|
11
11
|
|
|
@@ -39,7 +39,8 @@ class PersonaTransactionsManager {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
43
|
+
export type PersonaToolCallback = (...args: any[]) => any;
|
|
43
44
|
export type PersonaTools = {
|
|
44
45
|
[key: string]: PersonaToolCallback;
|
|
45
46
|
};
|
|
@@ -85,13 +86,13 @@ class PersonaPersistableTransaction {
|
|
|
85
86
|
|
|
86
87
|
// Map arguments in order
|
|
87
88
|
const orderedArgs = paramNames.map((name: string) => functionArgs[name]);
|
|
88
|
-
const result = await tool
|
|
89
|
+
const result = await tool(...orderedArgs);
|
|
89
90
|
await this.complete(result);
|
|
90
91
|
} catch (error) {
|
|
91
92
|
await this.fail(`Error executing tool ${functionName}: ${error}`);
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
|
-
async complete(output:
|
|
95
|
+
async complete(output: unknown): Promise<void> {
|
|
95
96
|
await this.manager.complete(this.transaction, { success: true, output, error: null });
|
|
96
97
|
}
|
|
97
98
|
async fail(error: string): Promise<void> {
|
|
@@ -160,7 +161,8 @@ class PersonaTransactionProtocol extends PersonaProtocolBase {
|
|
|
160
161
|
this.session = session;
|
|
161
162
|
}
|
|
162
163
|
|
|
163
|
-
|
|
164
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
165
|
+
public async sendPacket(_packet: PersonaPacket): Promise<void> {}
|
|
164
166
|
|
|
165
167
|
public onTransaction(transaction: PersonaTransaction): void {
|
|
166
168
|
const manager = new PersonaTransactionsManager(this.config);
|
package/src/runtime/context.ts
CHANGED
|
@@ -8,6 +8,7 @@ export type PersonaRuntimeContextType = {
|
|
|
8
8
|
protocols: PersonaProtocol[];
|
|
9
9
|
protocolsStatus: Map<string, ProtocolStatus>;
|
|
10
10
|
getMessages: () => PersonaMessage[];
|
|
11
|
+
renameThread: (threadId: string, name: string) => void;
|
|
11
12
|
};
|
|
12
13
|
|
|
13
14
|
export const PersonaRuntimeContext = createContext<PersonaRuntimeContextType | undefined>(undefined);
|
|
@@ -76,6 +77,17 @@ export function usePersonaRuntimeWebRTCProtocol(): PersonaWebRTCProtocol | null
|
|
|
76
77
|
return usePersonaRuntimeProtocol('webrtc') as PersonaWebRTCProtocol;
|
|
77
78
|
}
|
|
78
79
|
|
|
80
|
+
/**
|
|
81
|
+
* Renames a thread by calling the Persona sessions API
|
|
82
|
+
*/
|
|
83
|
+
export function usePersonaRenameThread(): (threadId: string, name: string) => void {
|
|
84
|
+
const context = useContext(PersonaRuntimeContext);
|
|
85
|
+
if (!context) {
|
|
86
|
+
throw new Error('usePersonaRenameThread must be used within a PersonaRuntimeProvider');
|
|
87
|
+
}
|
|
88
|
+
return context.renameThread;
|
|
89
|
+
}
|
|
90
|
+
|
|
79
91
|
/**
|
|
80
92
|
* Gets all messages from the current conversation
|
|
81
93
|
*/
|
|
@@ -44,5 +44,6 @@ export class SimpleFileAttachmentAdapter implements AttachmentAdapter {
|
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
48
|
+
async remove(_a: Attachment): Promise<void> {}
|
|
48
49
|
}
|
package/src/runtime/protocols.ts
CHANGED
|
@@ -36,7 +36,7 @@ export function initializeProtocols(
|
|
|
36
36
|
const baseEndpointProtocol = config.dev ? 'http' : 'https';
|
|
37
37
|
const baseWebSocketProtocol = config.dev ? 'ws' : 'wss';
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
const availableProtocols = Object.keys(_protocols)
|
|
40
40
|
.map((key) => {
|
|
41
41
|
switch (key) {
|
|
42
42
|
case 'rest':
|
package/src/runtime/threads.ts
CHANGED
|
@@ -28,6 +28,7 @@ export function createThreadListAdapter(
|
|
|
28
28
|
onThreadArchive?: (threadId: string) => void,
|
|
29
29
|
onThreadUnarchive?: (threadId: string) => void,
|
|
30
30
|
onThreadDelete?: (threadId: string) => void,
|
|
31
|
+
onThreadRename?: (threadId: string, name: string) => void,
|
|
31
32
|
) {
|
|
32
33
|
return {
|
|
33
34
|
threadId: currentThreadId,
|
|
@@ -80,6 +81,14 @@ export function createThreadListAdapter(
|
|
|
80
81
|
onThreadUnarchive?.(threadId);
|
|
81
82
|
},
|
|
82
83
|
|
|
84
|
+
onRename: (threadId: string, name: string) => {
|
|
85
|
+
setThreadList((prev) => prev.map((t) => (t.threadId === threadId ? { ...t, title: name } : t)));
|
|
86
|
+
onThreadRename?.(threadId, name);
|
|
87
|
+
if (threadId !== DEFAULT_THREAD_ID) {
|
|
88
|
+
storage.rename(threadId, name);
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
|
|
83
92
|
onDelete: async (threadId: string) => {
|
|
84
93
|
setThreadList((prev) => prev.filter((t) => t.threadId !== threadId));
|
|
85
94
|
if (currentThreadId === threadId) {
|
package/src/runtime.tsx
CHANGED
|
@@ -22,6 +22,7 @@ export {
|
|
|
22
22
|
usePersonaRuntimeEndpoint,
|
|
23
23
|
usePersonaRuntimeWebRTCProtocol,
|
|
24
24
|
usePersonaRuntimeMessages,
|
|
25
|
+
usePersonaRenameThread,
|
|
25
26
|
} from './runtime/context';
|
|
26
27
|
|
|
27
28
|
export type { PersonaMessage, PersonaResponse, ThreadData };
|
|
@@ -284,6 +285,7 @@ function PersonaRuntimeProviderInner({
|
|
|
284
285
|
onThreadArchive,
|
|
285
286
|
onThreadUnarchive,
|
|
286
287
|
onThreadDelete,
|
|
288
|
+
onThreadRename,
|
|
287
289
|
);
|
|
288
290
|
}, [
|
|
289
291
|
threads,
|
|
@@ -295,6 +297,7 @@ function PersonaRuntimeProviderInner({
|
|
|
295
297
|
onThreadArchive,
|
|
296
298
|
onThreadUnarchive,
|
|
297
299
|
onThreadDelete,
|
|
300
|
+
onThreadRename,
|
|
298
301
|
logger,
|
|
299
302
|
]);
|
|
300
303
|
|
|
@@ -322,8 +325,17 @@ function PersonaRuntimeProviderInner({
|
|
|
322
325
|
},
|
|
323
326
|
});
|
|
324
327
|
|
|
328
|
+
const renameThread = useCallback(
|
|
329
|
+
(threadId: string, name: string) => {
|
|
330
|
+
setThreadList((prev) => prev.map((t) => (t.threadId === threadId ? { ...t, title: name } : t)));
|
|
331
|
+
onThreadRename?.(threadId, name);
|
|
332
|
+
sessionStorage.rename(threadId, name);
|
|
333
|
+
},
|
|
334
|
+
[sessionStorage, onThreadRename],
|
|
335
|
+
);
|
|
336
|
+
|
|
325
337
|
return (
|
|
326
|
-
<PersonaRuntimeContext.Provider value={{ protocols, protocolsStatus, getMessages }}>
|
|
338
|
+
<PersonaRuntimeContext.Provider value={{ protocols, protocolsStatus, getMessages, renameThread }}>
|
|
327
339
|
<AssistantRuntimeProvider runtime={runtime}>{children}</AssistantRuntimeProvider>
|
|
328
340
|
</PersonaRuntimeContext.Provider>
|
|
329
341
|
);
|
package/src/storage/base.ts
CHANGED
package/src/storage/persona.ts
CHANGED
|
@@ -47,6 +47,7 @@ export class PersonaSessionStorage implements SessionStorage {
|
|
|
47
47
|
if (!Array.isArray(data.items)) return [];
|
|
48
48
|
|
|
49
49
|
// Try to normalize createdAt strings to Date objects
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
51
|
const messages: PersonaMessage[] = data.items.map((m: any) => {
|
|
51
52
|
const msg: PersonaMessage = {
|
|
52
53
|
id: m.id ?? m.messageId ?? undefined,
|
|
@@ -92,17 +93,23 @@ export class PersonaSessionStorage implements SessionStorage {
|
|
|
92
93
|
async _visiblility(sessionId: Session, visibility: 'active' | 'deleted' | 'archived'): Promise<void> {
|
|
93
94
|
if (!sessionId) return;
|
|
94
95
|
const url = `${this.endpoint}/sessions/${encodeURIComponent(String(sessionId))}/visibility`;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
96
|
+
const body = JSON.stringify({ visibility });
|
|
97
|
+
const res = await fetch(url, { method: 'PUT', headers: this.buildHeaders(), body });
|
|
98
|
+
if (!res.ok) {
|
|
99
|
+
const text = await res.text();
|
|
100
|
+
this.logger?.warn('PersonaSessionStorage: failed to set session visibility', res.status, text);
|
|
101
|
+
throw new Error(`Failed to set session visibility: ${res.status}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
async rename(sessionId: Session, name: string): Promise<void> {
|
|
106
|
+
if (!sessionId) return;
|
|
107
|
+
const url = `${this.endpoint}/sessions/${encodeURIComponent(String(sessionId))}/name`;
|
|
108
|
+
const res = await fetch(url, { method: 'PUT', headers: this.buildHeaders(), body: JSON.stringify({ name }) });
|
|
109
|
+
if (!res.ok) {
|
|
110
|
+
const text = await res.text();
|
|
111
|
+
this.logger?.warn('PersonaSessionStorage: failed to rename session', res.status, text);
|
|
112
|
+
throw new Error(`Failed to rename session: ${res.status}`);
|
|
106
113
|
}
|
|
107
114
|
}
|
|
108
115
|
|
|
@@ -124,9 +131,10 @@ export class PersonaSessionStorage implements SessionStorage {
|
|
|
124
131
|
|
|
125
132
|
const data = await res.json();
|
|
126
133
|
if (!Array.isArray(data.items)) return [];
|
|
134
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
127
135
|
const threads: ThreadData[] = data.items.map((item: any) => ({
|
|
128
136
|
threadId: item.code || item.id,
|
|
129
|
-
title: item.
|
|
137
|
+
title: item.name || `Session ${item.code || item.id}`,
|
|
130
138
|
status: item.status === 'archived' ? 'archived' : 'regular',
|
|
131
139
|
}));
|
|
132
140
|
|