@paysponge/sdk 0.1.64 → 0.1.65

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/README.md CHANGED
@@ -190,6 +190,10 @@ npx spongewallet balance
190
190
  npx spongewallet send base 0xabc... USDC 10
191
191
  npx spongewallet swap tempo pathUSD USDC.e 1
192
192
  npx spongewallet tx status base 0x123...
193
+ npx spongewallet pay discover "web search"
194
+ npx spongewallet pay service <service-id>
195
+ npx spongewallet market polymarket search "Sixers Celtics"
196
+ npx spongewallet market polymarket order nba-phi-bos-2026-05-02 yes buy 3 --price 0.40
193
197
 
194
198
  # Raw tool commands remain available under "advanced"
195
199
  npx spongewallet advanced get-balance --chain base
@@ -46,6 +46,29 @@ export interface MppFetchOptions {
46
46
  body?: unknown;
47
47
  chain?: "tempo" | "tempo-testnet";
48
48
  }
49
+ export interface DiscoverServicesOptions {
50
+ type?: string;
51
+ limit?: number;
52
+ offset?: number;
53
+ query?: string;
54
+ category?: string;
55
+ }
56
+ export interface PolymarketOptions {
57
+ action: "enable" | "signup" | "status" | "order" | "positions" | "orders" | "balance_allowance" | "refresh_balance_allowance" | "get_order" | "cancel" | "search_markets" | "get_market" | "get_market_price" | "set_allowances" | "deposit" | "deposit_from_wallet" | "withdraw" | "withdraw_native" | "redeem";
58
+ market_slug?: string;
59
+ token_id?: string;
60
+ outcome?: "yes" | "no";
61
+ side?: "buy" | "sell";
62
+ size?: number;
63
+ type?: "limit" | "market";
64
+ price?: number;
65
+ order_type?: "GTC" | "GTD" | "FOK" | "FAK";
66
+ order_id?: string;
67
+ query?: string;
68
+ limit?: number;
69
+ amount?: string;
70
+ condition_id?: string;
71
+ }
49
72
  export declare class PublicToolsApi {
50
73
  private readonly http;
51
74
  constructor(http: HttpClient);
@@ -62,5 +85,8 @@ export declare class PublicToolsApi {
62
85
  paidFetch(options: PaidFetchOptions): Promise<unknown>;
63
86
  x402Fetch(options: X402FetchOptions): Promise<unknown>;
64
87
  mppFetch(options: MppFetchOptions): Promise<unknown>;
88
+ discoverServices(options?: DiscoverServicesOptions): Promise<unknown>;
89
+ getService(serviceId: string): Promise<unknown>;
90
+ polymarket(options: PolymarketOptions): Promise<unknown>;
65
91
  }
66
92
  //# sourceMappingURL=public-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-tools.d.ts","sourceRoot":"","sources":["../../src/api/public-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-tools.d.ts","sourceRoot":"","sources":["../../src/api/public-tools.ts"],"names":[],"mappings":"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"}
@@ -107,5 +107,20 @@ export class PublicToolsApi {
107
107
  method,
108
108
  });
109
109
  }
110
+ async discoverServices(options = {}) {
111
+ return this.http.get("/api/discover", {
112
+ type: options.type,
113
+ limit: options.limit?.toString(),
114
+ offset: options.offset?.toString(),
115
+ query: options.query,
116
+ category: options.category,
117
+ });
118
+ }
119
+ async getService(serviceId) {
120
+ return this.http.get(`/api/discover/${encodeURIComponent(serviceId)}`);
121
+ }
122
+ async polymarket(options) {
123
+ return this.http.post("/api/polymarket", options);
124
+ }
110
125
  }
