@supertools-ai/core 0.1.2 → 0.1.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAItD,UAAU,eAAe;IACvB,QAAQ,EAAE;QACR,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACvD,CAAC;CACH;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;CACvC;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;CAClC;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,eAAe,CAO5E;AAmCD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,eAAe,EAC3D,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,MAAM,EAAE,gBAAgB,GACvB,CAAC,CA2FH"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAItD,UAAU,eAAe;IACvB,QAAQ,EAAE;QACR,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACvD,CAAC;CACH;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;CACvC;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;CAClC;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,eAAe,CAO5E;AAuCD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,eAAe,EAC3D,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,MAAM,EAAE,gBAAgB,GACvB,CAAC,CA2FH"}
@@ -1,5 +1,8 @@
1
1
  /**
2
- * Relay Client - uses WebSocket to communicate with Relay Server to handle tool calls.
2
+ * Relay Client
3
+ *
4
+ * WebSocket client for bidirectional communication with the sandbox relay.
5
+ * Uses Protocol Buffers for efficient binary encoding.
3
6
  */
4
7
  import type { NormalizedTool } from '../tool';
5
8
  import type { ExecutionEvent } from '../types';
@@ -7,8 +10,8 @@ export interface RelayClientConfig {
7
10
  url: string;
8
11
  token: string;
9
12
  tools: Map<string, NormalizedTool>;
10
- debug?: boolean;
11
13
  timeout?: number;
14
+ debug?: boolean;
12
15
  reconnect?: boolean;
13
16
  maxRetries?: number;
14
17
  onEvent?: (event: ExecutionEvent) => void;
@@ -20,27 +23,23 @@ export declare class RelayClient {
20
23
  private readonly config;
21
24
  private readonly log;
22
25
  private readonly emit;
23
- private readonly startTime;
24
- private executionState;
25
- /** Reset state before each execution to allow client reuse */
26
- private resetExecutionState;
27
- private ts;
26
+ private state;
28
27
  constructor(config: RelayClientConfig);
29
28
  get connected(): boolean;
30
29
  connect(): Promise<void>;
31
30
  disconnect(): Promise<void>;
32
- private createConnection;
33
- private reconnect;
34
- private onMessage;
35
- private handleToolCall;
36
- private send;
37
- /** Send code to relay for direct execution */
38
31
  execute(code: string, remoteTools: string[], localTools?: Record<string, string>): void;
39
- /** Wait for result or error from execution (event-driven, no polling) */
40
32
  waitForResult(timeoutMs: number): Promise<{
41
33
  success: boolean;
42
34
  error?: string;
43
35
  }>;
36
+ private resetState;
37
+ private createConnection;
38
+ private reconnect;
39
+ private onMessage;
40
+ private handleMessage;
41
+ private handleToolCall;
42
+ private send;
44
43
  }
45
44
  export declare function createRelayClient(config: RelayClientConfig): RelayClient;
46
45
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/relay/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CAC3C;AAWD,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoF;IAC3G,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkC;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IAExC,OAAO,CAAC,cAAc,CAIpB;IAEF,8DAA8D;IAC9D,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,EAAE;gBAIE,MAAM,EAAE,iBAAiB;IAerC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BjC,OAAO,CAAC,gBAAgB;YAwCV,SAAS;IA2BvB,OAAO,CAAC,SAAS;YAgEH,cAAc;IA4B5B,OAAO,CAAC,IAAI;IAaZ,8CAA8C;IAC9C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,IAAI;IAW3F,yEAAyE;IACzE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAsBhF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAExE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/relay/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAO/C,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CAC3C;AAqBD,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoF;IAC3G,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkC;IAEvD,OAAO,CAAC,KAAK,CAIX;gBAEU,MAAM,EAAE,iBAAiB;IAgBrC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBjC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,IAAI;IAM3F,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAqB/E,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,gBAAgB;YAqCV,SAAS;IAoBvB,OAAO,CAAC,SAAS;IAsBjB,OAAO,CAAC,aAAa;YAyBP,cAAc;IAwB5B,OAAO,CAAC,IAAI;CAYb;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAExE"}
@@ -4,8 +4,8 @@
4
4
  */
5
5
  export type { RelayConfig } from './types';
6
6
  export { DEFAULT_RELAY_CONFIG } from './types';
7
- export { parseMessage, parseToolCall, parseToolResult, validateOutgoing, safeParse, ProtocolError, } from './utils/protocol';
8
- export type { ToolCallMessage, ToolResultMessage, ErrorMessage, PingMessage, PongMessage, ResultMessage, Message, } from './utils/protocol';
7
+ export { encode, decode, isBinary } from './proto';
8
+ export type { MessageType, DecodedMessage } from './proto';
9
9
  export { RelayClient, createRelayClient } from './client';
10
10
  export type { RelayClientConfig } from './client';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/relay/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,WAAW,EACX,aAAa,EACb,OAAO,GACR,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/relay/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Protocol Buffer Codec
3
+ *
4
+ * Shared encode/decode for host and sandbox.
5
+ * Generated from relay.proto via `bun run proto`
6
+ */
7
+ export type MessageType = 'tool_call' | 'tool_result' | 'execute' | 'result' | 'error' | 'ping' | 'pong';
8
+ export interface DecodedMessage {
9
+ type: MessageType;
10
+ id?: string;
11
+ tool?: string;
12
+ arguments?: Record<string, unknown>;
13
+ success?: boolean;
14
+ result?: unknown;
15
+ error?: string;
16
+ code?: string;
17
+ remoteTools?: string[];
18
+ localTools?: Record<string, string>;
19
+ data?: unknown;
20
+ }
21
+ export declare function encode(type: MessageType, payload: Record<string, unknown>): Uint8Array;
22
+ export declare function decode(buffer: Uint8Array | ArrayBuffer): DecodedMessage;
23
+ export declare function isBinary(data: unknown): data is ArrayBuffer | Uint8Array;
24
+ //# sourceMappingURL=codec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../src/relay/proto/codec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,aAAa,GACb,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,MAAM,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAUD,wBAAgB,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CA8DtF;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,cAAc,CAyDvE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,WAAW,GAAG,UAAU,CAExE"}
@@ -0,0 +1,3 @@
1
+ export { encode, decode, isBinary } from './codec';
2
+ export type { MessageType, DecodedMessage } from './codec';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/relay/proto/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC"}
@@ -20,12 +20,12 @@
20
20
  * }),
