@agentick/shared 0.0.1
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/LICENSE +21 -0
- package/README.md +322 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/.tsbuildinfo.build +1 -0
- package/dist/block-types.d.ts +85 -0
- package/dist/block-types.d.ts.map +1 -0
- package/dist/block-types.js +98 -0
- package/dist/block-types.js.map +1 -0
- package/dist/blocks.d.ts +396 -0
- package/dist/blocks.d.ts.map +1 -0
- package/dist/blocks.js +209 -0
- package/dist/blocks.js.map +1 -0
- package/dist/devtools.d.ts +672 -0
- package/dist/devtools.d.ts.map +1 -0
- package/dist/devtools.js +445 -0
- package/dist/devtools.js.map +1 -0
- package/dist/errors.d.ts +335 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +529 -0
- package/dist/errors.js.map +1 -0
- package/dist/identity.d.ts +99 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +116 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +56 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +56 -0
- package/dist/index.js.map +1 -0
- package/dist/input.d.ts +55 -0
- package/dist/input.d.ts.map +1 -0
- package/dist/input.js +83 -0
- package/dist/input.js.map +1 -0
- package/dist/messages.d.ts +98 -0
- package/dist/messages.d.ts.map +1 -0
- package/dist/messages.js +81 -0
- package/dist/messages.js.map +1 -0
- package/dist/model-catalog.d.ts +144 -0
- package/dist/model-catalog.d.ts.map +1 -0
- package/dist/model-catalog.js +861 -0
- package/dist/model-catalog.js.map +1 -0
- package/dist/models.d.ts +173 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +10 -0
- package/dist/models.js.map +1 -0
- package/dist/protocol.d.ts +257 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +41 -0
- package/dist/protocol.js.map +1 -0
- package/dist/streaming.d.ts +635 -0
- package/dist/streaming.d.ts.map +1 -0
- package/dist/streaming.js +134 -0
- package/dist/streaming.js.map +1 -0
- package/dist/testing/fixtures.d.ts +250 -0
- package/dist/testing/fixtures.d.ts.map +1 -0
- package/dist/testing/fixtures.js +827 -0
- package/dist/testing/fixtures.js.map +1 -0
- package/dist/testing/helpers.d.ts +95 -0
- package/dist/testing/helpers.d.ts.map +1 -0
- package/dist/testing/helpers.js +271 -0
- package/dist/testing/helpers.js.map +1 -0
- package/dist/testing/index.d.ts +42 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +70 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/timeline.d.ts +59 -0
- package/dist/timeline.d.ts.map +1 -0
- package/dist/timeline.js +11 -0
- package/dist/timeline.js.map +1 -0
- package/dist/tools.d.ts +220 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +63 -0
- package/dist/tools.js.map +1 -0
- package/dist/utils/entity-ids.d.ts +26 -0
- package/dist/utils/entity-ids.d.ts.map +1 -0
- package/dist/utils/entity-ids.js +44 -0
- package/dist/utils/entity-ids.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/merge-deep.d.ts +10 -0
- package/dist/utils/merge-deep.d.ts.map +1 -0
- package/dist/utils/merge-deep.js +33 -0
- package/dist/utils/merge-deep.js.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content Block Types
|
|
3
|
+
*
|
|
4
|
+
* Discriminated union types for all content blocks.
|
|
5
|
+
* Normalized across providers.
|
|
6
|
+
*/
|
|
7
|
+
export var BlockType;
|
|
8
|
+
(function (BlockType) {
|
|
9
|
+
// Text content
|
|
10
|
+
BlockType["TEXT"] = "text";
|
|
11
|
+
// Media
|
|
12
|
+
BlockType["IMAGE"] = "image";
|
|
13
|
+
BlockType["DOCUMENT"] = "document";
|
|
14
|
+
BlockType["AUDIO"] = "audio";
|
|
15
|
+
BlockType["VIDEO"] = "video";
|
|
16
|
+
// Tool calling
|
|
17
|
+
BlockType["TOOL_USE"] = "tool_use";
|
|
18
|
+
BlockType["TOOL_RESULT"] = "tool_result";
|
|
19
|
+
// Reasoning/thinking (for models that support it)
|
|
20
|
+
BlockType["REASONING"] = "reasoning";
|
|
21
|
+
// Structured data
|
|
22
|
+
BlockType["JSON"] = "json";
|
|
23
|
+
BlockType["XML"] = "xml";
|
|
24
|
+
BlockType["CSV"] = "csv";
|
|
25
|
+
BlockType["HTML"] = "html";
|
|
26
|
+
BlockType["CODE"] = "code";
|
|
27
|
+
// AI-generated content
|
|
28
|
+
BlockType["GENERATED_IMAGE"] = "generated_image";
|
|
29
|
+
BlockType["GENERATED_FILE"] = "generated_file";
|
|
30
|
+
BlockType["EXECUTABLE_CODE"] = "executable_code";
|
|
31
|
+
BlockType["CODE_EXECUTION_RESULT"] = "code_execution_result";
|
|
32
|
+
// Event content (only valid in event messages)
|
|
33
|
+
BlockType["USER_ACTION"] = "user_action";
|
|
34
|
+
BlockType["SYSTEM_EVENT"] = "system_event";
|
|
35
|
+
BlockType["STATE_CHANGE"] = "state_change";
|
|
36
|
+
})(BlockType || (BlockType = {}));
|
|
37
|
+
export var MessageRole;
|
|
38
|
+
(function (MessageRole) {
|
|
39
|
+
MessageRole["USER"] = "user";
|
|
40
|
+
MessageRole["ASSISTANT"] = "assistant";
|
|
41
|
+
MessageRole["SYSTEM"] = "system";
|
|
42
|
+
MessageRole["TOOL"] = "tool";
|
|
43
|
+
MessageRole["EVENT"] = "event";
|
|
44
|
+
})(MessageRole || (MessageRole = {}));
|
|
45
|
+
export var MediaSourceType;
|
|
46
|
+
(function (MediaSourceType) {
|
|
47
|
+
MediaSourceType["URL"] = "url";
|
|
48
|
+
MediaSourceType["BASE64"] = "base64";
|
|
49
|
+
MediaSourceType["FILE_ID"] = "file_id";
|
|
50
|
+
MediaSourceType["S3"] = "s3";
|
|
51
|
+
MediaSourceType["GCS"] = "gcs";
|
|
52
|
+
})(MediaSourceType || (MediaSourceType = {}));
|
|
53
|
+
export var ImageMimeType;
|
|
54
|
+
(function (ImageMimeType) {
|
|
55
|
+
ImageMimeType["JPEG"] = "image/jpeg";
|
|
56
|
+
ImageMimeType["PNG"] = "image/png";
|
|
57
|
+
ImageMimeType["GIF"] = "image/gif";
|
|
58
|
+
ImageMimeType["WEBP"] = "image/webp";
|
|
59
|
+
})(ImageMimeType || (ImageMimeType = {}));
|
|
60
|
+
export var DocumentMimeType;
|
|
61
|
+
(function (DocumentMimeType) {
|
|
62
|
+
DocumentMimeType["PDF"] = "application/pdf";
|
|
63
|
+
DocumentMimeType["TEXT"] = "text/plain";
|
|
64
|
+
DocumentMimeType["MARKDOWN"] = "text/markdown";
|
|
65
|
+
})(DocumentMimeType || (DocumentMimeType = {}));
|
|
66
|
+
export var AudioMimeType;
|
|
67
|
+
(function (AudioMimeType) {
|
|
68
|
+
AudioMimeType["MP3"] = "audio/mpeg";
|
|
69
|
+
AudioMimeType["WAV"] = "audio/wav";
|
|
70
|
+
AudioMimeType["OGG"] = "audio/ogg";
|
|
71
|
+
AudioMimeType["M4A"] = "audio/mp4";
|
|
72
|
+
})(AudioMimeType || (AudioMimeType = {}));
|
|
73
|
+
export var VideoMimeType;
|
|
74
|
+
(function (VideoMimeType) {
|
|
75
|
+
VideoMimeType["MP4"] = "video/mp4";
|
|
76
|
+
VideoMimeType["WEBM"] = "video/webm";
|
|
77
|
+
})(VideoMimeType || (VideoMimeType = {}));
|
|
78
|
+
export var CodeLanguage;
|
|
79
|
+
(function (CodeLanguage) {
|
|
80
|
+
CodeLanguage["TYPESCRIPT"] = "typescript";
|
|
81
|
+
CodeLanguage["JAVASCRIPT"] = "javascript";
|
|
82
|
+
CodeLanguage["PYTHON"] = "python";
|
|
83
|
+
CodeLanguage["JAVA"] = "java";
|
|
84
|
+
CodeLanguage["CSHARP"] = "csharp";
|
|
85
|
+
CodeLanguage["GO"] = "go";
|
|
86
|
+
CodeLanguage["RUST"] = "rust";
|
|
87
|
+
CodeLanguage["CPP"] = "cpp";
|
|
88
|
+
CodeLanguage["C"] = "c";
|
|
89
|
+
CodeLanguage["PHP"] = "php";
|
|
90
|
+
CodeLanguage["RUBY"] = "ruby";
|
|
91
|
+
CodeLanguage["SWIFT"] = "swift";
|
|
92
|
+
CodeLanguage["KOTLIN"] = "kotlin";
|
|
93
|
+
CodeLanguage["SQL"] = "sql";
|
|
94
|
+
CodeLanguage["SHELL"] = "shell";
|
|
95
|
+
CodeLanguage["JSON"] = "json";
|
|
96
|
+
CodeLanguage["OTHER"] = "other";
|
|
97
|
+
})(CodeLanguage || (CodeLanguage = {}));
|
|
98
|
+
//# sourceMappingURL=block-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-types.js","sourceRoot":"","sources":["../src/block-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAN,IAAY,SAkCX;AAlCD,WAAY,SAAS;IACnB,eAAe;IACf,0BAAa,CAAA;IAEb,QAAQ;IACR,4BAAe,CAAA;IACf,kCAAqB,CAAA;IACrB,4BAAe,CAAA;IACf,4BAAe,CAAA;IAEf,eAAe;IACf,kCAAqB,CAAA;IACrB,wCAA2B,CAAA;IAE3B,kDAAkD;IAClD,oCAAuB,CAAA;IAEvB,kBAAkB;IAClB,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,0BAAa,CAAA;IACb,0BAAa,CAAA;IAEb,uBAAuB;IACvB,gDAAmC,CAAA;IACnC,8CAAiC,CAAA;IACjC,gDAAmC,CAAA;IACnC,4DAA+C,CAAA;IAE/C,+CAA+C;IAC/C,wCAA2B,CAAA;IAC3B,0CAA6B,CAAA;IAC7B,0CAA6B,CAAA;AAC/B,CAAC,EAlCW,SAAS,KAAT,SAAS,QAkCpB;AAwBD,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,sCAAuB,CAAA;IACvB,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,8BAAe,CAAA;AACjB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAID,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,oCAAiB,CAAA;IACjB,sCAAmB,CAAA;IACnB,4BAAS,CAAA;IACT,8BAAW,CAAA;AACb,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B;AAED,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;AACrB,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,2CAAuB,CAAA;IACvB,uCAAmB,CAAA;IACnB,8CAA0B,CAAA;AAC5B,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,mCAAkB,CAAA;IAClB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;AACnB,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;AACrB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,MAAM,CAAN,IAAY,YAkBX;AAlBD,WAAY,YAAY;IACtB,yCAAyB,CAAA;IACzB,yCAAyB,CAAA;IACzB,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,yBAAS,CAAA;IACT,6BAAa,CAAA;IACb,2BAAW,CAAA;IACX,uBAAO,CAAA;IACP,2BAAW,CAAA;IACX,6BAAa,CAAA;IACb,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,2BAAW,CAAA;IACX,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,+BAAe,CAAA;AACjB,CAAC,EAlBW,YAAY,KAAZ,YAAY,QAkBvB"}
|
package/dist/blocks.d.ts
ADDED
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content Blocks - Type-safe content block definitions using discriminated unions.
|
|
3
|
+
*
|
|
4
|
+
* Content blocks represent the atomic units of content in messages. They use
|
|
5
|
+
* discriminated unions (the `type` field) for type-safe handling:
|
|
6
|
+
*
|
|
7
|
+
* - **Text** - Plain text content (`TextBlock`)
|
|
8
|
+
* - **Media** - Images, audio, video, documents (`ImageBlock`, `AudioBlock`, etc.)
|
|
9
|
+
* - **Tool** - Tool calls and results (`ToolUseBlock`, `ToolResultBlock`)
|
|
10
|
+
* - **Data** - Structured data (JSON, XML, CSV, HTML, code)
|
|
11
|
+
* - **Events** - User actions, system events, state changes
|
|
12
|
+
*
|
|
13
|
+
* @example Type narrowing with discriminated unions
|
|
14
|
+
* ```typescript
|
|
15
|
+
* function processBlock(block: ContentBlock) {
|
|
16
|
+
* switch (block.type) {
|
|
17
|
+
* case 'text':
|
|
18
|
+
* console.log(block.text); // TypeScript knows this is TextBlock
|
|
19
|
+
* break;
|
|
20
|
+
* case 'tool_use':
|
|
21
|
+
* console.log(block.name, block.input); // ToolUseBlock
|
|
22
|
+
* break;
|
|
23
|
+
* case 'image':
|
|
24
|
+
* console.log(block.source); // ImageBlock
|
|
25
|
+
* break;
|
|
26
|
+
* }
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @see {@link ContentBlock} - The union of all content block types
|
|
31
|
+
* @see {@link BlockType} - Enum of block type discriminators
|
|
32
|
+
*
|
|
33
|
+
* @module
|
|
34
|
+
*/
|
|
35
|
+
import type { BlockType, MediaSourceType, ImageMimeType, DocumentMimeType, AudioMimeType, VideoMimeType, CodeLanguage } from "./block-types";
|
|
36
|
+
import type { ToolExecutor } from "./tools";
|
|
37
|
+
/**
|
|
38
|
+
* Base properties shared by all content blocks.
|
|
39
|
+
*/
|
|
40
|
+
export interface BaseContentBlock {
|
|
41
|
+
/** Discriminator for type narrowing (e.g., 'text', 'image', 'tool_use') */
|
|
42
|
+
readonly type: string | BlockType;
|
|
43
|
+
/** Unique identifier for this block */
|
|
44
|
+
readonly id?: string;
|
|
45
|
+
/** ID of the message containing this block */
|
|
46
|
+
readonly messageId?: string;
|
|
47
|
+
/** ISO 8601 timestamp when this block was created */
|
|
48
|
+
readonly createdAt?: string;
|
|
49
|
+
/** MIME type of the content (for media blocks) */
|
|
50
|
+
readonly mimeType?: string;
|
|
51
|
+
/** Position of this block within the message */
|
|
52
|
+
readonly index?: number;
|
|
53
|
+
/** Additional metadata */
|
|
54
|
+
readonly metadata?: Record<string, any>;
|
|
55
|
+
/** Human-readable summary of the content */
|
|
56
|
+
readonly summary?: string;
|
|
57
|
+
}
|
|
58
|
+
export interface BaseMediaSource extends BaseContentBlock {
|
|
59
|
+
readonly type: string;
|
|
60
|
+
readonly metadata?: Record<string, any>;
|
|
61
|
+
}
|
|
62
|
+
export interface UrlSource extends BaseMediaSource {
|
|
63
|
+
readonly type: MediaSourceType.URL | "url";
|
|
64
|
+
readonly url: string;
|
|
65
|
+
readonly mimeType?: string;
|
|
66
|
+
}
|
|
67
|
+
export interface Base64Source extends BaseMediaSource {
|
|
68
|
+
readonly type: MediaSourceType.BASE64 | "base64";
|
|
69
|
+
readonly data: string;
|
|
70
|
+
readonly mimeType?: string;
|
|
71
|
+
}
|
|
72
|
+
export interface Base64Source extends BaseMediaSource {
|
|
73
|
+
readonly type: MediaSourceType.BASE64 | "base64";
|
|
74
|
+
readonly data: string;
|
|
75
|
+
}
|
|
76
|
+
export interface FileIdSource extends BaseMediaSource {
|
|
77
|
+
readonly type: MediaSourceType.FILE_ID | "file_id";
|
|
78
|
+
readonly fileId: string;
|
|
79
|
+
}
|
|
80
|
+
export interface S3Source extends BaseMediaSource {
|
|
81
|
+
readonly type: MediaSourceType.S3 | "s3";
|
|
82
|
+
readonly bucket: string;
|
|
83
|
+
readonly key: string;
|
|
84
|
+
readonly region?: string;
|
|
85
|
+
}
|
|
86
|
+
export interface GCSSource extends BaseMediaSource {
|
|
87
|
+
readonly type: MediaSourceType.GCS | "gcs";
|
|
88
|
+
readonly bucket: string;
|
|
89
|
+
readonly object: string;
|
|
90
|
+
readonly project?: string;
|
|
91
|
+
}
|
|
92
|
+
export type MediaSource = UrlSource | Base64Source | FileIdSource | S3Source | GCSSource;
|
|
93
|
+
/**
|
|
94
|
+
* Text block - Simple text content
|
|
95
|
+
*/
|
|
96
|
+
interface TextualDataBlock extends BaseContentBlock {
|
|
97
|
+
readonly text: string;
|
|
98
|
+
}
|
|
99
|
+
export interface TextBlock extends TextualDataBlock {
|
|
100
|
+
readonly type: BlockType.TEXT | "text";
|
|
101
|
+
readonly text: string;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Image block - Image content with source
|
|
105
|
+
*/
|
|
106
|
+
export interface ImageBlock extends BaseContentBlock {
|
|
107
|
+
readonly type: BlockType.IMAGE | "image";
|
|
108
|
+
readonly source: MediaSource;
|
|
109
|
+
readonly mimeType?: ImageMimeType;
|
|
110
|
+
readonly altText?: string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Document block - Document content (PDF, etc.)
|
|
114
|
+
*/
|
|
115
|
+
export interface DocumentBlock extends BaseContentBlock {
|
|
116
|
+
readonly type: BlockType.DOCUMENT | "document";
|
|
117
|
+
readonly source: MediaSource;
|
|
118
|
+
readonly mimeType?: DocumentMimeType;
|
|
119
|
+
readonly title?: string;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Audio block - Audio content
|
|
123
|
+
*/
|
|
124
|
+
export interface AudioBlock extends BaseContentBlock {
|
|
125
|
+
readonly type: BlockType.AUDIO | "audio";
|
|
126
|
+
readonly source: MediaSource;
|
|
127
|
+
readonly mimeType?: AudioMimeType;
|
|
128
|
+
readonly transcript?: string;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Video block - Video content
|
|
132
|
+
*/
|
|
133
|
+
export interface VideoBlock extends BaseContentBlock {
|
|
134
|
+
readonly type: BlockType.VIDEO | "video";
|
|
135
|
+
readonly source: MediaSource;
|
|
136
|
+
readonly mimeType?: VideoMimeType;
|
|
137
|
+
readonly transcript?: string;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Tool use block - Function/tool call request
|
|
141
|
+
*/
|
|
142
|
+
export interface ToolUseBlock extends BaseContentBlock {
|
|
143
|
+
readonly type: BlockType.TOOL_USE | "tool_use";
|
|
144
|
+
readonly toolUseId: string;
|
|
145
|
+
readonly name: string;
|
|
146
|
+
readonly input: Record<string, any>;
|
|
147
|
+
readonly toolResult?: ToolResultBlock;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Tool result block - Function/tool call result
|
|
151
|
+
*/
|
|
152
|
+
export interface ToolResultBlock extends BaseContentBlock {
|
|
153
|
+
readonly type: BlockType.TOOL_RESULT | "tool_result";
|
|
154
|
+
readonly toolUseId: string;
|
|
155
|
+
readonly name: string;
|
|
156
|
+
readonly content: ContentBlock[];
|
|
157
|
+
readonly isError?: boolean;
|
|
158
|
+
/**
|
|
159
|
+
* Who executed this tool.
|
|
160
|
+
* @see ToolExecutor for possible values
|
|
161
|
+
*/
|
|
162
|
+
readonly executedBy?: ToolExecutor;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Reasoning block - Model's internal reasoning
|
|
166
|
+
*/
|
|
167
|
+
export interface ReasoningBlock extends TextualDataBlock {
|
|
168
|
+
readonly type: BlockType.REASONING | "reasoning";
|
|
169
|
+
readonly signature?: string;
|
|
170
|
+
readonly isRedacted?: boolean;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* JSON block - Structured JSON data
|
|
174
|
+
*/
|
|
175
|
+
export interface JsonBlock extends TextualDataBlock {
|
|
176
|
+
readonly type: BlockType.JSON | "json";
|
|
177
|
+
readonly data?: any;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* XML block - XML data
|
|
181
|
+
*/
|
|
182
|
+
export interface XmlBlock extends TextualDataBlock {
|
|
183
|
+
readonly type: BlockType.XML | "xml";
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* CSV block - CSV data
|
|
187
|
+
*/
|
|
188
|
+
export interface CsvBlock extends TextualDataBlock {
|
|
189
|
+
readonly type: BlockType.CSV | "csv";
|
|
190
|
+
readonly headers?: string[];
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* HTML block - HTML content
|
|
194
|
+
*/
|
|
195
|
+
export interface HtmlBlock extends TextualDataBlock {
|
|
196
|
+
readonly type: BlockType.HTML | "html";
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Code block - Code with language
|
|
200
|
+
*/
|
|
201
|
+
export interface CodeBlock extends TextualDataBlock {
|
|
202
|
+
readonly type: BlockType.CODE | "code";
|
|
203
|
+
readonly language: CodeLanguage;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Generated image block - AI-generated image
|
|
207
|
+
*/
|
|
208
|
+
export interface GeneratedImageBlock extends BaseContentBlock {
|
|
209
|
+
readonly type: BlockType.GENERATED_IMAGE | "generated_image";
|
|
210
|
+
readonly data: string;
|
|
211
|
+
readonly mimeType: string;
|
|
212
|
+
readonly altText?: string;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Generated file block - AI-generated file
|
|
216
|
+
*/
|
|
217
|
+
export interface GeneratedFileBlock extends BaseContentBlock {
|
|
218
|
+
readonly type: BlockType.GENERATED_FILE | "generated_file";
|
|
219
|
+
readonly uri: string;
|
|
220
|
+
readonly mimeType: string;
|
|
221
|
+
readonly displayName?: string;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Executable code block - AI-generated executable code
|
|
225
|
+
*/
|
|
226
|
+
export interface ExecutableCodeBlock extends BaseContentBlock {
|
|
227
|
+
readonly type: BlockType.EXECUTABLE_CODE | "executable_code";
|
|
228
|
+
readonly code: string;
|
|
229
|
+
readonly language?: string;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Code execution result block - Result of AI-executed code
|
|
233
|
+
*/
|
|
234
|
+
export interface CodeExecutionResultBlock extends BaseContentBlock {
|
|
235
|
+
readonly type: BlockType.CODE_EXECUTION_RESULT | "code_execution_result";
|
|
236
|
+
readonly output: string;
|
|
237
|
+
readonly isError?: boolean;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* User action block - Records a user-initiated action
|
|
241
|
+
*
|
|
242
|
+
* The `text` field provides a human-readable formatted representation,
|
|
243
|
+
* typically populated via JSX children. Model config uses this for output
|
|
244
|
+
* while preserving semantic info (action, actor, etc.) for delimiter targeting.
|
|
245
|
+
*/
|
|
246
|
+
export interface UserActionBlock extends BaseContentBlock {
|
|
247
|
+
readonly type: BlockType.USER_ACTION | "user_action";
|
|
248
|
+
readonly action: string;
|
|
249
|
+
readonly actor?: string;
|
|
250
|
+
readonly target?: string;
|
|
251
|
+
readonly details?: Record<string, any>;
|
|
252
|
+
/** Formatted text representation (from JSX children) */
|
|
253
|
+
readonly text?: string;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* System event block - Records a system/application event
|
|
257
|
+
*
|
|
258
|
+
* The `text` field provides a human-readable formatted representation,
|
|
259
|
+
* typically populated via JSX children.
|
|
260
|
+
*/
|
|
261
|
+
export interface SystemEventBlock extends BaseContentBlock {
|
|
262
|
+
readonly type: BlockType.SYSTEM_EVENT | "system_event";
|
|
263
|
+
readonly event: string;
|
|
264
|
+
readonly source?: string;
|
|
265
|
+
readonly data?: Record<string, any>;
|
|
266
|
+
/** Formatted text representation (from JSX children) */
|
|
267
|
+
readonly text?: string;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* State change block - Records a state transition
|
|
271
|
+
*
|
|
272
|
+
* The `text` field provides a human-readable formatted representation,
|
|
273
|
+
* typically populated via JSX children.
|
|
274
|
+
*/
|
|
275
|
+
export interface StateChangeBlock extends BaseContentBlock {
|
|
276
|
+
readonly type: BlockType.STATE_CHANGE | "state_change";
|
|
277
|
+
readonly entity: string;
|
|
278
|
+
readonly field?: string;
|
|
279
|
+
readonly from: any;
|
|
280
|
+
readonly to: any;
|
|
281
|
+
readonly trigger?: string;
|
|
282
|
+
/** Formatted text representation (from JSX children) */
|
|
283
|
+
readonly text?: string;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Union of all content block types.
|
|
287
|
+
*
|
|
288
|
+
* Use the `type` discriminator field for type narrowing:
|
|
289
|
+
*
|
|
290
|
+
* @example
|
|
291
|
+
* ```typescript
|
|
292
|
+
* function handleBlock(block: ContentBlock) {
|
|
293
|
+
* if (block.type === 'text') {
|
|
294
|
+
* console.log(block.text);
|
|
295
|
+
* } else if (block.type === 'tool_use') {
|
|
296
|
+
* console.log(block.name, block.input);
|
|
297
|
+
* }
|
|
298
|
+
* }
|
|
299
|
+
* ```
|
|
300
|
+
*
|
|
301
|
+
* @see {@link isTextBlock}, {@link isToolUseBlock}, etc. - Type guard functions
|
|
302
|
+
*/
|
|
303
|
+
export type ContentBlock = TextBlock | ImageBlock | DocumentBlock | AudioBlock | VideoBlock | ToolUseBlock | ToolResultBlock | ReasoningBlock | JsonBlock | XmlBlock | CsvBlock | HtmlBlock | CodeBlock | GeneratedImageBlock | GeneratedFileBlock | ExecutableCodeBlock | CodeExecutionResultBlock | UserActionBlock | SystemEventBlock | StateChangeBlock;
|
|
304
|
+
/** Union of media content blocks (image, document, audio, video) */
|
|
305
|
+
export type MediaBlock = ImageBlock | DocumentBlock | AudioBlock | VideoBlock;
|
|
306
|
+
/** Union of tool-related blocks (tool call and result) */
|
|
307
|
+
export type ToolBlock = ToolUseBlock | ToolResultBlock;
|
|
308
|
+
/** Union of structured data blocks (JSON, XML, CSV, HTML, code) */
|
|
309
|
+
export type DataBlock = JsonBlock | XmlBlock | CsvBlock | HtmlBlock | CodeBlock;
|
|
310
|
+
/** Union of event content blocks (user action, system event, state change) */
|
|
311
|
+
export type EventBlock = UserActionBlock | SystemEventBlock | StateChangeBlock;
|
|
312
|
+
export type SystemAllowedBlock = TextBlock;
|
|
313
|
+
export type UserAllowedBlock = TextBlock | ImageBlock | DocumentBlock | AudioBlock | VideoBlock | JsonBlock | XmlBlock | CsvBlock | HtmlBlock | CodeBlock;
|
|
314
|
+
export type ToolAllowedBlock = ToolResultBlock;
|
|
315
|
+
export type AssistantAllowedBlock = TextBlock | ToolUseBlock | ReasoningBlock | GeneratedImageBlock | GeneratedFileBlock | ExecutableCodeBlock | CodeExecutionResultBlock;
|
|
316
|
+
export type EventAllowedBlock = TextBlock | UserActionBlock | SystemEventBlock | StateChangeBlock;
|
|
317
|
+
export declare function isTextBlock(block: ContentBlock): block is TextBlock;
|
|
318
|
+
export declare function isToolUseBlock(block: ContentBlock): block is ToolUseBlock;
|
|
319
|
+
export declare function isToolResultBlock(block: ContentBlock): block is ToolResultBlock;
|
|
320
|
+
export declare function isMediaBlock(block: ContentBlock): block is MediaBlock;
|
|
321
|
+
export declare function isEventBlock(block: ContentBlock): block is EventBlock;
|
|
322
|
+
export declare function isUserActionBlock(block: ContentBlock): block is UserActionBlock;
|
|
323
|
+
export declare function isSystemEventBlock(block: ContentBlock): block is SystemEventBlock;
|
|
324
|
+
export declare function isStateChangeBlock(block: ContentBlock): block is StateChangeBlock;
|
|
325
|
+
export declare function extractText(blocks: ContentBlock[]): string;
|
|
326
|
+
export declare function extractToolUses(blocks: ContentBlock[]): ToolUseBlock[];
|
|
327
|
+
/**
|
|
328
|
+
* Convert a Buffer or Uint8Array to a serializable Base64Source.
|
|
329
|
+
*
|
|
330
|
+
* Browser-compatible: works in both Node.js and browser environments.
|
|
331
|
+
* Uses globalThis to avoid requiring @types/node in browser environments.
|
|
332
|
+
*
|
|
333
|
+
* @example
|
|
334
|
+
* ```typescript
|
|
335
|
+
* // Node.js
|
|
336
|
+
* const imageBuffer = await fs.readFile('image.png');
|
|
337
|
+
* const imageBlock: ImageBlock = {
|
|
338
|
+
* type: 'image',
|
|
339
|
+
* source: bufferToBase64Source(imageBuffer, 'image/png'),
|
|
340
|
+
* };
|
|
341
|
+
*
|
|
342
|
+
* // Browser
|
|
343
|
+
* const response = await fetch('image.png');
|
|
344
|
+
* const arrayBuffer = await response.arrayBuffer();
|
|
345
|
+
* const uint8Array = new Uint8Array(arrayBuffer);
|
|
346
|
+
* const imageBlock: ImageBlock = {
|
|
347
|
+
* type: 'image',
|
|
348
|
+
* source: bufferToBase64Source(uint8Array, 'image/png'),
|
|
349
|
+
* };
|
|
350
|
+
* ```
|
|
351
|
+
*/
|
|
352
|
+
export declare function bufferToBase64Source(buffer: Uint8Array | {
|
|
353
|
+
buffer: ArrayBufferLike;
|
|
354
|
+
byteOffset: number;
|
|
355
|
+
byteLength: number;
|
|
356
|
+
}, mimeType?: string): Base64Source;
|
|
357
|
+
/**
|
|
358
|
+
* Convert a Base64Source back to a Uint8Array.
|
|
359
|
+
*
|
|
360
|
+
* Browser-compatible: returns Uint8Array which works in both Node.js and browser.
|
|
361
|
+
* In Node.js, you can convert to Buffer if needed: `Buffer.from(uint8Array)`
|
|
362
|
+
*
|
|
363
|
+
* @example
|
|
364
|
+
* ```typescript
|
|
365
|
+
* if (imageBlock.source.type === 'base64') {
|
|
366
|
+
* const uint8Array = base64SourceToBuffer(imageBlock.source);
|
|
367
|
+
*
|
|
368
|
+
* // In Node.js, convert to Buffer if needed:
|
|
369
|
+
* // const buffer = Buffer.from(uint8Array);
|
|
370
|
+
*
|
|
371
|
+
* // In browser, use directly:
|
|
372
|
+
* // const blob = new Blob([uint8Array], { type: 'image/png' });
|
|
373
|
+
* }
|
|
374
|
+
* ```
|
|
375
|
+
*/
|
|
376
|
+
export declare function base64SourceToBuffer(source: Base64Source): Uint8Array;
|
|
377
|
+
/**
|
|
378
|
+
* Check if a string looks like a URL (http:// or https://).
|
|
379
|
+
* Useful for determining source type from string data.
|
|
380
|
+
*/
|
|
381
|
+
export declare function isUrlString(str: string): boolean;
|
|
382
|
+
/**
|
|
383
|
+
* Create a MediaSource from a string (auto-detects URL vs base64).
|
|
384
|
+
*
|
|
385
|
+
* @example
|
|
386
|
+
* ```typescript
|
|
387
|
+
* const source = stringToMediaSource('https://example.com/image.png');
|
|
388
|
+
* // { type: 'url', url: 'https://example.com/image.png' }
|
|
389
|
+
*
|
|
390
|
+
* const source = stringToMediaSource('iVBORw0KGgo...');
|
|
391
|
+
* // { type: 'base64', data: 'iVBORw0KGgo...' }
|
|
392
|
+
* ```
|
|
393
|
+
*/
|
|
394
|
+
export declare function stringToMediaSource(str: string, mimeType?: string): UrlSource | Base64Source;
|
|
395
|
+
export {};
|
|
396
|
+
//# sourceMappingURL=blocks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../src/blocks.ts"],"names":[],"mappings":"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"}
|