conversationalist 0.0.5 → 0.0.7
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 +120 -11
- package/dist/conversation/index.d.ts +1 -1
- package/dist/conversation/index.d.ts.map +1 -1
- package/dist/conversation/serialization.d.ts +41 -3
- package/dist/conversation/serialization.d.ts.map +1 -1
- package/dist/conversation.d.ts +17 -3
- package/dist/conversation.d.ts.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +203 -55
- package/dist/index.js.map +13 -6
- package/dist/schemas.d.ts +1 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/types.d.ts +48 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utilities/content.d.ts +12 -0
- package/dist/utilities/content.d.ts.map +1 -0
- package/dist/utilities/deterministic.d.ts +37 -0
- package/dist/utilities/deterministic.d.ts.map +1 -0
- package/dist/utilities/index.d.ts +10 -0
- package/dist/utilities/index.d.ts.map +1 -0
- package/dist/utilities/markdown.d.ts +102 -0
- package/dist/utilities/markdown.d.ts.map +1 -0
- package/dist/utilities/message.d.ts +32 -0
- package/dist/utilities/message.d.ts.map +1 -0
- package/dist/utilities/tool-calls.d.ts +33 -0
- package/dist/utilities/tool-calls.d.ts.map +1 -0
- package/dist/utilities/transient.d.ts +47 -0
- package/dist/utilities/transient.d.ts.map +1 -0
- package/dist/utilities/type-helpers.d.ts +11 -0
- package/dist/utilities/type-helpers.d.ts.map +1 -0
- package/dist/utilities.d.ts +19 -151
- package/dist/utilities.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
A TypeScript-first library for managing LLM conversation state with **immutable updates**, **type-safe APIs**, and **provider-agnostic adapters**.
|
|
4
4
|
|
|
5
|
-
[](https://github.com/stevekinney/conversationalist/actions/workflows/ci.yml)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
|
|
8
8
|
## What is Conversationalist?
|
|
@@ -611,6 +611,112 @@ const restoredWithEnv = ConversationHistory.from(json, {
|
|
|
611
611
|
});
|
|
612
612
|
```
|
|
613
613
|
|
|
614
|
+
## Advanced Serialization
|
|
615
|
+
|
|
616
|
+
### Schema Versioning
|
|
617
|
+
|
|
618
|
+
Conversations include a `schemaVersion` field for forward compatibility. When loading older data, use `migrateConversationJSON` to upgrade it to the current schema:
|
|
619
|
+
|
|
620
|
+
```ts
|
|
621
|
+
import {
|
|
622
|
+
migrateConversationJSON,
|
|
623
|
+
deserializeConversation,
|
|
624
|
+
CURRENT_SCHEMA_VERSION,
|
|
625
|
+
} from 'conversationalist';
|
|
626
|
+
|
|
627
|
+
// Old data without schemaVersion
|
|
628
|
+
const legacyData = JSON.parse(oldStorage);
|
|
629
|
+
const migrated = migrateConversationJSON(legacyData);
|
|
630
|
+
// migrated.schemaVersion === CURRENT_SCHEMA_VERSION
|
|
631
|
+
|
|
632
|
+
const conversation = deserializeConversation(migrated);
|
|
633
|
+
```
|
|
634
|
+
|
|
635
|
+
### Serialization Options
|
|
636
|
+
|
|
637
|
+
`serializeConversation` accepts options for controlling the output:
|
|
638
|
+
|
|
639
|
+
```ts
|
|
640
|
+
import { serializeConversation } from 'conversationalist';
|
|
641
|
+
|
|
642
|
+
const json = serializeConversation(conversation, {
|
|
643
|
+
// Sort keys and messages for stable, diff-friendly output
|
|
644
|
+
deterministic: true,
|
|
645
|
+
|
|
646
|
+
// Remove metadata keys starting with '_' (transient UI state)
|
|
647
|
+
stripTransient: true,
|
|
648
|
+
|
|
649
|
+
// Replace tool arguments with '[REDACTED]'
|
|
650
|
+
redactToolArguments: true,
|
|
651
|
+
|
|
652
|
+
// Replace tool result content with '[REDACTED]'
|
|
653
|
+
redactToolResults: true,
|
|
654
|
+
});
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
### Transient Metadata Convention
|
|
658
|
+
|
|
659
|
+
Keys prefixed with `_` are considered transient—temporary UI state that shouldn't be persisted:
|
|
660
|
+
|
|
661
|
+
```ts
|
|
662
|
+
import {
|
|
663
|
+
isTransientKey,
|
|
664
|
+
stripTransientFromRecord,
|
|
665
|
+
stripTransientMetadata,
|
|
666
|
+
} from 'conversationalist';
|
|
667
|
+
|
|
668
|
+
// Check if a key is transient
|
|
669
|
+
isTransientKey('_tempId'); // true
|
|
670
|
+
isTransientKey('source'); // false
|
|
671
|
+
|
|
672
|
+
// Strip transient keys from a metadata object
|
|
673
|
+
stripTransientFromRecord({ _loading: true, source: 'web' });
|
|
674
|
+
// { source: 'web' }
|
|
675
|
+
|
|
676
|
+
// Strip transient metadata from an entire conversation
|
|
677
|
+
const cleaned = stripTransientMetadata(conversation);
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
### Deterministic Output
|
|
681
|
+
|
|
682
|
+
For reproducible snapshots or tests, use the deterministic utilities:
|
|
683
|
+
|
|
684
|
+
```ts
|
|
685
|
+
import { sortObjectKeys, sortMessagesByPosition } from 'conversationalist';
|
|
686
|
+
|
|
687
|
+
// Sort object keys alphabetically (recursive)
|
|
688
|
+
const sorted = sortObjectKeys({ z: 1, a: 2, nested: { b: 3, a: 4 } });
|
|
689
|
+
// { a: 2, nested: { a: 4, b: 3 }, z: 1 }
|
|
690
|
+
|
|
691
|
+
// Sort messages by position, createdAt, then id
|
|
692
|
+
const orderedMessages = sortMessagesByPosition(messages);
|
|
693
|
+
```
|
|
694
|
+
|
|
695
|
+
### Role Labels
|
|
696
|
+
|
|
697
|
+
Export human-readable labels for message roles:
|
|
698
|
+
|
|
699
|
+
```ts
|
|
700
|
+
import {
|
|
701
|
+
ROLE_LABELS,
|
|
702
|
+
LABEL_TO_ROLE,
|
|
703
|
+
getRoleLabel,
|
|
704
|
+
getRoleFromLabel,
|
|
705
|
+
} from 'conversationalist';
|
|
706
|
+
|
|
707
|
+
// Get display label for a role
|
|
708
|
+
getRoleLabel('tool-use'); // 'Tool Use'
|
|
709
|
+
getRoleLabel('assistant'); // 'Assistant'
|
|
710
|
+
|
|
711
|
+
// Get role from a label
|
|
712
|
+
getRoleFromLabel('Tool Result'); // 'tool-result'
|
|
713
|
+
getRoleFromLabel('Unknown'); // undefined
|
|
714
|
+
|
|
715
|
+
// Access the mappings directly
|
|
716
|
+
ROLE_LABELS['developer']; // 'Developer'
|
|
717
|
+
LABEL_TO_ROLE['System']; // 'system'
|
|
718
|
+
```
|
|
719
|
+
|
|
614
720
|
### Markdown Serialization
|
|
615
721
|
|
|
616
722
|
You can also convert a conversation to Markdown format for human-readable storage or export, and restore it later.
|
|
@@ -799,16 +905,19 @@ Svelte 5's runes pair perfectly with **Conversationalist**. You can use the `Con
|
|
|
799
905
|
|
|
800
906
|
## API Overview
|
|
801
907
|
|
|
802
|
-
| Category
|
|
803
|
-
|
|
|
804
|
-
| **Creation**
|
|
805
|
-
| **Appending**
|
|
806
|
-
| **Streaming**
|
|
807
|
-
| **Modification**
|
|
808
|
-
| **Context**
|
|
809
|
-
| **Querying**
|
|
810
|
-
| **Conversion**
|
|
811
|
-
| **
|
|
908
|
+
| Category | Key Functions |
|
|
909
|
+
| :---------------- | :------------------------------------------------------------------------------------------------------- |
|
|
910
|
+
| **Creation** | `createConversation`, `serializeConversation`, `deserializeConversation`, `migrateConversationJSON` |
|
|
911
|
+
| **Appending** | `appendUserMessage`, `appendAssistantMessage`, `appendSystemMessage`, `appendMessages` |
|
|
912
|
+
| **Streaming** | `appendStreamingMessage`, `updateStreamingMessage`, `finalizeStreamingMessage`, `cancelStreamingMessage` |
|
|
913
|
+
| **Modification** | `redactMessageAtPosition`, `replaceSystemMessage`, `collapseSystemMessages` |
|
|
914
|
+
| **Context** | `truncateToTokenLimit`, `getRecentMessages`, `estimateConversationTokens` |
|
|
915
|
+
| **Querying** | `getConversationMessages`, `getMessageByIdentifier`, `computeConversationStatistics` |
|
|
916
|
+
| **Conversion** | `toMarkdown`, `fromMarkdown`, `toChatMessages`, `pairToolCallsWithResults` |
|
|
917
|
+
| **Role Labels** | `ROLE_LABELS`, `LABEL_TO_ROLE`, `getRoleLabel`, `getRoleFromLabel` |
|
|
918
|
+
| **Transient** | `isTransientKey`, `stripTransientFromRecord`, `stripTransientMetadata` |
|
|
919
|
+
| **Deterministic** | `sortObjectKeys`, `sortMessagesByPosition` |
|
|
920
|
+
| **History** | `ConversationHistory`, `bindToConversationHistory` |
|
|
812
921
|
|
|
813
922
|
## Deterministic Environments (Testing)
|
|
814
923
|
|
|
@@ -4,6 +4,6 @@ export { appendAssistantMessage, appendMessages, appendSystemMessage, appendUser
|
|
|
4
4
|
export { computeConversationStatistics, getConversationMessages, getMessageAtPosition, getMessageByIdentifier, searchConversationMessages, } from './query';
|
|
5
5
|
export { collapseSystemMessages, getFirstSystemMessage, getSystemMessages, hasSystemMessage, prependSystemMessage, replaceSystemMessage, } from './system-messages';
|
|
6
6
|
export { redactMessageAtPosition } from './modify';
|
|
7
|
-
export { deserializeConversation, serializeConversation } from './serialization';
|
|
7
|
+
export { deserializeConversation, migrateConversationJSON, serializeConversation, } from './serialization';
|
|
8
8
|
export { toChatMessages } from './transform';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conversation/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGnD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conversation/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGnD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,13 +1,51 @@
|
|
|
1
|
-
import type { Conversation, ConversationJSON } from '../types';
|
|
1
|
+
import type { Conversation, ConversationJSON, SerializeOptions } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Migrates a conversation JSON object to the current schema version.
|
|
4
|
+
* Handles data from older versions that may not have a schemaVersion field.
|
|
5
|
+
*
|
|
6
|
+
* @param json - The conversation JSON to migrate (may be from an older version)
|
|
7
|
+
* @returns A ConversationJSON with the current schema version
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* // Old data without schemaVersion
|
|
12
|
+
* const old = { id: 'conv-1', status: 'active', ... };
|
|
13
|
+
* const migrated = migrateConversationJSON(old);
|
|
14
|
+
* // migrated.schemaVersion === CURRENT_SCHEMA_VERSION
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare function migrateConversationJSON(json: unknown): ConversationJSON;
|
|
2
18
|
/**
|
|
3
19
|
* Converts a conversation to a plain JSON-serializable object.
|
|
4
20
|
* Creates deep copies of all nested objects to ensure immutability.
|
|
21
|
+
*
|
|
22
|
+
* @param conversation - The conversation to serialize
|
|
23
|
+
* @param options - Serialization options
|
|
24
|
+
* @returns A JSON-serializable conversation object
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* // Basic serialization
|
|
29
|
+
* const json = serializeConversation(conversation);
|
|
30
|
+
*
|
|
31
|
+
* // With options
|
|
32
|
+
* const json = serializeConversation(conversation, {
|
|
33
|
+
* deterministic: true,
|
|
34
|
+
* stripTransient: true,
|
|
35
|
+
* redactToolArguments: true,
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
5
38
|
*/
|
|
6
|
-
export declare function serializeConversation(conversation: Conversation): ConversationJSON;
|
|
39
|
+
export declare function serializeConversation(conversation: Conversation, options?: SerializeOptions): ConversationJSON;
|
|
7
40
|
/**
|
|
8
41
|
* Reconstructs a conversation from a JSON object.
|
|
42
|
+
* Automatically migrates data from older schema versions.
|
|
9
43
|
* Validates message positions are contiguous and tool results reference valid calls.
|
|
10
44
|
* Throws a serialization error if validation fails.
|
|
45
|
+
*
|
|
46
|
+
* @param json - The conversation JSON to deserialize (may be from an older version)
|
|
47
|
+
* @returns A Conversation object
|
|
48
|
+
* @throws {SerializationError} If validation fails
|
|
11
49
|
*/
|
|
12
|
-
export declare function deserializeConversation(json:
|
|
50
|
+
export declare function deserializeConversation(json: unknown): Conversation;
|
|
13
51
|
//# sourceMappingURL=serialization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../src/conversation/serialization.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../src/conversation/serialization.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAUlB;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CA2BvE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,gBAAqB,GAC7B,gBAAgB,CAqElB;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CA8CnE"}
|
package/dist/conversation.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Message as ExternalMessage } from '@lasercat/homogenaize';
|
|
2
2
|
import { type ConversationEnvironment } from './environment';
|
|
3
|
-
import type { Conversation, ConversationJSON, ConversationStatus, Message, MessageInput } from './types';
|
|
3
|
+
import type { Conversation, ConversationJSON, ConversationStatus, Message, MessageInput, SerializeOptions } from './types';
|
|
4
4
|
export type { ConversationEnvironment } from './environment';
|
|
5
5
|
export declare function createConversation(options?: {
|
|
6
6
|
id?: string;
|
|
@@ -33,7 +33,21 @@ export declare function prependSystemMessage(conversation: Conversation, content
|
|
|
33
33
|
export declare function replaceSystemMessage(conversation: Conversation, content: string, metadata?: Record<string, unknown>, environment?: Partial<ConversationEnvironment>): Conversation;
|
|
34
34
|
export declare function collapseSystemMessages(conversation: Conversation, environment?: Partial<ConversationEnvironment>): Conversation;
|
|
35
35
|
export declare function redactMessageAtPosition(conversation: Conversation, position: number, placeholder?: string, environment?: Partial<ConversationEnvironment>): Conversation;
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Migrates a conversation JSON object to the current schema version.
|
|
38
|
+
* Handles data from older versions that may not have a schemaVersion field.
|
|
39
|
+
*/
|
|
40
|
+
export declare function migrateConversationJSON(json: unknown): ConversationJSON;
|
|
41
|
+
/**
|
|
42
|
+
* Converts a conversation to a plain JSON-serializable object.
|
|
43
|
+
* Creates deep copies of all nested objects to ensure immutability.
|
|
44
|
+
*/
|
|
45
|
+
export declare function serializeConversation(conversation: Conversation, options?: SerializeOptions): ConversationJSON;
|
|
46
|
+
/**
|
|
47
|
+
* Reconstructs a conversation from a JSON object.
|
|
48
|
+
* Automatically migrates data from older schema versions.
|
|
49
|
+
* Validates message positions are contiguous and tool results reference valid calls.
|
|
50
|
+
*/
|
|
51
|
+
export declare function deserializeConversation(json: unknown): Conversation;
|
|
38
52
|
export declare function toChatMessages(conversation: Conversation): ExternalMessage[];
|
|
39
53
|
//# sourceMappingURL=conversation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,IAAI,eAAe,EAE3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,KAAK,uBAAuB,EAG7B,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,OAAO,EACP,YAAY,
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../src/conversation.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
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
|
-
export type { Conversation, ConversationJSON, ConversationStatus, Message, MessageInput, MessageJSON, MessageRole, TokenUsage, ToolCall, ToolResult, } from './types';
|
|
4
|
+
export type { Conversation, ConversationJSON, ConversationStatus, ExportOptions, Message, MessageInput, MessageJSON, MessageRole, SerializeOptions, TokenUsage, ToMarkdownOptions, ToolCall, ToolResult, } from './types';
|
|
5
|
+
export { CURRENT_SCHEMA_VERSION } from './types';
|
|
5
6
|
export { conversationSchema, conversationShape, messageInputSchema, messageJSONSchema, messageRoleSchema, multiModalContentSchema, tokenUsageSchema, toolCallSchema, toolResultSchema, } from './schemas';
|
|
6
7
|
export type { ConversationEnvironment } from './conversation';
|
|
7
|
-
export { appendAssistantMessage, appendMessages, appendSystemMessage, appendUserMessage, collapseSystemMessages, computeConversationStatistics, createConversation, deserializeConversation, getConversationMessages, getFirstSystemMessage, getMessageAtPosition, getMessageByIdentifier, getSystemMessages, hasSystemMessage, prependSystemMessage, redactMessageAtPosition, replaceSystemMessage, searchConversationMessages, serializeConversation, toChatMessages, } from './conversation';
|
|
8
|
+
export { appendAssistantMessage, appendMessages, appendSystemMessage, appendUserMessage, collapseSystemMessages, computeConversationStatistics, createConversation, deserializeConversation, getConversationMessages, getFirstSystemMessage, getMessageAtPosition, getMessageByIdentifier, getSystemMessages, hasSystemMessage, migrateConversationJSON, prependSystemMessage, redactMessageAtPosition, replaceSystemMessage, searchConversationMessages, serializeConversation, toChatMessages, } from './conversation';
|
|
8
9
|
export { withEnvironment } from './environment';
|
|
9
10
|
export { createMessage } from './utilities';
|
|
10
11
|
export type { ConversationalistErrorCode } from './errors';
|
|
11
12
|
export { ConversationalistError, createDuplicateIdError, createInvalidInputError, createInvalidPositionError, createInvalidToolReferenceError, createLockedError, createNotFoundError, createSerializationError, createValidationError, } from './errors';
|
|
12
|
-
export type {
|
|
13
|
-
export { fromMarkdown, MarkdownParseError, normalizeContent, pairToolCallsWithResults, toMarkdown, toMultiModalArray, } from './utilities';
|
|
13
|
+
export type { ToolCallPair } from './utilities';
|
|
14
|
+
export { fromMarkdown, getRoleFromLabel, getRoleLabel, isTransientKey, LABEL_TO_ROLE, MarkdownParseError, normalizeContent, pairToolCallsWithResults, ROLE_LABELS, sortMessagesByPosition, sortObjectKeys, stripTransientFromRecord, stripTransientMetadata, toMarkdown, toMultiModalArray, } from './utilities';
|
|
14
15
|
export type { ConversationDraft } from './with-conversation';
|
|
15
16
|
export { pipeConversation, withConversation } from './with-conversation';
|
|
16
17
|
export { bindToConversationHistory, ConversationHistory } from './history';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,GACX,MAAM,SAAS,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,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,OAAO,EACP,YAAY,EACZ,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,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,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,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,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,wBAAwB,EACxB,sBAAsB,EACtB,UAAU,EACV,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,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC3E,YAAY,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAGxE,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"}
|