21
21
  * ];
22
22
  *
23
- * const sandbox = await Sandbox.create('supertools-bun');
23
+ * const sandbox = await Sandbox.create('supertools-bun-014');
24
24
  * const client = supertools(new Anthropic(), { tools, sandbox });
25
25
  *
26
26
  * // Use exactly like the normal SDK
27
27
  * const response = await client.messages.create({
28
- * model: 'claude-haiku-4-5-20251001',
28
+ * model: 'claude-sonnet-4-5',
29
29
  * max_tokens: 1024,
30
30
  * messages: [{ role: 'user', content: 'Query all users and summarize' }],
31
31
  * });
@@ -70,7 +70,7 @@ export declare function detectProvider(client: unknown): SupportedProvider | nul
70
70
  *
71
71
  * @example
72
72
  * ```ts
73
- * const sandbox = await Sandbox.create('supertools-bun');
73
+ * const sandbox = await Sandbox.create('supertools-bun-014');
74
74
  * const client = supertools(new Anthropic(), {
75
75
  * tools: [queryDb, sendEmail],
76
76
  * sandbox,
@@ -79,7 +79,7 @@ export declare function detectProvider(client: unknown): SupportedProvider | nul
79
79
  *
80
80
  * // Works exactly like the normal Anthropic SDK
81
81
  * const response = await client.messages.create({
82
- * model: 'claude-haiku-4-5-20251001',
82
+ * model: 'claude-sonnet-4-5',
83
83
  * max_tokens: 1024,
84
84
  * messages: [{ role: 'user', content: 'Find top users and email report' }],
85
85
  * });
package/dist/types.d.ts CHANGED
@@ -12,11 +12,19 @@ export interface GeneratedCode {
12
12
  readonly code: string;
13
13
  readonly explanation?: string;
14
14
  readonly rawResponse?: string;
15
+ readonly usage?: {
16
+ readonly inputTokens: number;
17
+ readonly outputTokens: number;
18
+ };
15
19
  }
16
20
  export interface ProgrammaticResult {
17
21
  readonly code: string;
18
22
  readonly explanation?: string;
19
23
  readonly result: ExecutionResult;
24
+ readonly usage?: {
25
+ readonly inputTokens: number;
26
+ readonly outputTokens: number;
27
+ };
20
28
  }
21
29
  export interface ToolCallRequest {
22
30
  readonly tool: string;
@@ -59,12 +67,6 @@ export type ExecutionEvent = {
59
67
  } | {
60
68
  readonly type: 'result';
61
69
  readonly data: unknown;
62
- } | {
63
- readonly type: 'stdout';
64
- readonly data: string;
65
- } | {
66
- readonly type: 'stderr';
67
- readonly data: string;
68
70
  } | {
69
71
  readonly type: 'complete';
70
72
  readonly success: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG,SAAS,OAAO,EAAE,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACjF;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACzF;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3H;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACvI;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/G,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACpD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supertools-ai/core",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Programmatic tool calling for LLMs - let AI write code that orchestrates your tools",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,7 +19,10 @@
19
19
  ],
20
20
  "scripts": {
21
21
  "clean": "rm -rf dist",
22
- "build": "bun run clean && bun build src/index.ts --outdir dist --target node --format esm && tsc --emitDeclarationOnly",
22
+ "proto:generate": "pbjs -t static-module -w es6 -o src/relay/proto/generated.js src/relay/proto/relay.proto && pbts -o src/relay/proto/generated.d.ts src/relay/proto/generated.js",
23
+ "proto:sync": "mkdir -p ../../e2b-templates/files/proto && cp src/relay/proto/generated.js src/relay/proto/generated.d.ts src/relay/proto/codec.ts ../../e2b-templates/files/proto/",
24
+ "proto": "bun run proto:generate && bun run proto:sync",
25
+ "build": "bun run clean && bun run proto:generate && bun build src/index.ts --outdir dist --target node --format esm && tsc --emitDeclarationOnly",
23
26
  "dev": "bun --watch src/index.ts",
24
27
  "test": "bun test",
25
28
  "typecheck": "tsc --noEmit",
@@ -27,6 +30,7 @@
27
30
  },
28
31
  "dependencies": {
29
32
  "e2b": "^2.9.0",
33
+ "protobufjs": "^7.4.0",
30
34
  "zod": "^4.2.1"
31
35
  },
32
36
  "peerDependencies": {
@@ -41,6 +45,7 @@
41
45
  "@anthropic-ai/sdk": "^0.30.0",
42
46
  "@types/bun": "latest",
43
47
  "@types/node": "^20.10.0",
48
+ "protobufjs-cli": "^1.1.3",
44
49
  "typescript": "^5.3.0"
45
50
  },
46
51
  "keywords": [
@@ -1,92 +0,0 @@
1
- import { z } from 'zod';
2
- import { OPTError } from '../../utils/errors';
3
- export type ProtocolErrorCode = 'INVALID_JSON' | 'INVALID_MESSAGE' | 'UNEXPECTED_TYPE';
4
- export declare class ProtocolError extends OPTError {
5
- readonly protocolCode: ProtocolErrorCode;
6
- readonly zodError?: z.ZodError;
7
- constructor(message: string, code: ProtocolErrorCode, zodError?: z.ZodError);
8
- toJSON(): {
9
- protocolCode: ProtocolErrorCode;
10
- issues: z.core.$ZodIssue[] | undefined;
11
- name: string;
12
- code: import("../../utils/errors").ErrorCode;
13
- message: string;
14
- cause: string | undefined;
15
- };
16
- }
17
- export declare const toolCallSchema: z.ZodObject<{
18
- type: z.ZodLiteral<"tool_call">;
19
- id: z.ZodString;
20
- tool: z.ZodString;
21
- arguments: z.ZodRecord<z.ZodString, z.ZodUnknown>;
22
- }, z.core.$strict>;
23
- export declare const toolResultSchema: z.ZodObject<{
24
- type: z.ZodLiteral<"tool_result">;
25
- id: z.ZodString;
26
- success: z.ZodBoolean;
27
- result: z.ZodOptional<z.ZodUnknown>;
28
- error: z.ZodOptional<z.ZodString>;
29
- }, z.core.$strict>;
30
- export declare const errorSchema: z.ZodObject<{
31
- type: z.ZodLiteral<"error">;
32
- id: z.ZodOptional<z.ZodString>;
33
- error: z.ZodString;
34
- code: z.ZodOptional<z.ZodString>;
35
- }, z.core.$strict>;
36
- export declare const pingSchema: z.ZodObject<{
37
- type: z.ZodLiteral<"ping">;
38
- id: z.ZodString;
39
- }, z.core.$strict>;
40
- export declare const pongSchema: z.ZodObject<{
41
- type: z.ZodLiteral<"pong">;
42
- id: z.ZodString;
43
- }, z.core.$strict>;
44
- export declare const resultSchema: z.ZodObject<{
45
- type: z.ZodLiteral<"result">;
46
- data: z.ZodUnknown;
47
- }, z.core.$strict>;
48
- export declare const messageSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
49
- type: z.ZodLiteral<"tool_call">;
50
- id: z.ZodString;
51
- tool: z.ZodString;
52
- arguments: z.ZodRecord<z.ZodString, z.ZodUnknown>;
53
- }, z.core.$strict>, z.ZodObject<{
54
- type: z.ZodLiteral<"tool_result">;
55
- id: z.ZodString;
56
- success: z.ZodBoolean;
57
- result: z.ZodOptional<z.ZodUnknown>;
58
- error: z.ZodOptional<z.ZodString>;
59
- }, z.core.$strict>, z.ZodObject<{
60
- type: z.ZodLiteral<"error">;
61
- id: z.ZodOptional<z.ZodString>;
62
- error: z.ZodString;
63
- code: z.ZodOptional<z.ZodString>;
64
- }, z.core.$strict>, z.ZodObject<{
65
- type: z.ZodLiteral<"ping">;
66
- id: z.ZodString;
67
- }, z.core.$strict>, z.ZodObject<{
68
- type: z.ZodLiteral<"pong">;
69
- id: z.ZodString;
70
- }, z.core.$strict>, z.ZodObject<{
71
- type: z.ZodLiteral<"result">;
72
- data: z.ZodUnknown;
73
- }, z.core.$strict>], "type">;
74
- export type ToolCallMessage = z.infer<typeof toolCallSchema>;
75
- export type ToolResultMessage = z.infer<typeof toolResultSchema>;
76
- export type ErrorMessage = z.infer<typeof errorSchema>;
77
- export type PingMessage = z.infer<typeof pingSchema>;
78
- export type PongMessage = z.infer<typeof pongSchema>;
79
- export type ResultMessage = z.infer<typeof resultSchema>;
80
- export type Message = z.infer<typeof messageSchema>;
81
- export declare function parseMessage(input: unknown): Message;
82
- export declare function parseToolCall(input: unknown): ToolCallMessage;
83
- export declare function parseToolResult(input: unknown): ToolResultMessage;
84
- export declare function validateOutgoing(message: unknown): void;
85
- export declare function safeParse(input: unknown): {
86
- ok: true;
87
- data: Message;
88
- } | {
89
- ok: false;
90
- error: ProtocolError;
91
- };
92
- //# sourceMappingURL=protocol.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/relay/utils/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAEvF,qBAAa,aAAc,SAAQ,QAAQ;IACzC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;gBAEnB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ;IAOlE,MAAM;;;;;;;;CAOhB;AAKD,eAAO,MAAM,cAAc;;;;;kBAKhB,CAAC;AAEZ,eAAO,MAAM,gBAAgB;;;;;;kBAMlB,CAAC;AAEZ,eAAO,MAAM,WAAW;;;;;kBAKb,CAAC;AAEZ,eAAO,MAAM,UAAU;;;kBAAgE,CAAC;AACxF,eAAO,MAAM,UAAU;;;kBAAgE,CAAC;AAExF,eAAO,MAAM,YAAY;;;kBAGd,CAAC;AAEZ,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;4BAOxB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACvD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AACrD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACzD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAYpD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAM7D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAMjE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEvD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAS3G"}