@rebelfi/agent-sdk 1.0.1 → 1.0.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.
Files changed (92) hide show
  1. package/dist/cjs/client.js +3 -3
  2. package/dist/cjs/client.js.map +1 -1
  3. package/dist/cjs/commands/account.js +12 -16
  4. package/dist/cjs/commands/account.js.map +1 -1
  5. package/dist/cjs/commands/auth.js +3 -3
  6. package/dist/cjs/commands/flows.js +159 -0
  7. package/dist/cjs/commands/flows.js.map +1 -0
  8. package/dist/cjs/commands/orders.js +1 -0
  9. package/dist/cjs/commands/orders.js.map +1 -1
  10. package/dist/cjs/config.js +7 -7
  11. package/dist/cjs/config.js.map +1 -1
  12. package/dist/cjs/errors.js +5 -5
  13. package/dist/cjs/flows/conditions.js +23 -0
  14. package/dist/cjs/flows/conditions.js.map +1 -0
  15. package/dist/cjs/flows/executor.js +220 -0
  16. package/dist/cjs/flows/executor.js.map +1 -0
  17. package/dist/cjs/flows/helpers.js +51 -0
  18. package/dist/cjs/flows/helpers.js.map +1 -0
  19. package/dist/cjs/flows/index.js +41 -0
  20. package/dist/cjs/flows/index.js.map +1 -0
  21. package/dist/cjs/flows/resolve.js +39 -0
  22. package/dist/cjs/flows/resolve.js.map +1 -0
  23. package/dist/cjs/flows/store.js +53 -0
  24. package/dist/cjs/flows/store.js.map +1 -0
  25. package/dist/cjs/flows/templates.js +54 -0
  26. package/dist/cjs/flows/templates.js.map +1 -0
  27. package/dist/cjs/flows/types.js +3 -0
  28. package/dist/cjs/flows/types.js.map +1 -0
  29. package/dist/cjs/index.js +30 -1
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/intent/program-registry.js +2 -2
  32. package/dist/cjs/orders/sugar.js +3 -2
  33. package/dist/cjs/orders/sugar.js.map +1 -1
  34. package/dist/cjs/verify/decoders/rebelsig.js +162 -0
  35. package/dist/cjs/verify/decoders/rebelsig.js.map +1 -0
  36. package/dist/cjs/verify/flags.js +1 -1
  37. package/dist/cjs/verify/index.js +6 -6
  38. package/dist/cjs/verify/registry.js +1 -1
  39. package/dist/cli.js +38 -6
  40. package/dist/cli.js.map +1 -1
  41. package/dist/client.js +3 -3
  42. package/dist/client.js.map +1 -1
  43. package/dist/commands/account.js +13 -17
  44. package/dist/commands/account.js.map +1 -1
  45. package/dist/commands/auth.js +3 -3
  46. package/dist/commands/flows.d.ts +19 -0
  47. package/dist/commands/flows.js +149 -0
  48. package/dist/commands/flows.js.map +1 -0
  49. package/dist/commands/orders.js +1 -0
  50. package/dist/commands/orders.js.map +1 -1
  51. package/dist/config.d.ts +12 -12
  52. package/dist/config.js +7 -7
  53. package/dist/config.js.map +1 -1
  54. package/dist/errors.d.ts +2 -2
  55. package/dist/errors.js +3 -3
  56. package/dist/flows/conditions.d.ts +13 -0
  57. package/dist/flows/conditions.js +16 -0
  58. package/dist/flows/conditions.js.map +1 -0
  59. package/dist/flows/executor.d.ts +51 -0
  60. package/dist/flows/executor.js +217 -0
  61. package/dist/flows/executor.js.map +1 -0
  62. package/dist/flows/helpers.d.ts +15 -0
  63. package/dist/flows/helpers.js +40 -0
  64. package/dist/flows/helpers.js.map +1 -0
  65. package/dist/flows/index.d.ts +10 -0
  66. package/dist/flows/index.js +12 -0
  67. package/dist/flows/index.js.map +1 -0
  68. package/dist/flows/resolve.d.ts +5 -0
  69. package/dist/flows/resolve.js +33 -0
  70. package/dist/flows/resolve.js.map +1 -0
  71. package/dist/flows/store.d.ts +10 -0
  72. package/dist/flows/store.js +42 -0
  73. package/dist/flows/store.js.map +1 -0
  74. package/dist/flows/templates.d.ts +14 -0
  75. package/dist/flows/templates.js +51 -0
  76. package/dist/flows/templates.js.map +1 -0
  77. package/dist/flows/types.d.ts +82 -0
  78. package/dist/flows/types.js +2 -0
  79. package/dist/flows/types.js.map +1 -0
  80. package/dist/index.d.ts +3 -1
  81. package/dist/index.js +2 -0
  82. package/dist/index.js.map +1 -1
  83. package/dist/intent/program-registry.js +2 -2
  84. package/dist/orders/sugar.js +3 -2
  85. package/dist/orders/sugar.js.map +1 -1
  86. package/dist/verify/decoders/rebelsig.d.ts +5 -0
  87. package/dist/verify/decoders/rebelsig.js +159 -0
  88. package/dist/verify/decoders/rebelsig.js.map +1 -0
  89. package/dist/verify/flags.js +1 -1
  90. package/dist/verify/index.js +6 -6
  91. package/dist/verify/registry.js +1 -1
  92. package/package.json +1 -1
