@tempoxyz/mercator 0.0.191 → 0.0.197

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/agents.d.ts CHANGED
@@ -3,7 +3,7 @@ export declare const MERCATOR_AGENTS_BEGIN = "<!-- mercator:begin \u2014 managed
3
3
  /** Closing boundary for installer-managed Mercator guidance. */
4
4
  export declare const MERCATOR_AGENTS_END = "<!-- mercator:end -->";
5
5
  /** Durable, budget-aware activation guidance installed for Codex. */
6
- export declare const MERCATOR_AGENTS_BLOCK = "<!-- mercator:begin \u2014 managed by mercator-cli; edits inside will be overwritten -->\n## Mercator\n\nMercator is an optional gateway for fresh external data and API actions.\n\n- Consider Mercator when a task needs research, extraction, enrichment, social, maps, travel, communications, media, financial, or on-chain data and no installed direct tool is a better fit.\n- Search with `search_services` using the user's complete intended outcome. Discovery and `quote_plan` are free.\n- Before paid execution, show the quoted total and get approval unless the user already supplied a sufficient budget. Never exceed that budget.\n- Once approved, complete the workflow instead of merely naming a service: call `create_job` once with a stable idempotency key, then poll `get_job`. Never create another job to check its status.\n- Do not use Mercator for local files, repository work, reasoning over supplied content, or when the user forbids external or paid services.\n- Never request or expose private keys or provider credentials.\n<!-- mercator:end -->";
6
+ export declare const MERCATOR_AGENTS_BLOCK = "<!-- mercator:begin \u2014 managed by mercator-cli; edits inside will be overwritten -->\n## Mercator\n\nMercator is an optional gateway for fresh external data and API actions.\n\n- Consider Mercator when a task needs research, extraction, enrichment, social, maps, travel, communications, media, financial, or on-chain data and no installed direct tool is a better fit.\n- Search with `search_services` using the user's complete intended outcome. Discovery and `quote_plan` are free.\n- Before paid execution, show the quoted total and get approval unless the user already supplied a sufficient budget. Never exceed that budget.\n- Once approved, call `create_job` once with a stable idempotency key. If it returns a handoff, execute the returned Mercator CLI arguments exactly; do not construct an MCP payment credential or call `create_job` again. Poll `get_job` with the job ID returned by REST/CLI or direct MCP submission.\n- Do not use Mercator for local files, repository work, reasoning over supplied content, or when the user forbids external or paid services.\n- Never request or expose private keys or provider credentials.\n<!-- mercator:end -->";
7
7
  /** Options controlling where and whether Codex guidance is written. */
