@applica-software-guru/persona-sdk 0.1.85 → 0.1.87

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.
@@ -1,5 +1,4 @@
1
1
  import { ThreadData } from '../types';
2
- import type { PersonaLogger } from '../logging';
3
2
  import type { SessionStorage } from '../storage';
4
3
  /**
5
4
  * Generates a new session ID
@@ -8,7 +7,7 @@ export declare function generateSessionId(): string;
8
7
  /**
9
8
  * Creates the thread list adapter for multi-thread support
10
9
  */
11
- 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, logger?: PersonaLogger): {
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): {
12
11
  threadId: string;
13
12
  threads: {
14
13
  id: string;
@@ -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,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;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,MAAM,CAAC,EAAE,aAAa;;;;;;;;;;;;;;;iCAqCS,MAAM;0BAQb,MAAM;4BAOJ,MAAM;yBAOH,MAAM;EAuBpC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD"}
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;;;;;;;;;;;;;;;iCAkCZ,MAAM;0BAKb,MAAM;4BASJ,MAAM;yBAKH,MAAM;EAepC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoC,iBAAiB,EAAmB,MAAM,OAAO,CAAC;AAO7F,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,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AAoR5D,wBAAgB,sBAAsB,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,EAAE,iBAAiB,CAAC,aAAa,CAAC,2CAE/F"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoC,iBAAiB,EAAmB,MAAM,OAAO,CAAC;AAO7F,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,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AAmR5D,wBAAgB,sBAAsB,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,EAAE,iBAAiB,CAAC,aAAa,CAAC,2CAE/F"}
@@ -1,19 +1,9 @@
1
1
  import type { PersonaMessage, Session, ThreadData } from '../types';
2
- /**
3
- * Storage interface for messages with thread management support.
4
- */
5
2
  export interface SessionStorage {
6
- /**
7
- * Sync messages for a specific session (load existing messages)
8
- */
9
3
  sync(sessionId: Session): Promise<PersonaMessage[]>;
10
- /**
11
- * Remove messages for a specific session (if supported)
12
- */
13
- remove(sessionId: Session): Promise<void>;
14
- /**
15
- * List all threads for a specific user
16
- */
4
+ archive(sessionId: Session): Promise<void>;
5
+ unarchive(sessionId: Session): Promise<void>;
6
+ delete(sessionId: Session): Promise<void>;
17
7
  list(agentId: string, userId?: string): Promise<ThreadData[]>;
18
8
  }
19
9
  //# 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;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEpD;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CAC/D"}
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;CAC/D"}
@@ -18,12 +18,11 @@ export declare class PersonaSessionStorage implements SessionStorage {
18
18
  * Fetch messages for a session from the Persona REST API
19
19
  */
20
20
  sync(sessionId: Session): Promise<PersonaMessage[]>;
21
- remove(sessionId: Session): Promise<void>;
21
+ archive(sessionId: Session): Promise<void>;
22
+ unarchive(sessionId: Session): Promise<void>;
23
+ delete(sessionId: Session): Promise<void>;
24
+ _visiblility(sessionId: Session, visibility: 'active' | 'deleted' | 'archived'): Promise<void>;
22
25
  clearAll(): Promise<void>;
23
- /**
24
- * List all threads for a specific user from the Persona REST API
25
- * GET /sessions?userId={userId}&page=1&size=100
26
- */
27
26
  list(agentId: string, userId?: string): Promise<ThreadData[]>;
28
27
  }
29
28
  export {};
@@ -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;IA8CnD,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBzC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;;OAGG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CA2BpE"}
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;IA8CnD,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;IAiB9F,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAyBpE"}
package/dist/types.d.ts CHANGED
@@ -177,7 +177,7 @@ export type PersonaConfig = PersonaBaseConfig & PersonaProtocolBaseConfig & {
177
177
  /**
178
178
  * Enable thread management support
179
179
  */
180
- enableThreads?: boolean;
180
+ threads?: boolean;
181
181
  /**
182
182
  * Session storage implementation
183
183
  * If not provided, defaults to PersonaSessionStorage
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@applica-software-guru/persona-sdk",
3
3
  "private": false,
4
- "version": "0.1.85",
4
+ "version": "0.1.87",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "dev": "vite",
@@ -23,6 +23,7 @@ function getQueryParam(param: string): string | null {
23
23
  }
24
24
 
25
25
  function Chat() {
26
+ const sidebar = getQueryParam('sidebar') === 'true';
26
27
  const agentId = getQueryParam('agentId');
27
28
  const userId = getQueryParam('userId') || 'anonymous';
28
29
  const apiKey = getQueryParam('apiKey');
@@ -37,6 +38,8 @@ function Chat() {
37
38
 
38
39
  return (
39
40
  <PersonaRuntimeProvider
41
+ dev
42
+ baseUrl="http://localhost:8000"
40
43
  logger={logger}
41
44
  context={{
42
45
  data: {
@@ -54,7 +57,7 @@ function Chat() {
54
57
  apiKey={apiKey!}
55
58
  userId={userId}
56
59
  agentId={agentId!}
57
- enableThreads={true}
60
+ threads={sidebar}
58
61
  onThreadCreate={(threadId) => {
59
62
  logger.info('Thread created:', threadId);
60
63
  }}
@@ -71,16 +74,23 @@ function Chat() {
71
74
  logger.info('Thread deleted:', threadId);
72
75
  }}
73
76
  >
74
- <SidebarProvider>
75
- <div className="flex h-dvh w-full">
76
- <ThreadListSidebar />
77
- <SidebarInset>
78
- <SidebarTrigger className="absolute top-4 left-4" />
79
- <ThemeToggle />
80
- <Thread />
81
- </SidebarInset>
77
+ {sidebar ? (
78
+ <SidebarProvider>
79
+ <div className="flex h-dvh w-full">
80
+ <ThreadListSidebar />
81
+ <SidebarInset>
82
+ <SidebarTrigger className="absolute top-4 left-4" />
83
+ <ThemeToggle />
84
+ <Thread />
85
+ </SidebarInset>
86
+ </div>
87
+ </SidebarProvider>
88
+ ) : (
89
+ <div className="relative h-dvh w-full">
90
+ <ThemeToggle />
91
+ <Thread />
82
92
  </div>
83
- </SidebarProvider>
93
+ )}
84
94
  </PersonaRuntimeProvider>
85
95
  );
86
96
  }
@@ -1,14 +1,10 @@
1
- import type { FC } from "react";
2
- import {
3
- ThreadListItemPrimitive,
4
- ThreadListPrimitive,
5
- useAssistantState,
6
- } from "@assistant-ui/react";
7
- import { ArchiveIcon, PlusIcon } from "lucide-react";
1
+ import type { FC } from 'react';
2
+ import { ThreadListItemPrimitive, ThreadListPrimitive, useAssistantState } from '@assistant-ui/react';
3
+ import { ArchiveIcon, PlusIcon } from 'lucide-react';
8
4
 
9
- import { Button } from "@/components/ui/button";
10
- import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button";
11
- import { Skeleton } from "@/components/ui/skeleton";
5
+ import { Button } from '@/components/ui/button';
6
+ import { TooltipIconButton } from '@/components/assistant-ui/tooltip-icon-button';
7
+ import { Skeleton } from '@/components/ui/skeleton';
12
8
 
13
9
  export const ThreadList: FC = () => {
14
10
  return (
@@ -84,7 +80,7 @@ const ThreadListItemArchive: FC = () => {
84
80
  return (
85
81
  <ThreadListItemPrimitive.Archive asChild>
86
82
  <TooltipIconButton
87
- className="aui-thread-list-item-archive mr-3 ml-auto size-4 p-0 text-foreground hover:text-primary"
83
+ className="aui-thread-list-item-archive mr-3 ml-auto size-4 p-0 text-foreground hover:text-primary cursor-pointer"
88
84
  variant="ghost"
89
85
  tooltip="Archive thread"
90
86
  >
@@ -1,14 +1,14 @@
1
1
  import { ThreadData } from '../types';
2
- import type { PersonaLogger } from '../logging';
3
2
  import type { SessionStorage } from '../storage';
4
3
 
4
+ const DEFAULT_THREAD_ID = 'DEFAULT_THREAD_ID';
5
5
  /**
6
6
  * Generates a new session ID
7
7
  */
8
8
  export function generateSessionId(): string {
9
9
  const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
10
10
  let sid = '';
11
- for (let i = 0; i < 16; i++) {
11
+ for (let i = 0; i < 8; i++) {
12
12
  sid += chars.charAt(Math.floor(Math.random() * chars.length));
13
13
  }
14
14
  return sid;
@@ -28,7 +28,6 @@ export function createThreadListAdapter(
28
28
  onThreadArchive?: (threadId: string) => void,
29
29
  onThreadUnarchive?: (threadId: string) => void,
30
30
  onThreadDelete?: (threadId: string) => void,
31
- logger?: PersonaLogger,
32
31
  ) {
33
32
  return {
34
33
  threadId: currentThreadId,
@@ -37,7 +36,7 @@ export function createThreadListAdapter(
37
36
  .map((t) => ({
38
37
  id: t.threadId,
39
38
  threadId: t.threadId,
40
- title: t.title || `Chat ${t.threadId}`,
39
+ title: t.title || `Session ${t.threadId}`,
41
40
  status: t.status as 'regular',
42
41
  })),
43
42
  archivedThreads: threadList
@@ -51,63 +50,49 @@ export function createThreadListAdapter(
51
50
 
52
51
  onSwitchToNewThread: () => {
53
52
  const newId = generateSessionId();
54
- logger?.debug('Creating new thread:', newId);
55
-
56
53
  const newThread = {
57
54
  threadId: newId,
58
55
  status: 'regular' as const,
59
- title: 'New Chat',
56
+ title: `Session ${newId}`,
60
57
  };
61
58
 
62
59
  setThreadList((prev) => [newThread, ...prev]);
63
60
  setCurrentThreadId(newId);
64
-
65
61
  onThreadCreate?.(newId);
66
62
  },
67
63
 
68
64
  onSwitchToThread: (threadId: string) => {
69
- logger?.debug('Switching to thread:', threadId);
70
65
  setCurrentThreadId(threadId);
71
- // Messages will be synced by the useEffect in runtime.tsx
72
-
73
66
  onThreadSwitch?.(threadId);
74
67
  },
75
68
 
76
69
  onArchive: (threadId: string) => {
77
- logger?.debug('Archiving thread:', threadId);
78
- setThreadList((prev) => prev.map((t) => (t.threadId === threadId ? { ...t, status: 'archived' as const } : t)));
79
-
70
+ setThreadList((p) => p.map((t) => (t.threadId === threadId ? { ...t, status: 'archived' as const } : t)));
80
71
  onThreadArchive?.(threadId);
72
+ if (threadId === DEFAULT_THREAD_ID) {
73
+ return;
74
+ }
75
+ storage.archive(threadId);
81
76
  },
82
77
 
83
78
  onUnarchive: (threadId: string) => {
84
- logger?.debug('Unarchiving thread:', threadId);
85
79
  setThreadList((prev) => prev.map((t) => (t.threadId === threadId ? { ...t, status: 'regular' as const } : t)));
86
-
87
80
  onThreadUnarchive?.(threadId);
88
81
  },
89
82
 
90
83
  onDelete: async (threadId: string) => {
91
- logger?.debug('Deleting thread:', threadId);
92
-
93
- // Remove from list
94
84
  setThreadList((prev) => prev.filter((t) => t.threadId !== threadId));
95
-
96
- // Switch to another thread if deleting current
97
85
  if (currentThreadId === threadId) {
98
86
  const remaining = threadList.filter((t) => t.threadId !== threadId && t.status === 'regular');
99
87
  if (remaining.length > 0) {
100
88
  setCurrentThreadId(remaining[0].threadId);
101
89
  }
102
90
  }
103
-
104
- // Delete from backend (threadId = sessionId)
105
- storage
106
- .remove(threadId)
107
- .then(() => logger?.debug('Thread deleted from backend'))
108
- .catch((error) => logger?.error('Failed to delete thread:', error));
109
-
110
91
  onThreadDelete?.(threadId);
92
+ if (threadId === DEFAULT_THREAD_ID) {
93
+ return;
94
+ }
95
+ await storage.delete(threadId);
111
96
  },
112
97
  };
113
98
  }
package/src/runtime.tsx CHANGED
@@ -32,7 +32,7 @@ function PersonaRuntimeProviderInner({
32
32
  children,
33
33
  session: initialSession = 'new',
34
34
  transformMessages,
35
- enableThreads = false,
35
+ threads = false,
36
36
  sessionStorage: _sessionStorage,
37
37
  onThreadCreate,
38
38
  onThreadSwitch,
@@ -69,7 +69,7 @@ function PersonaRuntimeProviderInner({
69
69
 
70
70
  // Load threads on mount (only once)
71
71
  useEffect(() => {
72
- if (!enableThreads || hasInitialized.current) {
72
+ if (!threads || hasInitialized.current) {
73
73
  return;
74
74
  }
75
75
  hasInitialized.current = true;
@@ -83,7 +83,7 @@ function PersonaRuntimeProviderInner({
83
83
  }
84
84
  })
85
85
  .catch((error) => logger?.error('Failed to load threads:', error));
86
- }, [enableThreads, sessionStorage, config.agentId, config.userId, logger]);
86
+ }, [threads, sessionStorage, config.agentId, config.userId, logger]);
87
87
 
88
88
  // Initialize protocols
89
89
  const protocols = useMemo(
@@ -160,7 +160,7 @@ function PersonaRuntimeProviderInner({
160
160
 
161
161
  // Handle thread switching
162
162
  useEffect(() => {
163
- if (!enableThreads || !currentThreadId) {
163
+ if (!threads || !currentThreadId) {
164
164
  setMessages([]);
165
165
  return;
166
166
  }
@@ -207,7 +207,7 @@ function PersonaRuntimeProviderInner({
207
207
  };
208
208
 
209
209
  switchThread();
210
- }, [currentThreadId, enableThreads, protocols, sessionStorage, transformMessages, logger]);
210
+ }, [currentThreadId, threads, protocols, sessionStorage, transformMessages, logger]);
211
211
 
212
212
  // Message handlers
213
213
  const onNew = useCallback(createOnNewHandler(protocols, setMessages, setIsRunning, transformMessages, logger), [
@@ -247,7 +247,7 @@ function PersonaRuntimeProviderInner({
247
247
 
248
248
  // Thread list adapter
249
249
  const threadListAdapter = useMemo(() => {
250
- if (!enableThreads) return undefined;
250
+ if (!threads) return undefined;
251
251
 
252
252
  return createThreadListAdapter(
253
253
  currentThreadId,
@@ -260,10 +260,9 @@ function PersonaRuntimeProviderInner({
260
260
  onThreadArchive,
261
261
  onThreadUnarchive,
262
262
  onThreadDelete,
263
- logger,
264
263
  );
265
264
  }, [
266
- enableThreads,
265
+ threads,
267
266
  currentThreadId,
268
267
  threadList,
269
268
  sessionStorage,
@@ -1,21 +1,13 @@
1
1
  import type { PersonaMessage, Session, ThreadData } from '../types';
2
2
 
3
- /**
4
- * Storage interface for messages with thread management support.
5
- */
6
3
  export interface SessionStorage {
7
- /**
8
- * Sync messages for a specific session (load existing messages)
9
- */
10
4
  sync(sessionId: Session): Promise<PersonaMessage[]>;
11
5
 
12
- /**
13
- * Remove messages for a specific session (if supported)
14
- */
15
- remove(sessionId: Session): Promise<void>;
6
+ archive(sessionId: Session): Promise<void>;
7
+
8
+ unarchive(sessionId: Session): Promise<void>;
9
+
10
+ delete(sessionId: Session): Promise<void>;
16
11
 
17
- /**
18
- * List all threads for a specific user
19
- */
20
12
  list(agentId: string, userId?: string): Promise<ThreadData[]>;
21
13
  }
@@ -77,19 +77,31 @@ export class PersonaSessionStorage implements SessionStorage {
77
77
  }
78
78
  }
79
79
 
80
- async remove(sessionId: Session): Promise<void> {
80
+ async archive(sessionId: Session): Promise<void> {
81
+ return this._visiblility(sessionId, 'archived');
82
+ }
83
+
84
+ async unarchive(sessionId: Session): Promise<void> {
85
+ return this._visiblility(sessionId, 'active');
86
+ }
87
+
88
+ async delete(sessionId: Session): Promise<void> {
89
+ return this._visiblility(sessionId, 'deleted');
90
+ }
91
+
92
+ async _visiblility(sessionId: Session, visibility: 'active' | 'deleted' | 'archived'): Promise<void> {
81
93
  if (!sessionId) return;
82
- const url = `${this.endpoint}/sessions/${encodeURIComponent(String(sessionId))}`;
94
+ const url = `${this.endpoint}/sessions/${encodeURIComponent(String(sessionId))}/visibility`;
83
95
  try {
84
- const res = await fetch(url, { method: 'DELETE', headers: this.buildHeaders() });
96
+ const body = JSON.stringify({ visibility });
97
+ const res = await fetch(url, { method: 'PUT', headers: this.buildHeaders(), body });
85
98
  if (!res.ok) {
86
99
  const text = await res.text();
87
- this.logger?.warn('PersonaSessionStorage: failed to delete session', res.status, text);
88
- throw new Error(`Failed to delete session: ${res.status}`);
100
+ this.logger?.warn('PersonaSessionStorage: failed to set session visibility', res.status, text);
101
+ throw new Error(`Failed to set session visibility: ${res.status}`);
89
102
  }
90
103
  return;
91
104
  } catch (err) {
92
- this.logger?.warn('PersonaSessionStorage: error deleting session', err);
93
105
  throw err;
94
106
  }
95
107
  }
@@ -98,12 +110,8 @@ export class PersonaSessionStorage implements SessionStorage {
98
110
  return Promise.reject(new Error('PersonaAPIMessageStorage: clearAll not supported'));
99
111
  }
100
112
 
101
- /**
102
- * List all threads for a specific user from the Persona REST API
103
- * GET /sessions?userId={userId}&page=1&size=100
104
- */
105
113
  async list(agentId: string, userId?: string): Promise<ThreadData[]> {
106
- const params = new URLSearchParams({ page: '1', size: '100' });
114
+ const params = new URLSearchParams({ page: '1', size: '100', visibility: 'active' });
107
115
  if (userId) params.set('userId', userId);
108
116
  if (agentId) params.set('agentId', agentId);
109
117
 
@@ -111,13 +119,12 @@ export class PersonaSessionStorage implements SessionStorage {
111
119
  try {
112
120
  const res = await fetch(url, { method: 'GET', headers: this.buildHeaders() });
113
121
  if (!res.ok) {
114
- this.logger?.warn('PersonaSessionStorage: failed to list sessions', res.status);
115
122
  return [];
116
123
  }
117
124
 
118
125
  const data = await res.json();
119
126
  if (!Array.isArray(data.items)) return [];
120
- const threads: import('../types').ThreadData[] = data.items.map((item: any) => ({
127
+ const threads: ThreadData[] = data.items.map((item: any) => ({
121
128
  threadId: item.code || item.id,
122
129
  title: item.title || `Session ${item.code || item.id}`,
123
130
  status: item.status === 'archived' ? 'archived' : 'regular',
@@ -125,7 +132,6 @@ export class PersonaSessionStorage implements SessionStorage {
125
132
 
126
133
  return threads;
127
134
  } catch (err) {
128
- this.logger?.warn('PersonaSessionStorage: error listing sessions', err);
129
135
  return [];
130
136
  }
131
137
  }
package/src/types.ts CHANGED
@@ -215,7 +215,7 @@ export type PersonaConfig = PersonaBaseConfig &
215
215
  /**
216
216
  * Enable thread management support
217
217
  */
218
- enableThreads?: boolean;
218
+ threads?: boolean;
219
219
 
220
220
  /**
221
221
  * Session storage implementation