@@ -0,0 +1,149 @@
1
+ import { loadConfig, getWallet, getApiUrl, getApiKey } from '../config.js';
2
+ import { addFlow, getFlow, updateFlow, loadFlows } from '../flows/store.js';
3
+ import { createLimitOrder } from '../flows/templates.js';
4
+ import { executeHeartbeat } from '../flows/executor.js';
5
+ import { createHttpClient } from '../client.js';
6
+ import { verifyIntent as verifyIntentV2 } from '../intent/index.js';
7
+ import { makeFlowEvent } from '../flows/helpers.js';
8
+ import { outputSuccess } from '../output.js';
9
+ import { SdkError } from '../errors.js';
10
+ import { Keypair, Transaction, VersionedTransaction } from '@solana/web3.js';
11
+ import bs58 from 'bs58';
12
+ export async function flowsCreate(typeOrJson, opts) {
13
+ // Try JSON parse first (agent path — no config needed)
14
+ try {
15
+ const flow = JSON.parse(typeOrJson);
16
+ if (!flow.id || !flow.type || !flow.steps) {
17
+ throw new Error('invalid');
18
+ }
19
+ addFlow(flow);
20
+ outputSuccess({ action: 'flow_created', flowId: flow.id, type: flow.type, status: flow.status });
21
+ return;
22
+ }
23
+ catch {
24
+ // Not JSON — sugar syntax
25
+ }
26
+ if (typeOrJson !== 'limit-order') {
27
+ throw new SdkError('UNSUPPORTED_FLOW', `Only "limit-order" is supported. Got: "${typeOrJson}".`);
28
+ }
29
+ const config = loadConfig();
30
+ const wallet = getWallet(config, opts.wallet);
31
+ const chain = `solana${config.cluster === 'devnet' ? ':devnet' : ''}`;
32
+ if (!opts.sell || !opts.buy || !opts.price) {
33
+ throw new SdkError('MISSING_FIELD', 'limit-order requires --sell "<amount> <symbol>", --buy "<symbol>", and --price "<number>"');
34
+ }
35
+ const sellParts = opts.sell.split(/\s+/);
36
+ if (sellParts.length !== 2) {
37
+ throw new SdkError('INVALID_SELL', '--sell must be "<amount> <symbol>" (e.g., --sell "500 USDC")');
38
+ }
39
+ const flow = createLimitOrder({
40
+ sellAmount: sellParts[0],
41
+ sellSymbol: sellParts[1],
42
+ buySymbol: opts.buy,
43
+ targetPrice: opts.price,
44
+ slippage: opts.slippage ? parseFloat(opts.slippage) : undefined,
45
+ wallet: wallet.address,
46
+ chain,
47
+ cooldown: opts.cooldown ? parseInt(opts.cooldown, 10) : undefined,
48
+ maxAttempts: opts.maxAttempts ? parseInt(opts.maxAttempts, 10) : undefined,
49
+ expiresAt: opts.expires ? parseExpiry(opts.expires) : undefined,
50
+ });
51
+ addFlow(flow);
52
+ outputSuccess({ action: 'flow_created', flowId: flow.id, type: flow.type, status: flow.status });
53
+ }
54
+ export async function flowsList(opts) {
55
+ const store = loadFlows();
56
+ let flows = store.flows;
57
+ if (opts.status) {
58
+ flows = flows.filter((f) => f.status === opts.status);
59
+ }
60
+ const summary = flows.map((f) => ({
61
+ id: f.id,
62
+ type: f.type,
63
+ chain: f.chain,
64
+ status: f.status,
65
+ currentStep: f.steps[f.state.currentStepIndex]?.id ?? 'done',
66
+ version: f.version,
67
+ createdAt: new Date(f.createdAt).toISOString(),
68
+ lastEvent: f.history.length > 0 ? f.history[f.history.length - 1].type : null,
69
+ }));
70
+ outputSuccess({ flows: summary });
71
+ }
72
+ export async function flowsGet(flowId) {
73
+ const flow = getFlow(flowId);
74
+ if (!flow) {
75
+ throw new SdkError('FLOW_NOT_FOUND', `Flow "${flowId}" not found`);
76
+ }
77
+ outputSuccess({ flow });
78
+ }
79
+ export async function flowsCancel(flowId) {
80
+ const flow = getFlow(flowId);
81
+ if (!flow) {
82
+ throw new SdkError('FLOW_NOT_FOUND', `Flow "${flowId}" not found`);
83
+ }
84
+ if (flow.status === 'completed' || flow.status === 'cancelled' || flow.status === 'failed') {
85
+ throw new SdkError('FLOW_NOT_ACTIVE', `Flow "${flowId}" is ${flow.status}`);
86
+ }
87
+ updateFlow(flowId, {
88
+ status: 'cancelled',
89
+ history: [...flow.history, makeFlowEvent('cancelled')],
90
+ });
91
+ outputSuccess({ action: 'flow_cancelled', flowId });
92
+ }
93
+ export async function flowsEvaluate(opts) {
94
+ const config = loadConfig();
95
+ const wallet = getWallet(config, opts.wallet);
96
+ const apiUrl = getApiUrl(config);
97
+ const apiKey = getApiKey(config);
98
+ const client = createHttpClient({ baseUrl: apiUrl, apiKey });
99
+ const results = await executeHeartbeat({
100
+ dryRun: opts.dryRun,
101
+ heartbeatCall: async (flows) => {
102
+ const res = await client.post('/v1/flows/heartbeat', { flows });
103
+ return res.data.data;
104
+ },
105
+ verifyTransaction: async (txBase64, intent) => {
106
+ // Skip client-side verification for swaps — Jupiter's Route instructions
107
+ // can't be decoded by the SDK verifier. The backend already validated the quote.
108
+ if ('action' in intent && intent.action === 'swap') {
109
+ return { matched: true, discrepancies: [] };
110
+ }
111
+ const result = await verifyIntentV2(txBase64, intent);
112
+ return { matched: result.matched, discrepancies: result.discrepancies };
113
+ },
114
+ signAndSubmit: async (txBase64) => {
115
+ const txBytes = Buffer.from(txBase64, 'base64');
116
+ const keypair = Keypair.fromSecretKey(bs58.decode(wallet.privateKey));
117
+ // Try versioned transaction first, fall back to legacy
118
+ let signedTxBase64;
119
+ try {
120
+ const vtx = VersionedTransaction.deserialize(txBytes);
121
+ vtx.sign([keypair]);
122
+ signedTxBase64 = Buffer.from(vtx.serialize()).toString('base64');
123
+ }
124
+ catch {
125
+ const tx = Transaction.from(txBytes);
126
+ tx.sign(keypair);
127
+ signedTxBase64 = tx.serialize().toString('base64');
128
+ }
129
+ const submitRes = await client.post('/api/tx/submit', { signedTx: signedTxBase64 });
130
+ return submitRes.data.data.txid;
131
+ },
132
+ });
133
+ outputSuccess({ action: 'flows_evaluated', results });
134
+ }
135
+ function parseExpiry(value) {
136
+ const match = value.match(/^(\d+)(m|h|d)$/);
137
+ if (match) {
138
+ const num = parseInt(match[1], 10);
139
+ const unit = match[2];
140
+ const ms = unit === 'm' ? num * 60_000 : unit === 'h' ? num * 3_600_000 : num * 86_400_000;
141
+ return Date.now() + ms;
142
+ }
143
+ const date = new Date(value);
144
+ if (isNaN(date.getTime())) {
145
+ throw new SdkError('INVALID_EXPIRY', `Cannot parse expiry: "${value}". Use relative (7d, 24h, 30m) or ISO date.`);
146
+ }
147
+ return date.getTime();
148
+ }
149
+ //# sourceMappingURL=flows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flows.js","sourceRoot":"","sources":["../../src/commands/flows.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /** @deprecated Use flows commands instead. This module will be removed in a future version. */
1
2
  import { randomUUID } from 'node:crypto';