8
8
  export type CodexAgentsInstallOptions = {
9
9
  codexHome?: string;
package/dist/agents.js CHANGED
@@ -14,7 +14,7 @@ Mercator is an optional gateway for fresh external data and API actions.
14
14
  - Consider Mercator when a task needs research, extraction, enrichment, social, maps, travel, communications, media, financial, or on-chain data and no installed direct tool is a better fit.
15
15
  - Search with \`search_services\` using the user's complete intended outcome. Discovery and \`quote_plan\` are free.
16
16
  - Before paid execution, show the quoted total and get approval unless the user already supplied a sufficient budget. Never exceed that budget.
17
- - Once approved, complete the workflow instead of merely naming a service: call \`create_job\` once with a stable idempotency key, then poll \`get_job\`. Never create another job to check its status.
17
+ - Once approved, call \`create_job\` once with a stable idempotency key. If it returns a handoff, execute the returned Mercator CLI arguments exactly; do not construct an MCP payment credential or call \`create_job\` again. Poll \`get_job\` with the job ID returned by REST/CLI or direct MCP submission.
18
18
  - Do not use Mercator for local files, repository work, reasoning over supplied content, or when the user forbids external or paid services.
19
19
  - Never request or expose private keys or provider credentials.
20
20
  ${MERCATOR_AGENTS_END}`;
package/dist/submit.d.ts CHANGED
@@ -8,6 +8,7 @@ export type SubmitOptions = {
8
8
  type SubmitDependencies = {
9
9
  createPaymentProvider: typeof createPaymentProvider;
10
10
  fetch: typeof globalThis.fetch;
11
+ submitUrl: string;
11
12
  timeoutMs: number;
12
13
  };
13
14
  /** Executes the bounded direct-charge REST handoff returned by Mercator MCP. */
package/dist/submit.js CHANGED
@@ -1,16 +1,23 @@
1
1
  import { Challenge } from 'mppx';
2
+ import { mach } from 'mppx/tempo';
2
3
  import { parseUnits } from 'viem';
3
4
  import { createPaymentProvider } from './wallet.js';
4
- /** Mercator's mainnet billing token (USDC.e). */
5
- const BILLING_CURRENCY = '0x20c000000000000000000000b9537d11c60e8b50';
6
5
  /** Tempo mainnet, the only chain accepted by the handoff. */
7
6
  const CHAIN_ID = 4217;
7
+ /** Direct-charge currencies that Mercator may advertise on Tempo mainnet. */
8
+ const SUPPORTED_CHARGE_CURRENCIES = new Set([
9
+ mach(CHAIN_ID).address.toLowerCase(),
10
+ '0x20c000000000000000000000b9537d11c60e8b50',
11
+ ]);
8
12
  /** Maximum wait for either Mercator jobs request. */
9
13
  const SUBMIT_TIMEOUT_MS = 30_000;
14
+ /** Trusted production job endpoint accepted from MCP handoffs. */
15
+ const SUBMIT_URL = 'https://mercator.tempo.xyz/v1/jobs';
10
16
  /** Process-backed submission dependencies used outside tests. */
11
17
  const defaultDependencies = {
12
18
  createPaymentProvider,
13
19
  fetch: globalThis.fetch,
20
+ submitUrl: SUBMIT_URL,
14
21
  timeoutMs: SUBMIT_TIMEOUT_MS,
15
22
  };
16
23
  /** Executes the bounded direct-charge REST handoff returned by Mercator MCP. */
@@ -18,6 +25,7 @@ export async function submitPaidJob(options, overrides = {}) {
18
25
  const dependencies = { ...defaultDependencies, ...overrides };
19
26
  const body = parseBody(options.body);
20
27
  assertJobBody(body);
28
+ assertSubmitUrl(options.url, dependencies.submitUrl);
21
29
  const challenge = await fetchJob(dependencies.fetch, options.url, options.body, dependencies.timeoutMs);
22
30
  if (challenge.status !== 402)
23
31
  return responseBody(challenge);
@@ -37,6 +45,7 @@ async function fetchJob(fetch, url, body, timeoutMs) {
37
45
  'Content-Type': 'application/json',
38
46
  },
39
47
  method: 'POST',
48
+ redirect: 'error',
40
49
  signal,
41
50
  });
42
51
  }
@@ -47,6 +56,26 @@ async function fetchJob(fetch, url, body, timeoutMs) {
47
56
  throw error;
48
57
  }
49
58
  }