111
126
  //# sourceMappingURL=public-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-tools.js","sourceRoot":"","sources":["../../src/api/public-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-tools.js","sourceRoot":"","sources":["../../src/api/public-tools.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgB,MAAM,WAAW,CAAC;AAkBlD,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAkChC,UAAU,WAAW;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,wBAAgB,eAAe,CAAC,QAAQ,GAAE,WAAgB,GAAG,OAAO,CA0EnE;AAED,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,GAAE,WAAgB,GACzB,OAAO,CAAC,IAAI,CAAC,CAaf;AAu8DD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,QAapE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgB,MAAM,WAAW,CAAC;AAkBlD,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAkChC,UAAU,WAAW;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,wBAAgB,eAAe,CAAC,QAAQ,GAAE,WAAgB,GAAG,OAAO,CA0EnE;AAED,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,GAAE,WAAgB,GACzB,OAAO,CAAC,IAAI,CAAC,CAaf;AA+vED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,QAapE"}
package/dist/cli.js CHANGED
@@ -748,6 +748,36 @@ function registerCuratedCommands(program, shared) {
748
748
  });
749
749
  });
750
750
  const payCmd = program.command("pay").description("Paid API and payment helpers");
751
+ shared(payCmd.command("discover").description("Discover paid API services"))
752
+ .usage("[query] [options]")
753
+ .argument("[query]", "service search query")
754
+ .option("--query <query>", "service search query")
755
+ .option("--category <category>", "service category filter")
756
+ .option("--type <type>", "service type filter")
757
+ .option("--limit <n>", "maximum results", parseInt)
758
+ .option("--offset <n>", "result offset", parseInt)
759
+ .addHelpText("after", "\nExamples:\n spongewallet pay discover \"web search\"\n spongewallet pay discover --category search --limit 5\n")
760
+ .action(async (queryArg, opts) => {
761
+ const wallet = await connectWallet(opts);
762
+ const data = await wallet.discoverServices({
763
+ query: queryArg ?? opts.query,
764
+ category: opts.category,
765
+ type: opts.type,
766
+ limit: opts.limit,
767
+ offset: opts.offset,
768
+ });
769
+ displayToolResult(getToolDefinition("discover_services"), data);
770
+ });
771
+ shared(payCmd.command("service").description("Get paid API service endpoint details"))
772
+ .usage("[serviceId] [options]")
773
+ .argument("[serviceId]", "service ID returned by discover")
774
+ .option("--service-id <id>", "service ID returned by discover")
775
+ .addHelpText("after", "\nExamples:\n spongewallet pay service ctg_123\n")
776
+ .action(async (serviceIdArg, opts, command) => {
777
+ const wallet = await connectWallet(opts);
778
+ const data = await wallet.getService(requiredInput(command, opts, serviceIdArg, "serviceId", "--service-id"));
779
+ displayToolResult(getToolDefinition("get_service"), data);
780
+ });
751
781
  shared(payCmd.command("fetch").description("Fetch with automatic paid API handling"))
752
782
  .requiredOption("--url <url>", "target URL")
753
783
  .addOption(new Option("--chain <chain>", "preferred spend chain").choices(PAY_CHAIN_VALUES))
@@ -967,6 +997,205 @@ function registerCuratedCommands(program, shared) {
967
997
  });
968
998
  });
969
999
  const marketCmd = program.command("market").description("Trading venue integrations");
