@balchemyai/agent-sdk 0.1.0 → 0.1.2
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/CHANGELOG.md +48 -0
- package/README.md +12 -12
- package/dist/agent-loop/agent-loop.d.ts +11 -0
- package/dist/agent-loop/agent-loop.d.ts.map +1 -1
- package/dist/agent-loop/agent-loop.js +57 -5
- package/dist/agent-loop/agent-loop.js.map +1 -1
- package/dist/agent-loop/llm-cost-tracker.d.ts +2 -0
- package/dist/agent-loop/llm-cost-tracker.d.ts.map +1 -1
- package/dist/agent-loop/llm-cost-tracker.js +7 -0
- package/dist/agent-loop/llm-cost-tracker.js.map +1 -1
- package/dist/agent-loop/rule-checker.d.ts +45 -0
- package/dist/agent-loop/rule-checker.d.ts.map +1 -0
- package/dist/agent-loop/rule-checker.js +72 -0
- package/dist/agent-loop/rule-checker.js.map +1 -0
- package/dist/agent-loop/types.d.ts +5 -0
- package/dist/agent-loop/types.d.ts.map +1 -1
- package/dist/agent-loop/types.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/docs/BEHAVIOR_RULES.md +184 -0
- package/docs/DEPLOYMENT.md +195 -0
- package/docs/QUICKSTART.md +123 -0
- package/docs/error-retry-strategy.md +27 -0
- package/docs/examples/custom-strategy.yaml +73 -0
- package/docs/examples/dca-accumulator.yaml +41 -0
- package/docs/examples/memecoin-sniper.yaml +47 -0
- package/docs/examples/swing-trader.yaml +50 -0
- package/docs/partner-integration-checklist.md +32 -0
- package/docs/python-parity-backlog.md +20 -0
- package/docs/release-policy.md +24 -0
- package/package.json +3 -4
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@balchemy/agent-sdk` are documented here.
|
|
4
|
+
|
|
5
|
+
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
6
|
+
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## [0.1.0] — 2026-03-15
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- `BalchemyAgentSdk` — main SDK class with SIWE and Identity onboarding flows
|
|
15
|
+
- `requestSiweNonce()` — fetch SIWS nonce + message
|
|
16
|
+
- `onboardWithSiwe()` — wallet-signed onboarding
|
|
17
|
+
- `onboardWithIdentity()` — walletless provider-token onboarding
|
|
18
|
+
- `revokeIdentityToken()` — revoke a provider token by JTI
|
|
19
|
+
- `getIdentityTokenRevokeStatus()` — check revocation status
|
|
20
|
+
- `connectMcp()` — instantiate a typed MCP client
|
|
21
|
+
- `BalchemyMcpClient` — JSON-RPC MCP client with automatic retry and SSE envelope parsing
|
|
22
|
+
- Typed convenience methods: `askBot`, `tradeCommand`, `agentExecute`, `agentResearch`, `agentPortfolio`, `agentStatus`, `agentConfig`
|
|
23
|
+
- EVM helpers: `evmQuote`, `evmSwap`
|
|
24
|
+
- `requestSeed()` — disabled stub (throws `AgentSdkError` deterministically)
|
|
25
|
+
- `listTools()`, `callTool()`, `ping()`
|
|
26
|
+
- `connectMcp()` — factory shortcut for `BalchemyMcpClient`
|
|
27
|
+
- `getToolText()`, `parseToolJson<T>()`, `isToolError()` — tool response helpers
|
|
28
|
+
- `SseEventStream` — async-iterable + callback-based SSE consumer with auto-reconnect
|
|
29
|
+
- `TokenStore` — token lifecycle manager with pluggable refresh callback
|
|
30
|
+
- `AgentSdkError` — typed error class with `code`, `status`, `message`, `details`
|
|
31
|
+
- Full TypeScript type exports:
|
|
32
|
+
- `AgentSdkConfig`, `AgentOnboardingMode`, `AgentScope`
|
|
33
|
+
- `IdentityAccess`, `OnboardingResponse`, `OnboardWithSiweInput`, `OnboardWithIdentityInput`
|
|
34
|
+
- `SiweNonceResponse`, `RequestSiweNonceInput`
|
|
35
|
+
- `RevokeIdentityTokenInput`, `IdentityTokenRevokeStatusInput`, `IdentityTokenRevokeResponse`
|
|
36
|
+
- `McpTool`, `McpListToolsResponse`, `McpCallToolResponse`
|
|
37
|
+
- `StoredToken`, `TokenRefreshFn`, `TokenStoreOptions`
|
|
38
|
+
- `SseEvent`, `SseStreamOptions`
|
|
39
|
+
- `AgentSdkErrorCode`
|
|
40
|
+
- `AskBotArgs`, `TradeCommandArgs`, `AgentExecuteArgs`, `AgentResearchArgs`, `AgentConfigArgs`, `EvmQuoteArgs`, `EvmSwapArgs`
|
|
41
|
+
- `exports` field in `package.json` for ESM/CJS dual resolution and TypeScript `moduleResolution: bundler` compatibility
|
|
42
|
+
- Retry utility with configurable exponential backoff (`withRetry`, `RetryOptions`)
|
|
43
|
+
|
|
44
|
+
### Notes
|
|
45
|
+
|
|
46
|
+
- Default MCP endpoint exposes 7 tools; full 100-tool catalog requires `MCP_EXPOSE_GRANULAR_TOOLS=true` on the platform
|
|
47
|
+
- `agent_seed_request` is permanently disabled; `requestSeed()` always throws
|
|
48
|
+
- Minimum Node.js version: 18.0.0
|
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# @
|
|
1
|
+
# @balchemy/agent-sdk
|
|
2
2
|
|
|
3
3
|
TypeScript SDK for Balchemy external AI agents. Handles onboarding (SIWE wallet-based or walletless Identity flow), MCP tool access, token lifecycle management, and real-time SSE event streaming.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
7
|
```sh
|
|
8
|
-
npm install @
|
|
8
|
+
npm install @balchemy/agent-sdk
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## Auth Paths
|
|
@@ -15,7 +15,7 @@ npm install @balchemyai/agent-sdk
|
|
|
15
15
|
Use this when your agent controls a Solana or EVM wallet and can sign messages.
|
|
16
16
|
|
|
17
17
|
```ts
|
|
18
|
-
import { BalchemyAgentSdk } from "@
|
|
18
|
+
import { BalchemyAgentSdk } from "@balchemy/agent-sdk";
|
|
19
19
|
|
|
20
20
|
const sdk = new BalchemyAgentSdk({
|
|
21
21
|
apiBaseUrl: "https://api.balchemy.ai/api",
|
|
@@ -52,7 +52,7 @@ const mcp = sdk.connectMcp({
|
|
|
52
52
|
Use this when your agent has an HMAC-signed identity token (for balchemy native) or ES256 JWT (for external providers) from a provider registered with Balchemy.
|
|
53
53
|
|
|
54
54
|
```ts
|
|
55
|
-
import { BalchemyAgentSdk } from "@
|
|
55
|
+
import { BalchemyAgentSdk } from "@balchemy/agent-sdk";
|
|
56
56
|
|
|
57
57
|
const sdk = new BalchemyAgentSdk({
|
|
58
58
|
apiBaseUrl: "https://api.balchemy.ai/api",
|
|
@@ -124,8 +124,8 @@ Pass `scope` during onboarding to receive an MCP key with the appropriate permis
|
|
|
124
124
|
All SDK methods throw `AgentSdkError` on failure.
|
|
125
125
|
|
|
126
126
|
```ts
|
|
127
|
-
import { AgentSdkError } from "@
|
|
128
|
-
import type { AgentSdkErrorCode } from "@
|
|
127
|
+
import { AgentSdkError } from "@balchemy/agent-sdk";
|
|
128
|
+
import type { AgentSdkErrorCode } from "@balchemy/agent-sdk";
|
|
129
129
|
|
|
130
130
|
try {
|
|
131
131
|
const result = await mcp.agentExecute({ instruction: "..." });
|
|
@@ -142,7 +142,7 @@ try {
|
|
|
142
142
|
## Tool Response Helpers
|
|
143
143
|
|
|
144
144
|
```ts
|
|
145
|
-
import { getToolText, parseToolJson, isToolError } from "@
|
|
145
|
+
import { getToolText, parseToolJson, isToolError } from "@balchemy/agent-sdk";
|
|
146
146
|
|
|
147
147
|
const response = await mcp.agentPortfolio();
|
|
148
148
|
|
|
@@ -157,7 +157,7 @@ if (isToolError(response)) {
|
|
|
157
157
|
## Token Management
|
|
158
158
|
|
|
159
159
|
```ts
|
|
160
|
-
import { TokenStore } from "@
|
|
160
|
+
import { TokenStore } from "@balchemy/agent-sdk";
|
|
161
161
|
|
|
162
162
|
const store = new TokenStore({
|
|
163
163
|
// Called when the stored token nears expiry — return a fresh OnboardingResponse
|
|
@@ -175,7 +175,7 @@ const token = await store.get(); // auto-refreshes if expiry < threshold
|
|
|
175
175
|
The `OnboardingResponse` includes an `identityAccess` field when the platform issues a short-lived access token alongside the MCP key.
|
|
176
176
|
|
|
177
177
|
```ts
|
|
178
|
-
import type { IdentityAccess } from "@
|
|
178
|
+
import type { IdentityAccess } from "@balchemy/agent-sdk";
|
|
179
179
|
|
|
180
180
|
const access: IdentityAccess | undefined = response.identityAccess;
|
|
181
181
|
if (access) {
|
|
@@ -187,8 +187,8 @@ if (access) {
|
|
|
187
187
|
## SSE Event Streaming
|
|
188
188
|
|
|
189
189
|
```ts
|
|
190
|
-
import { SseEventStream } from "@
|
|
191
|
-
import type { SseEvent } from "@
|
|
190
|
+
import { SseEventStream } from "@balchemy/agent-sdk";
|
|
191
|
+
import type { SseEvent } from "@balchemy/agent-sdk";
|
|
192
192
|
|
|
193
193
|
const stream = new SseEventStream(
|
|
194
194
|
"https://api.balchemy.ai/api/events",
|
|
@@ -251,7 +251,7 @@ To enable agent onboarding, the following environment variables must be configur
|
|
|
251
251
|
|
|
252
252
|
1. Install the SDK:
|
|
253
253
|
```sh
|
|
254
|
-
npm install @
|
|
254
|
+
npm install @balchemy/agent-sdk
|
|
255
255
|
```
|
|
256
256
|
|
|
257
257
|
2. Create an MCP API key for your bot via the Hub UI: `Hub > Your Bot > API Keys > Create Key`.
|
|
@@ -21,6 +21,12 @@ export declare class AgentLoop {
|
|
|
21
21
|
private seenTraceIds;
|
|
22
22
|
private portfolioCache;
|
|
23
23
|
private rulesCache;
|
|
24
|
+
/** Client-side behavior rule limits for pre-check enforcement. */
|
|
25
|
+
private readonly ruleLimits;
|
|
26
|
+
/** Trades executed in the current clock-hour (reset each hour). */
|
|
27
|
+
private tradesThisHour;
|
|
28
|
+
/** Timestamp (ms) of the hour boundary when tradesThisHour was last reset. */
|
|
29
|
+
private currentHourStart;
|
|
24
30
|
/** publicId extracted from the MCP endpoint path (last path segment). */
|
|
25
31
|
private readonly publicId;
|
|
26
32
|
constructor(config: AgentLoopConfig);
|
|
@@ -49,6 +55,11 @@ export declare class AgentLoop {
|
|
|
49
55
|
* so decisions still proceed without rule context.
|
|
50
56
|
*/
|
|
51
57
|
private fetchBehaviorRules;
|
|
58
|
+
/**
|
|
59
|
+
* Reset the hourly trade counter when the clock rolls to a new hour.
|
|
60
|
+
* Uses truncated-hour comparison so the counter resets on exact hour boundaries.
|
|
61
|
+
*/
|
|
62
|
+
private resetHourlyCounterIfNeeded;
|
|
52
63
|
private createLlmAdapter;
|
|
53
64
|
}
|
|
54
65
|
//# sourceMappingURL=agent-loop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../src/agent-loop/agent-loop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../src/agent-loop/agent-loop.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EAMZ,MAAM,SAAS,CAAC;AAejB,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,cAAc,CAA6B;IAEnD,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,YAAY,CAAqB;IAEzC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,UAAU,CAA2B;IAE7C,kEAAkE;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAEhD,mEAAmE;IACnE,OAAO,CAAC,cAAc,CAAK;IAC3B,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB,CAAK;IAE7B,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,MAAM,EAAE,eAAe;IA0C7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,SAAS,IAAI,WAAW;IAkBxB;;;;;OAKG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBnD,OAAO,CAAC,WAAW;YAsCL,YAAY;IAqG1B;;;;OAIG;YACW,cAAc;IAmB5B;;;;;OAKG;YACW,kBAAkB;IAmBhC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,gBAAgB;CAuBzB"}
|
|
@@ -10,6 +10,7 @@ const openai_1 = require("./llm-adapters/openai");
|
|
|
10
10
|
const anthropic_1 = require("./llm-adapters/anthropic");
|
|
11
11
|
const model_router_1 = require("./model-router");
|
|
12
12
|
const telemetry_reporter_1 = require("./telemetry-reporter");
|
|
13
|
+
const rule_checker_1 = require("./rule-checker");
|
|
13
14
|
const PORTFOLIO_TTL_MS = 30_000; // 30 seconds
|
|
14
15
|
const RULES_TTL_MS = 5 * 60_000; // 5 minutes
|
|
15
16
|
class AgentLoop {
|
|
@@ -34,6 +35,12 @@ class AgentLoop {
|
|
|
34
35
|
seenTraceIds = new Set();
|
|
35
36
|
portfolioCache = null;
|
|
36
37
|
rulesCache = null;
|
|
38
|
+
/** Client-side behavior rule limits for pre-check enforcement. */
|
|
39
|
+
ruleLimits;
|
|
40
|
+
/** Trades executed in the current clock-hour (reset each hour). */
|
|
41
|
+
tradesThisHour = 0;
|
|
42
|
+
/** Timestamp (ms) of the hour boundary when tradesThisHour was last reset. */
|
|
43
|
+
currentHourStart = 0;
|
|
37
44
|
/** publicId extracted from the MCP endpoint path (last path segment). */
|
|
38
45
|
publicId;
|
|
39
46
|
constructor(config) {
|
|
@@ -64,6 +71,8 @@ class AgentLoop {
|
|
|
64
71
|
else {
|
|
65
72
|
this.modelRouter = null;
|
|
66
73
|
}
|
|
74
|
+
// Extract client-side rule limits from behaviorRules config
|
|
75
|
+
this.ruleLimits = extractRuleLimits(config.behaviorRules);
|
|
67
76
|
// Derive the telemetry endpoint from the MCP endpoint:
|
|
68
77
|
// https://api.balchemy.ai/mcp/abc123 → https://api.balchemy.ai/api/agent-telemetry/abc123
|
|
69
78
|
const telemetryEndpoint = config.mcpEndpoint.replace(/\/mcp\//, '/api/agent-telemetry/');
|
|
@@ -118,7 +127,7 @@ class AgentLoop {
|
|
|
118
127
|
eventsReceived: this.eventsReceived,
|
|
119
128
|
decisionsExecuted: this.decisionsExecuted,
|
|
120
129
|
tradesExecuted: this.tradesExecuted,
|
|
121
|
-
llmCallsToday:
|
|
130
|
+
llmCallsToday: this.costTracker.getCallCount(),
|
|
122
131
|
llmCostToday: this.costTracker.getTodaySpend(),
|
|
123
132
|
maxDailyLlmCost: this.config.maxDailyLlmCost ?? 5,
|
|
124
133
|
consecutiveLlmFailures: this.decisionHandler.getConsecutiveFailures(),
|
|
@@ -239,14 +248,30 @@ class AgentLoop {
|
|
|
239
248
|
confidence: decision.confidence,
|
|
240
249
|
reasoning: decision.reasoning,
|
|
241
250
|
});
|
|
242
|
-
// Execute via MCP
|
|
251
|
+
// Execute via MCP (with client-side rule pre-check)
|
|
243
252
|
if (decision.action === 'buy' || decision.action === 'sell') {
|
|
253
|
+
// --- Client-side BehaviorRule pre-check ---
|
|
254
|
+
const tradeAmount = parseFloat(decision.amount ?? '0') || 0;
|
|
255
|
+
this.resetHourlyCounterIfNeeded();
|
|
256
|
+
const ruleCheck = (0, rule_checker_1.checkAllRules)(tradeAmount, this.tradesThisHour, this.ruleLimits);
|
|
257
|
+
if (!ruleCheck.allowed) {
|
|
258
|
+
// Block the trade: convert to "hold", notify via onError, skip MCP call
|
|
259
|
+
this.config.onError?.(new Error(`[rule-checker] Trade blocked: ${ruleCheck.reason}`));
|
|
260
|
+
decision.ruleCorrection = {
|
|
261
|
+
original: decision.action,
|
|
262
|
+
corrected: 'hold',
|
|
263
|
+
reason: ruleCheck.reason ?? 'behavior rule violation',
|
|
264
|
+
};
|
|
265
|
+
decision.action = 'hold';
|
|
266
|
+
this.config.onDecision?.(decision);
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
const tradeMessage = `${decision.action} ${decision.amount ?? ''} SOL ${decision.token ?? ''}`.trim();
|
|
244
270
|
const tradeResponse = await this.mcp.callTool('trade_command', {
|
|
245
|
-
|
|
246
|
-
token: decision.token,
|
|
247
|
-
amount: decision.amount,
|
|
271
|
+
message: tradeMessage,
|
|
248
272
|
});
|
|
249
273
|
this.tradesExecuted++;
|
|
274
|
+
this.tradesThisHour++;
|
|
250
275
|
this.lastTradeAt = Date.now();
|
|
251
276
|
// Fire trade result callback
|
|
252
277
|
const resultText = tradeResponse.content?.find((c) => c.type === 'text')?.text ?? '';
|
|
@@ -309,6 +334,17 @@ class AgentLoop {
|
|
|
309
334
|
return '';
|
|
310
335
|
}
|
|
311
336
|
}
|
|
337
|
+
/**
|
|
338
|
+
* Reset the hourly trade counter when the clock rolls to a new hour.
|
|
339
|
+
* Uses truncated-hour comparison so the counter resets on exact hour boundaries.
|
|
340
|
+
*/
|
|
341
|
+
resetHourlyCounterIfNeeded() {
|
|
342
|
+
const nowHour = Math.floor(Date.now() / 3_600_000) * 3_600_000;
|
|
343
|
+
if (nowHour !== this.currentHourStart) {
|
|
344
|
+
this.tradesThisHour = 0;
|
|
345
|
+
this.currentHourStart = nowHour;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
312
348
|
createLlmAdapter() {
|
|
313
349
|
switch (this.config.llmProvider) {
|
|
314
350
|
case 'anthropic':
|
|
@@ -325,4 +361,20 @@ class AgentLoop {
|
|
|
325
361
|
}
|
|
326
362
|
}
|
|
327
363
|
exports.AgentLoop = AgentLoop;
|
|
364
|
+
/**
|
|
365
|
+
* Extract the two hard-limit fields from the untyped behaviorRules config bag.
|
|
366
|
+
* Returns an empty object (no limits enforced) if the config is absent or malformed.
|
|
367
|
+
*/
|
|
368
|
+
function extractRuleLimits(rules) {
|
|
369
|
+
if (!rules)
|
|
370
|
+
return {};
|
|
371
|
+
const limits = {};
|
|
372
|
+
if (typeof rules['maxTradeSol'] === 'number' && rules['maxTradeSol'] > 0) {
|
|
373
|
+
limits.maxTradeSol = rules['maxTradeSol'];
|
|
374
|
+
}
|
|
375
|
+
if (typeof rules['maxTradesPerHour'] === 'number' && rules['maxTradesPerHour'] > 0) {
|
|
376
|
+
limits.maxTradesPerHour = rules['maxTradesPerHour'];
|
|
377
|
+
}
|
|
378
|
+
return limits;
|
|
379
|
+
}
|
|
328
380
|
//# sourceMappingURL=agent-loop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../../src/agent-loop/agent-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../../src/agent-loop/agent-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,12 @@ export interface LlmCostTrackerConfig {
|
|
|
4
4
|
export declare class LlmCostTracker {
|
|
5
5
|
private readonly maxDailyUsd;
|
|
6
6
|
private todaySpendUsd;
|
|
7
|
+
private todayCallCount;
|
|
7
8
|
private currentDay;
|
|
8
9
|
constructor(config: LlmCostTrackerConfig);
|
|
9
10
|
canCallLlm(): boolean;
|
|
10
11
|
trackCall(inputTokens: number, outputTokens: number, model: string): void;
|
|
12
|
+
getCallCount(): number;
|
|
11
13
|
getTodaySpend(): number;
|
|
12
14
|
getRemainingBudget(): number;
|
|
13
15
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-cost-tracker.d.ts","sourceRoot":"","sources":["../../src/agent-loop/llm-cost-tracker.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,oBAAoB;IAKxC,UAAU,IAAI,OAAO;IAKrB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"llm-cost-tracker.d.ts","sourceRoot":"","sources":["../../src/agent-loop/llm-cost-tracker.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,oBAAoB;IAKxC,UAAU,IAAI,OAAO;IAKrB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAUzE,YAAY,IAAI,MAAM;IAKtB,aAAa,IAAI,MAAM;IAKvB,kBAAkB,IAAI,MAAM;IAK5B;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAQjF,aAAa,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI;IAS9B,OAAO,CAAC,SAAS;CAGlB"}
|
|
@@ -15,6 +15,7 @@ const FALLBACK_PRICING = { input: 1.0, output: 5.0 };
|
|
|
15
15
|
class LlmCostTracker {
|
|
16
16
|
maxDailyUsd;
|
|
17
17
|
todaySpendUsd = 0;
|
|
18
|
+
todayCallCount = 0;
|
|
18
19
|
currentDay;
|
|
19
20
|
constructor(config) {
|
|
20
21
|
this.maxDailyUsd = config.maxDailyUsd;
|
|
@@ -30,6 +31,11 @@ class LlmCostTracker {
|
|
|
30
31
|
const cost = (inputTokens / 1_000_000) * pricing.input +
|
|
31
32
|
(outputTokens / 1_000_000) * pricing.output;
|
|
32
33
|
this.todaySpendUsd += cost;
|
|
34
|
+
this.todayCallCount += 1;
|
|
35
|
+
}
|
|
36
|
+
getCallCount() {
|
|
37
|
+
this.resetIfNewDay(new Date());
|
|
38
|
+
return this.todayCallCount;
|
|
33
39
|
}
|
|
34
40
|
getTodaySpend() {
|
|
35
41
|
this.resetIfNewDay(new Date());
|
|
@@ -52,6 +58,7 @@ class LlmCostTracker {
|
|
|
52
58
|
const dayKey = this.getDayKey(now);
|
|
53
59
|
if (dayKey !== this.currentDay) {
|
|
54
60
|
this.todaySpendUsd = 0;
|
|
61
|
+
this.todayCallCount = 0;
|
|
55
62
|
this.currentDay = dayKey;
|
|
56
63
|
}
|
|
57
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-cost-tracker.js","sourceRoot":"","sources":["../../src/agent-loop/llm-cost-tracker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"llm-cost-tracker.js","sourceRoot":"","sources":["../../src/agent-loop/llm-cost-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side BehaviorRule pre-check.
|
|
3
|
+
*
|
|
4
|
+
* Enforces hard limits BEFORE a trade_command reaches the backend.
|
|
5
|
+
* The backend has its own post-check (BehaviorRuleEngine); this is an
|
|
6
|
+
* early-exit guard that saves an MCP round-trip and provides immediate
|
|
7
|
+
* developer feedback via the onError callback.
|
|
8
|
+
*
|
|
9
|
+
* Only the two most critical limits are checked here:
|
|
10
|
+
* - maxTradeSol — per-trade SOL amount ceiling
|
|
11
|
+
* - maxTradesPerHour — hourly trade rate cap
|
|
12
|
+
*
|
|
13
|
+
* maxTradeUsd is intentionally omitted: the SDK has no SOL price oracle,
|
|
14
|
+
* and the backend already enforces USD limits server-side.
|
|
15
|
+
*/
|
|
16
|
+
export interface BehaviorRuleLimits {
|
|
17
|
+
maxTradeSol?: number;
|
|
18
|
+
maxTradesPerHour?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface RuleCheckResult {
|
|
21
|
+
allowed: boolean;
|
|
22
|
+
reason?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Validate that a single trade amount does not exceed the per-trade SOL ceiling.
|
|
26
|
+
*
|
|
27
|
+
* @param amount - Trade amount in SOL (parsed from LLM decision).
|
|
28
|
+
* @param rules - Active behavior rule limits.
|
|
29
|
+
* @returns `{ allowed: true }` if within limit, or `{ allowed: false, reason }` if blocked.
|
|
30
|
+
*/
|
|
31
|
+
export declare function checkTradeAmount(amount: number, rules: BehaviorRuleLimits): RuleCheckResult;
|
|
32
|
+
/**
|
|
33
|
+
* Validate that the hourly trade count has not been exceeded.
|
|
34
|
+
*
|
|
35
|
+
* @param tradesThisHour - Number of trades already executed in the current hour.
|
|
36
|
+
* @param rules - Active behavior rule limits.
|
|
37
|
+
* @returns `{ allowed: true }` if within limit, or `{ allowed: false, reason }` if blocked.
|
|
38
|
+
*/
|
|
39
|
+
export declare function checkTradeRate(tradesThisHour: number, rules: BehaviorRuleLimits): RuleCheckResult;
|
|
40
|
+
/**
|
|
41
|
+
* Run all client-side rule checks against a pending trade decision.
|
|
42
|
+
* Returns the first failing check, or `{ allowed: true }` if all pass.
|
|
43
|
+
*/
|
|
44
|
+
export declare function checkAllRules(amount: number, tradesThisHour: number, rules: BehaviorRuleLimits): RuleCheckResult;
|
|
45
|
+
//# sourceMappingURL=rule-checker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-checker.d.ts","sourceRoot":"","sources":["../../src/agent-loop/rule-checker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,kBAAkB,GACxB,eAAe,CAWjB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,kBAAkB,GACxB,eAAe,CAWjB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,kBAAkB,GACxB,eAAe,CAQjB"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Client-side BehaviorRule pre-check.
|
|
4
|
+
*
|
|
5
|
+
* Enforces hard limits BEFORE a trade_command reaches the backend.
|
|
6
|
+
* The backend has its own post-check (BehaviorRuleEngine); this is an
|
|
7
|
+
* early-exit guard that saves an MCP round-trip and provides immediate
|
|
8
|
+
* developer feedback via the onError callback.
|
|
9
|
+
*
|
|
10
|
+
* Only the two most critical limits are checked here:
|
|
11
|
+
* - maxTradeSol — per-trade SOL amount ceiling
|
|
12
|
+
* - maxTradesPerHour — hourly trade rate cap
|
|
13
|
+
*
|
|
14
|
+
* maxTradeUsd is intentionally omitted: the SDK has no SOL price oracle,
|
|
15
|
+
* and the backend already enforces USD limits server-side.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.checkTradeAmount = checkTradeAmount;
|
|
19
|
+
exports.checkTradeRate = checkTradeRate;
|
|
20
|
+
exports.checkAllRules = checkAllRules;
|
|
21
|
+
/**
|
|
22
|
+
* Validate that a single trade amount does not exceed the per-trade SOL ceiling.
|
|
23
|
+
*
|
|
24
|
+
* @param amount - Trade amount in SOL (parsed from LLM decision).
|
|
25
|
+
* @param rules - Active behavior rule limits.
|
|
26
|
+
* @returns `{ allowed: true }` if within limit, or `{ allowed: false, reason }` if blocked.
|
|
27
|
+
*/
|
|
28
|
+
function checkTradeAmount(amount, rules) {
|
|
29
|
+
if (rules.maxTradeSol == null || rules.maxTradeSol <= 0) {
|
|
30
|
+
return { allowed: true };
|
|
31
|
+
}
|
|
32
|
+
if (amount > rules.maxTradeSol) {
|
|
33
|
+
return {
|
|
34
|
+
allowed: false,
|
|
35
|
+
reason: `Trade amount ${amount} SOL exceeds maxTradeSol limit of ${rules.maxTradeSol} SOL`,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return { allowed: true };
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Validate that the hourly trade count has not been exceeded.
|
|
42
|
+
*
|
|
43
|
+
* @param tradesThisHour - Number of trades already executed in the current hour.
|
|
44
|
+
* @param rules - Active behavior rule limits.
|
|
45
|
+
* @returns `{ allowed: true }` if within limit, or `{ allowed: false, reason }` if blocked.
|
|
46
|
+
*/
|
|
47
|
+
function checkTradeRate(tradesThisHour, rules) {
|
|
48
|
+
if (rules.maxTradesPerHour == null || rules.maxTradesPerHour <= 0) {
|
|
49
|
+
return { allowed: true };
|
|
50
|
+
}
|
|
51
|
+
if (tradesThisHour >= rules.maxTradesPerHour) {
|
|
52
|
+
return {
|
|
53
|
+
allowed: false,
|
|
54
|
+
reason: `Hourly trade limit reached: ${tradesThisHour}/${rules.maxTradesPerHour} trades this hour`,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return { allowed: true };
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Run all client-side rule checks against a pending trade decision.
|
|
61
|
+
* Returns the first failing check, or `{ allowed: true }` if all pass.
|
|
62
|
+
*/
|
|
63
|
+
function checkAllRules(amount, tradesThisHour, rules) {
|
|
64
|
+
const amountCheck = checkTradeAmount(amount, rules);
|
|
65
|
+
if (!amountCheck.allowed)
|
|
66
|
+
return amountCheck;
|
|
67
|
+
const rateCheck = checkTradeRate(tradesThisHour, rules);
|
|
68
|
+
if (!rateCheck.allowed)
|
|
69
|
+
return rateCheck;
|
|
70
|
+
return { allowed: true };
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=rule-checker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-checker.js","sourceRoot":"","sources":["../../src/agent-loop/rule-checker.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAmBH,4CAcC;AASD,wCAcC;AAMD,sCAYC;AA9DD;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC9B,MAAc,EACd,KAAyB;IAEzB,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;QACxD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,gBAAgB,MAAM,qCAAqC,KAAK,CAAC,WAAW,MAAM;SAC3F,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAC5B,cAAsB,EACtB,KAAyB;IAEzB,IAAI,KAAK,CAAC,gBAAgB,IAAI,IAAI,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;QAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,cAAc,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC7C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,+BAA+B,cAAc,IAAI,KAAK,CAAC,gBAAgB,mBAAmB;SACnG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAC3B,MAAc,EACd,cAAsB,EACtB,KAAyB;IAEzB,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC,WAAW,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC;IAE7C,MAAM,SAAS,GAAG,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,SAAS,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAEzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -116,6 +116,11 @@ export interface AgentStatus {
|
|
|
116
116
|
sseConnected: boolean;
|
|
117
117
|
webhookActive: boolean;
|
|
118
118
|
}
|
|
119
|
+
/** Hard limits extracted from behaviorRules for client-side pre-check. */
|
|
120
|
+
export interface BehaviorRuleLimits {
|
|
121
|
+
maxTradeSol?: number;
|
|
122
|
+
maxTradesPerHour?: number;
|
|
123
|
+
}
|
|
119
124
|
export declare const DEFAULT_AGENT_LOOP_CONFIG: {
|
|
120
125
|
readonly maxDailyLlmCost: 5;
|
|
121
126
|
readonly llmTimeoutMs: 10000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent-loop/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent-loop/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent-loop/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent-loop/types.ts"],"names":[],"mappings":";;;AAwIa,QAAA,yBAAyB,GAAG;IACvC,eAAe,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM;IACpB,sBAAsB,EAAE,CAAC;IACzB,WAAW,EAAE,CAAC;CACN,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,7 +15,9 @@ export { DecisionHandler } from './agent-loop/decision-handler';
|
|
|
15
15
|
export { WebhookReceiver } from './agent-loop/webhook-receiver';
|
|
16
16
|
export { OpenAiAdapter } from './agent-loop/llm-adapters/openai';
|
|
17
17
|
export { AnthropicAdapter } from './agent-loop/llm-adapters/anthropic';
|
|
18
|
-
export
|
|
18
|
+
export { checkTradeAmount, checkTradeRate, checkAllRules } from './agent-loop/rule-checker';
|
|
19
|
+
export type { RuleCheckResult } from './agent-loop/rule-checker';
|
|
20
|
+
export type { AgentLoopConfig, AgentStatus, AgentLoopStatus, AgentEvent, AgentDecision, BehaviorRuleLimits, LlmAdapter, LlmMessage, LlmResponse, LlmProvider, } from './agent-loop/types';
|
|
19
21
|
export declare class BalchemyAgentSdk {
|
|
20
22
|
private readonly onboarding;
|
|
21
23
|
constructor(config: AgentSdkConfig);
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAc,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EACV,cAAc,EACd,2BAA2B,EAC3B,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,8BAA8B,EAC9B,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,OAAO,EACP,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1G,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,YAAY,EACV,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,YAAY,EACV,eAAe,EACf,WAAW,EACX,eAAe,EACf,UAAU,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;gBAEvC,MAAM,EAAE,cAAc;IAU5B,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI1E,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIzE,mBAAmB,CACvB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IAIxB,mBAAmB,CACvB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,2BAA2B,CAAC;IAIjC,4BAA4B,CAChC,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,2BAA2B,CAAC;IAIvC,UAAU,CAAC,MAAM,EAAE;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;KACxB,GAAG,iBAAiB;CAGtB"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BalchemyAgentSdk = exports.AnthropicAdapter = exports.OpenAiAdapter = exports.WebhookReceiver = exports.DecisionHandler = exports.LlmCostTracker = exports.AgentLoop = exports.TokenStore = exports.SseEventStream = exports.isToolError = exports.parseToolJson = exports.getToolText = exports.connectMcp = exports.BalchemyMcpClient = exports.AgentSdkError = void 0;
|
|
3
|
+
exports.BalchemyAgentSdk = exports.checkAllRules = exports.checkTradeRate = exports.checkTradeAmount = exports.AnthropicAdapter = exports.OpenAiAdapter = exports.WebhookReceiver = exports.DecisionHandler = exports.LlmCostTracker = exports.AgentLoop = exports.TokenStore = exports.SseEventStream = exports.isToolError = exports.parseToolJson = exports.getToolText = exports.connectMcp = exports.BalchemyMcpClient = exports.AgentSdkError = void 0;
|
|
4
4
|
const http_client_1 = require("./client/http-client");
|
|
5
5
|
const onboarding_1 = require("./auth/onboarding");
|
|
6
6
|
const mcp_client_1 = require("./mcp/mcp-client");
|
|
@@ -29,6 +29,10 @@ var openai_1 = require("./agent-loop/llm-adapters/openai");
|
|
|
29
29
|
Object.defineProperty(exports, "OpenAiAdapter", { enumerable: true, get: function () { return openai_1.OpenAiAdapter; } });
|
|
30
30
|
var anthropic_1 = require("./agent-loop/llm-adapters/anthropic");
|
|
31
31
|
Object.defineProperty(exports, "AnthropicAdapter", { enumerable: true, get: function () { return anthropic_1.AnthropicAdapter; } });
|
|
32
|
+
var rule_checker_1 = require("./agent-loop/rule-checker");
|
|
33
|
+
Object.defineProperty(exports, "checkTradeAmount", { enumerable: true, get: function () { return rule_checker_1.checkTradeAmount; } });
|
|
34
|
+
Object.defineProperty(exports, "checkTradeRate", { enumerable: true, get: function () { return rule_checker_1.checkTradeRate; } });
|
|
35
|
+
Object.defineProperty(exports, "checkAllRules", { enumerable: true, get: function () { return rule_checker_1.checkAllRules; } });
|
|
32
36
|
class BalchemyAgentSdk {
|
|
33
37
|
onboarding;
|
|
34
38
|
constructor(config) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAClD,kDAA0D;AAC1D,iDAAiE;AAkCjE,4DAAyD;AAAhD,gHAAA,aAAa,OAAA;AACtB,+CAA0G;AAAjG,+GAAA,iBAAiB,OAAA;AAAE,wGAAA,UAAU,OAAA;AAAE,yGAAA,WAAW,OAAA;AAAE,2GAAA,aAAa,OAAA;AAAE,yGAAA,WAAW,OAAA;AAa/E,iEAA8D;AAArD,kHAAA,cAAc,OAAA;AAOvB,kDAAgD;AAAvC,yGAAA,UAAU,OAAA;AAEnB,aAAa;AACb,sDAAoD;AAA3C,uGAAA,SAAS,OAAA;AAClB,kEAA+D;AAAtD,kHAAA,cAAc,OAAA;AACvB,kEAAgE;AAAvD,mHAAA,eAAe,OAAA;AACxB,kEAAgE;AAAvD,mHAAA,eAAe,OAAA;AACxB,2DAAiE;AAAxD,uGAAA,aAAa,OAAA;AACtB,iEAAuE;AAA9D,6GAAA,gBAAgB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAClD,kDAA0D;AAC1D,iDAAiE;AAkCjE,4DAAyD;AAAhD,gHAAA,aAAa,OAAA;AACtB,+CAA0G;AAAjG,+GAAA,iBAAiB,OAAA;AAAE,wGAAA,UAAU,OAAA;AAAE,yGAAA,WAAW,OAAA;AAAE,2GAAA,aAAa,OAAA;AAAE,yGAAA,WAAW,OAAA;AAa/E,iEAA8D;AAArD,kHAAA,cAAc,OAAA;AAOvB,kDAAgD;AAAvC,yGAAA,UAAU,OAAA;AAEnB,aAAa;AACb,sDAAoD;AAA3C,uGAAA,SAAS,OAAA;AAClB,kEAA+D;AAAtD,kHAAA,cAAc,OAAA;AACvB,kEAAgE;AAAvD,mHAAA,eAAe,OAAA;AACxB,kEAAgE;AAAvD,mHAAA,eAAe,OAAA;AACxB,2DAAiE;AAAxD,uGAAA,aAAa,OAAA;AACtB,iEAAuE;AAA9D,6GAAA,gBAAgB,OAAA;AACzB,0DAA4F;AAAnF,gHAAA,gBAAgB,OAAA;AAAE,8GAAA,cAAc,OAAA;AAAE,6GAAA,aAAa,OAAA;AAexD,MAAa,gBAAgB;IACV,UAAU,CAAwB;IAEnD,YAAY,MAAsB;QAChC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,wBAAU,CAAC;YAC1B,OAAO,EAAE,MAAM,CAAC,UAAU;YAC1B,SAAS;YACT,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,kCAAqB,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAA4B;QACjD,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAA2B;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,KAA+B;QAE/B,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,KAA+B;QAE/B,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,KAAqC;QAErC,OAAO,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU,CAAC,MAKV;QACC,OAAO,IAAA,uBAAU,EAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF;AA/CD,4CA+CC"}
|