@clawnch/clawtomaton 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/types.d.ts CHANGED
@@ -44,6 +44,10 @@ export declare const SURVIVAL_THRESHOLDS: {
44
44
  /** Above this: emergency mode */
45
45
  readonly critical: bigint;
46
46
  };
47
+ /**
48
+ * Get survival thresholds, with optional overrides from autonomy config.
49
+ */
50
+ export declare function getSurvivalThresholds(autonomy?: AutonomyConfig): typeof SURVIVAL_THRESHOLDS;
47
51
  export interface AgentContext {
48
52
  identity: ClawtomatonIdentity;
49
53
  survival: SurvivalState;
@@ -138,6 +142,265 @@ export interface ClawtomatonConfig {
138
142
  bunker?: BunkerConfig;
139
143
  /** XMTP encrypted messaging config (optional — for Base App / World App discovery) */
140
144
  xmtp?: import('./xmtp/types.js').XmtpConfig;
145
+ /** Autonomous earning config (optional — all features off by default) */
146
+ autonomy?: AutonomyConfig;
147
+ }
148
+ /**
149
+ * Full autonomy configuration — controls every tunable behavior.
150
+ *
151
+ * Organized into groups:
152
+ * - cost: Gas tracking, inference cost estimates
153
+ * - heartbeat: Intervals, throttling, wake conditions
154
+ * - survival: Tier thresholds, claim policy
155
+ * - trading: Trade recording, risk defaults, order execution
156
+ * - reserves: ETH/USDC reserve targets, idle capital detection
157
+ * - yield: Wayfinder integration, LP deployment
158
+ * - services: Paid XMTP services (Phase 3)
159
+ * - agentLoop: Turns per run, tool calls per turn
160
+ *
161
+ * Every field is optional. Omit to use defaults. Set to `false` to disable.
162
+ */
163
+ export interface AutonomyConfig {
164
+ /**
165
+ * Gas cost tracking — records tx receipts after every skill execution.
166
+ * Default: true (when autonomy config is present)
167
+ */
168
+ gasTracking?: boolean;
169
+ /**
170
+ * Estimated cost of one LLM inference call in wei.
171
+ * Used for net P&L calculations. Adjust for your model/provider.
172
+ * Default: 200000000000000 (0.0002 ETH ≈ $0.50)
173
+ */
174
+ inferenceCostWei?: string;
175
+ /**
176
+ * Earning-adjusted heartbeat throttle.
177
+ * When rolling net earnings are negative, heartbeat interval is multiplied.
178
+ * Default: true (uses default tiers)
179
+ */
180
+ earningThrottle?: boolean | {
181
+ /** Rolling window for net earnings calculation in ms (default: 7 days) */
182
+ windowMs?: number;
183
+ /** Loss tiers, checked from most severe to least. */
184
+ tiers?: Array<{
185
+ lossThresholdEth: number;
186
+ multiplier: number;
187
+ }>;
188
+ };
189
+ /**
190
+ * Analytics-driven heartbeat wake condition.
191
+ * Wakes agent on strong signals from ClawnchAnalytics.
192
+ * Default: false (opt-in)
193
+ */
194
+ analyticsWake?: boolean | {
195
+ /** Minimum interval between analytics checks in ms (default: 1 hour) */
196
+ intervalMs?: number;
197
+ /** Which signals trigger a wake (default: ['strong_buy', 'strong_sell']) */
198
+ signals?: Array<'strong_buy' | 'buy' | 'neutral' | 'sell' | 'strong_sell'>;
199
+ /** Number of blocks to scan for swap events (default: 10000, ~5.5h on Base) */
200
+ blocksToScan?: number;
201
+ /** Candle interval for analysis (default: '15m') */
202
+ candleInterval?: '5m' | '15m' | '1h' | '4h' | '1d';
203
+ /** Minimum candles required (default: 50) */
204
+ minCandles?: number;
205
+ };
206
+ /**
207
+ * Minimum time between agent runs in ms, regardless of wake conditions.
208
+ * The earning throttle multiplies this value when losing money.
209
+ * Default: 300000 (5 minutes)
210
+ */
211
+ minRunIntervalMs?: number;
212
+ /**
213
+ * How often to run a self-reflection cycle in ms.
214
+ * Default: 86400000 (24 hours)
215
+ */
216
+ reflectionIntervalMs?: number;
217
+ /**
218
+ * Override survival tier thresholds (in wei).
219
+ * Controls which skills are available at each ETH balance level.
220
+ */
221
+ survivalThresholds?: {
222
+ /** ETH balance for full capabilities (default: 10000000000000000 = 0.01 ETH) */
223
+ normalWei?: string;
224
+ /** ETH balance for reduced capabilities (default: 1000000000000000 = 0.001 ETH) */
225
+ lowComputeWei?: string;
226
+ /** ETH balance for emergency mode (default: 100000000000000 = 0.0001 ETH) */
227
+ criticalWei?: string;
228
+ };
229
+ /**
230
+ * Fee claiming policy.
231
+ */
232
+ claiming?: {
233
+ /**
234
+ * Minimum net profit in wei to justify claiming fees.
235
+ * Claim cost = gas for 3 txs. Profit must exceed this + claim cost.
236
+ * Default: 500000000000000 (0.0005 ETH ≈ $1.25)
237
+ */
238
+ minProfitWei?: string;
239
+ /**
240
+ * Auto-suggest claiming when unclaimed WETH exceeds this amount in wei.
241
+ * The agent still decides — this adds guidance to the prompt.
242
+ * Default: disabled (null)
243
+ */
244
+ suggestClaimAboveWei?: string;
245
+ /**
246
+ * Maximum hours between fee claims, even if not yet profitable.
247
+ * Prevents fees from sitting unclaimed indefinitely during low-gas periods.
248
+ * Default: disabled (null — only claim when profitable or survival-needed)
249
+ */
250
+ maxHoursBetweenClaims?: number;
251
+ };
252
+ /**
253
+ * Automatic trade recording for swap executions.
254
+ * Records buys/sells in the portfolio tracker when swap/uniswap_swap succeeds.
255
+ * Default: true
256
+ */
257
+ tradeRecording?: boolean;
258
+ /**
259
+ * Portfolio snapshot recording on each heartbeat wake.
260
+ * Feeds performance history and drawdown tracking.
261
+ * Default: true
262
+ */
263
+ portfolioSnapshots?: boolean;
264
+ /**
265
+ * Default risk management parameters.
266
+ * Applied when no risk config is stored yet. Agent can override via manage_orders.
267
+ */
268
+ riskDefaults?: {
269
+ /** Max % of portfolio for a single position (default: 25) */
270
+ maxPositionPct?: number;
271
+ /** Max drawdown % before circuit breaker trips (default: 30) */
272
+ maxDrawdownPct?: number;
273
+ /** Cooldown after failed execution in ms (default: 300000 = 5 min) */
274
+ failureCooldownMs?: number;
275
+ /** Max order executions per hour (default: 10) */
276
+ maxExecutionsPerHour?: number;
277
+ };
278
+ /**
279
+ * Maximum ReAct turns per agent run before forcing stop.
280
+ * Default: 20
281
+ */
282
+ maxTurnsPerRun?: number;
283
+ /**
284
+ * Maximum tool calls per single turn.
285
+ * Default: 5
286
+ */
287
+ maxToolCallsPerTurn?: number;
288
+ /**
289
+ * How often to refresh survival + market data during a run (in turns).
290
+ * Default: 5
291
+ */
292
+ survivalRefreshInterval?: number;
293
+ /**
294
+ * Reserve management — prompt-driven ETH/stablecoin reserve targets.
295
+ * When enabled, the agent sees reserve status in its prompt and gets
296
+ * suggestions to rebalance when reserves are low.
297
+ * Default: disabled
298
+ */
299
+ reserves?: {
300
+ /**
301
+ * Target ETH reserve in wei. The agent tries to maintain at least this much.
302
+ * Below this, the prompt suggests converting other assets to ETH.
303
+ * Tip: set to ~30 days of operational costs.
304
+ */
305
+ targetEthWei?: string;
306
+ /**
307
+ * USDC token address on Base.
308
+ * Default: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (Base USDC)
309
+ */
310
+ usdcAddress?: string;
311
+ /**
312
+ * Target USDC reserve in human-readable units (e.g. "500" for $500).
313
+ * When USDC balance drops below this and ETH is abundant,
314
+ * the prompt suggests converting some ETH to USDC as a stablecoin hedge.
315
+ * Default: disabled (null)
316
+ */
317
+ targetUsdc?: string;
318
+ /**
319
+ * Operational cost estimate per day in ETH.
320
+ * Used to calculate "days of runway" for reserve warnings.
321
+ * Default: 0.01 ETH (gas + inference for ~48 calls/day)
322
+ */
323
+ dailyCostEth?: number;
324
+ };
325
+ /**
326
+ * Idle capital detection and yield deployment.
327
+ * When ETH balance exceeds operational reserve + this threshold,
328
+ * the heartbeat suggests deploying surplus to yield via Wayfinder.
329
+ * Default: disabled
330
+ */
331
+ idleCapital?: {
332
+ /**
333
+ * ETH above (reserve + threshold) is considered idle.
334
+ * Default: 0.05 ETH
335
+ */
336
+ thresholdEth?: number;
337
+ /**
338
+ * Minimum yield APY to consider a pool worth deploying to.
339
+ * Default: 2.0 (2%)
340
+ */
341
+ minYieldApy?: number;
342
+ /**
343
+ * Protocols to consider for yield (Wayfinder pool filter).
344
+ * Default: ['aave', 'moonwell', 'morpho']
345
+ */
346
+ protocols?: string[];
347
+ /**
348
+ * Maximum % of idle capital to deploy in a single action.
349
+ * Default: 50
350
+ */
351
+ maxDeployPct?: number;
352
+ };
353
+ /**
354
+ * Wayfinder Paths integration for cross-chain DeFi.
355
+ * Requires WAYFINDER_API_KEY env var or explicit key here.
356
+ */
357
+ wayfinder?: {
358
+ /** API key (overrides WAYFINDER_API_KEY env var) */
359
+ apiKey?: string;
360
+ /** Enable CLI tier (requires Python 3.12+). Default: false */
361
+ cliTier?: boolean;
362
+ /** Chains to operate on. Default: ['base'] */
363
+ chains?: string[];
364
+ };
365
+ /**
366
+ * Paid services via XMTP messaging.
367
+ * Users pay ETH to the agent's wallet, then request services via XMTP.
368
+ * Payment verification uses on-chain tx receipts.
369
+ * Default: disabled
370
+ */
371
+ paidServices?: {
372
+ /** Enable the paid services skill. Default: false */
373
+ enabled?: boolean;
374
+ /**
375
+ * Service catalog with pricing in ETH.
376
+ * The agent advertises these and verifies payment before executing.
377
+ */
378
+ catalog?: Array<{
379
+ /** Service identifier (e.g. 'token_analysis') */
380
+ id: string;
381
+ /** Human-readable name */
382
+ name: string;
383
+ /** Description shown to users */
384
+ description: string;
385
+ /** Price in ETH (e.g. '0.001') */
386
+ priceEth: string;
387
+ /** Skill to execute after payment verification */
388
+ skill: string;
389
+ /** Default params for the skill */
390
+ defaultParams?: Record<string, unknown>;
391
+ }>;
392
+ /**
393
+ * Payment verification window in ms.
394
+ * How far back to search for a matching payment tx.
395
+ * Default: 3600000 (1 hour)
396
+ */
397
+ paymentWindowMs?: number;
398
+ /**
399
+ * Minimum payment confirmation blocks.
400
+ * Default: 5
401
+ */
402
+ minConfirmations?: number;
403
+ };
141
404
  }
142
405
  export interface ActivationResult {
143
406
  burnTxHash: Hash;
@@ -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":"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"}
package/dist/types.js CHANGED
@@ -10,6 +10,19 @@ export const SURVIVAL_THRESHOLDS = {
10
10
  critical: BigInt('100000000000000'), // 0.0001 ETH
11
11
  /** Below critical: dead */
12
12
  };
13
+ /**
14
+ * Get survival thresholds, with optional overrides from autonomy config.
15
+ */
16
+ export function getSurvivalThresholds(autonomy) {
17
+ if (!autonomy?.survivalThresholds)
18
+ return SURVIVAL_THRESHOLDS;
19
+ const ov = autonomy.survivalThresholds;
20
+ return {
21
+ normal: ov.normalWei ? BigInt(ov.normalWei) : SURVIVAL_THRESHOLDS.normal,
22
+ low_compute: ov.lowComputeWei ? BigInt(ov.lowComputeWei) : SURVIVAL_THRESHOLDS.low_compute,
23
+ critical: ov.criticalWei ? BigInt(ov.criticalWei) : SURVIVAL_THRESHOLDS.critical,
24
+ };
25
+ }
13
26
  /** 1,000,000 $CLAWNCH with 18 decimals */
14
27
  export const CLAWTOMATON_ACTIVATION_COST = BigInt('1000000000000000000000000'); // 1e24 = 1M * 1e18
15
28
  export const CLAWNCH_TOKEN_ADDRESS = '0xa1F72459dfA10BAD200Ac160eCd78C6b77a747be';
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiDH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAM,WAAW;IACpD,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,YAAY;IACrD,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAM,aAAa;IACtD,2BAA2B;CACnB,CAAC;AAmIX,0CAA0C;AAC1C,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,mBAAmB;AAEnG,MAAM,CAAC,MAAM,qBAAqB,GAAY,4CAA4C,CAAC;AAC3F,MAAM,CAAC,MAAM,oBAAoB,GAAY,4CAA4C,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiDH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAM,WAAW;IACpD,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,YAAY;IACrD,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAM,aAAa;IACtD,2BAA2B;CACnB,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAyB;IAC7D,IAAI,CAAC,QAAQ,EAAE,kBAAkB;QAAE,OAAO,mBAAmB,CAAC;IAC9D,MAAM,EAAE,GAAG,QAAQ,CAAC,kBAAkB,CAAC;IACvC,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM;QACxE,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,WAAW;QAC1F,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ;KACjF,CAAC;AACJ,CAAC;AAucD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,mBAAmB;AAEnG,MAAM,CAAC,MAAM,qBAAqB,GAAY,4CAA4C,CAAC;AAC3F,MAAM,CAAC,MAAM,oBAAoB,GAAY,4CAA4C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawnch/clawtomaton",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "Autonomous AI agent framework for Base — 14 skills for trading, liquidity, token launches, fee claiming, risk management, and self-sustaining operation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -44,7 +44,7 @@
44
44
  "node": ">=18"
45
45
  },
46
46
  "dependencies": {
47
- "@clawnch/clawncher-sdk": "^0.3.0",
47
+ "@clawnch/clawncher-sdk": "^0.3.2",
48
48
  "@xmtp/agent-sdk": "^2.2.0",
49
49
  "better-sqlite3": "^11.0.0",
50
50
  "viem": "^2.0.0"