Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
41195c8
feat(cli): add Sequence V3 OMSClient path behind POLYGON_AGENT_OMS flag
AkshatGada Jun 10, 2026
236a4aa
refactor(cli)!: remove dapp-client/connector-ui legacy, OMS V3 is the…
AkshatGada Jun 10, 2026
d10c1ce
docs(cli): update skills + README for OMS V3 email-login wallet
AkshatGada Jun 10, 2026
2faa524
refactor(cli): remove stale legacy guidance from deposit/withdraw/setup
AkshatGada Jun 16, 2026
5d7ef47
feat(cli): upgrade Sequence SDK to 0.1.0-alpha.4
AkshatGada Jun 29, 2026
8f14fda
feat(cli): add browser login via Google OIDC (wallet login-browser)
AkshatGada Jun 30, 2026
c221fb2
feat(oidc-relay): add OIDC handoff relay worker for remote CLI login
AkshatGada Jun 30, 2026
ee8412c
Merge remote-tracking branch 'origin/main' into feat/oms-v3-wallet-mi…
AkshatGada Jun 30, 2026
66ef7f3
ci: add Cloudflare deploy workflow for the oidc-relay worker
AkshatGada Jun 30, 2026
2d4bf7a
ci: deploy oidc-relay from the staging branch
AkshatGada Jul 1, 2026
39f8867
feat(oidc-relay): add /health liveness endpoint
AkshatGada Jul 1, 2026
6e9d858
feat(cli): add --remote browser login via the OIDC handoff relay
AkshatGada Jul 1, 2026
efc12b6
fix(oidc-relay): serve a neutral page when the callback is reused
AkshatGada Jul 1, 2026
1634f33
refactor(cli)!: make Google browser login the only wallet login (remo…
AkshatGada Jul 1, 2026
9723bc6
feat(cli): open funding page for humans after login, stay CLI-only wh…
AkshatGada Jul 1, 2026
ac92f69
feat(cli): route funding by wallet balance (funded -> dashboard, empt…
AkshatGada Jul 6, 2026
b1ba1cd
feat(agentconnect-ui): funding + dashboard page (view-routed), deploy…
AkshatGada Jul 6, 2026
bd2ab1b
ci(agentconnect-ui): deploy from the staging branch
AkshatGada Jul 6, 2026
a980498
feat(agentconnect-ui): replicate full dashboard content from connecto…
AkshatGada Jul 6, 2026
470afe3
feat(agentconnect-ui): section nav bar (DeFi/Polymarket, Services, Se…
AkshatGada Jul 6, 2026
7abdcdf
fix(agentconnect-ui): point Services/Search copied prompts at agentic…
AkshatGada Jul 6, 2026
5cd2f4b
refactor(agentconnect-ui): drop provider names from labels, remove em…
AkshatGada Jul 6, 2026
8a4f3b5
docs: browser login via agentconnect-ui design spec
JamesLawton Jul 13, 2026
4321398
docs: browser login implementation plan
JamesLawton Jul 13, 2026
d2bb87d
chore: carry in-flight staging changes before browser-login work
JamesLawton Jul 13, 2026
c6aa273
feat(oidc-relay): loginsession core for browser login pairing
JamesLawton Jul 13, 2026
5fd5e36
feat(oidc-relay): /api/login pairing routes backed by LoginSession DO
JamesLawton Jul 13, 2026
19478c2
feat(oidc-relay): optional returnTo redirect after OIDC capture
JamesLawton Jul 13, 2026
819308b
fix(oidc-relay): pass DO capture redirect through instead of followin…
JamesLawton Jul 13, 2026
70e6118
feat(cli): browser-login action loop and login relay client
JamesLawton Jul 13, 2026
1acc8dd
fix(cli): funnel all browser-login terminal errors through one status…
JamesLawton Jul 13, 2026
b8298e2
feat(cli): wallet login defaults to the agentconnect browser flow
JamesLawton Jul 13, 2026
56fdd36
docs(skills): document browser login flow in canonical root skills
JamesLawton Jul 13, 2026
1cda9cb
docs(cli): align remaining login copy with browser flow
JamesLawton Jul 13, 2026
19886ae
feat(agentconnect-ui): login page state machine
JamesLawton Jul 13, 2026
482e204
fix(agentconnect-ui): make terminal login states absorbing
JamesLawton Jul 13, 2026
39c2d2a
feat(agentconnect-ui): /login page for the browser login flow
JamesLawton Jul 13, 2026
ac0a80f
fix(agentconnect-ui): tolerate transient relay failures on the login …
JamesLawton Jul 13, 2026
368267c
ci(agentconnect-ui): pass VITE_OIDC_RELAY_URL to login-page builds
JamesLawton Jul 13, 2026
b6414f7
fix(oidc-relay): guard and validate the status write path
JamesLawton Jul 13, 2026
20647e1
fix(agentconnect-ui): distinct finishing state for the google return leg
JamesLawton Jul 13, 2026
980993d
docs: correct browser-login changeset and env table
JamesLawton Jul 13, 2026
9262530
fix(oidc-relay): normalize status payloads before durable storage
JamesLawton Jul 13, 2026
7f3c318
feat(cli): default wallet login to the live staging relay and login page
JamesLawton Jul 13, 2026
73a6960
Merge pull request #122 from 0xPolygon/feat/browser-login
JamesLawton Jul 13, 2026
8422ec5
feat(agentconnect-ui): auto-continue to wallet after login, google lo…
JamesLawton Jul 13, 2026
927a3db
docs(skills): align polygon-defi with current Trails API auth and yie…
JamesLawton Jul 13, 2026
d007501
docs: zero-setup onboarding design spec
JamesLawton Jul 14, 2026
4c6f5a8
docs: zero-setup onboarding implementation plan
JamesLawton Jul 14, 2026
807e035
refactor(cli): move Builder API helpers into lib/builder-api
JamesLawton Jul 14, 2026
2489593
feat(cli): default publishable key so wallet login needs no setup
JamesLawton Jul 14, 2026
bcb2ae1
feat(cli): auto-provision Builder access key after login
JamesLawton Jul 14, 2026
b3d2251
fix(cli): cover createEoa in the provisioning never-throws contract
JamesLawton Jul 14, 2026
0e7f176
feat(cli): wallet login auto-provisions Builder credentials (zero-set…
JamesLawton Jul 14, 2026
e0cd00f
docs(cli): fix stale troubleshooting row for zero-setup onboarding
JamesLawton Jul 14, 2026
9b109fe
fix(cli): merge builder.json writes so provisioning cannot clobber ot…
JamesLawton Jul 14, 2026
c95f391
docs: align remaining onboarding copy with zero-setup login
JamesLawton Jul 14, 2026
54b37bd
docs(skills): refresh x402 discovery skill to current agentic-service…
AkshatGada Jul 14, 2026
122e5f0
fix(cli): x402-pay selects Polygon USDC and sets JSON content-type
AkshatGada Jul 14, 2026
dab1a65
Merge pull request #124 from 0xPolygon/feat/update-x402-services-skill
AkshatGada Jul 14, 2026
6f97364
docs(cli): default publishable key is the intended production key
JamesLawton Jul 15, 2026
410e52d
Merge branch 'staging' into feat/zero-setup-onboarding (keep zero-set…
JamesLawton Jul 15, 2026
415ca9a
Merge pull request #123 from 0xPolygon/feat/zero-setup-onboarding
JamesLawton Jul 15, 2026
67ad469
fix(cli): retry Builder provisioning on already-logged-in wallet login
JamesLawton Jul 15, 2026
17a9d0a
feat(cli): add agent as the primary bin name
JamesLawton Jul 15, 2026
f56a26f
docs: make agent the primary CLI command name
JamesLawton Jul 15, 2026
349873d
fix(agentconnect-ui): login page copy uses the agent command
JamesLawton Jul 15, 2026
2bef85d
feat: post-login and funding flows land on the agentconnect dashboard
JamesLawton Jul 15, 2026
bac6239
refactor(cli): rename SEQUENCE_PUBLISHABLE_KEY to OMS_PUBLISHABLE_KEY
JamesLawton Jul 15, 2026
dff6578
chore: gitignore .wrangler, tsbuildinfo, and scratch dirs
JamesLawton Jul 15, 2026
a6dd8a7
refactor(cli): update user-facing command hints to the agent command …
JamesLawton Jul 15, 2026
558ea1a
feat(agentconnect-ui): fund modal, service card, drop connected pill,…
JamesLawton Jul 15, 2026
0a6e22e
feat: flip login defaults to production relay and login page
JamesLawton Jul 15, 2026
a1d42ff
fix(cli): race-safe credential key read-or-create and delete
JamesLawton Jul 15, 2026
0fa0d10
docs: add oms-wallet sdk migration design spec
JamesLawton Jul 16, 2026
a66ee8c
docs: add oms-wallet sdk migration plan
JamesLawton Jul 16, 2026
6c9ebe6
refactor(oidc-relay): drop oidchandoff, keep login pairing, add oidc-…
JamesLawton Jul 16, 2026
ad14772
fix(oidc-relay): url-parse and host-allowlist the oidc-callback url
JamesLawton Jul 16, 2026
2c712f6
feat(cli): migrate embedded wallet to @polygonlabs/oms-wallet and oms…
JamesLawton Jul 16, 2026
3ac4cf9
feat(agentconnect-ui): post oms relay callback over the login pairing…
JamesLawton Jul 16, 2026
389d4a6
test(agentconnect-ui): extract and unit-test login return-url detection
JamesLawton Jul 16, 2026
dd75624
docs: migrate wallet docs to oms-wallet and node 22
JamesLawton Jul 16, 2026
315498d
fix(agentconnect-ui): key relay-return on oauth params and fail fast …
JamesLawton Jul 16, 2026
a493241
Merge pull request #127 from 0xPolygon/feat/oms-wallet-sdk-migration
JamesLawton Jul 16, 2026
ee4757c
fix: use a static oms return uri and carry the login session in sessi…
JamesLawton Jul 16, 2026
0a53547
Merge pull request #128 from 0xPolygon/feat/oms-wallet-sdk-migration
JamesLawton Jul 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .changeset/oms-browser-login.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
"@polygonlabs/agent-cli": minor
---

Zero-setup onboarding: `agent wallet login` is now the entire setup.

- **`agent` is the primary command.** The CLI ships as `agent` (with `polygon-agent` kept as a long-form alias), so onboarding is `agent wallet login`.
- **Browser login.** `wallet login` opens a branded login page (agentconnect) where the user chooses Google or email; email one-time codes are entered on the page. It works whether the browser and the CLI are on the same machine or different ones, so there is no separate remote mode. `--local` keeps the previous loopback flow (raw Google URL plus localhost callback); `--remote` is a deprecated no-op.
- **No keys to obtain.** The CLI ships a default OMS publishable key, and a successful login auto-provisions a Sequence Builder project and access key (the indexer and Trails quota) into `~/.polygon-agent/builder.json`. Provisioning is best-effort: a failure never fails the login and retries on the next `wallet login`. Point at your own project with `OMS_PUBLISHABLE_KEY` (renamed from `SEQUENCE_PUBLISHABLE_KEY`) or `setup --oms-publishable-key`.
- **Post-login and funding land on the agentconnect dashboard** (wallet prefilled, same app). The `fund` command and the dashboard's Add funds button open the Trails funding widget directly. Relay and login-page URLs default to the production deployments and can be overridden with `POLYGON_AGENT_OIDC_RELAY` and `POLYGON_AGENT_LOGIN_UI`.

Sessions and all downstream commands are unchanged, and existing sessions keep working until they expire.
11 changes: 11 additions & 0 deletions .changeset/oms-wallet-sdk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
"@polygonlabs/agent-cli": minor
---

Migrate the embedded wallet to `@polygonlabs/oms-wallet`, the renamed and updated successor to `@0xsequence/typescript-sdk`. Internally `OMSClient` becomes `OMSWallet`, with the same constructor shape and the same `.wallet` / `.indexer` sub-clients.

**Node 22+ is now required** (was Node 20+). Update your runtime before upgrading.

The Google leg of `wallet login` is re-architected onto the SDK's OMS relay: our own OAuth-capture endpoints are gone, and the OMS relay now handles the Google callback directly and returns the browser to the agentconnect login page to finish pairing with the CLI. This is an internal re-architecture with no user-facing behavior change beyond the Node floor: `wallet login` still opens the same login page, still lets you choose Google or email, and sessions still last about a week.

Email login, transactions, and balances are unchanged.
12 changes: 12 additions & 0 deletions .changeset/x402-services-skill-refresh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
"@polygonlabs/agent-cli": patch
---

Refresh the x402 discovery skill (polygon-discovery) to the current Agentic Services catalog, and fix x402 payment-option selection.

Skill: replaces the retired x402 bazaar endpoints with the live services on agentic-services.polygon.technology — Exa, SearchApi, Firecrawl, NewsAPI, NVIDIA NIM Llama 3.3/3.2, OpenRouter, Browserbase, Resend, Allium (9 endpoints), AgentMail (6), and QuickNode RPC across 16 chains — each with exact routes/URLs and prices, plus a pointer to the live `/api/discover/routes` catalog. Updates the x402 example lists in the root and CLI skills.

Fixes to `x402-pay`:

- Payment-option selection: no longer blindly pays the first advertised option. When a provider offers multiple options across chains (e.g. QuickNode lists Base Sepolia first), the CLI now selects the cheapest plain-USDC transfer on the preferred chain (default Polygon 137, or `--chain`), so a call settles ~$0.001 on Polygon instead of on a testnet.
- JSON body handling: the standard x402 flow now sets `Content-Type: application/json` when a `--body` is provided and no content-type was given, so proxied POST services (Exa, Firecrawl, NVIDIA NIM, Resend, Browserbase, OpenRouter) receive a parseable body instead of rejecting it.
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "polygon-agent-cli",
"description": "Polygon Agent toolkit. Session-based smart contract wallets (Sequence), token ops (send/swap/bridge/deposit via Trails), DeFi yield (Aave v3, ERC-4626 vaults), x402 micropayments and the Bazaar service catalog, ERC-8004 on-chain identity + reputation, and Polymarket trading. Single CLI entry point (polygon-agent), AES-256-GCM encrypted storage.",
"description": "Polygon Agent toolkit. Session-based smart contract wallets (OMS), token ops (send/swap/bridge/deposit via Trails), DeFi yield (Aave v3, ERC-4626 vaults), x402 micropayments and the Bazaar service catalog, ERC-8004 on-chain identity + reputation, and Polymarket trading. Single CLI entry point (polygon-agent), AES-256-GCM encrypted storage.",
"version": "0.2.0",
"author": {
"name": "Polygon Labs"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,26 +1,42 @@
name: Deploy Connector UI to Cloudflare
name: Deploy agentconnect UI to Cloudflare

# Builds the funding/dashboard SPA and deploys it to the agentconnect domain
# (replacing the retired connector-ui): merge to `staging` -> staging,
# merge to `main` -> production. wrangler runs via npx (not a workspace dep, to
# respect the repo trust policy); the `[assets]` worker serves the built SPA and
# the wrangler.toml v2 migration drops connector-ui's SessionRelay Durable Object.
# Reuses the same CF_WORKER_* + VITE_* secrets/environments as connector-ui.

on:
push:
branches:
- main
- staging
paths:
- 'packages/connector-ui/**'
- 'packages/agentconnect-ui/**'
- '.github/workflows/deploy-agentconnect-ui.yml'
workflow_dispatch:
inputs:
environment:
description: Environment to deploy
type: choice
options:
- staging
- production
default: staging

permissions:
contents: read

jobs:
deploy-staging:
name: Deploy (staging)
if: github.ref == 'refs/heads/staging'
if: github.ref == 'refs/heads/staging' || (github.event_name == 'workflow_dispatch' && inputs.environment == 'staging')
runs-on: ubuntu-latest
environment: staging
defaults:
run:
working-directory: packages/connector-ui

working-directory: packages/agentconnect-ui
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

Expand All @@ -38,27 +54,27 @@ jobs:
- name: Build
run: pnpm run build
env:
VITE_PROJECT_ACCESS_KEY: ${{ secrets.VITE_PROJECT_ACCESS_KEY }}
VITE_WALLET_URL: ${{ secrets.VITE_WALLET_URL }}
VITE_DAPP_ORIGIN: ${{ secrets.VITE_DAPP_ORIGIN }}
VITE_INDEXER_ACCESS_KEY: ${{ secrets.VITE_INDEXER_ACCESS_KEY }}
VITE_TRAILS_API_KEY: ${{ secrets.VITE_TRAILS_API_KEY }}
VITE_INDEXER_ACCESS_KEY: ${{ secrets.VITE_INDEXER_ACCESS_KEY }}
VITE_PROJECT_ACCESS_KEY: ${{ secrets.VITE_PROJECT_ACCESS_KEY }}
# Login-page relay base URL (per-environment GitHub variable; empty
# falls back to the production default in src/config.ts).
VITE_OIDC_RELAY_URL: ${{ vars.VITE_OIDC_RELAY_URL }}

- name: Deploy to staging
run: pnpm exec wrangler deploy --env staging
run: npx -y wrangler@4 deploy --env staging
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CF_WORKER_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CF_WORKER_ACCOUNT_ID }}

deploy-production:
name: Deploy (production)
if: github.ref == 'refs/heads/main'
if: github.ref == 'refs/heads/main' || (github.event_name == 'workflow_dispatch' && inputs.environment == 'production')
runs-on: ubuntu-latest
environment: production
defaults:
run:
working-directory: packages/connector-ui

working-directory: packages/agentconnect-ui
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

Expand All @@ -76,14 +92,15 @@ jobs:
- name: Build
run: pnpm run build
env:
VITE_PROJECT_ACCESS_KEY: ${{ secrets.VITE_PROJECT_ACCESS_KEY }}
VITE_WALLET_URL: ${{ secrets.VITE_WALLET_URL }}
VITE_DAPP_ORIGIN: ${{ secrets.VITE_DAPP_ORIGIN }}
VITE_INDEXER_ACCESS_KEY: ${{ secrets.VITE_INDEXER_ACCESS_KEY }}
VITE_TRAILS_API_KEY: ${{ secrets.VITE_TRAILS_API_KEY }}
VITE_INDEXER_ACCESS_KEY: ${{ secrets.VITE_INDEXER_ACCESS_KEY }}
VITE_PROJECT_ACCESS_KEY: ${{ secrets.VITE_PROJECT_ACCESS_KEY }}
# Login-page relay base URL (per-environment GitHub variable; empty
# falls back to the production default in src/config.ts).
VITE_OIDC_RELAY_URL: ${{ vars.VITE_OIDC_RELAY_URL }}

- name: Deploy to production
run: pnpm exec wrangler deploy --env production
run: npx -y wrangler@4 deploy --env production
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CF_WORKER_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CF_WORKER_ACCOUNT_ID }}
72 changes: 72 additions & 0 deletions .github/workflows/deploy-oidc-relay.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Deploy OIDC Relay to Cloudflare

# Mirrors the connector-ui deploy: merge to `staging` -> deploy the staging
# worker; merge to `main` -> deploy production. The relay has no build step and
# no runtime deps, so we deploy it straight with wrangler (run via npx because
# wrangler is intentionally NOT a workspace dependency — see packages/oidc-relay).
# Reuses the same Cloudflare credentials as connector-ui (CF_WORKER_* org/env
# secrets) and the same staging/production GitHub environments.

on:
push:
branches:
- main
- staging
paths:
- 'packages/oidc-relay/**'
- '.github/workflows/deploy-oidc-relay.yml'
workflow_dispatch:
inputs:
environment:
description: Environment to deploy
type: choice
options:
- staging
- production
default: staging

permissions:
contents: read

jobs:
deploy-staging:
name: Deploy (staging)
if: github.ref == 'refs/heads/staging' || (github.event_name == 'workflow_dispatch' && inputs.environment == 'staging')
runs-on: ubuntu-latest
environment: staging
defaults:
run:
working-directory: packages/oidc-relay
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: .nvmrc

- name: Deploy to staging
run: npx -y wrangler@3 deploy --env staging
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CF_WORKER_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CF_WORKER_ACCOUNT_ID }}