2
3
  import { loadConfig, getWallet, getApiUrl, getApiKey } from '../config.js';
3
4
  import { addOrder, getOrder, updateOrder, loadOrders } from '../orders/store.js';
@@ -1 +1 @@
1
- {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/commands/orders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/commands/orders.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -14,7 +14,7 @@ export interface AccountInfo {
14
14
  syncedAt: string;
15
15
  }
16
16
  export type SolanaCluster = 'mainnet-beta' | 'devnet';
17
- export interface SilkConfig {
17
+ export interface RebelConfig {
18
18
  wallets: WalletEntry[];
19
19
  defaultWallet: string;
20
20
  preferences: Record<string, unknown>;
@@ -24,17 +24,17 @@ export interface SilkConfig {
24
24
  agentId?: string;
25
25
  apiKey?: string;
26
26
  }
27
- export declare function loadConfig(): SilkConfig;
28
- export declare function saveConfig(config: SilkConfig): void;
29
- export declare function getWallet(config: SilkConfig, label?: string): WalletEntry;
30
- export declare function getCluster(config: SilkConfig): SolanaCluster;
31
- export declare function getApiUrl(config: SilkConfig): string;
32
- export declare function ensureAgentId(config: SilkConfig): {
27
+ export declare function loadConfig(): RebelConfig;
28
+ export declare function saveConfig(config: RebelConfig): void;
29
+ export declare function getWallet(config: RebelConfig, label?: string): WalletEntry;
30
+ export declare function getCluster(config: RebelConfig): SolanaCluster;
31
+ export declare function getApiUrl(config: RebelConfig): string;
32
+ export declare function ensureAgentId(config: RebelConfig): {
33
33
  agentId: string;
34
34
  created: boolean;
35
35
  };
36
- export declare function getClaimUrl(config: SilkConfig, transferPda: string): string;
37
- export declare function getSetupUrl(config: SilkConfig, agentAddress: string): string;
38
- export declare function getAgentId(config: SilkConfig): string;
39
- export declare function getApiKey(config: SilkConfig): string | undefined;
40
- export declare function clearApiKey(config: SilkConfig): void;
36
+ export declare function getClaimUrl(config: RebelConfig, transferPda: string): string;
37
+ export declare function getSetupUrl(config: RebelConfig, agentAddress: string): string;
38
+ export declare function getAgentId(config: RebelConfig): string;
39
+ export declare function getApiKey(config: RebelConfig): string | undefined;
40
+ export declare function clearApiKey(config: RebelConfig): void;
package/dist/config.js CHANGED
@@ -3,7 +3,7 @@ import path from 'node:path';
3
3
  import os from 'node:os';
4
4
  import { randomUUID } from 'node:crypto';
5
5
  import { SdkError } from './errors.js';
6
- export const CONFIG_DIR = path.join(os.homedir(), '.config', 'silkyway');
6
+ export const CONFIG_DIR = path.join(os.homedir(), '.config', 'rebelfi');
7
7
  const CONFIG_FILE = path.join(CONFIG_DIR, 'config.json');
8
8
  function defaultConfig() {
9
9
  return { wallets: [], defaultWallet: 'main', preferences: {}, cluster: 'mainnet-beta' };
@@ -25,19 +25,19 @@ export function getWallet(config, label) {
25
25
  const target = label || config.defaultWallet;
26
26
  const wallet = config.wallets.find((w) => w.label === target);
27
27
  if (!wallet) {
28
- throw new SdkError('WALLET_NOT_FOUND', `Wallet "${target}" not found. Run: silky wallet create`);
28
+ throw new SdkError('WALLET_NOT_FOUND', `Wallet "${target}" not found. Run: rebel wallet create`);
29
29
  }
30
30
  return wallet;
31
31
  }
32
32
  const CLUSTER_API_URLS = {
33
- 'mainnet-beta': 'https://api.silkyway.ai',
34
- 'devnet': 'https://devnet-api.silkyway.ai',
33
+ 'mainnet-beta': 'https://agent-api.rebelfi.io',
34
+ 'devnet': 'https://devnet-agent-api.rebelfi.io',
35
35
  };
36
36
  export function getCluster(config) {
37
37
  return config.cluster || 'mainnet-beta';
38
38
  }
39
39
  export function getApiUrl(config) {
40
- return config.apiUrl || process.env.SILKY_API_URL || CLUSTER_API_URLS[getCluster(config)];
40
+ return config.apiUrl || process.env.REBEL_API_URL || CLUSTER_API_URLS[getCluster(config)];
41
41
  }
42
42
  export function ensureAgentId(config) {
43
43
  if (config.agentId) {
@@ -47,7 +47,7 @@ export function ensureAgentId(config) {
47
47
  config.agentId = agentId;
48
48
  return { agentId, created: true };
49
49
  }
50
- const APP_BASE_URL = 'https://app.silkyway.ai';
50
+ const APP_BASE_URL = 'https://app.rebelfi.io';
51
51
  export function getClaimUrl(config, transferPda) {
52
52
  const base = `${APP_BASE_URL}/transfers/${transferPda}`;
53
53
  const cluster = getCluster(config);
@@ -66,7 +66,7 @@ export function getAgentId(config) {
66
66
  return result.agentId;
67
67
  }
68
68
  export function getApiKey(config) {
69
- return config.apiKey || process.env.SILKY_API_KEY;
69
+ return config.apiKey || process.env.REBEL_API_KEY;
70
70
  }
71
71
  export function clearApiKey(config) {
72
72
  delete config.apiKey;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -6,9 +6,9 @@ export declare const ANCHOR_ERROR_MAP: Record<number, {
6
6
  code: string;
7
7
  message: string;
8
8
  }>;
9
- export declare const SILKYSIG_ERROR_MAP: Record<number, {
9
+ export declare const REBELSIG_ERROR_MAP: Record<number, {
10
10
  code: string;
11
11
  message: string;
12
12
  }>;
13
- export declare function toSilkysigError(err: unknown): SdkError;
13
+ export declare function toRebelSigError(err: unknown): SdkError;
14
14
  export declare function toSdkError(err: unknown): SdkError;
package/dist/errors.js CHANGED
@@ -38,7 +38,7 @@ export const ANCHOR_ERROR_MAP = {
38
38
  6028: { code: 'ANCHOR_TRANSFER_ALREADY_DECLINED', message: 'Transfer already declined' },
39
39
  6029: { code: 'ANCHOR_ONLY_RECIPIENT_CAN_DECLINE', message: 'Only recipient can decline transfer' },
40
40
  };
41
- export const SILKYSIG_ERROR_MAP = {
41
+ export const REBELSIG_ERROR_MAP = {
42
42
  6000: { code: 'POLICY_UNAUTHORIZED', message: 'Unauthorized: signer is not owner or operator' },
43
43
  6001: { code: 'POLICY_EXCEEDS_TX_LIMIT', message: 'Transfer exceeds operator per-transaction limit' },
44
44
  6002: { code: 'ACCOUNT_PAUSED', message: 'Account is paused' },
@@ -55,14 +55,14 @@ export const SILKYSIG_ERROR_MAP = {
55
55
  6013: { code: 'INVALID_DRIFT_PROGRAM', message: 'Invalid Drift program ID' },
56
56
  6014: { code: 'DRIFT_DELETE_USER_FAILED', message: 'Failed to delete Drift user' },
57
57
  };
58
- export function toSilkysigError(err) {
58
+ export function toRebelSigError(err) {
59
59
  if (err instanceof SdkError)
60
60
  return err;
61
61
  const message = err instanceof Error ? err.message : String(err);
62
62
  const hexMatch = message.match(/0x([0-9a-fA-F]+)/);
63
63
  if (hexMatch) {
64
64
  const errorCode = parseInt(hexMatch[1], 16);
65
- const mapped = SILKYSIG_ERROR_MAP[errorCode];
65
+ const mapped = REBELSIG_ERROR_MAP[errorCode];
66
66
  if (mapped) {
67
67
  return new SdkError(mapped.code, mapped.message);
68
68
  }
@@ -0,0 +1,13 @@
1
+ import type { FlowCondition } from './types.js';
2
+ export declare function isPriceCondition(c: FlowCondition): c is {
3
+ type: 'price_below' | 'price_above';
4
+ token: string;
5
+ target: number;
6
+ };
7
+ export declare function isTimeCondition(c: FlowCondition): c is {
8
+ type: 'time_reached';
9
+ timestamp: number;
10
+ };
11
+ export declare function priceBelowCondition(token: string, target: number): FlowCondition;
12
+ export declare function priceAboveCondition(token: string, target: number): FlowCondition;
13
+ export declare function timeReachedCondition(timestamp: number): FlowCondition;
@@ -0,0 +1,16 @@
1
+ export function isPriceCondition(c) {
2
+ return c.type === 'price_below' || c.type === 'price_above';
3
+ }
4
+ export function isTimeCondition(c) {
5
+ return c.type === 'time_reached';
6
+ }
7
+ export function priceBelowCondition(token, target) {
8
+ return { type: 'price_below', token, target };
9
+ }
10
+ export function priceAboveCondition(token, target) {
11
+ return { type: 'price_above', token, target };
12
+ }
13
+ export function timeReachedCondition(timestamp) {
14
+ return { type: 'time_reached', timestamp };
15
+ }
16
+ //# sourceMappingURL=conditions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../src/flows/conditions.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,CAAgB;IAC/C,OAAO,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAgB;IAC9C,OAAO,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,MAAc;IAC/D,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,MAAc;IAC/D,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { FlowEvent, FlowStatus } from './types.js';
2
+ import type { Intent } from '../intent/types.js';
3
+ export interface ExecutorOptions {
4
+ dryRun?: boolean;
5
+ heartbeatCall?: (flows: HeartbeatFlowPayload[]) => Promise<HeartbeatResponse>;
6
+ verifyTransaction?: (txBase64: string, intent: Intent) => Promise<{
7
+ matched: boolean;
8
+ discrepancies: string[];
9
+ }>;
10
+ signAndSubmit?: (txBase64: string) => Promise<string>;
11
+ now?: () => number;
12
+ }
13
+ export interface HeartbeatFlowPayload {
14
+ flowId: string;
15
+ version: number;
16
+ status: string;
17
+ type: string;
18
+ chain: string;
19
+ wallet: string;
20
+ currentStepId: string;
21
+ steps: any[];
22
+ state: any;
23
+ intent: Intent | null;
24
+ policy: any;
25
+ }
26
+ export interface HeartbeatResponse {
27
+ results: HeartbeatFlowResult[];
28
+ deregistered: string[];
29
+ hints: {
30
+ recommendedInterval: number;
31
+ };
32
+ }
33
+ export interface HeartbeatFlowResult {
34
+ flowId: string;
35
+ actionable: boolean;
36
+ condition?: {
37
+ met: boolean;
38
+ currentPrice?: number;
39
+ targetPrice?: number;
40
+ distance?: number;
41
+ };
42
+ transaction?: string;
43
+ quote?: Record<string, unknown>;
44
+ error?: string;
45
+ }
46
+ export interface FlowExecutionResult {
47
+ flowId: string;
48
+ status: FlowStatus;
49
+ event: FlowEvent;
50
+ }
51
+ export declare function executeHeartbeat(opts?: ExecutorOptions): Promise<FlowExecutionResult[]>;
@@ -0,0 +1,217 @@
1
+ import { loadFlows, saveFlows } from './store.js';
2
+ import { isFlowActive, getCurrentStep, isIntentStep, isFlowExpired, isInCooldown, getAttemptCount, makeFlowEvent, incrementVersion } from './helpers.js';
3
+ import { isDeferredIntent } from './resolve.js';
4
+ // --- Core function ---
5
+ export async function executeHeartbeat(opts = {}) {
6
+ const store = loadFlows();
7
+ const results = [];
8
+ const now = opts.now ? opts.now() : Date.now();
9
+ let modified = false;
10
+ const activeFlows = store.flows.filter(isFlowActive);
11
+ if (activeFlows.length === 0)
12
+ return results;
13
+ const payloads = [];
14
+ const flowMap = new Map();
15
+ for (const flow of activeFlows) {
16
+ if (isFlowExpired(flow, now)) {
17
+ flow.status = 'failed';
18
+ const event = makeFlowEvent('expired', { detail: `Expired at ${flow.policy.expiresAt}` });
19
+ flow.history.push(event);
20
+ incrementVersion(flow);
21
+ results.push({ flowId: flow.id, status: 'failed', event });
22
+ modified = true;
23
+ continue;
24
+ }
25
+ // Check cooldown
26
+ if (isInCooldown(flow, now))
27
+ continue;
28
+ // Check max attempts
29
+ if (flow.policy.maxAttempts !== undefined && getAttemptCount(flow) >= flow.policy.maxAttempts) {
30
+ flow.status = 'failed';
31
+ const event = makeFlowEvent('failed', { detail: `Reached ${flow.policy.maxAttempts} attempts` });
32
+ flow.history.push(event);
33
+ incrementVersion(flow);
34
+ results.push({ flowId: flow.id, status: 'failed', event });
35
+ modified = true;
36
+ continue;
37
+ }
38
+ // Get current step
39
+ const currentStep = getCurrentStep(flow);
40
+ if (!currentStep)
41
+ continue;
42
+ // Build payload
43
+ const intentToSend = getIntentForHeartbeat(flow);
44
+ payloads.push({
45
+ flowId: flow.id,
46
+ version: flow.version,
47
+ status: flow.status,
48
+ type: flow.type,
49
+ chain: flow.chain,
50
+ wallet: flow.wallet,
51
+ currentStepId: currentStep.id,
52
+ steps: flow.steps,
53
+ state: flow.state,
54
+ intent: intentToSend,
55
+ policy: flow.policy,
56
+ });
57
+ flowMap.set(flow.id, flow);
58
+ }
59
+ if (payloads.length === 0) {
60
+ if (modified)
61
+ saveFlows(store);
62
+ return results;
63
+ }
64
+ // Dry run stops here
65
+ if (opts.dryRun) {
66
+ for (const payload of payloads) {
67
+ results.push({
68
+ flowId: payload.flowId,
69
+ status: 'waiting',
70
+ event: makeFlowEvent('heartbeat', { detail: 'Dry run — would send to server' }),
71
+ });
72
+ }
73
+ if (modified)
74
+ saveFlows(store);
75
+ return results;
76
+ }
77
+ // No heartbeat callback — nothing more to do
78
+ if (!opts.heartbeatCall) {
79
+ if (modified)
80
+ saveFlows(store);
81
+ return results;
82
+ }
83
+ // Call heartbeat endpoint
84
+ let response;
85
+ try {
86
+ response = await opts.heartbeatCall(payloads);
87
+ }
88
+ catch (err) {
89
+ const message = err instanceof Error ? err.message : String(err);
90
+ for (const payload of payloads) {
91
+ const flow = flowMap.get(payload.flowId);
92
+ const event = makeFlowEvent('heartbeat', { detail: `Server error: ${message}` });
93
+ flow.history.push(event);
94
+ results.push({ flowId: flow.id, status: flow.status, event });
95
+ }
96
+ modified = true;
97
+ saveFlows(store);
98
+ return results;
99
+ }
100
+ // Process results
101
+ for (const flowResult of response.results) {
102
+ const flow = flowMap.get(flowResult.flowId);
103
+ if (!flow)
104
+ continue;
105
+ const payload = payloads.find(p => p.flowId === flowResult.flowId);
106
+ const result = await handleFlowResult(flow, flowResult, opts, payload?.intent ?? null);
107
+ if (result) {
108
+ results.push(result);
109
+ modified = true;
110
+ }
111
+ }
112
+ if (modified)
113
+ saveFlows(store);
114
+ return results;
115
+ }
116
+ // --- Result handler ---
117
+ async function handleFlowResult(flow, result, opts, resolvedIntent) {
118
+ if (!result.actionable) {
119
+ const event = makeFlowEvent('condition_checked', {
120
+ detail: result.condition
121
+ ? `Price: ${result.condition.currentPrice}, target: ${result.condition.targetPrice}, distance: ${result.condition.distance != null ? (result.condition.distance * 100).toFixed(1) + '%' : 'unknown'}`
122
+ : 'Not actionable',
123
+ data: result.condition,
124
+ });
125
+ flow.history.push(event);
126
+ return { flowId: flow.id, status: flow.status, event };
127
+ }
128
+ // Condition met but no transaction
129
+ if (!result.transaction) {
130
+ if (result.error) {
131
+ // Build failed — record as execution failure and retry later
132
+ const event = makeFlowEvent('execution_failed', {
133
+ detail: `Build failed: ${result.error}`,
134
+ data: result.condition,
135
+ });
136
+ flow.history.push(event);
137
+ flow.state.attempts += 1;
138
+ incrementVersion(flow);
139
+ return { flowId: flow.id, status: flow.status, event };
140
+ }
141
+ const event = makeFlowEvent('condition_met', {
142
+ detail: 'Condition met, no transaction returned',
143
+ data: result.condition,
144
+ });
145
+ flow.history.push(event);
146
+ advanceToNextStep(flow);
147
+ incrementVersion(flow);
148
+ return { flowId: flow.id, status: flow.status, event };
149
+ }
150
+ // Transaction returned — verify and sign
151
+ const attemptEvent = makeFlowEvent('execution_attempted');
152
+ flow.history.push(attemptEvent);
153
+ if (opts.verifyTransaction) {
154
+ if (!resolvedIntent) {
155
+ const failEvent = makeFlowEvent('execution_failed', { detail: 'No intent available for verification' });
156
+ flow.history.push(failEvent);
157
+ incrementVersion(flow);
158
+ return { flowId: flow.id, status: flow.status, event: failEvent };
159
+ }
160
+ const verification = await opts.verifyTransaction(result.transaction, resolvedIntent);
161
+ if (!verification.matched) {
162
+ const failEvent = makeFlowEvent('execution_failed', {
163
+ detail: `Verification failed: ${verification.discrepancies.join('; ')}`,
164
+ });
165
+ flow.history.push(failEvent);
166
+ incrementVersion(flow);
167
+ return { flowId: flow.id, status: flow.status, event: failEvent };
168
+ }
169
+ }
170
+ if (opts.signAndSubmit) {
171
+ try {
172
+ const txid = await opts.signAndSubmit(result.transaction);
173
+ const successEvent = makeFlowEvent('execution_succeeded', {
174
+ txid,
175
+ detail: result.quote ? JSON.stringify(result.quote) : undefined,
176
+ });
177
+ flow.history.push(successEvent);
178
+ advanceToCompletion(flow);
179
+ incrementVersion(flow);
180
+ return { flowId: flow.id, status: flow.status, event: successEvent };
181
+ }
182
+ catch (err) {
183
+ const message = err instanceof Error ? err.message : String(err);
184
+ const failEvent = makeFlowEvent('execution_failed', { detail: `Submit failed: ${message}` });
185
+ flow.history.push(failEvent);
186
+ flow.state.attempts += 1;
187
+ incrementVersion(flow);
188
+ return { flowId: flow.id, status: flow.status, event: failEvent };
189
+ }
190
+ }
191
+ return null;
192
+ }
193
+ // --- Internal helpers ---
194
+ function getIntentForHeartbeat(flow) {
195
+ for (let i = flow.state.currentStepIndex; i < flow.steps.length; i++) {
196
+ const step = flow.steps[i];
197
+ if (isIntentStep(step) && !isDeferredIntent(step.intent)) {
198
+ return step.intent;
199
+ }
200
+ }
201
+ return null;
202
+ }
203
+ function advanceToNextStep(flow) {
204
+ flow.state.currentStepIndex += 1;
205
+ flow.state.attempts = 0;
206
+ if (flow.state.currentStepIndex >= flow.steps.length) {
207
+ flow.status = 'completed';
208
+ }
209
+ else {
210
+ flow.status = 'active';
211
+ }
212
+ }
213
+ function advanceToCompletion(flow) {
214
+ flow.state.currentStepIndex = flow.steps.length;
215
+ flow.status = 'completed';
216
+ }
217
+ //# sourceMappingURL=executor.js.map