59
+ function assertSubmitUrl(value, expected) {
60
+ let submitted;
61
+ let trusted;
62
+ try {
63
+ submitted = new URL(value);
64
+ trusted = new URL(expected);
65
+ }
66
+ catch {
67
+ throw new Error('The Mercator handoff URL is invalid.');
68
+ }
69
+ if (submitted.protocol !== 'https:' ||
70
+ submitted.origin !== trusted.origin ||
71
+ submitted.pathname !== trusted.pathname ||
72
+ submitted.username ||
73
+ submitted.password ||
74
+ submitted.search ||
75
+ submitted.hash) {
76
+ throw new Error(`The Mercator handoff URL must be ${trusted.href}.`);
77
+ }
78
+ }
50
79
  function replayChallenge(fetch, url, challenge) {
51
80
  let pending = true;
52
81
  return async (input, init) => {
@@ -75,31 +104,42 @@ function assertJobBody(body) {
75
104
  }
76
105
  }
77
106
  function assertChallengeSpend(response, maxSpend) {
78
- let request;
107
+ let requests;
79
108
  try {
80
- request = Challenge.fromResponseList(response).find((challenge) => challenge.method === 'tempo' && challenge.intent === 'charge')?.request;
109
+ requests = Challenge.fromResponseList(response)
110
+ .filter((challenge) => challenge.method === 'tempo' && challenge.intent === 'charge')
111
+ .map((challenge) => challenge.request);
81
112
  }
82
113
  catch {
83
114
  throw new Error('Mercator returned an invalid direct-charge challenge.');
84
115
  }
85
- if (!request)
116
+ if (requests.length === 0) {
86
117
  throw new Error('Mercator did not offer the required direct charge.');
118
+ }
119
+ const maxSpendUnits = units(maxSpend);
120
+ for (const request of requests)
121
+ assertChargeRequest(request, maxSpendUnits);
122
+ }
123
+ function assertChargeRequest(request, maxSpendUnits) {
87
124
  if (!request || typeof request !== 'object' || Array.isArray(request)) {
88
125
  throw new Error('Mercator returned an invalid direct-charge challenge.');
89
126
  }
90
127
  const payment = request;
91
128
  const details = payment.methodDetails;
92
- if (typeof payment.amount !== 'string' ||
93
- !/^\d+$/.test(payment.amount) ||
94
- typeof payment.currency !== 'string' ||
95
- payment.currency.toLowerCase() !== BILLING_CURRENCY ||
96
- !details ||
97
- typeof details !== 'object' ||
98
- Array.isArray(details) ||
99
- details.chainId !== CHAIN_ID) {
100
- throw new Error('Mercator returned an unexpected direct-charge challenge.');
101
- }
102
- if (BigInt(payment.amount) > units(maxSpend)) {
129
+ if (typeof payment.amount !== 'string' || !/^\d+$/.test(payment.amount)) {
130
+ throw new Error('Mercator returned an invalid direct-charge amount.');
131
+ }
132
+ if (typeof payment.currency !== 'string' ||
133
+ !SUPPORTED_CHARGE_CURRENCIES.has(payment.currency.toLowerCase())) {
134
+ throw new Error('Mercator offered an unsupported direct-charge currency.');
135
+ }
136
+ if (!details || typeof details !== 'object' || Array.isArray(details)) {
137
+ throw new Error('Mercator returned invalid direct-charge chain details.');
138
+ }
139
+ if (details.chainId !== CHAIN_ID) {
140
+ throw new Error('Mercator offered a direct charge on an unsupported chain.');
141
+ }
142
+ if (BigInt(payment.amount) > maxSpendUnits) {
103
143
  throw new Error('Mercator direct charge exceeds --max-spend.');
104
144
  }
105
145
  }
@@ -114,8 +154,11 @@ function units(amount) {
114
154
  }
115
155
  }
116
156
  async function responseBody(response) {
117
- if (!response.ok)
157
+ if (!response.ok) {
158
+ if (response.status === 402)
159
+ throw paymentRejected(response);
118
160
  throw new Error(`Mercator submission failed (${response.status}).`);
161
+ }
119
162
  const text = await response.text();
120
163
  try {
121
164
  return JSON.parse(text);
@@ -124,4 +167,15 @@ async function responseBody(response) {
124
167
  return text;
125
168
  }
126
169
  }
170
+ function paymentRejected(response) {
171
+ let correctiveChallenge = false;
172
+ try {
173
+ correctiveChallenge = Challenge.fromResponseList(response).some((challenge) => challenge.method === 'tempo' && challenge.intent === 'charge');
174
+ }
175
+ catch { }
176
+ const diagnostic = correctiveChallenge
177
+ ? 'Mercator returned a corrective Tempo charge challenge. The wallet authorization may be expired, revoked, or insufficient for this charge. Run `mercator doctor`; Tempo Wallet users can refresh authorization with `mercator wallet connect`.'
178
+ : 'Mercator did not return a valid corrective Tempo charge challenge. This indicates a client/server payment-protocol mismatch. Run `mercator doctor`.';
179
+ return new Error(`Mercator rejected the payment credential (402). ${diagnostic} Then retry this command with the same idempotency key.`);
180
+ }
127
181
  //# sourceMappingURL=submit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit.js","sourceRoot":"","sources":["../src/submit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"submit.js","sourceRoot":"","sources":["../src/submit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEnD,6DAA6D;AAC7D,MAAM,QAAQ,GAAG,IAAI,CAAA;AACrB,6EAA6E;AAC7E,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC3C,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE;IACpC,4CAA4C;CAC5C,CAAC,CAAA;AACF,qDAAqD;AACrD,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAChC,kEAAkE;AAClE,MAAM,UAAU,GAAG,oCAAoC,CAAA;AAgBvD,iEAAiE;AACjE,MAAM,mBAAmB,GAAuB;IAC/C,qBAAqB;IACrB,KAAK,EAAE,UAAU,CAAC,KAAK;IACvB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,iBAAiB;CAC5B,CAAA;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,OAAsB,EACtB,YAAyC,EAAE;IAE3C,MAAM,YAAY,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,SAAS,EAAE,CAAA;IAC7D,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,aAAa,CAAC,IAAI,CAAC,CAAA;IACnB,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,CAAA;IACpD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAC/B,YAAY,CAAC,KAAK,EAClB,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,IAAI,EACZ,YAAY,CAAC,SAAS,CACtB,CAAA;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,YAAY,CAAC,SAAS,CAAC,CAAA;IAC5D,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEjD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,qBAAqB,CACtD,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAC3D,CAAA;IACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC9B,MAAM,CAAC,KAAK,EACZ,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,IAAI,EACZ,YAAY,CAAC,SAAS,CACtB,CAAA;IACD,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAA;AAC9B,CAAC;AAED,KAAK,UAAU,QAAQ,CACtB,KAA8B,EAC9B,GAAW,EACX,IAAY,EACZ,SAAiB;IAEjB,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC7C,IAAI,CAAC;QACJ,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE;YACvB,IAAI;YACJ,OAAO,EAAE;gBACR,MAAM,EAAE,kBAAkB;gBAC1B,gBAAgB,EAAE,cAAc;gBAChC,cAAc,EAAE,kBAAkB;aAClC;YACD,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,OAAO;YACjB,MAAM;SACN,CAAC,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACd,qEAAqE,CACrE,CAAA;QACF,CAAC;QACD,MAAM,KAAK,CAAA;IACZ,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,QAAgB;IACvD,IAAI,SAAc,CAAA;IAClB,IAAI,OAAY,CAAA;IAChB,IAAI,CAAC;QACJ,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;QAC1B,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC5B,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACxD,CAAC;IACD,IACC,SAAS,CAAC,QAAQ,KAAK,QAAQ;QAC/B,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QACnC,SAAS,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;QACvC,SAAS,CAAC,QAAQ;QAClB,SAAS,CAAC,QAAQ;QAClB,SAAS,CAAC,MAAM;QAChB,SAAS,CAAC,IAAI,EACb,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAA;IACrE,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CACvB,KAA8B,EAC9B,GAAW,EACX,SAAmB;IAEnB,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACxC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACjE,OAAO,GAAG,KAAK,CAAA;YACf,OAAO,SAAS,CAAC,KAAK,EAAE,CAAA;QACzB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC1B,CAAC,CAAA;AACF,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC9B,IAAI,CAAC;QACJ,MAAM,IAAI,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,OAAO,IAA+B,CAAA;QACvC,CAAC;IACF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;AACtD,CAAC;AAED,SAAS,aAAa,CAAC,IAA6B;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IACzD,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAkB,EAAE,QAAgB;IACjE,IAAI,QAAmB,CAAA;IACvB,IAAI,CAAC;QACJ,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC;aAC7C,MAAM,CACN,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,OAAO,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,CAC5E;aACA,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACzE,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACtE,CAAC;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;IACrC,KAAK,MAAM,OAAO,IAAI,QAAQ;QAAE,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;AAC5E,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB,EAAE,aAAqB;IACnE,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACzE,CAAC;IACD,MAAM,OAAO,GAAG,OAAkC,CAAA;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAA;IACrC,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IACtE,CAAC;IACD,IACC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;QACpC,CAAC,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAC/D,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC1E,CAAC;IACD,IAAK,OAAmC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;IAC7E,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,aAAa,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAC/D,CAAC;AACF,CAAC;AAED,SAAS,KAAK,CAAC,MAAc;IAC5B,IAAI,CAAC;QACJ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAC1E,OAAO,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CACd,sEAAsE,CACtE,CAAA;IACF,CAAC;AACF,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAkB;IAC7C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAAE,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC5D,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAA;IACpE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAClC,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAA;IACZ,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,QAAkB;IAC1C,IAAI,mBAAmB,GAAG,KAAK,CAAA;IAC/B,IAAI,CAAC;QACJ,mBAAmB,GAAG,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC9D,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,OAAO,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,CAC5E,CAAA;IACF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,MAAM,UAAU,GAAG,mBAAmB;QACrC,CAAC,CAAC,+OAA+O;QACjP,CAAC,CAAC,qJAAqJ,CAAA;IACxJ,OAAO,IAAI,KAAK,CACf,mDAAmD,UAAU,yDAAyD,CACtH,CAAA;AACF,CAAC"}
package/dist/wallet.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Provider } from 'accounts';
1
+ import { Provider, Store } from 'accounts';
2
2
  import { type Address } from 'viem';
3
3
  import type { GlobeAnimation } from './globe.js';
4
4
  import { type WalletSelection } from './wallet-selection.js';
@@ -13,7 +13,7 @@ export type WalletProvider = (typeof WalletProvider)[keyof typeof WalletProvider
13
13
  type WalletStatus = 'needs_account' | 'needs_funding' | 'needs_login' | 'ready';
14
14
  /** Ordered payment-token balances shown only by explicit wallet commands. */
15
15
  type WalletBalances = {
16
- machineUSD: string;
16
+ MACH: string;
17
17
  pathUSD: string;
18
18
  'USDC.e': string;
19
19
  };
@@ -26,6 +26,14 @@ export type WalletReport = {
26
26
  sessionClient: 'ready' | 'unavailable';
27
27
  status: WalletStatus;
28
28
  };
29
+ type PaymentChallengeCandidate = {
30
+ challenge: {
31
+ intent: string;
32
+ method: string;
33
+ request: unknown;
34
+ };
35
+ index: number;
36
+ };
29
37
  /** Signals that payment requires explicit wallet setup before retrying. */
30
38
  export declare class WalletRequiredError extends Error {
31
39
  readonly code = "WALLET_REQUIRED";
@@ -37,9 +45,36 @@ type AccountState = {
37
45
  funded: boolean;
38
46
  usable: boolean;
39
47
  };
48
+ type StoredAccessKey = {
49
+ access: Address;
50
+ address: Address;
51
+ chainId: number;
52
+ limits?: readonly {
53
+ limit: bigint;
54
+ token: Address;
55
+ }[];
56
+ scopes?: readonly unknown[];
57
+ };
40
58
  type PaymentAuthorizationProvider = {
41
59
  getAccessKeyStatus: Provider.Provider['getAccessKeyStatus'];
42
- store: unknown;
60
+ store: {
61
+ accessKeys: {
62
+ get(options: {
63
+ accessKey: Address;
64
+ account: Address;
65
+ chainId: number;
66
+ }): Promise<unknown>;
67
+ };
68
+ getState(): {
69
+ accessKeys: readonly StoredAccessKey[];
70
+ };
71
+ };
72
+ };
73
+ /** Process-backed payment-provider dependencies overridden by focused tests. */
74
+ type PaymentProviderDependencies = {
75
+ accountProvider: typeof accountProvider;
76
+ inspectWallet: typeof inspectWallet;
77
+ waitForHydration: typeof Store.waitForHydration;
43
78
  };
44
79
  type WalletDependencies = {
45
80
  activeProvider: () => Promise<WalletProvider | undefined>;
@@ -72,14 +107,25 @@ export declare function inspectWallet(overrides?: Partial<WalletDependencies>):
72
107
  /** Creates a local disk wallet or connects Tempo Wallet through the Accounts SDK. */
73
108
  export declare function setupWallet(options?: WalletSetupOptions, overrides?: Partial<WalletDependencies>): Promise<WalletReport>;
74
109
  /** Creates an Accounts provider for the active Mercator payment wallet. */
75
- export declare function createPaymentProvider(baseFetch?: typeof globalThis.fetch): Promise<{
110
+ export declare function createPaymentProvider(baseFetch?: typeof globalThis.fetch, overrides?: Partial<PaymentProviderDependencies>): Promise<{
76
111
  address: Address;
77
112
  fetch: typeof globalThis.fetch;
78
113
  provider: PaymentAuthorizationProvider;
79
114
  }>;
80
115
  /** Returns the Mercator funding page for a wallet address. */
81
116
  export declare function fundingUrl(address: Address, origin?: string): string;
82
- /** Checks whether a stored Tempo key can spend a supported Mercator payment token. */
117
+ declare function accountProvider(provider: WalletProvider): Provider.Provider;
118
+ /** Checks whether a stored Tempo key can authorize every Mercator payment funding path. */
83
119
  export declare function hasPaymentAuthorization(provider: PaymentAuthorizationProvider, address: Address): Promise<boolean>;
120
+ /** Returns the exact locally signable Tempo key validated for Mercator payments. */
121
+ export declare function paymentAccessKey(provider: PaymentAuthorizationProvider, address: Address): Promise<StoredAccessKey | undefined>;
122
+ /**
123
+ * Orders charge-only offers by the currencies the active wallet can fund.
124
+ *
125
+ * MACH is preferred when held directly. Stablecoin offers come next when the
126
+ * wallet holds USDC.e or enough pathUSD for Accounts auto-swap. Session and
127
+ * mixed-intent negotiation retains the server's original order.
128
+ */
129
+ export declare function orderChargeCandidates<candidate extends PaymentChallengeCandidate>(candidates: readonly candidate[], balances: WalletBalances): readonly candidate[];
84
130
  export declare function openFundingPage(address: Address, overrides?: Partial<FundingPageDependencies>): Promise<FundingPageResult>;
85
131
  export {};
package/dist/wallet.js CHANGED
@@ -1,24 +1,21 @@
1
1
  import { Expiry, Provider, Store, secp256k1 } from 'accounts';
2
2
  import { Provider as CliProvider, Storage } from 'accounts/cli';
3
3
  import { Mppx, tempo as mppxTempo } from 'mppx/client';
4
+ import { mach } from 'mppx/tempo';
4
5
  import { formatUnits, parseUnits, toHex } from 'viem';
5
6
  import { Addresses } from 'viem/tempo';
6
7
  import { runInteractiveCommand } from './command.js';
7
8
  import { selectWalletProvider } from './wallet-selection.js';
8
- /** machineUSD, preferred as the automatic swap source for Mercator charges. */
9
- const MACHINE_USD = '0x20c0000000000000000000006637932dE5413804';
9
+ /** MACH, Mercator's preferred direct-charge currency. */
10
+ const MACH = mach(4217).address;
10
11
  /** PathUSD, accepted directly for Mercator charges. */
11
12
  const PATH_USD = Addresses.pathUsd;
12
13
  /** Bridged USDC accepted as a Mercator payment funding token. */
13
14
  const USDC_E = '0x20c000000000000000000000b9537d11c60e8b50';
14
15
  /** Tokens that can fund a Mercator payment through Accounts auto-swap. */
15
- const PAYMENT_TOKENS = [
16
- MACHINE_USD,
17
- PATH_USD,
18
- USDC_E,
19
- ];
20
- /** Funding tokens that Accounts may swap into Mercator's billing token. */
21
- const SWAP_TOKENS = [MACHINE_USD, PATH_USD];
16
+ const PAYMENT_TOKENS = [MACH, PATH_USD, USDC_E];
17
+ /** Stablecoins that Accounts may swap into a challenged payment currency. */
18
+ const SWAP_TOKENS = [PATH_USD];
22
19
  /** Mercator-owned Accounts SDK storage, separate from other wallet clients. */
23
20
  const STORAGE_PATH = '~/.mercator/wallet.json';
24
21
  /** Trusted first-party page used to fund an unfunded Mercator wallet. */
@@ -33,7 +30,7 @@ export const WalletProvider = {
33
30
  /** Signals that payment requires explicit wallet setup before retrying. */
34
31
  export class WalletRequiredError extends Error {
35
32
  code = 'WALLET_REQUIRED';
36
- constructor(message = 'No payment wallet is configured. Run `mercator wallet`, then retry this command.') {
33
+ constructor(message = 'No payment wallet is configured. Run `mercator wallet connect` to use Tempo Wallet or `mercator wallet create` for a local wallet, then retry this command.') {
37
34
  super(message);
38
35
  this.name = 'WalletRequiredError';
39
36
  }
@@ -83,13 +80,30 @@ export async function setupWallet(options = {}, overrides = {}) {
83
80
  return configureWallet(selected, dependencies);
84
81
  }
85
82
  /** Creates an Accounts provider for the active Mercator payment wallet. */
86
- export async function createPaymentProvider(baseFetch) {
87
- const report = await inspectWallet();
88
- if (!report.address || !report.provider || report.sessionClient !== 'ready') {
83
+ export async function createPaymentProvider(baseFetch, overrides = {}) {
84
+ const dependencies = {
85
+ accountProvider,
86
+ inspectWallet,
87
+ waitForHydration: Store.waitForHydration,
88
+ ...overrides,
89
+ };
90
+ const report = await dependencies.inspectWallet();
91
+ const balances = report.balances;
92
+ if (!report.address ||
93
+ !report.provider ||
94
+ !balances ||
95
+ report.sessionClient !== 'ready' ||
96
+ report.status !== 'ready') {
89
97
  throw new WalletRequiredError(report.provider ? report.guidance.join('\n') : undefined);
90
98
  }
91
- const instance = accountProvider(report.provider);
92
- await Store.waitForHydration(instance.store);
99
+ const instance = dependencies.accountProvider(report.provider);
100
+ await dependencies.waitForHydration(instance.store);
101
+ const accessKey = report.provider === WalletProvider.Tempo
102
+ ? await paymentAccessKey(instance, report.address)
103
+ : undefined;
104
+ if (report.provider === WalletProvider.Tempo && !accessKey) {
105
+ throw new WalletRequiredError('The active Tempo access key became unavailable after the wallet readiness check. Run `mercator wallet connect` to authorize a replacement, then retry the same command.');
106
+ }
93
107
  const payment = Mppx.create({
94
108
  ...(baseFetch ? { fetch: baseFetch } : {}),
95
109
  methods: [
@@ -98,9 +112,10 @@ export async function createPaymentProvider(baseFetch) {
98
112
  autoSwap: { tokenIn: [...SWAP_TOKENS] },
99
113
  expectedChainId: CHAIN_ID,
100
114
  mode: 'pull',
101
- ...instance.getMppxParameters(),
115
+ ...instance.getMppxParameters(accessKey ? { accessKey: accessKey.address } : undefined),
102
116
  }),
103
117
  ],
118
+ orderChallenges: (candidates) => orderChargeCandidates(candidates, balances),
104
119
  polyfill: false,
105
120
  });
106
121
  return { address: report.address, fetch: payment.fetch, provider: instance };
@@ -174,25 +189,101 @@ function accountProvider(provider) {
174
189
  storage,
175
190
  });
176
191
  }
177
- /** Checks whether a stored Tempo key can spend a supported Mercator payment token. */
192
+ /** Checks whether a stored Tempo key can authorize every Mercator payment funding path. */
178
193
  export async function hasPaymentAuthorization(provider, address) {
194
+ return Boolean(await paymentAccessKey(provider, address));
195
+ }
196
+ /** Returns the exact locally signable Tempo key validated for Mercator payments. */
197
+ export async function paymentAccessKey(provider, address) {
179
198
  const store = provider.store;
180
199
  for (const key of store.getState().accessKeys) {
181
200
  if (key.access.toLowerCase() !== address.toLowerCase() || key.chainId !== CHAIN_ID)
182
201
  continue;
183
- if (key.limits?.length &&
184
- !key.limits.some((limit) => limit.limit > 0n &&
185
- PAYMENT_TOKENS.some((token) => token.toLowerCase() === limit.token.toLowerCase())))
202
+ if (key.scopes !== undefined || !coversPaymentTokens(key.limits))
186
203
  continue;
187
204
  const status = await provider.getAccessKeyStatus({
188
205
  accessKey: key.address,
189
206
  address,
190
207
  chainId: CHAIN_ID,
191
208
  });
192
- if (status === 'pending' || status === 'published')
193
- return true;
209
+ if (status !== 'pending' && status !== 'published')
210
+ continue;
211
+ const signable = await store.accessKeys.get({
212
+ accessKey: key.address,
213
+ account: address,
214
+ chainId: CHAIN_ID,
215
+ });
216
+ if (signable)
217
+ return key;
218
+ }
219
+ return undefined;
220
+ }
221
+ function coversPaymentTokens(limits) {
222
+ if (!limits?.length)
223
+ return true;
224
+ return PAYMENT_TOKENS.every((token) => limits.some((limit) => limit.limit > 0n && token.toLowerCase() === limit.token.toLowerCase()));
225
+ }
226
+ /**
227
+ * Orders charge-only offers by the currencies the active wallet can fund.
228
+ *
229
+ * MACH is preferred when held directly. Stablecoin offers come next when the
230
+ * wallet holds USDC.e or enough pathUSD for Accounts auto-swap. Session and
231
+ * mixed-intent negotiation retains the server's original order.
232
+ */
233
+ export function orderChargeCandidates(candidates, balances) {
234
+ if (candidates.length === 0 ||
235
+ !candidates.every(({ challenge }) => challenge.method === 'tempo' && challenge.intent === 'charge')) {
236
+ return candidates;
237
+ }
238
+ const machUnits = balanceUnits(balances.MACH);
239
+ const pathUsdUnits = balanceUnits(balances.pathUSD);
240
+ const usdcUnits = balanceUnits(balances['USDC.e']);
241
+ const ranked = candidates
242
+ .map((candidate, position) => ({
243
+ candidate,
244
+ position,
245
+ rank: chargeCandidateRank(candidate, {
246
+ machUnits,
247
+ pathUsdUnits,
248
+ usdcUnits,
249
+ }),
250
+ }))
251
+ .sort((left, right) => left.rank - right.rank || left.position - right.position);
252
+ if (ranked[0]?.rank === Number.POSITIVE_INFINITY) {
253
+ throw new WalletRequiredError('This wallet does not have enough MACH, pathUSD, or USDC.e for the quoted payment. Fund it with `mercator wallet fund`, then retry the same command.');
254
+ }
255
+ return ranked.map(({ candidate }) => candidate);
256
+ }
257
+ function chargeCandidateRank(candidate, balances) {
258
+ const request = candidate.challenge.request;
259
+ if (!request || typeof request !== 'object' || Array.isArray(request)) {
260
+ return Number.POSITIVE_INFINITY;
261
+ }
262
+ const { amount, currency } = request;
263
+ if (typeof amount !== 'string' ||
264
+ !/^\d+$/.test(amount) ||
265
+ typeof currency !== 'string') {
266
+ return Number.POSITIVE_INFINITY;
267
+ }
268
+ const required = BigInt(amount);
269
+ if (currency.toLowerCase() === MACH.toLowerCase()) {
270
+ return balances.machUnits >= required ? 0 : Number.POSITIVE_INFINITY;
271
+ }
272
+ if (currency.toLowerCase() === USDC_E.toLowerCase()) {
273
+ if (balances.usdcUnits >= required)
274
+ return 1;
275
+ if (balances.usdcUnits + balances.pathUsdUnits >= required)
276
+ return 2;
277
+ }
278
+ return Number.POSITIVE_INFINITY;
279
+ }
280
+ function balanceUnits(value) {
281
+ try {
282
+ return parseUnits(value, 6);
283
+ }
284
+ catch {
285
+ return 0n;
194
286
  }
195
- return false;
196
287
  }
197
288
  async function fundingState(provider, address) {
198
289
  const balances = await provider.request({
@@ -205,7 +296,7 @@ async function fundingState(provider, address) {
205
296
  };
206
297
  return {
207
298
  balances: {
208
- machineUSD: amount(MACHINE_USD),
299
+ MACH: amount(MACH),
209
300
  pathUSD: amount(PATH_USD),
210
301
  'USDC.e': amount(USDC_E),
211
302
  },
@@ -252,7 +343,8 @@ function reportFor(provider, state) {
252
343
  function missingWalletReport() {
253
344
  return {
254
345
  guidance: [
255
- 'Run `mercator wallet` in an interactive terminal to connect or create a payment wallet.',
346
+ 'Connect Tempo Wallet: mercator wallet connect',
347
+ 'Create a local wallet: mercator wallet create',
256
348
  ],
257
349
  sessionClient: 'unavailable',
258
350
  status: 'needs_account',
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tempoxyz/mercator",
3
- "version": "0.0.191",
3
+ "version": "0.0.197",
4
4
  "description": "Install Mercator MCP and prepare its payment wallet",
5
5
  "type": "module",
6
6
  "bin": {
@@ -50,7 +50,7 @@
50
50
  "dependencies": {
51
51
  "accounts": "0.16.2",
52
52
  "incur": "0.5.1",
53
- "mppx": "https://pkg.pr.new/mppx@825",
53
+ "mppx": "https://pkg.pr.new/mppx@29a1dddca36d88ffff9270ca97cbcd65d86171ff",
54
54
  "viem": "2.55.13"
55
55
  }
56
56
  }