@animalabs/membrane 0.1.0
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/context/index.d.ts +10 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +9 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/process.d.ts +22 -0
- package/dist/context/process.d.ts.map +1 -0
- package/dist/context/process.js +369 -0
- package/dist/context/process.js.map +1 -0
- package/dist/context/types.d.ts +118 -0
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/types.js +60 -0
- package/dist/context/types.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/membrane.d.ts +96 -0
- package/dist/membrane.d.ts.map +1 -0
- package/dist/membrane.js +893 -0
- package/dist/membrane.js.map +1 -0
- package/dist/providers/anthropic.d.ts +36 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +265 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/index.d.ts +8 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +8 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/openai-compatible.d.ts +74 -0
- package/dist/providers/openai-compatible.d.ts.map +1 -0
- package/dist/providers/openai-compatible.js +412 -0
- package/dist/providers/openai-compatible.js.map +1 -0
- package/dist/providers/openai.d.ts +69 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +455 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/openrouter.d.ts +76 -0
- package/dist/providers/openrouter.d.ts.map +1 -0
- package/dist/providers/openrouter.js +492 -0
- package/dist/providers/openrouter.js.map +1 -0
- package/dist/transforms/chat.d.ts +52 -0
- package/dist/transforms/chat.d.ts.map +1 -0
- package/dist/transforms/chat.js +136 -0
- package/dist/transforms/chat.js.map +1 -0
- package/dist/transforms/index.d.ts +6 -0
- package/dist/transforms/index.d.ts.map +1 -0
- package/dist/transforms/index.js +6 -0
- package/dist/transforms/index.js.map +1 -0
- package/dist/transforms/prefill.d.ts +89 -0
- package/dist/transforms/prefill.d.ts.map +1 -0
- package/dist/transforms/prefill.js +401 -0
- package/dist/transforms/prefill.js.map +1 -0
- package/dist/types/config.d.ts +103 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +21 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/content.d.ts +81 -0
- package/dist/types/content.d.ts.map +1 -0
- package/dist/types/content.js +40 -0
- package/dist/types/content.js.map +1 -0
- package/dist/types/errors.d.ts +42 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +208 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +9 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/message.d.ts +46 -0
- package/dist/types/message.d.ts.map +1 -0
- package/dist/types/message.js +38 -0
- package/dist/types/message.js.map +1 -0
- package/dist/types/provider.d.ts +155 -0
- package/dist/types/provider.d.ts.map +1 -0
- package/dist/types/provider.js +5 -0
- package/dist/types/provider.js.map +1 -0
- package/dist/types/request.d.ts +78 -0
- package/dist/types/request.d.ts.map +1 -0
- package/dist/types/request.js +5 -0
- package/dist/types/request.js.map +1 -0
- package/dist/types/response.d.ts +131 -0
- package/dist/types/response.d.ts.map +1 -0
- package/dist/types/response.js +7 -0
- package/dist/types/response.js.map +1 -0
- package/dist/types/streaming.d.ts +164 -0
- package/dist/types/streaming.d.ts.map +1 -0
- package/dist/types/streaming.js +5 -0
- package/dist/types/streaming.js.map +1 -0
- package/dist/types/tools.d.ts +71 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +5 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/stream-parser.d.ts +53 -0
- package/dist/utils/stream-parser.d.ts.map +1 -0
- package/dist/utils/stream-parser.js +359 -0
- package/dist/utils/stream-parser.js.map +1 -0
- package/dist/utils/tool-parser.d.ts +130 -0
- package/dist/utils/tool-parser.d.ts.map +1 -0
- package/dist/utils/tool-parser.js +571 -0
- package/dist/utils/tool-parser.js.map +1 -0
- package/package.json +37 -0
- package/src/context/index.ts +24 -0
- package/src/context/process.ts +520 -0
- package/src/context/types.ts +231 -0
- package/src/index.ts +23 -0
- package/src/membrane.ts +1174 -0
- package/src/providers/anthropic.ts +340 -0
- package/src/providers/index.ts +31 -0
- package/src/providers/openai-compatible.ts +570 -0
- package/src/providers/openai.ts +625 -0
- package/src/providers/openrouter.ts +662 -0
- package/src/transforms/chat.ts +212 -0
- package/src/transforms/index.ts +22 -0
- package/src/transforms/prefill.ts +585 -0
- package/src/types/config.ts +172 -0
- package/src/types/content.ts +181 -0
- package/src/types/errors.ts +277 -0
- package/src/types/index.ts +154 -0
- package/src/types/message.ts +89 -0
- package/src/types/provider.ts +249 -0
- package/src/types/request.ts +131 -0
- package/src/types/response.ts +223 -0
- package/src/types/streaming.ts +231 -0
- package/src/types/tools.ts +92 -0
- package/src/utils/index.ts +15 -0
- package/src/utils/stream-parser.ts +440 -0
- package/src/utils/tool-parser.ts +715 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prefill.js","sourceRoot":"","sources":["../../src/transforms/prefill.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration types for membrane
|
|
3
|
+
*/
|
|
4
|
+
import type { ModelRegistry } from './provider.js';
|
|
5
|
+
import type { ErrorInfo } from './errors.js';
|
|
6
|
+
import type { NormalizedRequest } from './request.js';
|
|
7
|
+
import type { NormalizedResponse } from './response.js';
|
|
8
|
+
export interface RetryConfig {
|
|
9
|
+
/** Maximum number of retry attempts (default: 3) */
|
|
10
|
+
maxRetries: number;
|
|
11
|
+
/** Initial retry delay in milliseconds (default: 1000) */
|
|
12
|
+
retryDelayMs: number;
|
|
13
|
+
/** Backoff multiplier (default: 2) */
|
|
14
|
+
backoffMultiplier: number;
|
|
15
|
+
/** Maximum retry delay (default: 30000) */
|
|
16
|
+
maxRetryDelayMs: number;
|
|
17
|
+
}
|
|
18
|
+
export interface MediaConfig {
|
|
19
|
+
images: {
|
|
20
|
+
/** Maximum input image size in bytes */
|
|
21
|
+
maxSizeBytes: number;
|
|
22
|
+
/** Maximum dimensions */
|
|
23
|
+
maxDimensions?: {
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
};
|
|
27
|
+
/** Auto-resize if exceeds limits */
|
|
28
|
+
autoResize: boolean;
|
|
29
|
+
/** JPEG quality for resizing (0-100) */
|
|
30
|
+
resizeQuality?: number;
|
|
31
|
+
/** Relocate images to user turns in prefill mode */
|
|
32
|
+
relocateInPrefillMode: boolean;
|
|
33
|
+
};
|
|
34
|
+
documents?: {
|
|
35
|
+
/** Maximum document size */
|
|
36
|
+
maxSizeBytes: number;
|
|
37
|
+
};
|
|
38
|
+
audio?: {
|
|
39
|
+
/** Maximum duration in seconds */
|
|
40
|
+
maxDurationSec: number;
|
|
41
|
+
};
|
|
42
|
+
video?: {
|
|
43
|
+
/** Maximum duration in seconds */
|
|
44
|
+
maxDurationSec: number;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export interface MembraneHooks {
|
|
48
|
+
/**
|
|
49
|
+
* Called before sending request to provider
|
|
50
|
+
* Can modify the raw request
|
|
51
|
+
*/
|
|
52
|
+
beforeRequest?: (request: NormalizedRequest, rawRequest: unknown) => unknown | Promise<unknown>;
|
|
53
|
+
/**
|
|
54
|
+
* Called after receiving response from provider
|
|
55
|
+
* Can modify the response
|
|
56
|
+
*/
|
|
57
|
+
afterResponse?: (response: NormalizedResponse, rawResponse: unknown) => NormalizedResponse | Promise<NormalizedResponse>;
|
|
58
|
+
/**
|
|
59
|
+
* Called on error, before retry decision
|
|
60
|
+
* Return 'retry' to retry, 'abort' to stop
|
|
61
|
+
*/
|
|
62
|
+
onError?: (error: ErrorInfo, attempt: number) => 'retry' | 'abort' | Promise<'retry' | 'abort'>;
|
|
63
|
+
}
|
|
64
|
+
export interface MembraneLogger {
|
|
65
|
+
debug(message: string, data?: Record<string, unknown>): void;
|
|
66
|
+
info(message: string, data?: Record<string, unknown>): void;
|
|
67
|
+
warn(message: string, data?: Record<string, unknown>): void;
|
|
68
|
+
error(message: string, data?: Record<string, unknown>): void;
|
|
69
|
+
}
|
|
70
|
+
export interface MembraneConfig {
|
|
71
|
+
/** Model registry for capability lookup */
|
|
72
|
+
registry?: ModelRegistry;
|
|
73
|
+
/** Default model to use */
|
|
74
|
+
defaultModel?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Participant name to recognize as assistant in prefill mode.
|
|
77
|
+
* Messages with this participant will be formatted as assistant turns.
|
|
78
|
+
* Default: 'Claude'
|
|
79
|
+
*/
|
|
80
|
+
assistantParticipant?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Maximum number of participants to include in auto-generated stop sequences.
|
|
83
|
+
* In prefill mode, membrane generates stop sequences like "\nUsername:" to prevent
|
|
84
|
+
* the model from speaking as other participants.
|
|
85
|
+
*
|
|
86
|
+
* Set to 0 to disable participant-based stop sequences (allows frags/quotes).
|
|
87
|
+
* Default: 10
|
|
88
|
+
*/
|
|
89
|
+
maxParticipantsForStop?: number;
|
|
90
|
+
/** Retry configuration */
|
|
91
|
+
retry?: Partial<RetryConfig>;
|
|
92
|
+
/** Media processing configuration */
|
|
93
|
+
media?: Partial<MediaConfig>;
|
|
94
|
+
/** Lifecycle hooks */
|
|
95
|
+
hooks?: MembraneHooks;
|
|
96
|
+
/** Logger instance */
|
|
97
|
+
logger?: MembraneLogger;
|
|
98
|
+
/** Enable debug logging */
|
|
99
|
+
debug?: boolean;
|
|
100
|
+
}
|
|
101
|
+
export declare const DEFAULT_RETRY_CONFIG: RetryConfig;
|
|
102
|
+
export declare const DEFAULT_MEDIA_CONFIG: MediaConfig;
|
|
103
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration types for membrane
|
|
3
|
+
*/
|
|
4
|
+
// ============================================================================
|
|
5
|
+
// Default Config
|
|
6
|
+
// ============================================================================
|
|
7
|
+
export const DEFAULT_RETRY_CONFIG = {
|
|
8
|
+
maxRetries: 3,
|
|
9
|
+
retryDelayMs: 1000,
|
|
10
|
+
backoffMultiplier: 2,
|
|
11
|
+
maxRetryDelayMs: 30000,
|
|
12
|
+
};
|
|
13
|
+
export const DEFAULT_MEDIA_CONFIG = {
|
|
14
|
+
images: {
|
|
15
|
+
maxSizeBytes: 5 * 1024 * 1024, // 5MB (Anthropic limit)
|
|
16
|
+
autoResize: true,
|
|
17
|
+
resizeQuality: 85,
|
|
18
|
+
relocateInPrefillMode: true,
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAuJH,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,IAAI;IAClB,iBAAiB,EAAE,CAAC;IACpB,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,MAAM,EAAE;QACN,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,wBAAwB;QACvD,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,EAAE;QACjB,qBAAqB,EAAE,IAAI;KAC5B;CACF,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content block types for normalized messages
|
|
3
|
+
*/
|
|
4
|
+
export interface CacheControl {
|
|
5
|
+
type: 'ephemeral';
|
|
6
|
+
}
|
|
7
|
+
export interface Base64Source {
|
|
8
|
+
type: 'base64';
|
|
9
|
+
data: string;
|
|
10
|
+
mediaType: string;
|
|
11
|
+
}
|
|
12
|
+
export interface UrlSource {
|
|
13
|
+
type: 'url';
|
|
14
|
+
url: string;
|
|
15
|
+
}
|
|
16
|
+
export type MediaSource = Base64Source | UrlSource;
|
|
17
|
+
export interface TextContent {
|
|
18
|
+
type: 'text';
|
|
19
|
+
text: string;
|
|
20
|
+
/** Cache control for Anthropic prompt caching */
|
|
21
|
+
cache_control?: CacheControl;
|
|
22
|
+
}
|
|
23
|
+
export interface ImageContent {
|
|
24
|
+
type: 'image';
|
|
25
|
+
source: MediaSource;
|
|
26
|
+
tokenEstimate?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface DocumentContent {
|
|
29
|
+
type: 'document';
|
|
30
|
+
source: Base64Source;
|
|
31
|
+
filename?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface AudioContent {
|
|
34
|
+
type: 'audio';
|
|
35
|
+
source: Base64Source;
|
|
36
|
+
duration?: number;
|
|
37
|
+
}
|
|
38
|
+
export interface VideoContent {
|
|
39
|
+
type: 'video';
|
|
40
|
+
source: Base64Source;
|
|
41
|
+
duration?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface GeneratedImageContent {
|
|
44
|
+
type: 'generated_image';
|
|
45
|
+
data: string;
|
|
46
|
+
mimeType: string;
|
|
47
|
+
isPreview?: boolean;
|
|
48
|
+
}
|
|
49
|
+
export interface ToolUseContent {
|
|
50
|
+
type: 'tool_use';
|
|
51
|
+
id: string;
|
|
52
|
+
name: string;
|
|
53
|
+
input: Record<string, unknown>;
|
|
54
|
+
}
|
|
55
|
+
export interface ToolResultContent {
|
|
56
|
+
type: 'tool_result';
|
|
57
|
+
toolUseId: string;
|
|
58
|
+
content: string | ContentBlock[];
|
|
59
|
+
isError?: boolean;
|
|
60
|
+
}
|
|
61
|
+
export interface ThinkingContent {
|
|
62
|
+
type: 'thinking';
|
|
63
|
+
thinking: string;
|
|
64
|
+
signature?: string;
|
|
65
|
+
}
|
|
66
|
+
export interface RedactedThinkingContent {
|
|
67
|
+
type: 'redacted_thinking';
|
|
68
|
+
}
|
|
69
|
+
export type ContentBlock = TextContent | ImageContent | DocumentContent | AudioContent | VideoContent | GeneratedImageContent | ToolUseContent | ToolResultContent | ThinkingContent | RedactedThinkingContent;
|
|
70
|
+
export declare function isTextContent(block: ContentBlock): block is TextContent;
|
|
71
|
+
export declare function isImageContent(block: ContentBlock): block is ImageContent;
|
|
72
|
+
export declare function isDocumentContent(block: ContentBlock): block is DocumentContent;
|
|
73
|
+
export declare function isAudioContent(block: ContentBlock): block is AudioContent;
|
|
74
|
+
export declare function isVideoContent(block: ContentBlock): block is VideoContent;
|
|
75
|
+
export declare function isGeneratedImageContent(block: ContentBlock): block is GeneratedImageContent;
|
|
76
|
+
export declare function isToolUseContent(block: ContentBlock): block is ToolUseContent;
|
|
77
|
+
export declare function isToolResultContent(block: ContentBlock): block is ToolResultContent;
|
|
78
|
+
export declare function isThinkingContent(block: ContentBlock): block is ThinkingContent;
|
|
79
|
+
export declare function isRedactedThinkingContent(block: ContentBlock): block is RedactedThinkingContent;
|
|
80
|
+
export declare function isMediaContent(block: ContentBlock): block is ImageContent | DocumentContent | AudioContent | VideoContent;
|
|
81
|
+
//# sourceMappingURL=content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/types/content.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content block types for normalized messages
|
|
3
|
+
*/
|
|
4
|
+
// ============================================================================
|
|
5
|
+
// Type Guards
|
|
6
|
+
// ============================================================================
|
|
7
|
+
export function isTextContent(block) {
|
|
8
|
+
return block.type === 'text';
|
|
9
|
+
}
|
|
10
|
+
export function isImageContent(block) {
|
|
11
|
+
return block.type === 'image';
|
|
12
|
+
}
|
|
13
|
+
export function isDocumentContent(block) {
|
|
14
|
+
return block.type === 'document';
|
|
15
|
+
}
|
|
16
|
+
export function isAudioContent(block) {
|
|
17
|
+
return block.type === 'audio';
|
|
18
|
+
}
|
|
19
|
+
export function isVideoContent(block) {
|
|
20
|
+
return block.type === 'video';
|
|
21
|
+
}
|
|
22
|
+
export function isGeneratedImageContent(block) {
|
|
23
|
+
return block.type === 'generated_image';
|
|
24
|
+
}
|
|
25
|
+
export function isToolUseContent(block) {
|
|
26
|
+
return block.type === 'tool_use';
|
|
27
|
+
}
|
|
28
|
+
export function isToolResultContent(block) {
|
|
29
|
+
return block.type === 'tool_result';
|
|
30
|
+
}
|
|
31
|
+
export function isThinkingContent(block) {
|
|
32
|
+
return block.type === 'thinking';
|
|
33
|
+
}
|
|
34
|
+
export function isRedactedThinkingContent(block) {
|
|
35
|
+
return block.type === 'redacted_thinking';
|
|
36
|
+
}
|
|
37
|
+
export function isMediaContent(block) {
|
|
38
|
+
return ['image', 'document', 'audio', 'video'].includes(block.type);
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/types/content.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkIH,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,UAAU,aAAa,CAAC,KAAmB;IAC/C,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAmB;IACnD,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAmB;IACzD,OAAO,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAmB;IAClD,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAmB;IACrD,OAAO,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAmB;IACnD,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAmB;IAC3D,OAAO,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAmB;IAEnB,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error types for membrane
|
|
3
|
+
*/
|
|
4
|
+
export type MembraneErrorType = 'rate_limit' | 'context_length' | 'invalid_request' | 'auth' | 'server' | 'network' | 'timeout' | 'abort' | 'safety' | 'unsupported' | 'unknown';
|
|
5
|
+
export interface ErrorInfo {
|
|
6
|
+
/** Normalized error type */
|
|
7
|
+
type: MembraneErrorType;
|
|
8
|
+
/** Human-readable message */
|
|
9
|
+
message: string;
|
|
10
|
+
/** Whether this error is retryable */
|
|
11
|
+
retryable: boolean;
|
|
12
|
+
/** Retry after (milliseconds) - for rate limits */
|
|
13
|
+
retryAfterMs?: number;
|
|
14
|
+
/** HTTP status code if available */
|
|
15
|
+
httpStatus?: number;
|
|
16
|
+
/** Provider-specific error code */
|
|
17
|
+
providerErrorCode?: string;
|
|
18
|
+
/** Raw error object */
|
|
19
|
+
rawError: unknown;
|
|
20
|
+
}
|
|
21
|
+
export declare class MembraneError extends Error {
|
|
22
|
+
readonly type: MembraneErrorType;
|
|
23
|
+
readonly retryable: boolean;
|
|
24
|
+
readonly retryAfterMs?: number;
|
|
25
|
+
readonly httpStatus?: number;
|
|
26
|
+
readonly providerErrorCode?: string;
|
|
27
|
+
readonly rawError?: unknown;
|
|
28
|
+
constructor(info: ErrorInfo);
|
|
29
|
+
toErrorInfo(): ErrorInfo;
|
|
30
|
+
}
|
|
31
|
+
export declare function rateLimitError(message: string, retryAfterMs?: number, raw?: unknown): MembraneError;
|
|
32
|
+
export declare function contextLengthError(message: string, raw?: unknown): MembraneError;
|
|
33
|
+
export declare function invalidRequestError(message: string, raw?: unknown): MembraneError;
|
|
34
|
+
export declare function authError(message: string, raw?: unknown): MembraneError;
|
|
35
|
+
export declare function serverError(message: string, httpStatus?: number, raw?: unknown): MembraneError;
|
|
36
|
+
export declare function networkError(message: string, raw?: unknown): MembraneError;
|
|
37
|
+
export declare function timeoutError(message: string, raw?: unknown): MembraneError;
|
|
38
|
+
export declare function abortError(message?: string): MembraneError;
|
|
39
|
+
export declare function safetyError(message: string, raw?: unknown): MembraneError;
|
|
40
|
+
export declare function unsupportedError(message: string): MembraneError;
|
|
41
|
+
export declare function classifyError(error: unknown): ErrorInfo;
|
|
42
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,gBAAgB,GAChB,iBAAiB,GACjB,MAAM,GACN,QAAQ,GACR,SAAS,GACT,SAAS,GACT,OAAO,GACP,QAAQ,GACR,aAAa,GACb,SAAS,CAAC;AAMd,MAAM,WAAW,SAAS;IACxB,4BAA4B;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IAExB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAEhB,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAC;IAEnB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,uBAAuB;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAMD,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAEhB,IAAI,EAAE,SAAS;IAW3B,WAAW,IAAI,SAAS;CAWzB;AAMD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CASnG;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAQhF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAQjF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAQvE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAQ9F;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAO1E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAO1E;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,MAA8B,GAAG,aAAa,CAOjF;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,CAOzE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAO/D;AAMD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAwFvD"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error types for membrane
|
|
3
|
+
*/
|
|
4
|
+
// ============================================================================
|
|
5
|
+
// Membrane Error Class
|
|
6
|
+
// ============================================================================
|
|
7
|
+
export class MembraneError extends Error {
|
|
8
|
+
type;
|
|
9
|
+
retryable;
|
|
10
|
+
retryAfterMs;
|
|
11
|
+
httpStatus;
|
|
12
|
+
providerErrorCode;
|
|
13
|
+
rawError;
|
|
14
|
+
constructor(info) {
|
|
15
|
+
super(info.message);
|
|
16
|
+
this.name = 'MembraneError';
|
|
17
|
+
this.type = info.type;
|
|
18
|
+
this.retryable = info.retryable;
|
|
19
|
+
this.retryAfterMs = info.retryAfterMs;
|
|
20
|
+
this.httpStatus = info.httpStatus;
|
|
21
|
+
this.providerErrorCode = info.providerErrorCode;
|
|
22
|
+
this.rawError = info.rawError;
|
|
23
|
+
}
|
|
24
|
+
toErrorInfo() {
|
|
25
|
+
return {
|
|
26
|
+
type: this.type,
|
|
27
|
+
message: this.message,
|
|
28
|
+
retryable: this.retryable,
|
|
29
|
+
retryAfterMs: this.retryAfterMs,
|
|
30
|
+
httpStatus: this.httpStatus,
|
|
31
|
+
providerErrorCode: this.providerErrorCode,
|
|
32
|
+
rawError: this.rawError,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// ============================================================================
|
|
37
|
+
// Error Factory Functions
|
|
38
|
+
// ============================================================================
|
|
39
|
+
export function rateLimitError(message, retryAfterMs, raw) {
|
|
40
|
+
return new MembraneError({
|
|
41
|
+
type: 'rate_limit',
|
|
42
|
+
message,
|
|
43
|
+
retryable: true,
|
|
44
|
+
retryAfterMs,
|
|
45
|
+
httpStatus: 429,
|
|
46
|
+
rawError: raw,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
export function contextLengthError(message, raw) {
|
|
50
|
+
return new MembraneError({
|
|
51
|
+
type: 'context_length',
|
|
52
|
+
message,
|
|
53
|
+
retryable: false,
|
|
54
|
+
httpStatus: 400,
|
|
55
|
+
rawError: raw,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
export function invalidRequestError(message, raw) {
|
|
59
|
+
return new MembraneError({
|
|
60
|
+
type: 'invalid_request',
|
|
61
|
+
message,
|
|
62
|
+
retryable: false,
|
|
63
|
+
httpStatus: 400,
|
|
64
|
+
rawError: raw,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
export function authError(message, raw) {
|
|
68
|
+
return new MembraneError({
|
|
69
|
+
type: 'auth',
|
|
70
|
+
message,
|
|
71
|
+
retryable: false,
|
|
72
|
+
httpStatus: 401,
|
|
73
|
+
rawError: raw,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
export function serverError(message, httpStatus, raw) {
|
|
77
|
+
return new MembraneError({
|
|
78
|
+
type: 'server',
|
|
79
|
+
message,
|
|
80
|
+
retryable: true,
|
|
81
|
+
httpStatus: httpStatus ?? 500,
|
|
82
|
+
rawError: raw,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
export function networkError(message, raw) {
|
|
86
|
+
return new MembraneError({
|
|
87
|
+
type: 'network',
|
|
88
|
+
message,
|
|
89
|
+
retryable: true,
|
|
90
|
+
rawError: raw,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
export function timeoutError(message, raw) {
|
|
94
|
+
return new MembraneError({
|
|
95
|
+
type: 'timeout',
|
|
96
|
+
message,
|
|
97
|
+
retryable: true,
|
|
98
|
+
rawError: raw,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
export function abortError(message = 'Request was aborted') {
|
|
102
|
+
return new MembraneError({
|
|
103
|
+
type: 'abort',
|
|
104
|
+
message,
|
|
105
|
+
retryable: false,
|
|
106
|
+
rawError: undefined,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
export function safetyError(message, raw) {
|
|
110
|
+
return new MembraneError({
|
|
111
|
+
type: 'safety',
|
|
112
|
+
message,
|
|
113
|
+
retryable: false,
|
|
114
|
+
rawError: raw,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
export function unsupportedError(message) {
|
|
118
|
+
return new MembraneError({
|
|
119
|
+
type: 'unsupported',
|
|
120
|
+
message,
|
|
121
|
+
retryable: false,
|
|
122
|
+
rawError: undefined,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
// ============================================================================
|
|
126
|
+
// Error Classification
|
|
127
|
+
// ============================================================================
|
|
128
|
+
export function classifyError(error) {
|
|
129
|
+
if (error instanceof MembraneError) {
|
|
130
|
+
return error.toErrorInfo();
|
|
131
|
+
}
|
|
132
|
+
if (error instanceof Error) {
|
|
133
|
+
const message = error.message.toLowerCase();
|
|
134
|
+
// Rate limit
|
|
135
|
+
if (message.includes('rate') || message.includes('429') || message.includes('too many')) {
|
|
136
|
+
return {
|
|
137
|
+
type: 'rate_limit',
|
|
138
|
+
message: error.message,
|
|
139
|
+
retryable: true,
|
|
140
|
+
httpStatus: 429,
|
|
141
|
+
rawError: error,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
// Context length
|
|
145
|
+
if (message.includes('context') || message.includes('too long') || message.includes('maximum')) {
|
|
146
|
+
return {
|
|
147
|
+
type: 'context_length',
|
|
148
|
+
message: error.message,
|
|
149
|
+
retryable: false,
|
|
150
|
+
rawError: error,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
// Auth
|
|
154
|
+
if (message.includes('auth') || message.includes('401') || message.includes('api key')) {
|
|
155
|
+
return {
|
|
156
|
+
type: 'auth',
|
|
157
|
+
message: error.message,
|
|
158
|
+
retryable: false,
|
|
159
|
+
httpStatus: 401,
|
|
160
|
+
rawError: error,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
// Network
|
|
164
|
+
if (message.includes('network') || message.includes('econnreset') || message.includes('socket')) {
|
|
165
|
+
return {
|
|
166
|
+
type: 'network',
|
|
167
|
+
message: error.message,
|
|
168
|
+
retryable: true,
|
|
169
|
+
rawError: error,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
// Timeout
|
|
173
|
+
if (message.includes('timeout') || message.includes('timed out')) {
|
|
174
|
+
return {
|
|
175
|
+
type: 'timeout',
|
|
176
|
+
message: error.message,
|
|
177
|
+
retryable: true,
|
|
178
|
+
rawError: error,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
// Abort
|
|
182
|
+
if (message.includes('abort') || error.name === 'AbortError') {
|
|
183
|
+
return {
|
|
184
|
+
type: 'abort',
|
|
185
|
+
message: error.message,
|
|
186
|
+
retryable: false,
|
|
187
|
+
rawError: error,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
// Server error
|
|
191
|
+
if (message.includes('500') || message.includes('502') || message.includes('503') || message.includes('504')) {
|
|
192
|
+
return {
|
|
193
|
+
type: 'server',
|
|
194
|
+
message: error.message,
|
|
195
|
+
retryable: true,
|
|
196
|
+
rawError: error,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// Unknown
|
|
201
|
+
return {
|
|
202
|
+
type: 'unknown',
|
|
203
|
+
message: error instanceof Error ? error.message : String(error),
|
|
204
|
+
retryable: false,
|
|
205
|
+
rawError: error,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type exports for membrane
|
|
3
|
+
*/
|
|
4
|
+
export type { CacheControl, MediaSource, Base64Source, UrlSource, ContentBlock, TextContent, ImageContent, DocumentContent, AudioContent, VideoContent, GeneratedImageContent, ToolUseContent, ToolResultContent, ThinkingContent, RedactedThinkingContent, } from './content.js';
|
|
5
|
+
export { isTextContent, isImageContent, isDocumentContent, isAudioContent, isVideoContent, isGeneratedImageContent, isToolUseContent, isToolResultContent, isThinkingContent, isRedactedThinkingContent, isMediaContent, } from './content.js';
|
|
6
|
+
export type { MessageMetadata, NormalizedMessage, } from './message.js';
|
|
7
|
+
export { textMessage, extractText, hasMedia, hasToolUse, } from './message.js';
|
|
8
|
+
export type { ToolParameter, ToolDefinition, ToolCall, ToolResult, ToolResultContentBlock, ToolContext, ParsedToolCalls, } from './tools.js';
|
|
9
|
+
export type { GenerationConfig, StopSequenceStrategy, StopSequenceConfig, RequestOptions, NormalizedRequest, ToolMode, } from './request.js';
|
|
10
|
+
export type { StopReason, BasicUsage, DetailedUsage, CostBreakdown, StopInfo, ModelInfo, TimingInfo, CacheInfo, ResponseDetails, RawAccess, NormalizedResponse, AbortedResponse, } from './response.js';
|
|
11
|
+
export { isAbortedResponse } from './response.js';
|
|
12
|
+
export type { ProviderQuirks, MediaCapabilities, ProviderCapabilities, ModelPricing, ModelDefinition, ModelRegistry, ModelFilter, ProviderAdapter, ProviderRequest, ProviderRequestOptions, ProviderResponse, StreamCallbacks, } from './provider.js';
|
|
13
|
+
export type { StreamState, StreamOptions, CompleteOptions, OnChunkCallback, OnContentBlockCallback, OnToolCallsCallback, OnPreToolContentCallback, OnUsageCallback, OnBlockCallback, BlockEvent, BlockDelta, } from './streaming.js';
|
|
14
|
+
export type { MembraneErrorType, ErrorInfo, } from './errors.js';
|
|
15
|
+
export { MembraneError, rateLimitError, contextLengthError, invalidRequestError, authError, serverError, networkError, timeoutError, abortError, safetyError, unsupportedError, classifyError, } from './errors.js';
|
|
16
|
+
export type { RetryConfig, MediaConfig, MembraneHooks, MembraneLogger, MembraneConfig, } from './config.js';
|
|
17
|
+
export { DEFAULT_RETRY_CONFIG, DEFAULT_MEDIA_CONFIG, } from './config.js';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,eAAe,EACf,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,QAAQ,EACR,UAAU,GACX,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,aAAa,EACb,cAAc,EACd,QAAQ,EACR,UAAU,EACV,sBAAsB,EACtB,WAAW,EACX,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,QAAQ,GACT,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,GAChB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,UAAU,EACV,UAAU,GACX,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,iBAAiB,EACjB,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type exports for membrane
|
|
3
|
+
*/
|
|
4
|
+
export { isTextContent, isImageContent, isDocumentContent, isAudioContent, isVideoContent, isGeneratedImageContent, isToolUseContent, isToolResultContent, isThinkingContent, isRedactedThinkingContent, isMediaContent, } from './content.js';
|
|
5
|
+
export { textMessage, extractText, hasMedia, hasToolUse, } from './message.js';
|
|
6
|
+
export { isAbortedResponse } from './response.js';
|
|
7
|
+
export { MembraneError, rateLimitError, contextLengthError, invalidRequestError, authError, serverError, networkError, timeoutError, abortError, safetyError, unsupportedError, classifyError, } from './errors.js';
|
|
8
|
+
export { DEFAULT_RETRY_CONFIG, DEFAULT_MEDIA_CONFIG, } from './config.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,GACf,MAAM,cAAc,CAAC;AAQtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,QAAQ,EACR,UAAU,GACX,MAAM,cAAc,CAAC;AAuCtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAuClD,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,GACd,MAAM,aAAa,CAAC;AAWrB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalized message types
|
|
3
|
+
*/
|
|
4
|
+
import type { ContentBlock, CacheControl } from './content.js';
|
|
5
|
+
export type { CacheControl } from './content.js';
|
|
6
|
+
export interface MessageMetadata {
|
|
7
|
+
/** Original timestamp */
|
|
8
|
+
timestamp?: Date;
|
|
9
|
+
/** Source ID from originating system (Discord message ID, UI message ID, etc.) */
|
|
10
|
+
sourceId?: string;
|
|
11
|
+
/** Cache control for this message */
|
|
12
|
+
cacheControl?: CacheControl;
|
|
13
|
+
/** Stream routing (for VEIL/connectome compatibility) */
|
|
14
|
+
streamId?: string;
|
|
15
|
+
/** Additional metadata (pass-through) */
|
|
16
|
+
[key: string]: unknown;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A message from a single participant.
|
|
20
|
+
* This is the core abstraction - no artificial "user" vs "assistant" roles.
|
|
21
|
+
*/
|
|
22
|
+
export interface NormalizedMessage {
|
|
23
|
+
/** Participant name: "Alice", "Bob", "Claude", etc. */
|
|
24
|
+
participant: string;
|
|
25
|
+
/** Content blocks */
|
|
26
|
+
content: ContentBlock[];
|
|
27
|
+
/** Message metadata */
|
|
28
|
+
metadata?: MessageMetadata;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Create a simple text message
|
|
32
|
+
*/
|
|
33
|
+
export declare function textMessage(participant: string, text: string, metadata?: MessageMetadata): NormalizedMessage;
|
|
34
|
+
/**
|
|
35
|
+
* Extract all text content from a message
|
|
36
|
+
*/
|
|
37
|
+
export declare function extractText(message: NormalizedMessage): string;
|
|
38
|
+
/**
|
|
39
|
+
* Check if message has any media content
|
|
40
|
+
*/
|
|
41
|
+
export declare function hasMedia(message: NormalizedMessage): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Check if message has tool use
|
|
44
|
+
*/
|
|
45
|
+
export declare function hasToolUse(message: NormalizedMessage): boolean;
|
|
46
|
+
//# sourceMappingURL=message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG/D,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAMjD,MAAM,WAAW,eAAe;IAC9B,yBAAyB;IACzB,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,yCAAyC;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAMD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IAEpB,qBAAqB;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IAExB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAMD;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,iBAAiB,CAM5G;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAK9D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAI5D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAE9D"}
|