conversationalist 0.0.9 → 0.0.10

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/README.md CHANGED
@@ -906,24 +906,68 @@ Svelte 5's runes pair perfectly with **Conversationalist**. You can use the `Con
906
906
 
907
907
  ## API Overview
908
908
 
909
- | Category | Key Functions |
910
- | :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
911
- | **Creation** | `createConversation`, `deserializeConversation` |
912
- | **Appending** | `appendUserMessage`, `appendAssistantMessage`, `appendSystemMessage`, `appendMessages` |
913
- | **Streaming** | `appendStreamingMessage`, `updateStreamingMessage`, `finalizeStreamingMessage`, `cancelStreamingMessage` |
914
- | **Modification** | `redactMessageAtPosition`, `replaceSystemMessage`, `collapseSystemMessages` |
915
- | **Context** | `truncateToTokenLimit`, `getRecentMessages`, `estimateConversationTokens` |
916
- | **Querying** | `getMessages`, `getMessageIds`, `getMessageById`, `getStatistics` |
917
- | **Conversion** | `toChatMessages`, `pairToolCallsWithResults` |
918
- | **Markdown** | `toMarkdown`, `fromMarkdown`, `conversationHistoryToMarkdown`, `conversationHistoryFromMarkdown` (from `conversationalist/markdown`) |
919
- | **Export** | `exportMarkdown`, `normalizeLineEndings` (from `conversationalist/export`) |
920
- | **Schemas** | `conversationSchema`, `messageJSONSchema`, `messageInputSchema`, `messageRoleSchema`, `multiModalContentSchema`, `jsonValueSchema`, `toolCallSchema`, `toolResultSchema`, `tokenUsageSchema` (from `conversationalist/schemas`) |
921
- | **Role Labels** | `ROLE_LABELS`, `LABEL_TO_ROLE`, `getRoleLabel`, `getRoleFromLabel` (from `conversationalist/markdown`) |
922
- | **Transient** | `isTransientKey`, `stripTransientFromRecord`, `stripTransientMetadata` |
923
- | **Redaction** | `redactPii`, `createPIIRedactionPlugin`, `createPIIRedaction`, `DEFAULT_PII_RULES` (from `conversationalist/redaction`) |
924
- | **Versioning** | `migrateConversation`, `CURRENT_SCHEMA_VERSION` (from `conversationalist/versioning`) |
925
- | **Sort** | `sortObjectKeys`, `sortMessagesByPosition` (from `conversationalist/sort`) |
926
- | **History** | `ConversationHistory` |
909
+ | Category | Key Functions |
910
+ | :--------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
911
+ | **Creation** | `createConversation`, `deserializeConversation` |
912
+ | **Appending** | `appendUserMessage`, `appendAssistantMessage`, `appendSystemMessage`, `appendMessages` |
913
+ | **Streaming** | `appendStreamingMessage`, `updateStreamingMessage`, `finalizeStreamingMessage`, `cancelStreamingMessage` |
914
+ | **Modification** | `redactMessageAtPosition`, `replaceSystemMessage`, `collapseSystemMessages` |
915
+ | **Context** | `truncateToTokenLimit`, `getRecentMessages`, `estimateConversationTokens` |
916
+ | **Querying** | `getMessages`, `getMessageIds`, `getMessageById`, `getStatistics` |
917
+ | **Conversion** | `toChatMessages`, `pairToolCallsWithResults` |
918
+ | **Markdown** | `toMarkdown`, `fromMarkdown`, `conversationHistoryToMarkdown`, `conversationHistoryFromMarkdown` (from `conversationalist/markdown`) |
919
+ | **Export** | `exportMarkdown`, `normalizeLineEndings` (from `conversationalist/export`) |
920
+ | **Schemas** | `conversationSchema`, `messageSchema`, `messageInputSchema`, `messageRoleSchema`, `multiModalContentSchema`, `jsonValueSchema`, `toolCallSchema`, `toolResultSchema`, `tokenUsageSchema` (from `conversationalist/schemas`) |
921
+ | **Type Guards** | `isConversation`, `isMessage`, `isMessageInput`, `isToolCall`, `isToolResult`, `isMessageRole`, `isConversationStatus`, `isJSONValue`, `isTokenUsage`, `isMultiModalContent` |
922
+ | **Role Labels** | `ROLE_LABELS`, `LABEL_TO_ROLE`, `getRoleLabel`, `getRoleFromLabel` (from `conversationalist/markdown`) |
923
+ | **Transient** | `isTransientKey`, `stripTransientFromRecord`, `stripTransientMetadata` |
924
+ | **Redaction** | `redactPii`, `createPIIRedactionPlugin`, `createPIIRedaction`, `DEFAULT_PII_RULES` (from `conversationalist/redaction`) |
925
+ | **Versioning** | `migrateConversation`, `CURRENT_SCHEMA_VERSION` (from `conversationalist/versioning`) |
926
+ | **Sort** | `sortObjectKeys`, `sortMessagesByPosition` (from `conversationalist/sort`) |
927
+ | **History** | `ConversationHistory` |
928
+
929
+ ## Type Guards
930
+
931
+ Use the built-in type guards to validate unknown values before operating on them:
932
+
933
+ ```ts
934
+ import { isConversation, isMessage } from 'conversationalist';
935
+
936
+ if (isConversation(data)) {
937
+ console.log(data.id);
938
+ }
939
+
940
+ if (isMessage(value)) {
941
+ console.log(value.role);
942
+ }
943
+ ```
944
+
945
+ ## ConversationHistory Events
946
+
947
+ `ConversationHistory` emits typed events for every mutation. Listen to `change` for any mutation,
948
+ or to specific action events if you only care about a subset.
949
+
950
+ Events and payloads:
951
+
952
+ - `change`: fired after any mutation; `detail.type` is the specific action (`push`, `undo`, `redo`, `switch`)
953
+ - `push`: fired after a new conversation state is pushed
954
+ - `undo`: fired after undoing to the previous state
955
+ - `redo`: fired after redoing to a child state
956
+ - `switch`: fired after switching branches
957
+
958
+ ```ts
959
+ import { ConversationHistory, createConversation } from 'conversationalist';
960
+
961
+ const history = new ConversationHistory(createConversation());
962
+
963
+ history.addEventListener('change', (event) => {
964
+ console.log(event.detail.type, event.detail.conversation.id);
965
+ });
966
+
967
+ history.addEventListener('push', (event) => {
968
+ console.log('pushed', event.detail.conversation.ids.length);
969
+ });
970
+ ```
927
971
 