1000
+ const polymarketCmd = marketCmd.command("polymarket").description("Trade or inspect Polymarket");
1001
+ shared(polymarketCmd.command("status").description("Show Polymarket account status"))
1002
+ .action(async (opts) => {
1003
+ await executePolymarketAction(opts, { action: "status" });
1004
+ });
1005
+ shared(polymarketCmd.command("enable").description("Provision or link Polymarket trading"))
1006
+ .action(async (opts) => {
1007
+ await executePolymarketAction(opts, { action: "enable" });
1008
+ });
1009
+ shared(polymarketCmd.command("search").description("Search Polymarket markets"))
1010
+ .usage("[query] [limit] [options]")
1011
+ .argument("[query]", "market search query")
1012
+ .argument("[limit]", "result limit")
1013
+ .option("--query <query>", "market search query")
1014
+ .option("--limit <n>", "result limit", parseInt)
1015
+ .addHelpText("after", "\nExamples:\n spongewallet market polymarket search \"Sixers Celtics\"\n spongewallet market polymarket search \"NBA\" 20\n")
1016
+ .action(async (queryArg, limitArg, opts, command) => {
1017
+ await executePolymarketAction(opts, {
1018
+ action: "search_markets",
1019
+ query: requiredInput(command, opts, queryArg, "query", "--query"),
1020
+ limit: limitArg !== undefined ? parseInt(limitArg, 10) : opts.limit,
1021
+ });
1022
+ });
1023
+ shared(polymarketCmd.command("get").description("Get Polymarket market metadata"))
1024
+ .usage("[marketSlug] [options]")
1025
+ .argument("[marketSlug]", "market or event slug")
1026
+ .option("--market-slug <slug>", "market or event slug")
1027
+ .option("--token-id <id>", "CLOB token ID")
1028
+ .addHelpText("after", "\nExamples:\n spongewallet market polymarket get nba-phi-bos-2026-05-02\n")
1029
+ .action(async (marketSlugArg, opts, command) => {
1030
+ if (!marketSlugArg && !opts.marketSlug && !opts.tokenId) {
1031
+ requiredInput(command, opts, marketSlugArg, "marketSlug", "--market-slug");
1032
+ }
1033
+ await executePolymarketAction(opts, {
1034
+ action: "get_market",
1035
+ market_slug: marketSlugArg ?? opts.marketSlug,
1036
+ token_id: opts.tokenId,
1037
+ });
1038
+ });
1039
+ shared(polymarketCmd.command("price").description("Get Polymarket market price"))
1040
+ .usage("[marketSlug] [options]")
1041
+ .argument("[marketSlug]", "market or event slug")
1042
+ .option("--market-slug <slug>", "market or event slug")
1043
+ .option("--token-id <id>", "CLOB token ID")
1044
+ .addHelpText("after", "\nExamples:\n spongewallet market polymarket price nba-phi-bos-2026-05-02\n")
1045
+ .action(async (marketSlugArg, opts, command) => {
1046
+ if (!marketSlugArg && !opts.marketSlug && !opts.tokenId) {
1047
+ requiredInput(command, opts, marketSlugArg, "marketSlug", "--market-slug");
1048
+ }
1049
+ await executePolymarketAction(opts, {
1050
+ action: "get_market_price",
1051
+ market_slug: marketSlugArg ?? opts.marketSlug,
1052
+ token_id: opts.tokenId,
1053
+ });
1054
+ });
1055
+ shared(polymarketCmd.command("positions").description("List Polymarket positions"))
1056
+ .action(async (opts) => {
1057
+ await executePolymarketAction(opts, { action: "positions" });
1058
+ });
1059
+ shared(polymarketCmd.command("orders").description("List open Polymarket orders"))
1060
+ .action(async (opts) => {
1061
+ await executePolymarketAction(opts, { action: "orders" });
1062
+ });
1063
+ shared(polymarketCmd.command("balance").description("Show Polymarket balance and allowance"))
1064
+ .action(async (opts) => {
1065
+ await executePolymarketAction(opts, { action: "balance_allowance" });
1066
+ });
1067
+ shared(polymarketCmd.command("refresh-balance").description("Refresh Polymarket balance and allowance"))
1068
+ .action(async (opts) => {
1069
+ await executePolymarketAction(opts, { action: "refresh_balance_allowance" });
1070
+ });
1071
+ shared(polymarketCmd.command("order").description("Place a Polymarket order"))
1072
+ .usage("[marketSlug] [outcome] [side] [size] [options]")
1073
+ .argument("[marketSlug]", "market or event slug")
1074
+ .argument("[outcome]", "yes or no")
1075
+ .argument("[side]", "buy or sell")
1076
+ .argument("[size]", "order size in shares")
1077
+ .option("--market-slug <slug>", "market or event slug")
1078
+ .option("--token-id <id>", "CLOB token ID")
1079
+ .addOption(new Option("--outcome <outcome>", "outcome").choices(["yes", "no"]))
1080
+ .addOption(new Option("--side <side>", "order side").choices(["buy", "sell"]))
1081
+ .option("--size <shares>", "order size in shares")
1082
+ .addOption(new Option("--type <type>", "execution type").choices(["limit", "market"]).default("limit"))
1083
+ .option("--price <price>", "limit price from 0 to 1", parseFloat)
1084
+ .addOption(new Option("--order-type <type>", "CLOB order type").choices(["GTC", "GTD", "FOK", "FAK"]))
1085
+ .addHelpText("after", "\nExamples:\n spongewallet market polymarket order nba-phi-bos-2026-05-02 yes buy 3 --price 0.40\n spongewallet market polymarket order --token-id 123 --outcome yes --side buy --size 3 --type market\n")
1086
+ .action(async (marketSlugArg, outcomeArg, sideArg, sizeArg, opts, command) => {
1087
+ if (!marketSlugArg && !opts.marketSlug && !opts.tokenId) {
1088
+ requiredInput(command, opts, marketSlugArg, "marketSlug", "--market-slug");
1089
+ }
1090
+ await executePolymarketAction(opts, {
1091
+ action: "order",
1092
+ market_slug: marketSlugArg ?? opts.marketSlug,
1093
+ token_id: opts.tokenId,
1094
+ outcome: requiredInput(command, opts, outcomeArg, "outcome", "--outcome"),
1095
+ side: requiredInput(command, opts, sideArg, "side", "--side"),
1096
+ size: Number(requiredInput(command, opts, sizeArg, "size", "--size")),
1097
+ type: opts.type,
1098
+ price: opts.price,
1099
+ order_type: opts.orderType,
1100
+ });
1101
+ });
1102
+ shared(polymarketCmd.command("get-order").description("Get a Polymarket order"))
1103
+ .argument("[orderId]", "order ID")
1104
+ .option("--order-id <id>", "order ID")
1105
+ .action(async (orderIdArg, opts, command) => {
1106
+ await executePolymarketAction(opts, {
1107
+ action: "get_order",
1108
+ order_id: requiredInput(command, opts, orderIdArg, "orderId", "--order-id"),
1109
+ });
1110
+ });
1111
+ shared(polymarketCmd.command("cancel").description("Cancel a Polymarket order"))
1112
+ .argument("[orderId]", "order ID")
1113
+ .option("--order-id <id>", "order ID")
1114
+ .action(async (orderIdArg, opts, command) => {
1115
+ await executePolymarketAction(opts, {
1116
+ action: "cancel",
1117
+ order_id: requiredInput(command, opts, orderIdArg, "orderId", "--order-id"),
1118
+ });
1119
+ });
1120
+ shared(polymarketCmd.command("set-allowances").description("Approve Polymarket contracts for trading"))
1121
+ .action(async (opts) => {
1122
+ await executePolymarketAction(opts, { action: "set_allowances" });
1123
+ });
1124
+ shared(polymarketCmd.command("deposit").description("Make Safe-held USDC.e available for trading"))
1125
+ .action(async (opts) => {
1126
+ await executePolymarketAction(opts, { action: "deposit" });
1127
+ });
1128
+ shared(polymarketCmd.command("deposit-from-wallet").description("Move Polygon wallet USDC.e into Polymarket Safe"))
1129
+ .argument("[amount]", "USDC.e amount")
1130
+ .option("--amount <amount>", "USDC.e amount")
1131
+ .action(async (amountArg, opts, command) => {
1132
+ await executePolymarketAction(opts, {
1133
+ action: "deposit_from_wallet",
1134
+ amount: requiredInput(command, opts, amountArg, "amount", "--amount"),
1135
+ });
1136
+ });
1137
+ shared(polymarketCmd.command("withdraw").description("Withdraw USDC.e to Polygon wallet"))
1138
+ .argument("[amount]", "USDC.e amount")
1139
+ .option("--amount <amount>", "USDC.e amount")
1140
+ .action(async (amountArg, opts, command) => {
1141
+ await executePolymarketAction(opts, {
1142
+ action: "withdraw",
1143
+ amount: requiredInput(command, opts, amountArg, "amount", "--amount"),
1144
+ });
1145
+ });
1146
+ shared(polymarketCmd.command("withdraw-native").description("Withdraw Polygon-native USDC to Polygon wallet"))
1147
+ .argument("[amount]", "USDC amount")
1148
+ .option("--amount <amount>", "USDC amount")
1149
+ .action(async (amountArg, opts, command) => {
1150
+ await executePolymarketAction(opts, {
1151
+ action: "withdraw_native",
1152
+ amount: requiredInput(command, opts, amountArg, "amount", "--amount"),
1153
+ });
1154
+ });
1155
+ shared(polymarketCmd.command("redeem").description("Redeem settled winning Polymarket positions"))
1156
+ .argument("[conditionId]", "optional condition ID")
1157
+ .option("--condition-id <id>", "optional condition ID")
1158
+ .action(async (conditionIdArg, opts) => {
1159
+ await executePolymarketAction(opts, {
1160
+ action: "redeem",
1161
+ condition_id: conditionIdArg ?? opts.conditionId,
1162
+ });
1163
+ });
1164
+ shared(polymarketCmd.command("raw").description("Call a raw Polymarket action"))
1165
+ .requiredOption("--action <action>", "Polymarket action")
1166
+ .option("--market-slug <slug>", "market or event slug")
1167
+ .option("--token-id <id>", "CLOB token ID")
1168
+ .option("--outcome <outcome>", "yes or no")
1169
+ .option("--side <side>", "buy or sell")
1170
+ .option("--size <shares>", "order size in shares", parseFloat)
1171
+ .option("--type <type>", "limit or market")
1172
+ .option("--price <price>", "limit price from 0 to 1", parseFloat)
1173
+ .option("--order-type <type>", "CLOB order type")
1174
+ .option("--order-id <id>", "order ID")
1175
+ .option("--query <query>", "market search query")
1176
+ .option("--limit <n>", "result limit", parseInt)
1177
+ .option("--amount <amount>", "amount")
1178
+ .option("--condition-id <id>", "condition ID")
1179
+ .option("--json <json>", "additional args as JSON", parseJsonObject)
1180
+ .action(async (opts) => {
1181
+ await executePolymarketAction(opts, {
1182
+ ...opts.json,
1183
+ action: String(opts.action),
1184
+ market_slug: opts.marketSlug,
1185
+ token_id: opts.tokenId,
1186
+ outcome: opts.outcome,
1187
+ side: opts.side,
1188
+ size: opts.size,
1189
+ type: opts.type,
1190
+ price: opts.price,
1191
+ order_type: opts.orderType,
1192
+ order_id: opts.orderId,
1193
+ query: opts.query,
1194
+ limit: opts.limit,
1195
+ amount: opts.amount,
1196
+ condition_id: opts.conditionId,
1197
+ });
1198
+ });
970
1199
  const hyperliquidCmd = marketCmd.command("hyperliquid").description("Trade or inspect Hyperliquid");
971
1200
  shared(hyperliquidCmd.command("status").description("Show Hyperliquid account status"))
972
1201
  .action(async (opts) => {
@@ -1104,6 +1333,11 @@ async function executeHyperliquidAction(opts, input) {
1104
1333
  const data = await wallet.hyperliquid(input);
1105
1334
  displayToolResult(getToolDefinition("hyperliquid"), data);
1106
1335
  }
1336
+ async function executePolymarketAction(opts, input) {
1337
+ const wallet = await connectWallet(opts);
1338
+ const data = await wallet.polymarket(input);
1339
+ displayToolResult(getToolDefinition("polymarket"), data);
1340
+ }
1107
1341
  async function executeToolCommand(opts, toolName, input) {
1108
1342
  const wallet = await connectWallet(opts);
1109
1343
  const tools = await wallet.tools();