@elizaos/plugin-steward-app 2.0.3-beta.5 → 2.0.3-beta.7
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/ApprovalQueue.d.ts +18 -0
- package/dist/ApprovalQueue.d.ts.map +1 -0
- package/dist/ApprovalQueue.js +420 -0
- package/dist/ApprovalQueue.js.map +1 -0
- package/dist/StewardLogo.d.ts +11 -0
- package/dist/StewardLogo.d.ts.map +1 -0
- package/dist/StewardLogo.js +36 -0
- package/dist/StewardLogo.js.map +1 -0
- package/dist/StewardView.d.ts +13 -0
- package/dist/StewardView.d.ts.map +1 -0
- package/dist/StewardView.helpers.d.ts +15 -0
- package/dist/StewardView.helpers.d.ts.map +1 -0
- package/dist/StewardView.helpers.js +45 -0
- package/dist/StewardView.helpers.js.map +1 -0
- package/dist/StewardView.interact.d.ts +2 -0
- package/dist/StewardView.interact.d.ts.map +1 -0
- package/dist/StewardView.interact.js +54 -0
- package/dist/StewardView.interact.js.map +1 -0
- package/dist/StewardView.js +249 -0
- package/dist/StewardView.js.map +1 -0
- package/dist/TransactionHistory.d.ts +22 -0
- package/dist/TransactionHistory.d.ts.map +1 -0
- package/dist/TransactionHistory.js +361 -0
- package/dist/TransactionHistory.js.map +1 -0
- package/dist/__fixtures__/steward-sdk-fixtures.d.ts +10 -0
- package/dist/__fixtures__/steward-sdk-fixtures.d.ts.map +1 -0
- package/dist/__fixtures__/steward-sdk-fixtures.js +60 -0
- package/dist/__fixtures__/steward-sdk-fixtures.js.map +1 -0
- package/dist/actions/wallet-action-shared.d.ts +15 -0
- package/dist/actions/wallet-action-shared.d.ts.map +1 -0
- package/dist/actions/wallet-action-shared.js +16 -0
- package/dist/actions/wallet-action-shared.js.map +1 -0
- package/dist/api/binance-skill-helpers.d.ts +21 -0
- package/dist/api/binance-skill-helpers.d.ts.map +1 -0
- package/dist/api/binance-skill-helpers.js +790 -0
- package/dist/api/binance-skill-helpers.js.map +1 -0
- package/dist/api/bsc-trade.d.ts +36 -0
- package/dist/api/bsc-trade.d.ts.map +1 -0
- package/dist/api/bsc-trade.js +796 -0
- package/dist/api/bsc-trade.js.map +1 -0
- package/dist/api/trade-safety.d.ts +35 -0
- package/dist/api/trade-safety.d.ts.map +1 -0
- package/dist/api/trade-safety.js +56 -0
- package/dist/api/trade-safety.js.map +1 -0
- package/dist/api/tx-service.d.ts +53 -0
- package/dist/api/tx-service.d.ts.map +1 -0
- package/dist/api/tx-service.js +206 -0
- package/dist/api/tx-service.js.map +1 -0
- package/dist/api/wallet-bsc-routes.d.ts +63 -0
- package/dist/api/wallet-bsc-routes.d.ts.map +1 -0
- package/dist/api/wallet-bsc-routes.js +337 -0
- package/dist/api/wallet-bsc-routes.js.map +1 -0
- package/dist/api/wallet-capability.d.ts +2 -0
- package/dist/api/wallet-capability.d.ts.map +1 -0
- package/dist/api/wallet-capability.js +15 -0
- package/dist/api/wallet-capability.js.map +1 -0
- package/dist/api/wallet-dex-prices.d.ts +43 -0
- package/dist/api/wallet-dex-prices.d.ts.map +1 -0
- package/dist/api/wallet-dex-prices.js +132 -0
- package/dist/api/wallet-dex-prices.js.map +1 -0
- package/dist/api/wallet-evm-balance.d.ts +72 -0
- package/dist/api/wallet-evm-balance.d.ts.map +1 -0
- package/dist/api/wallet-evm-balance.js +697 -0
- package/dist/api/wallet-evm-balance.js.map +1 -0
- package/dist/api/wallet-routes.d.ts +27 -0
- package/dist/api/wallet-routes.d.ts.map +1 -0
- package/dist/api/wallet-routes.js +556 -0
- package/dist/api/wallet-routes.js.map +1 -0
- package/dist/api/wallet-rpc.d.ts +73 -0
- package/dist/api/wallet-rpc.d.ts.map +1 -0
- package/dist/api/wallet-rpc.js +460 -0
- package/dist/api/wallet-rpc.js.map +1 -0
- package/dist/api/wallet-trade-routes.d.ts +104 -0
- package/dist/api/wallet-trade-routes.d.ts.map +1 -0
- package/dist/api/wallet-trade-routes.js +353 -0
- package/dist/api/wallet-trade-routes.js.map +1 -0
- package/dist/api/wallet-trading-profile.d.ts +31 -0
- package/dist/api/wallet-trading-profile.d.ts.map +1 -0
- package/dist/api/wallet-trading-profile.js +500 -0
- package/dist/api/wallet-trading-profile.js.map +1 -0
- package/dist/api/wallet.d.ts +60 -0
- package/dist/api/wallet.d.ts.map +1 -0
- package/dist/api/wallet.js +617 -0
- package/dist/api/wallet.js.map +1 -0
- package/dist/chain-utils.d.ts +10 -0
- package/dist/chain-utils.d.ts.map +1 -0
- package/dist/chain-utils.js +81 -0
- package/dist/chain-utils.js.map +1 -0
- package/dist/components/StewardSpatialView.d.ts +74 -0
- package/dist/components/StewardSpatialView.d.ts.map +1 -0
- package/dist/components/StewardSpatialView.js +309 -0
- package/dist/components/StewardSpatialView.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +77 -0
- package/dist/index.js.map +1 -0
- package/dist/plugin.d.ts +21 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +319 -0
- package/dist/plugin.js.map +1 -0
- package/dist/providers/steward-balance.d.ts +12 -0
- package/dist/providers/steward-balance.d.ts.map +1 -0
- package/dist/providers/steward-balance.js +85 -0
- package/dist/providers/steward-balance.js.map +1 -0
- package/dist/providers/steward-receive-address.d.ts +12 -0
- package/dist/providers/steward-receive-address.d.ts.map +1 -0
- package/dist/providers/steward-receive-address.js +47 -0
- package/dist/providers/steward-receive-address.js.map +1 -0
- package/dist/register-routes.d.ts +2 -0
- package/dist/register-routes.d.ts.map +1 -0
- package/dist/register-routes.js +6 -0
- package/dist/register-routes.js.map +1 -0
- package/dist/register-terminal-view.d.ts +15 -0
- package/dist/register-terminal-view.d.ts.map +1 -0
- package/dist/register-terminal-view.js +34 -0
- package/dist/register-terminal-view.js.map +1 -0
- package/dist/routes/steward-bridge.d.ts +202 -0
- package/dist/routes/steward-bridge.d.ts.map +1 -0
- package/dist/routes/steward-bridge.js +776 -0
- package/dist/routes/steward-bridge.js.map +1 -0
- package/dist/routes/steward-compat-routes.d.ts +21 -0
- package/dist/routes/steward-compat-routes.d.ts.map +1 -0
- package/dist/routes/steward-compat-routes.js +350 -0
- package/dist/routes/steward-compat-routes.js.map +1 -0
- package/dist/routes/wallet-browser-compat-routes.d.ts +6 -0
- package/dist/routes/wallet-browser-compat-routes.d.ts.map +1 -0
- package/dist/routes/wallet-browser-compat-routes.js +402 -0
- package/dist/routes/wallet-browser-compat-routes.js.map +1 -0
- package/dist/routes/wallet-bsc-core-routes.d.ts +15 -0
- package/dist/routes/wallet-bsc-core-routes.d.ts.map +1 -0
- package/dist/routes/wallet-bsc-core-routes.js +59 -0
- package/dist/routes/wallet-bsc-core-routes.js.map +1 -0
- package/dist/routes/wallet-compat-routes.d.ts +13 -0
- package/dist/routes/wallet-compat-routes.d.ts.map +1 -0
- package/dist/routes/wallet-compat-routes.js +206 -0
- package/dist/routes/wallet-compat-routes.js.map +1 -0
- package/dist/routes/wallet-core-routes.d.ts +16 -0
- package/dist/routes/wallet-core-routes.d.ts.map +1 -0
- package/dist/routes/wallet-core-routes.js +48 -0
- package/dist/routes/wallet-core-routes.js.map +1 -0
- package/dist/routes/wallet-trade-compat-routes.d.ts +11 -0
- package/dist/routes/wallet-trade-compat-routes.d.ts.map +1 -0
- package/dist/routes/wallet-trade-compat-routes.js +570 -0
- package/dist/routes/wallet-trade-compat-routes.js.map +1 -0
- package/dist/security/hydrate-wallet-keys-from-platform-store.d.ts +7 -0
- package/dist/security/hydrate-wallet-keys-from-platform-store.d.ts.map +1 -0
- package/dist/security/hydrate-wallet-keys-from-platform-store.js +43 -0
- package/dist/security/hydrate-wallet-keys-from-platform-store.js.map +1 -0
- package/dist/security/wallet-os-store-actions.d.ts +14 -0
- package/dist/security/wallet-os-store-actions.d.ts.map +1 -0
- package/dist/security/wallet-os-store-actions.js +63 -0
- package/dist/security/wallet-os-store-actions.js.map +1 -0
- package/dist/services/steward-credentials.d.ts +2 -0
- package/dist/services/steward-credentials.d.ts.map +1 -0
- package/dist/services/steward-credentials.js +2 -0
- package/dist/services/steward-credentials.js.map +1 -0
- package/dist/services/steward-evm-account.d.ts +75 -0
- package/dist/services/steward-evm-account.d.ts.map +1 -0
- package/dist/services/steward-evm-account.js +279 -0
- package/dist/services/steward-evm-account.js.map +1 -0
- package/dist/services/steward-evm-bridge.d.ts +36 -0
- package/dist/services/steward-evm-bridge.d.ts.map +1 -0
- package/dist/services/steward-evm-bridge.js +78 -0
- package/dist/services/steward-evm-bridge.js.map +1 -0
- package/dist/services/steward-sidecar/health-check.d.ts +2 -0
- package/dist/services/steward-sidecar/health-check.d.ts.map +1 -0
- package/dist/services/steward-sidecar/health-check.js +2 -0
- package/dist/services/steward-sidecar/health-check.js.map +1 -0
- package/dist/services/steward-sidecar/helpers.d.ts +2 -0
- package/dist/services/steward-sidecar/helpers.d.ts.map +1 -0
- package/dist/services/steward-sidecar/helpers.js +2 -0
- package/dist/services/steward-sidecar/helpers.js.map +1 -0
- package/dist/services/steward-sidecar/process-management.d.ts +2 -0
- package/dist/services/steward-sidecar/process-management.d.ts.map +1 -0
- package/dist/services/steward-sidecar/process-management.js +2 -0
- package/dist/services/steward-sidecar/process-management.js.map +1 -0
- package/dist/services/steward-sidecar/types.d.ts +2 -0
- package/dist/services/steward-sidecar/types.d.ts.map +1 -0
- package/dist/services/steward-sidecar/types.js +2 -0
- package/dist/services/steward-sidecar/types.js.map +1 -0
- package/dist/services/steward-sidecar/wallet-setup.d.ts +2 -0
- package/dist/services/steward-sidecar/wallet-setup.d.ts.map +1 -0
- package/dist/services/steward-sidecar/wallet-setup.js +2 -0
- package/dist/services/steward-sidecar/wallet-setup.js.map +1 -0
- package/dist/services/steward-sidecar.d.ts +2 -0
- package/dist/services/steward-sidecar.d.ts.map +1 -0
- package/dist/services/steward-sidecar.js +2 -0
- package/dist/services/steward-sidecar.js.map +1 -0
- package/dist/services/steward-wallet.d.ts +25 -0
- package/dist/services/steward-wallet.d.ts.map +1 -0
- package/dist/services/steward-wallet.js +333 -0
- package/dist/services/steward-wallet.js.map +1 -0
- package/dist/steward-ui-state.d.ts +14 -0
- package/dist/steward-ui-state.d.ts.map +1 -0
- package/dist/steward-ui-state.js +46 -0
- package/dist/steward-ui-state.js.map +1 -0
- package/dist/steward-view-bundle.d.ts +3 -0
- package/dist/steward-view-bundle.d.ts.map +1 -0
- package/dist/steward-view-bundle.js +7 -0
- package/dist/steward-view-bundle.js.map +1 -0
- package/dist/types/bsc-trade.d.ts +180 -0
- package/dist/types/bsc-trade.d.ts.map +1 -0
- package/dist/types/bsc-trade.js +1 -0
- package/dist/types/bsc-trade.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/steward.d.ts +83 -0
- package/dist/types/steward.d.ts.map +1 -0
- package/dist/types/steward.js +1 -0
- package/dist/types/steward.js.map +1 -0
- package/dist/ui.d.ts +7 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +7 -0
- package/dist/ui.js.map +1 -0
- package/dist/views/bundle.js +601 -0
- package/dist/views/bundle.js.map +1 -0
- package/package.json +8 -8
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export * from "./ApprovalQueue.js";
|
|
2
|
+
export * from "./api/tx-service.js";
|
|
3
|
+
export * from "./api/wallet-dex-prices.js";
|
|
4
|
+
export * from "./chain-utils.js";
|
|
5
|
+
export { stewardPlugin } from "./plugin.js";
|
|
6
|
+
export { __resetStewardAgentEnsured, approveStewardTransaction, buildStewardHeaders, createStewardClient, denyStewardTransaction, type EnsureStewardAgentResult, ensureStewardAgent, formatStewardError, getRecentWebhookEvents, getStewardBalance, getStewardBridgeStatus, getStewardHistory, getStewardPendingApprovals as getStewardBridgePendingApprovals, getStewardTokenBalances, getStewardWalletAddresses, isStewardConfigured, provisionStewardWallet, pushWebhookEvent, registerStewardWebhook, resolveStewardAgentId, type StewardBalanceResult, type StewardBridgeOptions, type StewardBridgeStatus, type StewardExecutionResult, type StewardPendingApprovalResult, type StewardPendingEntry, type StewardSignedTransactionResult, type StewardTokenBalancesResult, type StewardWalletAddresses, type StewardWebhookEvent, type StewardWebhookEventType, signTransactionWithOptionalSteward, signViaSteward, tryRegisterStewardWebhook, } from "./routes/steward-bridge.js";
|
|
7
|
+
export * from "./routes/wallet-core-routes.js";
|
|
8
|
+
export * from "./StewardLogo.js";
|
|
9
|
+
export * from "./StewardView.js";
|
|
10
|
+
export * from "./StewardView.helpers.js";
|
|
11
|
+
export * from "./security/hydrate-wallet-keys-from-platform-store.js";
|
|
12
|
+
export * from "./security/wallet-os-store-actions.js";
|
|
13
|
+
export { loadStewardCredentials, type PersistedStewardCredentials, saveStewardCredentials, } from "./services/steward-credentials.js";
|
|
14
|
+
export * from "./services/steward-evm-account.js";
|
|
15
|
+
export * from "./services/steward-evm-bridge.js";
|
|
16
|
+
export * from "./services/steward-wallet.js";
|
|
17
|
+
export * from "./TransactionHistory.js";
|
|
18
|
+
export * from "./types/index.js";
|
|
19
|
+
export * from "./ui.js";
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,0BAA0B,IAAI,gCAAgC,EAC9D,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,kCAAkC,EAClC,cAAc,EACd,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oDAAoD,CAAC;AACnE,cAAc,oCAAoC,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,KAAK,2BAA2B,EAChC,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
if (typeof window === "undefined") {
|
|
2
|
+
void import("./register-terminal-view.js").then((m) => m.registerStewardTerminalView()).catch(() => {
|
|
3
|
+
});
|
|
4
|
+
}
|
|
5
|
+
export * from "./ApprovalQueue.js";
|
|
6
|
+
export * from "./api/tx-service.js";
|
|
7
|
+
export * from "./api/wallet-dex-prices.js";
|
|
8
|
+
export * from "./chain-utils.js";
|
|
9
|
+
import { stewardPlugin } from "./plugin.js";
|
|
10
|
+
import {
|
|
11
|
+
__resetStewardAgentEnsured,
|
|
12
|
+
approveStewardTransaction,
|
|
13
|
+
buildStewardHeaders,
|
|
14
|
+
createStewardClient,
|
|
15
|
+
denyStewardTransaction,
|
|
16
|
+
ensureStewardAgent,
|
|
17
|
+
formatStewardError,
|
|
18
|
+
getRecentWebhookEvents,
|
|
19
|
+
getStewardBalance,
|
|
20
|
+
getStewardBridgeStatus,
|
|
21
|
+
getStewardHistory,
|
|
22
|
+
getStewardPendingApprovals,
|
|
23
|
+
getStewardTokenBalances,
|
|
24
|
+
getStewardWalletAddresses,
|
|
25
|
+
isStewardConfigured,
|
|
26
|
+
provisionStewardWallet,
|
|
27
|
+
pushWebhookEvent,
|
|
28
|
+
registerStewardWebhook,
|
|
29
|
+
resolveStewardAgentId,
|
|
30
|
+
signTransactionWithOptionalSteward,
|
|
31
|
+
signViaSteward,
|
|
32
|
+
tryRegisterStewardWebhook
|
|
33
|
+
} from "./routes/steward-bridge.js";
|
|
34
|
+
export * from "./routes/wallet-core-routes.js";
|
|
35
|
+
export * from "./StewardLogo.js";
|
|
36
|
+
export * from "./StewardView.js";
|
|
37
|
+
export * from "./StewardView.helpers.js";
|
|
38
|
+
export * from "./security/hydrate-wallet-keys-from-platform-store.js";
|
|
39
|
+
export * from "./security/wallet-os-store-actions.js";
|
|
40
|
+
import {
|
|
41
|
+
loadStewardCredentials,
|
|
42
|
+
saveStewardCredentials
|
|
43
|
+
} from "./services/steward-credentials.js";
|
|
44
|
+
export * from "./services/steward-evm-account.js";
|
|
45
|
+
export * from "./services/steward-evm-bridge.js";
|
|
46
|
+
export * from "./services/steward-wallet.js";
|
|
47
|
+
export * from "./TransactionHistory.js";
|
|
48
|
+
export * from "./types/index.js";
|
|
49
|
+
export * from "./ui.js";
|
|
50
|
+
export {
|
|
51
|
+
__resetStewardAgentEnsured,
|
|
52
|
+
approveStewardTransaction,
|
|
53
|
+
buildStewardHeaders,
|
|
54
|
+
createStewardClient,
|
|
55
|
+
denyStewardTransaction,
|
|
56
|
+
ensureStewardAgent,
|
|
57
|
+
formatStewardError,
|
|
58
|
+
getRecentWebhookEvents,
|
|
59
|
+
getStewardBalance,
|
|
60
|
+
getStewardPendingApprovals as getStewardBridgePendingApprovals,
|
|
61
|
+
getStewardBridgeStatus,
|
|
62
|
+
getStewardHistory,
|
|
63
|
+
getStewardTokenBalances,
|
|
64
|
+
getStewardWalletAddresses,
|
|
65
|
+
isStewardConfigured,
|
|
66
|
+
loadStewardCredentials,
|
|
67
|
+
provisionStewardWallet,
|
|
68
|
+
pushWebhookEvent,
|
|
69
|
+
registerStewardWebhook,
|
|
70
|
+
resolveStewardAgentId,
|
|
71
|
+
saveStewardCredentials,
|
|
72
|
+
signTransactionWithOptionalSteward,
|
|
73
|
+
signViaSteward,
|
|
74
|
+
stewardPlugin,
|
|
75
|
+
tryRegisterStewardWebhook
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// In a terminal host (the Node agent, no DOM), register the Steward view so it\n// renders inline in the terminal. Lazy + DOM-guarded so the terminal engine\n// stays out of browser/mobile bundles.\nif (typeof window === \"undefined\") {\n void import(\"./register-terminal-view.js\")\n .then((m) => m.registerStewardTerminalView())\n .catch(() => {\n // Terminal rendering is best-effort; never block plugin load.\n });\n}\n\nexport * from \"./ApprovalQueue.js\";\nexport * from \"./api/tx-service.js\";\nexport * from \"./api/wallet-dex-prices.js\";\nexport * from \"./chain-utils.js\";\nexport { stewardPlugin } from \"./plugin.js\";\nexport {\n __resetStewardAgentEnsured,\n approveStewardTransaction,\n buildStewardHeaders,\n createStewardClient,\n denyStewardTransaction,\n type EnsureStewardAgentResult,\n ensureStewardAgent,\n formatStewardError,\n getRecentWebhookEvents,\n getStewardBalance,\n getStewardBridgeStatus,\n getStewardHistory,\n getStewardPendingApprovals as getStewardBridgePendingApprovals,\n getStewardTokenBalances,\n getStewardWalletAddresses,\n isStewardConfigured,\n provisionStewardWallet,\n pushWebhookEvent,\n registerStewardWebhook,\n resolveStewardAgentId,\n type StewardBalanceResult,\n type StewardBridgeOptions,\n type StewardBridgeStatus,\n type StewardExecutionResult,\n type StewardPendingApprovalResult,\n type StewardPendingEntry,\n type StewardSignedTransactionResult,\n type StewardTokenBalancesResult,\n type StewardWalletAddresses,\n type StewardWebhookEvent,\n type StewardWebhookEventType,\n signTransactionWithOptionalSteward,\n signViaSteward,\n tryRegisterStewardWebhook,\n} from \"./routes/steward-bridge.js\";\nexport * from \"./routes/wallet-core-routes.js\";\nexport * from \"./StewardLogo.js\";\nexport * from \"./StewardView.js\";\nexport * from \"./StewardView.helpers\";\nexport * from \"./security/hydrate-wallet-keys-from-platform-store.js\";\nexport * from \"./security/wallet-os-store-actions.js\";\nexport {\n loadStewardCredentials,\n type PersistedStewardCredentials,\n saveStewardCredentials,\n} from \"./services/steward-credentials.js\";\nexport * from \"./services/steward-evm-account.js\";\nexport * from \"./services/steward-evm-bridge.js\";\nexport * from \"./services/steward-wallet.js\";\nexport * from \"./TransactionHistory.js\";\nexport * from \"./types/index.js\";\nexport * from \"./ui.js\";\n"],"mappings":"AAGA,IAAI,OAAO,WAAW,aAAa;AACjC,OAAK,OAAO,6BAA6B,EACtC,KAAK,CAAC,MAAM,EAAE,4BAA4B,CAAC,EAC3C,MAAM,MAAM;AAAA,EAEb,CAAC;AACL;AAEA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,qBAAqB;AAC9B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAC8B;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAYA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd;AAAA,EACE;AAAA,EAEA;AAAA,OACK;AACP,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
package/dist/plugin.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Steward plugin — registers all Steward wallet compat routes with the
|
|
3
|
+
* elizaOS runtime plugin route system.
|
|
4
|
+
*
|
|
5
|
+
* All routes use `rawPath: true` to preserve the legacy `/api/wallet/*`
|
|
6
|
+
* and `/api/steward/*` paths without a plugin-name prefix.
|
|
7
|
+
*
|
|
8
|
+
* Handler modules:
|
|
9
|
+
* - wallet-core-routes (addresses, balances, import, generate, config, export)
|
|
10
|
+
* - wallet-bsc-core-routes (preflight, quote, tx-status, profile, transfer, defaults)
|
|
11
|
+
* - wallet-compat-routes (OS store, keys, NFTs)
|
|
12
|
+
* - wallet-browser-compat-routes (browser wallet bridge)
|
|
13
|
+
* - steward-compat-routes (steward wallet management)
|
|
14
|
+
* - wallet-trade-compat-routes (trade / transfer execution with steward signing)
|
|
15
|
+
*
|
|
16
|
+
* Each handler operates on raw `http.IncomingMessage` / `http.ServerResponse`,
|
|
17
|
+
* which the runtime plugin route bridge already passes through.
|
|
18
|
+
*/
|
|
19
|
+
import type { Plugin } from "@elizaos/core";
|
|
20
|
+
export declare const stewardPlugin: Plugin;
|
|
21
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAS,MAAM,eAAe,CAAC;AAqVnD,eAAO,MAAM,aAAa,EAAE,MAmC3B,CAAC"}
|
package/dist/plugin.js
ADDED
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
import { walletRouterAction } from "@elizaos/plugin-wallet";
|
|
2
|
+
import { stewardBalanceProvider } from "./providers/steward-balance.js";
|
|
3
|
+
import { stewardReceiveAddressProvider } from "./providers/steward-receive-address.js";
|
|
4
|
+
import { handleStewardCompatRoutes } from "./routes/steward-compat-routes.js";
|
|
5
|
+
import { handleWalletBrowserCompatRoutes } from "./routes/wallet-browser-compat-routes.js";
|
|
6
|
+
import { handleWalletBscCoreRoutes } from "./routes/wallet-bsc-core-routes.js";
|
|
7
|
+
import { handleWalletCompatRoutes } from "./routes/wallet-compat-routes.js";
|
|
8
|
+
import { handleWalletCoreRoutes } from "./routes/wallet-core-routes.js";
|
|
9
|
+
import { handleWalletTradeCompatRoutes } from "./routes/wallet-trade-compat-routes.js";
|
|
10
|
+
function buildCompatState(runtime) {
|
|
11
|
+
return { current: runtime };
|
|
12
|
+
}
|
|
13
|
+
function stewardRouteHandler(handler) {
|
|
14
|
+
return async (req, res, runtime) => {
|
|
15
|
+
const httpReq = req;
|
|
16
|
+
const httpRes = res;
|
|
17
|
+
await handler(httpReq, httpRes, buildCompatState(runtime));
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function coreRouteHandler(handler) {
|
|
21
|
+
return async (req, res, runtime) => {
|
|
22
|
+
const httpReq = req;
|
|
23
|
+
const httpRes = res;
|
|
24
|
+
await handler(httpReq, httpRes, runtime);
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const stewardRoutes = [
|
|
28
|
+
// ── Core wallet routes (addresses, balances, import, generate, config, export) ──
|
|
29
|
+
// GET /api/wallet/addresses
|
|
30
|
+
{
|
|
31
|
+
type: "GET",
|
|
32
|
+
path: "/api/wallet/addresses",
|
|
33
|
+
rawPath: true,
|
|
34
|
+
handler: coreRouteHandler(handleWalletCoreRoutes)
|
|
35
|
+
},
|
|
36
|
+
// GET /api/wallet/balances
|
|
37
|
+
{
|
|
38
|
+
type: "GET",
|
|
39
|
+
path: "/api/wallet/balances",
|
|
40
|
+
rawPath: true,
|
|
41
|
+
handler: coreRouteHandler(handleWalletCoreRoutes)
|
|
42
|
+
},
|
|
43
|
+
// POST /api/wallet/import
|
|
44
|
+
{
|
|
45
|
+
type: "POST",
|
|
46
|
+
path: "/api/wallet/import",
|
|
47
|
+
rawPath: true,
|
|
48
|
+
handler: coreRouteHandler(handleWalletCoreRoutes)
|
|
49
|
+
},
|
|
50
|
+
// POST /api/wallet/generate
|
|
51
|
+
{
|
|
52
|
+
type: "POST",
|
|
53
|
+
path: "/api/wallet/generate",
|
|
54
|
+
rawPath: true,
|
|
55
|
+
handler: coreRouteHandler(handleWalletCoreRoutes)
|
|
56
|
+
},
|
|
57
|
+
// GET /api/wallet/config
|
|
58
|
+
{
|
|
59
|
+
type: "GET",
|
|
60
|
+
path: "/api/wallet/config",
|
|
61
|
+
rawPath: true,
|
|
62
|
+
handler: coreRouteHandler(handleWalletCoreRoutes)
|
|
63
|
+
},
|
|
64
|
+
// PUT /api/wallet/config
|
|
65
|
+
{
|
|
66
|
+
type: "PUT",
|
|
67
|
+
path: "/api/wallet/config",
|
|
68
|
+
rawPath: true,
|
|
69
|
+
handler: coreRouteHandler(handleWalletCoreRoutes)
|
|
70
|
+
},
|
|
71
|
+
// POST /api/wallet/export
|
|
72
|
+
{
|
|
73
|
+
type: "POST",
|
|
74
|
+
path: "/api/wallet/export",
|
|
75
|
+
rawPath: true,
|
|
76
|
+
handler: coreRouteHandler(handleWalletCoreRoutes)
|
|
77
|
+
},
|
|
78
|
+
// ── BSC trade routes (preflight, quote, tx-status, profile, transfer, defaults) ──
|
|
79
|
+
// POST /api/wallet/trade/preflight
|
|
80
|
+
{
|
|
81
|
+
type: "POST",
|
|
82
|
+
path: "/api/wallet/trade/preflight",
|
|
83
|
+
rawPath: true,
|
|
84
|
+
handler: coreRouteHandler(handleWalletBscCoreRoutes)
|
|
85
|
+
},
|
|
86
|
+
// POST /api/wallet/trade/quote
|
|
87
|
+
{
|
|
88
|
+
type: "POST",
|
|
89
|
+
path: "/api/wallet/trade/quote",
|
|
90
|
+
rawPath: true,
|
|
91
|
+
handler: coreRouteHandler(handleWalletBscCoreRoutes)
|
|
92
|
+
},
|
|
93
|
+
// GET /api/wallet/trade/tx-status
|
|
94
|
+
{
|
|
95
|
+
type: "GET",
|
|
96
|
+
path: "/api/wallet/trade/tx-status",
|
|
97
|
+
rawPath: true,
|
|
98
|
+
handler: coreRouteHandler(handleWalletBscCoreRoutes)
|
|
99
|
+
},
|
|
100
|
+
// GET /api/wallet/trading/profile
|
|
101
|
+
{
|
|
102
|
+
type: "GET",
|
|
103
|
+
path: "/api/wallet/trading/profile",
|
|
104
|
+
rawPath: true,
|
|
105
|
+
handler: coreRouteHandler(handleWalletBscCoreRoutes)
|
|
106
|
+
},
|
|
107
|
+
// POST /api/wallet/production-defaults
|
|
108
|
+
{
|
|
109
|
+
type: "POST",
|
|
110
|
+
path: "/api/wallet/production-defaults",
|
|
111
|
+
rawPath: true,
|
|
112
|
+
handler: coreRouteHandler(handleWalletBscCoreRoutes)
|
|
113
|
+
},
|
|
114
|
+
// ── wallet-compat-routes (OS store, keys, NFTs) ────────────────────
|
|
115
|
+
// GET /api/wallet/os-store
|
|
116
|
+
{
|
|
117
|
+
type: "GET",
|
|
118
|
+
path: "/api/wallet/os-store",
|
|
119
|
+
rawPath: true,
|
|
120
|
+
handler: stewardRouteHandler(handleWalletCompatRoutes)
|
|
121
|
+
},
|
|
122
|
+
// POST /api/wallet/os-store
|
|
123
|
+
{
|
|
124
|
+
type: "POST",
|
|
125
|
+
path: "/api/wallet/os-store",
|
|
126
|
+
rawPath: true,
|
|
127
|
+
handler: stewardRouteHandler(handleWalletCompatRoutes)
|
|
128
|
+
},
|
|
129
|
+
// GET /api/wallet/keys
|
|
130
|
+
{
|
|
131
|
+
type: "GET",
|
|
132
|
+
path: "/api/wallet/keys",
|
|
133
|
+
rawPath: true,
|
|
134
|
+
handler: stewardRouteHandler(handleWalletCompatRoutes)
|
|
135
|
+
},
|
|
136
|
+
// GET /api/wallet/nfts
|
|
137
|
+
{
|
|
138
|
+
type: "GET",
|
|
139
|
+
path: "/api/wallet/nfts",
|
|
140
|
+
rawPath: true,
|
|
141
|
+
handler: stewardRouteHandler(handleWalletCompatRoutes)
|
|
142
|
+
},
|
|
143
|
+
// ── wallet-browser-compat-routes (browser wallet bridge) ───────────
|
|
144
|
+
// POST /api/wallet/browser-transaction
|
|
145
|
+
{
|
|
146
|
+
type: "POST",
|
|
147
|
+
path: "/api/wallet/browser-transaction",
|
|
148
|
+
rawPath: true,
|
|
149
|
+
handler: stewardRouteHandler(handleWalletBrowserCompatRoutes)
|
|
150
|
+
},
|
|
151
|
+
// POST /api/wallet/browser-sign-message
|
|
152
|
+
{
|
|
153
|
+
type: "POST",
|
|
154
|
+
path: "/api/wallet/browser-sign-message",
|
|
155
|
+
rawPath: true,
|
|
156
|
+
handler: stewardRouteHandler(handleWalletBrowserCompatRoutes)
|
|
157
|
+
},
|
|
158
|
+
// POST /api/wallet/browser-solana-sign-message
|
|
159
|
+
{
|
|
160
|
+
type: "POST",
|
|
161
|
+
path: "/api/wallet/browser-solana-sign-message",
|
|
162
|
+
rawPath: true,
|
|
163
|
+
handler: stewardRouteHandler(handleWalletBrowserCompatRoutes)
|
|
164
|
+
},
|
|
165
|
+
// POST /api/wallet/browser-solana-transaction
|
|
166
|
+
{
|
|
167
|
+
type: "POST",
|
|
168
|
+
path: "/api/wallet/browser-solana-transaction",
|
|
169
|
+
rawPath: true,
|
|
170
|
+
handler: stewardRouteHandler(handleWalletBrowserCompatRoutes)
|
|
171
|
+
},
|
|
172
|
+
// ── steward-compat-routes (steward wallet management) ──────────────
|
|
173
|
+
// GET /api/wallet/steward-status
|
|
174
|
+
{
|
|
175
|
+
type: "GET",
|
|
176
|
+
path: "/api/wallet/steward-status",
|
|
177
|
+
rawPath: true,
|
|
178
|
+
handler: stewardRouteHandler(handleStewardCompatRoutes)
|
|
179
|
+
},
|
|
180
|
+
// GET /api/wallet/steward-policies
|
|
181
|
+
{
|
|
182
|
+
type: "GET",
|
|
183
|
+
path: "/api/wallet/steward-policies",
|
|
184
|
+
rawPath: true,
|
|
185
|
+
handler: stewardRouteHandler(handleStewardCompatRoutes)
|
|
186
|
+
},
|
|
187
|
+
// PUT /api/wallet/steward-policies
|
|
188
|
+
{
|
|
189
|
+
type: "PUT",
|
|
190
|
+
path: "/api/wallet/steward-policies",
|
|
191
|
+
rawPath: true,
|
|
192
|
+
handler: stewardRouteHandler(handleStewardCompatRoutes)
|
|
193
|
+
},
|
|
194
|
+
// GET /api/wallet/steward-tx-records
|
|
195
|
+
{
|
|
196
|
+
type: "GET",
|
|
197
|
+
path: "/api/wallet/steward-tx-records",
|
|
198
|
+
rawPath: true,
|
|
199
|
+
handler: stewardRouteHandler(handleStewardCompatRoutes)
|
|
200
|
+
},
|
|
201
|
+
// GET /api/wallet/steward-pending-approvals
|
|
202
|
+
{
|
|
203
|
+
type: "GET",
|
|
204
|
+
path: "/api/wallet/steward-pending-approvals",
|
|
205
|
+
rawPath: true,
|
|
206
|
+
handler: stewardRouteHandler(handleStewardCompatRoutes)
|
|
207
|
+
},
|
|
208
|
+
// POST /api/wallet/steward-approve-tx
|
|
209
|
+
{
|
|
210
|
+
type: "POST",
|
|
211
|
+
path: "/api/wallet/steward-approve-tx",
|
|
212
|
+
rawPath: true,
|
|
213
|
+
handler: stewardRouteHandler(handleStewardCompatRoutes)
|
|
214
|
+
},
|
|
215
|
+
// POST /api/wallet/steward-deny-tx
|
|
216
|
+
{
|
|
217
|
+
type: "POST",
|
|
218
|
+
path: "/api/wallet/steward-deny-tx",
|
|
219
|
+
rawPath: true,
|
|
220
|
+
handler: stewardRouteHandler(handleStewardCompatRoutes)
|
|
221
|
+
},
|
|
222
|
+
// POST /api/wallet/steward-webhook (loopback only, no auth)
|
|
223
|
+
{
|
|
224
|
+
type: "POST",
|
|
225
|
+
path: "/api/wallet/steward-webhook",
|
|
226
|
+
rawPath: true,
|
|
227
|
+
public: true,
|
|
228
|
+
name: "steward-webhook",
|
|
229
|
+
handler: stewardRouteHandler(handleStewardCompatRoutes)
|
|
230
|
+
},
|
|
231
|
+
// GET /api/wallet/steward-webhook-events
|
|
232
|
+
{
|
|
233
|
+
type: "GET",
|
|
234
|
+
path: "/api/wallet/steward-webhook-events",
|
|
235
|
+
rawPath: true,
|
|
236
|
+
handler: stewardRouteHandler(handleStewardCompatRoutes)
|
|
237
|
+
},
|
|
238
|
+
// POST /api/wallet/steward-sign
|
|
239
|
+
{
|
|
240
|
+
type: "POST",
|
|
241
|
+
path: "/api/wallet/steward-sign",
|
|
242
|
+
rawPath: true,
|
|
243
|
+
handler: stewardRouteHandler(handleStewardCompatRoutes)
|
|
244
|
+
},
|
|
245
|
+
// GET /api/wallet/steward-addresses
|
|
246
|
+
{
|
|
247
|
+
type: "GET",
|
|
248
|
+
path: "/api/wallet/steward-addresses",
|
|
249
|
+
rawPath: true,
|
|
250
|
+
handler: stewardRouteHandler(handleStewardCompatRoutes)
|
|
251
|
+
},
|
|
252
|
+
// GET /api/wallet/steward-balances
|
|
253
|
+
{
|
|
254
|
+
type: "GET",
|
|
255
|
+
path: "/api/wallet/steward-balances",
|
|
256
|
+
rawPath: true,
|
|
257
|
+
handler: stewardRouteHandler(handleStewardCompatRoutes)
|
|
258
|
+
},
|
|
259
|
+
// GET /api/wallet/steward-tokens
|
|
260
|
+
{
|
|
261
|
+
type: "GET",
|
|
262
|
+
path: "/api/wallet/steward-tokens",
|
|
263
|
+
rawPath: true,
|
|
264
|
+
handler: stewardRouteHandler(handleStewardCompatRoutes)
|
|
265
|
+
},
|
|
266
|
+
// ── wallet-trade-compat-routes (trade / transfer execution) ────────
|
|
267
|
+
// POST /api/wallet/trade/execute
|
|
268
|
+
{
|
|
269
|
+
type: "POST",
|
|
270
|
+
path: "/api/wallet/trade/execute",
|
|
271
|
+
rawPath: true,
|
|
272
|
+
handler: stewardRouteHandler(handleWalletTradeCompatRoutes)
|
|
273
|
+
},
|
|
274
|
+
// POST /api/wallet/transfer/execute
|
|
275
|
+
{
|
|
276
|
+
type: "POST",
|
|
277
|
+
path: "/api/wallet/transfer/execute",
|
|
278
|
+
rawPath: true,
|
|
279
|
+
handler: stewardRouteHandler(handleWalletTradeCompatRoutes)
|
|
280
|
+
}
|
|
281
|
+
];
|
|
282
|
+
const stewardPlugin = {
|
|
283
|
+
name: "@elizaos/plugin-steward-app",
|
|
284
|
+
description: "Steward wallet management, browser wallet bridge, and trade/transfer routes (extracted from agent server.ts)",
|
|
285
|
+
routes: stewardRoutes,
|
|
286
|
+
actions: [
|
|
287
|
+
// Canonical wallet router — handles preview, swap, transfer, and other
|
|
288
|
+
// wallet subactions across registered chain backends.
|
|
289
|
+
walletRouterAction
|
|
290
|
+
],
|
|
291
|
+
providers: [
|
|
292
|
+
// Read-only wallet snapshots surfaced to the planner every turn.
|
|
293
|
+
stewardBalanceProvider,
|
|
294
|
+
stewardReceiveAddressProvider
|
|
295
|
+
],
|
|
296
|
+
views: [
|
|
297
|
+
// ONE declaration → GUI + XR + TUI, all drawn from the single StewardView
|
|
298
|
+
// spatial source. `modalities` is a plain literal here (plugin.ts is not in
|
|
299
|
+
// the view bundle), so no brand-new `@elizaos/core` runtime export reaches
|
|
300
|
+
// the bundle build.
|
|
301
|
+
{
|
|
302
|
+
id: "steward",
|
|
303
|
+
label: "Steward",
|
|
304
|
+
description: "Transaction history and approval queue for Steward wallet management",
|
|
305
|
+
icon: "Shield",
|
|
306
|
+
path: "/steward",
|
|
307
|
+
modalities: ["gui", "xr", "tui"],
|
|
308
|
+
bundlePath: "dist/views/bundle.js",
|
|
309
|
+
componentExport: "StewardView",
|
|
310
|
+
tags: ["finance", "wallet", "approvals", "transactions"],
|
|
311
|
+
visibleInManager: true,
|
|
312
|
+
desktopTabEnabled: true
|
|
313
|
+
}
|
|
314
|
+
]
|
|
315
|
+
};
|
|
316
|
+
export {
|
|
317
|
+
stewardPlugin
|
|
318
|
+
};
|
|
319
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/plugin.ts"],"sourcesContent":["/**\n * Steward plugin — registers all Steward wallet compat routes with the\n * elizaOS runtime plugin route system.\n *\n * All routes use `rawPath: true` to preserve the legacy `/api/wallet/*`\n * and `/api/steward/*` paths without a plugin-name prefix.\n *\n * Handler modules:\n * - wallet-core-routes (addresses, balances, import, generate, config, export)\n * - wallet-bsc-core-routes (preflight, quote, tx-status, profile, transfer, defaults)\n * - wallet-compat-routes (OS store, keys, NFTs)\n * - wallet-browser-compat-routes (browser wallet bridge)\n * - steward-compat-routes (steward wallet management)\n * - wallet-trade-compat-routes (trade / transfer execution with steward signing)\n *\n * Each handler operates on raw `http.IncomingMessage` / `http.ServerResponse`,\n * which the runtime plugin route bridge already passes through.\n */\n\nimport type http from \"node:http\";\nimport type { CompatRuntimeState } from \"@elizaos/app-core/api/compat-route-shared\";\nimport type { Plugin, Route } from \"@elizaos/core\";\nimport { walletRouterAction } from \"@elizaos/plugin-wallet\";\nimport { stewardBalanceProvider } from \"./providers/steward-balance.js\";\nimport { stewardReceiveAddressProvider } from \"./providers/steward-receive-address.js\";\nimport { handleStewardCompatRoutes } from \"./routes/steward-compat-routes.js\";\nimport { handleWalletBrowserCompatRoutes } from \"./routes/wallet-browser-compat-routes.js\";\nimport { handleWalletBscCoreRoutes } from \"./routes/wallet-bsc-core-routes.js\";\nimport { handleWalletCompatRoutes } from \"./routes/wallet-compat-routes.js\";\nimport { handleWalletCoreRoutes } from \"./routes/wallet-core-routes.js\";\nimport { handleWalletTradeCompatRoutes } from \"./routes/wallet-trade-compat-routes.js\";\n\n// ---------------------------------------------------------------------------\n// Helper: build a CompatRuntimeState adapter. The compat handlers need a `state`\n// object with `{ current: AgentRuntime | null }`. When dispatched via the\n// plugin route system the runtime is the third argument, so we thread it\n// through.\n// ---------------------------------------------------------------------------\n\nfunction buildCompatState(runtime: unknown): CompatRuntimeState {\n // The compat handlers only read `state.current` (the running AgentRuntime).\n // When invoked through the plugin route system, `runtime` is the live\n // AgentRuntime instance — pass it as `current`.\n return { current: runtime } as CompatRuntimeState;\n}\n\n// ---------------------------------------------------------------------------\n// Generic wrapper for any of the four compat handler functions.\n// ---------------------------------------------------------------------------\n\ntype CompatHandler = (\n req: http.IncomingMessage,\n res: http.ServerResponse,\n state: CompatRuntimeState,\n) => Promise<boolean>;\n\nfunction stewardRouteHandler(handler: CompatHandler) {\n return async (\n req: unknown,\n res: unknown,\n runtime: unknown,\n ): Promise<void> => {\n const httpReq = req as http.IncomingMessage;\n const httpRes = res as http.ServerResponse;\n await handler(httpReq, httpRes, buildCompatState(runtime));\n };\n}\n\n/** Wrapper for handlers that take (req, res, state) with state as unknown. */\ntype CoreHandler = (\n req: http.IncomingMessage,\n res: http.ServerResponse,\n state: unknown,\n) => Promise<boolean>;\n\nfunction coreRouteHandler(handler: CoreHandler) {\n return async (\n req: unknown,\n res: unknown,\n runtime: unknown,\n ): Promise<void> => {\n const httpReq = req as http.IncomingMessage;\n const httpRes = res as http.ServerResponse;\n await handler(httpReq, httpRes, runtime);\n };\n}\n\n// ---------------------------------------------------------------------------\n// Route definitions\n// ---------------------------------------------------------------------------\n\nconst stewardRoutes: Route[] = [\n // ── Core wallet routes (addresses, balances, import, generate, config, export) ──\n\n // GET /api/wallet/addresses\n {\n type: \"GET\",\n path: \"/api/wallet/addresses\",\n rawPath: true,\n handler: coreRouteHandler(handleWalletCoreRoutes),\n },\n // GET /api/wallet/balances\n {\n type: \"GET\",\n path: \"/api/wallet/balances\",\n rawPath: true,\n handler: coreRouteHandler(handleWalletCoreRoutes),\n },\n // POST /api/wallet/import\n {\n type: \"POST\",\n path: \"/api/wallet/import\",\n rawPath: true,\n handler: coreRouteHandler(handleWalletCoreRoutes),\n },\n // POST /api/wallet/generate\n {\n type: \"POST\",\n path: \"/api/wallet/generate\",\n rawPath: true,\n handler: coreRouteHandler(handleWalletCoreRoutes),\n },\n // GET /api/wallet/config\n {\n type: \"GET\",\n path: \"/api/wallet/config\",\n rawPath: true,\n handler: coreRouteHandler(handleWalletCoreRoutes),\n },\n // PUT /api/wallet/config\n {\n type: \"PUT\",\n path: \"/api/wallet/config\",\n rawPath: true,\n handler: coreRouteHandler(handleWalletCoreRoutes),\n },\n // POST /api/wallet/export\n {\n type: \"POST\",\n path: \"/api/wallet/export\",\n rawPath: true,\n handler: coreRouteHandler(handleWalletCoreRoutes),\n },\n\n // ── BSC trade routes (preflight, quote, tx-status, profile, transfer, defaults) ──\n\n // POST /api/wallet/trade/preflight\n {\n type: \"POST\",\n path: \"/api/wallet/trade/preflight\",\n rawPath: true,\n handler: coreRouteHandler(handleWalletBscCoreRoutes),\n },\n // POST /api/wallet/trade/quote\n {\n type: \"POST\",\n path: \"/api/wallet/trade/quote\",\n rawPath: true,\n handler: coreRouteHandler(handleWalletBscCoreRoutes),\n },\n // GET /api/wallet/trade/tx-status\n {\n type: \"GET\",\n path: \"/api/wallet/trade/tx-status\",\n rawPath: true,\n handler: coreRouteHandler(handleWalletBscCoreRoutes),\n },\n // GET /api/wallet/trading/profile\n {\n type: \"GET\",\n path: \"/api/wallet/trading/profile\",\n rawPath: true,\n handler: coreRouteHandler(handleWalletBscCoreRoutes),\n },\n // POST /api/wallet/production-defaults\n {\n type: \"POST\",\n path: \"/api/wallet/production-defaults\",\n rawPath: true,\n handler: coreRouteHandler(handleWalletBscCoreRoutes),\n },\n\n // ── wallet-compat-routes (OS store, keys, NFTs) ────────────────────\n\n // GET /api/wallet/os-store\n {\n type: \"GET\",\n path: \"/api/wallet/os-store\",\n rawPath: true,\n handler: stewardRouteHandler(handleWalletCompatRoutes),\n },\n // POST /api/wallet/os-store\n {\n type: \"POST\",\n path: \"/api/wallet/os-store\",\n rawPath: true,\n handler: stewardRouteHandler(handleWalletCompatRoutes),\n },\n // GET /api/wallet/keys\n {\n type: \"GET\",\n path: \"/api/wallet/keys\",\n rawPath: true,\n handler: stewardRouteHandler(handleWalletCompatRoutes),\n },\n // GET /api/wallet/nfts\n {\n type: \"GET\",\n path: \"/api/wallet/nfts\",\n rawPath: true,\n handler: stewardRouteHandler(handleWalletCompatRoutes),\n },\n\n // ── wallet-browser-compat-routes (browser wallet bridge) ───────────\n\n // POST /api/wallet/browser-transaction\n {\n type: \"POST\",\n path: \"/api/wallet/browser-transaction\",\n rawPath: true,\n handler: stewardRouteHandler(handleWalletBrowserCompatRoutes),\n },\n // POST /api/wallet/browser-sign-message\n {\n type: \"POST\",\n path: \"/api/wallet/browser-sign-message\",\n rawPath: true,\n handler: stewardRouteHandler(handleWalletBrowserCompatRoutes),\n },\n // POST /api/wallet/browser-solana-sign-message\n {\n type: \"POST\",\n path: \"/api/wallet/browser-solana-sign-message\",\n rawPath: true,\n handler: stewardRouteHandler(handleWalletBrowserCompatRoutes),\n },\n // POST /api/wallet/browser-solana-transaction\n {\n type: \"POST\",\n path: \"/api/wallet/browser-solana-transaction\",\n rawPath: true,\n handler: stewardRouteHandler(handleWalletBrowserCompatRoutes),\n },\n\n // ── steward-compat-routes (steward wallet management) ──────────────\n\n // GET /api/wallet/steward-status\n {\n type: \"GET\",\n path: \"/api/wallet/steward-status\",\n rawPath: true,\n handler: stewardRouteHandler(handleStewardCompatRoutes),\n },\n // GET /api/wallet/steward-policies\n {\n type: \"GET\",\n path: \"/api/wallet/steward-policies\",\n rawPath: true,\n handler: stewardRouteHandler(handleStewardCompatRoutes),\n },\n // PUT /api/wallet/steward-policies\n {\n type: \"PUT\",\n path: \"/api/wallet/steward-policies\",\n rawPath: true,\n handler: stewardRouteHandler(handleStewardCompatRoutes),\n },\n // GET /api/wallet/steward-tx-records\n {\n type: \"GET\",\n path: \"/api/wallet/steward-tx-records\",\n rawPath: true,\n handler: stewardRouteHandler(handleStewardCompatRoutes),\n },\n // GET /api/wallet/steward-pending-approvals\n {\n type: \"GET\",\n path: \"/api/wallet/steward-pending-approvals\",\n rawPath: true,\n handler: stewardRouteHandler(handleStewardCompatRoutes),\n },\n // POST /api/wallet/steward-approve-tx\n {\n type: \"POST\",\n path: \"/api/wallet/steward-approve-tx\",\n rawPath: true,\n handler: stewardRouteHandler(handleStewardCompatRoutes),\n },\n // POST /api/wallet/steward-deny-tx\n {\n type: \"POST\",\n path: \"/api/wallet/steward-deny-tx\",\n rawPath: true,\n handler: stewardRouteHandler(handleStewardCompatRoutes),\n },\n // POST /api/wallet/steward-webhook (loopback only, no auth)\n {\n type: \"POST\",\n path: \"/api/wallet/steward-webhook\",\n rawPath: true,\n public: true,\n name: \"steward-webhook\",\n handler: stewardRouteHandler(handleStewardCompatRoutes),\n },\n // GET /api/wallet/steward-webhook-events\n {\n type: \"GET\",\n path: \"/api/wallet/steward-webhook-events\",\n rawPath: true,\n handler: stewardRouteHandler(handleStewardCompatRoutes),\n },\n // POST /api/wallet/steward-sign\n {\n type: \"POST\",\n path: \"/api/wallet/steward-sign\",\n rawPath: true,\n handler: stewardRouteHandler(handleStewardCompatRoutes),\n },\n // GET /api/wallet/steward-addresses\n {\n type: \"GET\",\n path: \"/api/wallet/steward-addresses\",\n rawPath: true,\n handler: stewardRouteHandler(handleStewardCompatRoutes),\n },\n // GET /api/wallet/steward-balances\n {\n type: \"GET\",\n path: \"/api/wallet/steward-balances\",\n rawPath: true,\n handler: stewardRouteHandler(handleStewardCompatRoutes),\n },\n // GET /api/wallet/steward-tokens\n {\n type: \"GET\",\n path: \"/api/wallet/steward-tokens\",\n rawPath: true,\n handler: stewardRouteHandler(handleStewardCompatRoutes),\n },\n\n // ── wallet-trade-compat-routes (trade / transfer execution) ────────\n\n // POST /api/wallet/trade/execute\n {\n type: \"POST\",\n path: \"/api/wallet/trade/execute\",\n rawPath: true,\n handler: stewardRouteHandler(handleWalletTradeCompatRoutes),\n },\n // POST /api/wallet/transfer/execute\n {\n type: \"POST\",\n path: \"/api/wallet/transfer/execute\",\n rawPath: true,\n handler: stewardRouteHandler(handleWalletTradeCompatRoutes),\n },\n];\n\n// ---------------------------------------------------------------------------\n// Plugin export\n// ---------------------------------------------------------------------------\n\nexport const stewardPlugin: Plugin = {\n name: \"@elizaos/plugin-steward-app\",\n description:\n \"Steward wallet management, browser wallet bridge, and trade/transfer routes (extracted from agent server.ts)\",\n routes: stewardRoutes,\n actions: [\n // Canonical wallet router — handles preview, swap, transfer, and other\n // wallet subactions across registered chain backends.\n walletRouterAction,\n ],\n providers: [\n // Read-only wallet snapshots surfaced to the planner every turn.\n stewardBalanceProvider,\n stewardReceiveAddressProvider,\n ],\n views: [\n // ONE declaration → GUI + XR + TUI, all drawn from the single StewardView\n // spatial source. `modalities` is a plain literal here (plugin.ts is not in\n // the view bundle), so no brand-new `@elizaos/core` runtime export reaches\n // the bundle build.\n {\n id: \"steward\",\n label: \"Steward\",\n description:\n \"Transaction history and approval queue for Steward wallet management\",\n icon: \"Shield\",\n path: \"/steward\",\n modalities: [\"gui\", \"xr\", \"tui\"],\n bundlePath: \"dist/views/bundle.js\",\n componentExport: \"StewardView\",\n tags: [\"finance\", \"wallet\", \"approvals\", \"transactions\"],\n visibleInManager: true,\n desktopTabEnabled: true,\n },\n ],\n};\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* stewardBalance provider — read-only wallet balance snapshot for the planner.
|
|
3
|
+
*
|
|
4
|
+
* Replaces the legacy CHECK_BALANCE action. Fetches `/api/wallet/balances` and
|
|
5
|
+
* renders a JSON-encoded summary so the LLM can see chain holdings without a
|
|
6
|
+
* mutating action call.
|
|
7
|
+
*
|
|
8
|
+
* @module providers/steward-balance
|
|
9
|
+
*/
|
|
10
|
+
import type { Provider } from "@elizaos/core";
|
|
11
|
+
export declare const stewardBalanceProvider: Provider;
|
|
12
|
+
//# sourceMappingURL=steward-balance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"steward-balance.d.ts","sourceRoot":"","sources":["../../src/providers/steward-balance.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAGV,QAAQ,EAIT,MAAM,eAAe,CAAC;AA8FvB,eAAO,MAAM,sBAAsB,EAAE,QAgDpC,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildAuthHeaders,
|
|
3
|
+
getWalletActionApiPort
|
|
4
|
+
} from "../actions/wallet-action-shared.js";
|
|
5
|
+
const BALANCE_TIMEOUT_MS = 1e4;
|
|
6
|
+
const MAX_TOKENS_PER_CHAIN = 10;
|
|
7
|
+
function buildSnapshot(data) {
|
|
8
|
+
return {
|
|
9
|
+
evm: data.evm ? {
|
|
10
|
+
address: data.evm.address,
|
|
11
|
+
chains: data.evm.chains.map(
|
|
12
|
+
(c) => ({
|
|
13
|
+
chain: c.chain,
|
|
14
|
+
chainId: c.chainId,
|
|
15
|
+
nativeSymbol: c.nativeSymbol,
|
|
16
|
+
nativeBalance: c.nativeBalance,
|
|
17
|
+
nativeValueUsd: c.nativeValueUsd,
|
|
18
|
+
tokens: c.tokens.slice(0, MAX_TOKENS_PER_CHAIN).map((t) => ({
|
|
19
|
+
symbol: t.symbol,
|
|
20
|
+
balance: t.balance,
|
|
21
|
+
valueUsd: t.valueUsd
|
|
22
|
+
})),
|
|
23
|
+
tokenOverflow: Math.max(
|
|
24
|
+
0,
|
|
25
|
+
c.tokens.length - MAX_TOKENS_PER_CHAIN
|
|
26
|
+
),
|
|
27
|
+
error: c.error
|
|
28
|
+
})
|
|
29
|
+
)
|
|
30
|
+
} : null,
|
|
31
|
+
solana: data.solana ? {
|
|
32
|
+
address: data.solana.address,
|
|
33
|
+
solBalance: data.solana.solBalance,
|
|
34
|
+
solValueUsd: data.solana.solValueUsd,
|
|
35
|
+
tokens: data.solana.tokens.slice(0, MAX_TOKENS_PER_CHAIN).map((t) => ({
|
|
36
|
+
symbol: t.symbol,
|
|
37
|
+
balance: t.balance,
|
|
38
|
+
valueUsd: t.valueUsd
|
|
39
|
+
})),
|
|
40
|
+
tokenOverflow: Math.max(
|
|
41
|
+
0,
|
|
42
|
+
data.solana.tokens.length - MAX_TOKENS_PER_CHAIN
|
|
43
|
+
)
|
|
44
|
+
} : null
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
const stewardBalanceProvider = {
|
|
48
|
+
name: "stewardBalance",
|
|
49
|
+
description: "Wallet balances across configured chains (EVM + Solana). Read-only snapshot for the planner so it can answer balance / portfolio / holdings questions without invoking a mutating action.",
|
|
50
|
+
descriptionCompressed: "Wallet balances across chains.",
|
|
51
|
+
dynamic: true,
|
|
52
|
+
contexts: ["finance", "wallet", "crypto"],
|
|
53
|
+
contextGate: { anyOf: ["finance", "wallet", "crypto"] },
|
|
54
|
+
cacheStable: false,
|
|
55
|
+
cacheScope: "turn",
|
|
56
|
+
get: async (_runtime, _message, _state) => {
|
|
57
|
+
try {
|
|
58
|
+
const response = await fetch(
|
|
59
|
+
`http://127.0.0.1:${getWalletActionApiPort()}/api/wallet/balances`,
|
|
60
|
+
{
|
|
61
|
+
headers: { ...buildAuthHeaders() },
|
|
62
|
+
signal: AbortSignal.timeout(BALANCE_TIMEOUT_MS)
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
if (!response.ok) {
|
|
66
|
+
return { text: "" };
|
|
67
|
+
}
|
|
68
|
+
const data = await response.json();
|
|
69
|
+
const snapshot = buildSnapshot(data);
|
|
70
|
+
if (!snapshot.evm && !snapshot.solana) {
|
|
71
|
+
return { text: "" };
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
text: JSON.stringify({ steward_balance: snapshot }),
|
|
75
|
+
data: { snapshot }
|
|
76
|
+
};
|
|
77
|
+
} catch {
|
|
78
|
+
return { text: "", data: { snapshot: null } };
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
export {
|
|
83
|
+
stewardBalanceProvider
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=steward-balance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/providers/steward-balance.ts"],"sourcesContent":["/**\n * stewardBalance provider — read-only wallet balance snapshot for the planner.\n *\n * Replaces the legacy CHECK_BALANCE action. Fetches `/api/wallet/balances` and\n * renders a JSON-encoded summary so the LLM can see chain holdings without a\n * mutating action call.\n *\n * @module providers/steward-balance\n */\n\nimport type {\n IAgentRuntime,\n Memory,\n Provider,\n ProviderResult,\n State,\n WalletBalancesResponse,\n} from \"@elizaos/core\";\nimport {\n buildAuthHeaders,\n getWalletActionApiPort,\n} from \"../actions/wallet-action-shared.js\";\n\n/** Timeout for the balance API call. */\nconst BALANCE_TIMEOUT_MS = 10_000;\n\n/** Maximum token holdings to surface per chain. */\nconst MAX_TOKENS_PER_CHAIN = 10;\n\ninterface BalanceEvmChainSummary {\n chain: string;\n chainId: number;\n nativeSymbol: string;\n nativeBalance: string;\n nativeValueUsd: string;\n tokens: Array<{\n symbol: string;\n balance: string;\n valueUsd: string;\n }>;\n tokenOverflow: number;\n error: string | null;\n}\n\ninterface BalanceSolanaSummary {\n address: string;\n solBalance: string;\n solValueUsd: string;\n tokens: Array<{\n symbol: string;\n balance: string;\n valueUsd: string;\n }>;\n tokenOverflow: number;\n}\n\ninterface BalanceSnapshot {\n evm: {\n address: string;\n chains: BalanceEvmChainSummary[];\n } | null;\n solana: BalanceSolanaSummary | null;\n}\n\nfunction buildSnapshot(data: WalletBalancesResponse): BalanceSnapshot {\n return {\n evm: data.evm\n ? {\n address: data.evm.address,\n chains: data.evm.chains.map(\n (c): BalanceEvmChainSummary => ({\n chain: c.chain,\n chainId: c.chainId,\n nativeSymbol: c.nativeSymbol,\n nativeBalance: c.nativeBalance,\n nativeValueUsd: c.nativeValueUsd,\n tokens: c.tokens.slice(0, MAX_TOKENS_PER_CHAIN).map((t) => ({\n symbol: t.symbol,\n balance: t.balance,\n valueUsd: t.valueUsd,\n })),\n tokenOverflow: Math.max(\n 0,\n c.tokens.length - MAX_TOKENS_PER_CHAIN,\n ),\n error: c.error,\n }),\n ),\n }\n : null,\n solana: data.solana\n ? {\n address: data.solana.address,\n solBalance: data.solana.solBalance,\n solValueUsd: data.solana.solValueUsd,\n tokens: data.solana.tokens\n .slice(0, MAX_TOKENS_PER_CHAIN)\n .map((t) => ({\n symbol: t.symbol,\n balance: t.balance,\n valueUsd: t.valueUsd,\n })),\n tokenOverflow: Math.max(\n 0,\n data.solana.tokens.length - MAX_TOKENS_PER_CHAIN,\n ),\n }\n : null,\n };\n}\n\nexport const stewardBalanceProvider: Provider = {\n name: \"stewardBalance\",\n\n description:\n \"Wallet balances across configured chains (EVM + Solana). Read-only \" +\n \"snapshot for the planner so it can answer balance / portfolio / holdings \" +\n \"questions without invoking a mutating action.\",\n descriptionCompressed: \"Wallet balances across chains.\",\n\n dynamic: true,\n contexts: [\"finance\", \"wallet\", \"crypto\"],\n contextGate: { anyOf: [\"finance\", \"wallet\", \"crypto\"] },\n cacheStable: false,\n cacheScope: \"turn\",\n\n get: async (\n _runtime: IAgentRuntime,\n _message: Memory,\n _state: State,\n ): Promise<ProviderResult> => {\n try {\n const response = await fetch(\n `http://127.0.0.1:${getWalletActionApiPort()}/api/wallet/balances`,\n {\n headers: { ...buildAuthHeaders() },\n signal: AbortSignal.timeout(BALANCE_TIMEOUT_MS),\n },\n );\n\n if (!response.ok) {\n return { text: \"\" };\n }\n\n const data = (await response.json()) as WalletBalancesResponse;\n const snapshot = buildSnapshot(data);\n\n if (!snapshot.evm && !snapshot.solana) {\n return { text: \"\" };\n }\n\n return {\n text: JSON.stringify({ steward_balance: snapshot }),\n data: { snapshot },\n };\n } catch {\n return { text: \"\", data: { snapshot: null } };\n }\n },\n};\n"],"mappings":"AAkBA;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAGP,MAAM,qBAAqB;AAG3B,MAAM,uBAAuB;AAqC7B,SAAS,cAAc,MAA+C;AACpE,SAAO;AAAA,IACL,KAAK,KAAK,MACN;AAAA,MACE,SAAS,KAAK,IAAI;AAAA,MAClB,QAAQ,KAAK,IAAI,OAAO;AAAA,QACtB,CAAC,OAA+B;AAAA,UAC9B,OAAO,EAAE;AAAA,UACT,SAAS,EAAE;AAAA,UACX,cAAc,EAAE;AAAA,UAChB,eAAe,EAAE;AAAA,UACjB,gBAAgB,EAAE;AAAA,UAClB,QAAQ,EAAE,OAAO,MAAM,GAAG,oBAAoB,EAAE,IAAI,CAAC,OAAO;AAAA,YAC1D,QAAQ,EAAE;AAAA,YACV,SAAS,EAAE;AAAA,YACX,UAAU,EAAE;AAAA,UACd,EAAE;AAAA,UACF,eAAe,KAAK;AAAA,YAClB;AAAA,YACA,EAAE,OAAO,SAAS;AAAA,UACpB;AAAA,UACA,OAAO,EAAE;AAAA,QACX;AAAA,MACF;AAAA,IACF,IACA;AAAA,IACJ,QAAQ,KAAK,SACT;AAAA,MACE,SAAS,KAAK,OAAO;AAAA,MACrB,YAAY,KAAK,OAAO;AAAA,MACxB,aAAa,KAAK,OAAO;AAAA,MACzB,QAAQ,KAAK,OAAO,OACjB,MAAM,GAAG,oBAAoB,EAC7B,IAAI,CAAC,OAAO;AAAA,QACX,QAAQ,EAAE;AAAA,QACV,SAAS,EAAE;AAAA,QACX,UAAU,EAAE;AAAA,MACd,EAAE;AAAA,MACJ,eAAe,KAAK;AAAA,QAClB;AAAA,QACA,KAAK,OAAO,OAAO,SAAS;AAAA,MAC9B;AAAA,IACF,IACA;AAAA,EACN;AACF;AAEO,MAAM,yBAAmC;AAAA,EAC9C,MAAM;AAAA,EAEN,aACE;AAAA,EAGF,uBAAuB;AAAA,EAEvB,SAAS;AAAA,EACT,UAAU,CAAC,WAAW,UAAU,QAAQ;AAAA,EACxC,aAAa,EAAE,OAAO,CAAC,WAAW,UAAU,QAAQ,EAAE;AAAA,EACtD,aAAa;AAAA,EACb,YAAY;AAAA,EAEZ,KAAK,OACH,UACA,UACA,WAC4B;AAC5B,QAAI;AACF,YAAM,WAAW,MAAM;AAAA,QACrB,oBAAoB,uBAAuB,CAAC;AAAA,QAC5C;AAAA,UACE,SAAS,EAAE,GAAG,iBAAiB,EAAE;AAAA,UACjC,QAAQ,YAAY,QAAQ,kBAAkB;AAAA,QAChD;AAAA,MACF;AAEA,UAAI,CAAC,SAAS,IAAI;AAChB,eAAO,EAAE,MAAM,GAAG;AAAA,MACpB;AAEA,YAAM,OAAQ,MAAM,SAAS,KAAK;AAClC,YAAM,WAAW,cAAc,IAAI;AAEnC,UAAI,CAAC,SAAS,OAAO,CAAC,SAAS,QAAQ;AACrC,eAAO,EAAE,MAAM,GAAG;AAAA,MACpB;AAEA,aAAO;AAAA,QACL,MAAM,KAAK,UAAU,EAAE,iBAAiB,SAAS,CAAC;AAAA,QAClD,MAAM,EAAE,SAAS;AAAA,MACnB;AAAA,IACF,QAAQ;AACN,aAAO,EAAE,MAAM,IAAI,MAAM,EAAE,UAAU,KAAK,EAAE;AAAA,IAC9C;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* stewardReceiveAddress provider — wallet receive addresses for the planner.
|
|
3
|
+
*
|
|
4
|
+
* Replaces the legacy GET_RECEIVE_ADDRESS action. Fetches
|
|
5
|
+
* `/api/wallet/addresses` and renders a JSON-encoded summary so the LLM can
|
|
6
|
+
* surface the user's deposit address without invoking a mutating action.
|
|
7
|
+
*
|
|
8
|
+
* @module providers/steward-receive-address
|
|
9
|
+
*/
|
|
10
|
+
import type { Provider } from "@elizaos/core";
|
|
11
|
+
export declare const stewardReceiveAddressProvider: Provider;
|
|
12
|
+
//# sourceMappingURL=steward-receive-address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"steward-receive-address.d.ts","sourceRoot":"","sources":["../../src/providers/steward-receive-address.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAGV,QAAQ,EAIT,MAAM,eAAe,CAAC;AAcvB,eAAO,MAAM,6BAA6B,EAAE,QAmD3C,CAAC"}
|