botinabox 2.12.0 → 2.13.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/package.json CHANGED
@@ -1,100 +1,100 @@
1
- {
2
- "name": "botinabox",
3
- "version": "2.12.0",
4
- "description": "Bot in a Box — framework for building multi-agent bots",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "import": "./dist/index.js",
11
- "types": "./dist/index.d.ts"
12
- },
13
- "./anthropic": {
14
- "import": "./dist/providers/anthropic/index.js",
15
- "types": "./dist/providers/anthropic/index.d.ts"
16
- },
17
- "./openai": {
18
- "import": "./dist/providers/openai/index.js",
19
- "types": "./dist/providers/openai/index.d.ts"
20
- },
21
- "./ollama": {
22
- "import": "./dist/providers/ollama/index.js",
23
- "types": "./dist/providers/ollama/index.d.ts"
24
- },
25
- "./slack": {
26
- "import": "./dist/channels/slack/index.js",
27
- "types": "./dist/channels/slack/index.d.ts"
28
- },
29
- "./discord": {
30
- "import": "./dist/channels/discord/index.js",
31
- "types": "./dist/channels/discord/index.d.ts"
32
- },
33
- "./webhook": {
34
- "import": "./dist/channels/webhook/index.js",
35
- "types": "./dist/channels/webhook/index.d.ts"
36
- },
37
- "./google": {
38
- "import": "./dist/connectors/google/index.js",
39
- "types": "./dist/connectors/google/index.d.ts"
40
- }
41
- },
42
- "bin": {
43
- "botinabox": "./bin/botinabox.mjs"
44
- },
45
- "files": [
46
- "dist",
47
- "bin"
48
- ],
49
- "engines": {
50
- "node": ">=18"
51
- },
52
- "scripts": {
53
- "build": "tsup && tsc --emitDeclarationOnly",
54
- "test": "vitest run",
55
- "typecheck": "tsc --noEmit",
56
- "check-docs": "echo 'Documentation check passed'",
57
- "prepublishOnly": "npm run build && npm run typecheck && npm test"
58
- },
59
- "dependencies": {
60
- "@types/uuid": "^10.0.0",
61
- "ajv": "^8.17.1",
62
- "cron-parser": "^4.9.0",
63
- "latticesql": "^1.10.0",
64
- "uuid": "^13.0.0",
65
- "yaml": "^2.7.0"
66
- },
67
- "optionalDependencies": {
68
- "whisper-node": "^1.1.1"
69
- },
70
- "peerDependencies": {
71
- "@anthropic-ai/sdk": "^0.52.0",
72
- "googleapis": ">=140.0.0 <200.0.0",
73
- "openai": "^4.104.0"
74
- },
75
- "peerDependenciesMeta": {
76
- "@anthropic-ai/sdk": {
77
- "optional": true
78
- },
79
- "openai": {
80
- "optional": true
81
- },
82
- "googleapis": {
83
- "optional": true
84
- }
85
- },
86
- "repository": {
87
- "type": "git",
88
- "url": "https://github.com/automated-industries/botinabox.git"
89
- },
90
- "devDependencies": {
91
- "@anthropic-ai/sdk": "^0.52.0",
92
- "@types/better-sqlite3": "^7.6.12",
93
- "@types/node": "^22.10.0",
94
- "googleapis": "^171.4.0",
95
- "openai": "^4.104.0",
96
- "tsup": "^8.3.5",
97
- "typescript": "^5.7.2",
98
- "vitest": "^3.0.0"
99
- }
100
- }
1
+ {
2
+ "name": "botinabox",
3
+ "version": "2.13.0",
4
+ "description": "Bot in a Box — framework for building multi-agent bots",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ },
13
+ "./anthropic": {
14
+ "import": "./dist/providers/anthropic/index.js",
15
+ "types": "./dist/providers/anthropic/index.d.ts"
16
+ },
17
+ "./openai": {
18
+ "import": "./dist/providers/openai/index.js",
19
+ "types": "./dist/providers/openai/index.d.ts"
20
+ },
21
+ "./ollama": {
22
+ "import": "./dist/providers/ollama/index.js",
23
+ "types": "./dist/providers/ollama/index.d.ts"
24
+ },
25
+ "./slack": {
26
+ "import": "./dist/channels/slack/index.js",
27
+ "types": "./dist/channels/slack/index.d.ts"
28
+ },
29
+ "./discord": {
30
+ "import": "./dist/channels/discord/index.js",
31
+ "types": "./dist/channels/discord/index.d.ts"
32
+ },
33
+ "./webhook": {
34
+ "import": "./dist/channels/webhook/index.js",
35
+ "types": "./dist/channels/webhook/index.d.ts"
36
+ },
37
+ "./google": {
38
+ "import": "./dist/connectors/google/index.js",
39
+ "types": "./dist/connectors/google/index.d.ts"
40
+ }
41
+ },
42
+ "bin": {
43
+ "botinabox": "./bin/botinabox.mjs"
44
+ },
45
+ "files": [
46
+ "dist",
47
+ "bin"
48
+ ],
49
+ "engines": {
50
+ "node": ">=18"
51
+ },
52
+ "scripts": {
53
+ "build": "tsup && tsc --emitDeclarationOnly",
54
+ "test": "vitest run",
55
+ "typecheck": "tsc --noEmit",
56
+ "check-docs": "echo 'Documentation check passed'",
57
+ "prepublishOnly": "npm run build && npm run typecheck && npm test"
58
+ },
59
+ "dependencies": {
60
+ "@types/uuid": "^10.0.0",
61
+ "ajv": "^8.17.1",
62
+ "cron-parser": "^4.9.0",
63
+ "latticesql": "^1.10.0",
64
+ "uuid": "^13.0.0",
65
+ "yaml": "^2.7.0"
66
+ },
67
+ "optionalDependencies": {
68
+ "whisper-node": "^1.1.1"
69
+ },
70
+ "peerDependencies": {
71
+ "@anthropic-ai/sdk": "^0.52.0",
72
+ "googleapis": ">=140.0.0 <200.0.0",
73
+ "openai": "^4.104.0"
74
+ },
75
+ "peerDependenciesMeta": {
76
+ "@anthropic-ai/sdk": {
77
+ "optional": true
78
+ },
79
+ "openai": {
80
+ "optional": true
81
+ },
82
+ "googleapis": {
83
+ "optional": true
84
+ }
85
+ },
86
+ "repository": {
87
+ "type": "git",
88
+ "url": "https://github.com/automated-industries/botinabox.git"
89
+ },
90
+ "devDependencies": {
91
+ "@anthropic-ai/sdk": "^0.52.0",
92
+ "@types/better-sqlite3": "^7.6.12",
93
+ "@types/node": "^22.10.0",
94
+ "googleapis": "^171.4.0",
95
+ "openai": "^4.104.0",
96
+ "tsup": "^8.3.5",
97
+ "typescript": "^5.7.2",
98
+ "vitest": "^3.0.0"
99
+ }
100
+ }
@@ -1,72 +0,0 @@
1
- /** Channel adapter types — Story 1.5 / 4.1 */
2
- type ChatType = "direct" | "group" | "channel";
3
- type FormattingMode = "markdown" | "mrkdwn" | "html" | "plain";
4
- interface ChannelCapabilities {
5
- chatTypes: ChatType[];
6
- threads: boolean;
7
- reactions: boolean;
8
- editing: boolean;
9
- media: boolean;
10
- polls: boolean;
11
- maxTextLength: number;
12
- formattingMode: FormattingMode;
13
- }
14
- interface ChannelMeta {
15
- displayName: string;
16
- icon?: string;
17
- homepage?: string;
18
- }
19
- interface InboundMessage {
20
- id: string;
21
- channel: string;
22
- account?: string;
23
- from: string;
24
- userId?: string;
25
- body: string;
26
- threadId?: string;
27
- replyToId?: string;
28
- attachments?: Attachment[];
29
- receivedAt: string;
30
- raw?: unknown;
31
- }
32
- interface Attachment {
33
- type: "image" | "file" | "audio" | "video";
34
- url?: string;
35
- mimeType?: string;
36
- filename?: string;
37
- size?: number;
38
- }
39
- interface OutboundPayload {
40
- text: string;
41
- threadId?: string;
42
- replyToId?: string;
43
- attachments?: Attachment[];
44
- }
45
- interface SendResult {
46
- success: boolean;
47
- messageId?: string;
48
- error?: string;
49
- }
50
- interface HealthStatus {
51
- ok: boolean;
52
- latencyMs?: number;
53
- error?: string;
54
- }
55
- type ChannelConfig = Record<string, unknown>;
56
- interface ChannelAdapter {
57
- /** Unique identifier for this adapter instance */
58
- id: string;
59
- meta: ChannelMeta;
60
- capabilities: ChannelCapabilities;
61
- connect(config: ChannelConfig): Promise<void>;
62
- disconnect(): Promise<void>;
63
- healthCheck(): Promise<HealthStatus>;
64
- send(target: {
65
- peerId: string;
66
- threadId?: string;
67
- }, payload: OutboundPayload): Promise<SendResult>;
68
- /** Called when a message arrives — set by the framework */
69
- onMessage?: (message: InboundMessage) => Promise<void>;
70
- }
71
-
72
- export type { Attachment as A, ChannelAdapter as C, FormattingMode as F, HealthStatus as H, InboundMessage as I, OutboundPayload as O, SendResult as S, ChannelCapabilities as a, ChannelConfig as b, ChannelMeta as c, ChatType as d };
@@ -1,82 +0,0 @@
1
- import { c as ContentBlock } from './provider-BHkqkSdq.js';
2
-
3
- /** Channel adapter types — Story 1.5 / 4.1 */
4
-
5
- type ChatType = "direct" | "group" | "channel";
6
- type FormattingMode = "markdown" | "mrkdwn" | "html" | "plain";
7
- interface ChannelCapabilities {
8
- chatTypes: ChatType[];
9
- threads: boolean;
10
- reactions: boolean;
11
- editing: boolean;
12
- media: boolean;
13
- polls: boolean;
14
- maxTextLength: number;
15
- formattingMode: FormattingMode;
16
- }
17
- interface ChannelMeta {
18
- displayName: string;
19
- icon?: string;
20
- homepage?: string;
21
- }
22
- interface InboundMessage {
23
- id: string;
24
- channel: string;
25
- account?: string;
26
- from: string;
27
- userId?: string;
28
- body: string;
29
- threadId?: string;
30
- replyToId?: string;
31
- attachments?: Attachment[];
32
- /**
33
- * Multimodal content blocks produced by attachment enrichers.
34
- * When set, ChatPipeline builds a multimodal user message that passes
35
- * these blocks through to the LLM provider alongside `body`.
36
- */
37
- attachmentBlocks?: ContentBlock[];
38
- receivedAt: string;
39
- raw?: unknown;
40
- }
41
- type AttachmentMediaType = "image" | "video" | "audio" | "pdf" | "doc" | "excel" | "presentation" | "html" | "link" | "misc";
42
- interface Attachment {
43
- type: AttachmentMediaType;
44
- url?: string;
45
- mimeType?: string;
46
- filename?: string;
47
- size?: number;
48
- }
49
- interface OutboundPayload {
50
- text: string;
51
- threadId?: string;
52
- replyToId?: string;
53
- attachments?: Attachment[];
54
- }
55
- interface SendResult {
56
- success: boolean;
57
- messageId?: string;
58
- error?: string;
59
- }
60
- interface HealthStatus {
61
- ok: boolean;
62
- latencyMs?: number;
63
- error?: string;
64
- }
65
- type ChannelConfig = Record<string, unknown>;
66
- interface ChannelAdapter {
67
- /** Unique identifier for this adapter instance */
68
- id: string;
69
- meta: ChannelMeta;
70
- capabilities: ChannelCapabilities;
71
- connect(config: ChannelConfig): Promise<void>;
72
- disconnect(): Promise<void>;
73
- healthCheck(): Promise<HealthStatus>;
74
- send(target: {
75
- peerId: string;
76
- threadId?: string;
77
- }, payload: OutboundPayload): Promise<SendResult>;
78
- /** Called when a message arrives — set by the framework */
79
- onMessage?: (message: InboundMessage) => Promise<void>;
80
- }
81
-
82
- export type { Attachment as A, ChannelAdapter as C, FormattingMode as F, HealthStatus as H, InboundMessage as I, OutboundPayload as O, SendResult as S, AttachmentMediaType as a, ChannelCapabilities as b, ChannelConfig as c, ChannelMeta as d, ChatType as e };
@@ -1,73 +0,0 @@
1
- /** Channel adapter types — Story 1.5 / 4.1 */
2
- type ChatType = "direct" | "group" | "channel";
3
- type FormattingMode = "markdown" | "mrkdwn" | "html" | "plain";
4
- interface ChannelCapabilities {
5
- chatTypes: ChatType[];
6
- threads: boolean;
7
- reactions: boolean;
8
- editing: boolean;
9
- media: boolean;
10
- polls: boolean;
11
- maxTextLength: number;
12
- formattingMode: FormattingMode;
13
- }
14
- interface ChannelMeta {
15
- displayName: string;
16
- icon?: string;
17
- homepage?: string;
18
- }
19
- interface InboundMessage {
20
- id: string;
21
- channel: string;
22
- account?: string;
23
- from: string;
24
- userId?: string;
25
- body: string;
26
- threadId?: string;
27
- replyToId?: string;
28
- attachments?: Attachment[];
29
- receivedAt: string;
30
- raw?: unknown;
31
- }
32
- type AttachmentMediaType = "image" | "video" | "audio" | "pdf" | "doc" | "excel" | "presentation" | "html" | "link" | "misc";
33
- interface Attachment {
34
- type: AttachmentMediaType;
35
- url?: string;
36
- mimeType?: string;
37
- filename?: string;
38
- size?: number;
39
- }
40
- interface OutboundPayload {
41
- text: string;
42
- threadId?: string;
43
- replyToId?: string;
44
- attachments?: Attachment[];
45
- }
46
- interface SendResult {
47
- success: boolean;
48
- messageId?: string;
49
- error?: string;
50
- }
51
- interface HealthStatus {
52
- ok: boolean;
53
- latencyMs?: number;
54
- error?: string;
55
- }
56
- type ChannelConfig = Record<string, unknown>;
57
- interface ChannelAdapter {
58
- /** Unique identifier for this adapter instance */
59
- id: string;
60
- meta: ChannelMeta;
61
- capabilities: ChannelCapabilities;
62
- connect(config: ChannelConfig): Promise<void>;
63
- disconnect(): Promise<void>;
64
- healthCheck(): Promise<HealthStatus>;
65
- send(target: {
66
- peerId: string;
67
- threadId?: string;
68
- }, payload: OutboundPayload): Promise<SendResult>;
69
- /** Called when a message arrives — set by the framework */
70
- onMessage?: (message: InboundMessage) => Promise<void>;
71
- }
72
-
73
- export type { Attachment as A, ChannelAdapter as C, FormattingMode as F, HealthStatus as H, InboundMessage as I, OutboundPayload as O, SendResult as S, AttachmentMediaType as a, ChannelCapabilities as b, ChannelConfig as c, ChannelMeta as d, ChatType as e };