928
972
  ## Standard Schema Compliance
929
973
 
@@ -935,7 +979,7 @@ All exported Zod schemas implement the [Standard Schema](https://standardschema.
935
979
  | :------------------------ | :---------------------------------- |
936
980
  | `conversationSchema` | Complete conversation with metadata |
937
981
  | `jsonValueSchema` | JSON-serializable values |
938
- | `messageJSONSchema` | Serialized message format |
982
+ | `messageSchema` | Serialized message format |
939
983
  | `messageInputSchema` | Input for creating messages |
940
984
  | `messageRoleSchema` | Valid message roles enum |
941
985
  | `multiModalContentSchema` | Text or image content |
@@ -0,0 +1,13 @@
1
+ import type { MultiModalContent } from './multi-modal';
2
+ import type { Conversation, ConversationStatus, JSONValue, Message, MessageInput, MessageRole, TokenUsage, ToolCall, ToolResult } from './types';
3
+ export declare function isConversation(value: unknown): value is Conversation;
4
+ export declare function isConversationStatus(value: unknown): value is ConversationStatus;
5
+ export declare function isJSONValue(value: unknown): value is JSONValue;
6
+ export declare function isMessage(value: unknown): value is Message;
7
+ export declare function isMessageInput(value: unknown): value is MessageInput;
8
+ export declare function isMessageRole(value: unknown): value is MessageRole;
9
+ export declare function isMultiModalContent(value: unknown): value is MultiModalContent;
10
+ export declare function isTokenUsage(value: unknown): value is TokenUsage;
11
+ export declare function isToolCall(value: unknown): value is ToolCall;
12
+ export declare function isToolResult(value: unknown): value is ToolResult;
13
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAavD,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,OAAO,EACP,YAAY,EACZ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACX,MAAM,SAAS,CAAC;AAUjB,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAEhF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE"}
package/dist/history.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { EmissionEvent } from 'event-emission';
1
2
  import { type TruncateOptions } from './context';
2
3
  import { type ConversationEnvironment } from './environment';
3
4
  import type { Conversation, ConversationHistorySnapshot, JSONValue, Message, MessageInput, TokenUsage } from './types';
@@ -5,31 +6,39 @@ import type { Conversation, ConversationHistorySnapshot, JSONValue, Message, Mes
5
6
  * Event detail for conversation history changes.
6
7
  */
7
8
  export interface ConversationHistoryEventDetail {
8
- type: string;
9
+ type: ConversationHistoryActionType;
9
10
  conversation: Conversation;
10
11
  }
11
- /**
12
- * Custom event emitted by ConversationHistory.
13
- */
14
- export declare class ConversationHistoryEvent extends CustomEvent<ConversationHistoryEventDetail> {
15
- constructor(type: string, detail: ConversationHistoryEventDetail);
16
- }
12
+ export type ConversationHistoryEvent = EmissionEvent<ConversationHistoryEventDetail, ConversationHistoryEventType>;
13
+ type ConversationHistoryActionType = 'push' | 'undo' | 'redo' | 'switch';
14
+ type ConversationHistoryEventType = 'change' | ConversationHistoryActionType;
17
15
  /**
18
16
  * Manages a stack of conversation versions to support undo, redo, and branching.
19
17
  */
20
18
  export declare class ConversationHistory extends EventTarget {
21
19
  private currentNode;
22
20
  private environment;
21
+ private readonly events;
23
22
  constructor(initial?: Conversation, environment?: Partial<ConversationEnvironment>);
24
23
  /**
25
24
  * Dispatches a change event.
26
25
  */
27
26
  private notifyChange;
27
+ private toAddListenerOptions;
28
+ private toRemoveListenerOptions;
28
29
  /**
29
30
  * Overrides addEventListener to optionally return an unsubscribe function.
30
31
  * This is a convenience for modern frontend frameworks.
31
32
  */
32
33
  addEventListener(type: string, callback: ((event: ConversationHistoryEvent) => void) | EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void | (() => void);
34
+ /**
35
+ * Removes a listener registered with addEventListener.
36
+ */
37
+ removeEventListener(type: string, callback: ((event: ConversationHistoryEvent) => void) | EventListenerOrEventListenerObject | null, options?: boolean | EventListenerOptions): void;
38
+ /**
39
+ * Dispatches a DOM-style event through the event-emission target.
40
+ */
41
+ dispatchEvent(event: Event): boolean;
33
42
  /**
34
43
  * Subscribes to conversation changes.
35
44
  * This follows the Svelte store contract, making ConversationHistory a valid Svelte store.
@@ -246,4 +255,5 @@ export declare class ConversationHistory extends EventTarget {
246
255
  */
247
256
  [Symbol.dispose](): void;
248
257
  }
258
+ export {};
249
259
  //# sourceMappingURL=history.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ export type { ImageContent, TextContent } from './multi-modal';
2
2
  export { copyContent, copyMultiModalContent } from './multi-modal';
3
3
  export type { Message as ExternalMessage, MultiModalContent, } from '@lasercat/homogenaize';
4
4
  export type { AssistantMessage, Conversation, ConversationStatus, ExportOptions, JSONValue, Message, MessageInput, MessageRole, TokenUsage, ToMarkdownOptions, ToolCall, ToolResult, } from './types';
5
- export { conversationSchema, conversationShape, jsonValueSchema, messageInputSchema, messageJSONSchema, messageRoleSchema, multiModalContentSchema, tokenUsageSchema, toolCallSchema, toolResultSchema, } from './schemas';
5
+ export { conversationSchema, conversationShape, jsonValueSchema, messageInputSchema, messageRoleSchema, messageSchema, multiModalContentSchema, tokenUsageSchema, toolCallSchema, toolResultSchema, } from './schemas';
6
6
  export type { ConversationEnvironment } from './conversation';
7
7
  export { appendAssistantMessage, appendMessages, appendSystemMessage, appendUserMessage, collapseSystemMessages, createConversation, deserializeConversation, getFirstSystemMessage, getMessageAtPosition, getMessageById, getMessageIds, getMessages, getStatistics, getSystemMessages, hasSystemMessage, prependSystemMessage, redactMessageAtPosition, replaceSystemMessage, searchConversationMessages, toChatMessages, } from './conversation';
8
8
  export { withEnvironment } from './environment';
@@ -11,6 +11,7 @@ export type { ConversationalistErrorCode } from './errors';
11
11
  export { ConversationalistError, createDuplicateIdError, createInvalidInputError, createInvalidPositionError, createInvalidToolReferenceError, createLockedError, createNotFoundError, createSerializationError, createValidationError, } from './errors';
12
12
  export type { ToolCallPair } from './utilities';
13
13
  export { isTransientKey, normalizeContent, pairToolCallsWithResults, stripTransientFromRecord, stripTransientMetadata, toMultiModalArray, } from './utilities';
14
+ export { isConversation, isConversationStatus, isJSONValue, isMessage, isMessageInput, isMessageRole, isMultiModalContent, isTokenUsage, isToolCall, isToolResult, } from './guards';
14
15
  export type { ConversationDraft } from './with-conversation';
15
16
  export { pipeConversation, withConversation } from './with-conversation';
16
17
  export { ConversationHistory } from './history';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACnE,YAAY,EACV,OAAO,IAAI,eAAe,EAC1B,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,OAAO,EACP,YAAY,EACZ,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,UAAU,GACX,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAGnB,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGhE,YAAY,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAGlB,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGhF,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACnE,YAAY,EACV,OAAO,IAAI,eAAe,EAC1B,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,OAAO,EACP,YAAY,EACZ,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,UAAU,GACX,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAGnB,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGhE,YAAY,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAGlB,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,SAAS,EACT,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,YAAY,GACb,MAAM,UAAU,CAAC;AAGlB,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGhF,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,WAAW,CAAC"}