deploy-production:
name: Deploy (production)
if: github.ref == 'refs/heads/main' || (github.event_name == 'workflow_dispatch' && inputs.environment == 'production')
runs-on: ubuntu-latest
environment: production
defaults:
run:
working-directory: packages/oidc-relay
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: .nvmrc

- name: Deploy to production
run: npx -y wrangler@3 deploy --env production
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CF_WORKER_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CF_WORKER_ACCOUNT_ID }}
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,11 @@ dist/
.nx/
*/**/.nx
.gstack/

# Build and dev artifacts
.wrangler/
*.tsbuildinfo

# Superpowers scratch (plans/specs live in docs/superpowers, not here)
.superpowers/
.entire/
19 changes: 14 additions & 5 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,32 @@ Fetch and apply the Polygon Apps Team standards:

## Repository Structure

This is a pnpm workspace monorepo with two packages:
This is a pnpm workspace monorepo. The primary package is:

- `packages/polygon-agent-cli/` — CLI tool for on-chain agent operations on Polygon
- `packages/connector-ui/` — Wallet connector UI (Vite + React frontend)

Wallets use the OMS (Open Money Stack) V3 embedded-wallet model (`@polygonlabs/oms-wallet`,
`OMSWallet`): the CLI authenticates via browser login with Google or email (`wallet login`) and
holds the credential on disk.

Static assets (ABI JSON in `contracts/`, Claude skills in `skills/`) are
published with the CLI package but are not source code.

## Development

- Dev environment requires Node 24+ (`.nvmrc`). The published CLI supports Node 20+.
- Dev environment requires Node 24+ (`.nvmrc`). The published CLI supports Node 22+.
- `tsx packages/polygon-agent-cli/src/index.ts` runs the CLI directly from source (tsx handles `.js`→`.ts` remapping for workspace packages).
- `pnpm run build` compiles TypeScript to `dist/` (targeting es2023 for Node 20 compat).
- `pnpm run build` compiles TypeScript to `dist/` (targeting es2023 for Node 22 compat).
- The CLI uses yargs with the `CommandModule` builder/handler pattern.

## Key Directories

- `packages/polygon-agent-cli/src/commands/` — yargs command modules
- `packages/polygon-agent-cli/src/lib/` — shared utilities (storage, dapp-client, token-directory, ethauth)
- `packages/polygon-agent-cli/src/lib/` — shared utilities (storage, oms-client, oms-tx, oms-storage, tx-dispatch, token-directory, ethauth)
- `packages/polygon-agent-cli/src/types.d.ts` — ambient declarations for untyped dependencies

## Wallet auth (OMS V3)

- `agent wallet login`: by default opens the agentconnect login page (`POLYGON_AGENT_LOGIN_UI`, default `https://agentconnect.polygon.technology`), where the user chooses Google or email; works whether the browser is local or remote. `--local` falls back to the older loopback flow (raw Google URL + localhost callback; browser must be on this machine). `--remote` is deprecated now that the default flow already works remotely. Relay base URL is `POLYGON_AGENT_OIDC_RELAY` or `--relay-url` (default `https://oidc-relay.polygon.technology`). Other flags: `--name <n>` (default "main"), `--no-fund`, `--force`. Session persists ~1 week under `~/.polygon-agent/oms/<name>/`.
- No setup step is required: the CLI ships a default `OMS_PUBLISHABLE_KEY`, and `wallet login` auto-provisions a Builder project + access key on first login, saving it to `~/.polygon-agent/builder.json`. `OMS_PUBLISHABLE_KEY` (env) and `setup --oms-publishable-key` remain as advanced overrides for developers pointing at their own OMS project; plain `setup` remains for manual or `--force` re-provisioning.
- `lib/tx-dispatch.ts` `runTx` is the single tx primitive (wraps `runOmsTx`). All commands submit through it.
Loading
Loading