@c4roa0/agentpay-user 0.0.0-stage → 0.3.0
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/AGENTS.md +137 -0
- package/CONTRIBUTING.md +16 -0
- package/LICENSE +373 -0
- package/NOTICE.md +20 -0
- package/README.md +84 -2
- package/SECURITY.md +16 -0
- package/doc/README.md +52 -0
- package/doc/TODO.md +97 -0
- package/doc/architecture.md +96 -0
- package/doc/design.md +60 -0
- package/doc/develope.md +68 -0
- package/doc/plans/user-wallet-distribution.md +91 -0
- package/doc/reference/harness-skill-runtime.md +120 -0
- package/doc/reference/local-cache-foundation.md +176 -0
- package/doc/reference/local-safe-owner-ui.md +25 -0
- package/doc/reference/local-update.md +18 -0
- package/doc/reference/multi-service-runtime.md +119 -0
- package/doc/reference/npm-integration-verification.md +67 -0
- package/doc/reference/onboarding-writing.md +48 -0
- package/doc/reference/original-order-recovery.md +97 -0
- package/doc/reference/private-anvil-onboarding-config.example.json +18 -0
- package/doc/reference/public-deployment-settings.md +56 -0
- package/doc/reference/random-skill-contract.md +18 -0
- package/doc/reference/result-file-cache.md +166 -0
- package/doc/reference/runtime-address-recovery.md +42 -0
- package/doc/reference/runtime-result-cache.md +157 -0
- package/doc/reference/runtime-startup-recovery.md +141 -0
- package/doc/reference/skill-input-output-cache.md +93 -0
- package/doc/reference/wallet-identity-policy-history.md +23 -0
- package/doc/runbooks/commands.md +89 -0
- package/doc/runbooks/deployment-authorization-update.md +42 -0
- package/doc/runbooks/emergency-payment-stop.md +80 -0
- package/doc/runbooks/local-autostart.md +212 -0
- package/doc/runbooks/local-cache.md +115 -0
- package/doc/runbooks/local-update.md +84 -0
- package/doc/runbooks/market-connection.md +73 -0
- package/doc/runbooks/npm-publication.md +56 -0
- package/doc/runbooks/official-test-package.md +62 -0
- package/doc/runbooks/order-cancellation.md +56 -0
- package/doc/runbooks/order-support.md +41 -0
- package/doc/runbooks/policy-renewal.md +80 -0
- package/doc/runbooks/private-anvil-terminal-setup.md +58 -0
- package/doc/runbooks/runtime-skill-client.md +155 -0
- package/doc/runbooks/safe-owner-web.md +104 -0
- package/doc/runbooks/safe-policy-migration.md +36 -0
- package/doc/runbooks/safe-policy-setup.md +52 -0
- package/doc/runbooks/terminal-authorization-preview.md +38 -0
- package/doc/runbooks/unlock-wallet.md +68 -0
- package/doc/runbooks/user-onboarding.md +87 -0
- package/doc/runbooks/wallet-identity.md +59 -0
- package/doc/security/public-source-review-2026-11-06.md +71 -0
- package/doc/usage.md +54 -0
- package/package.json +49 -4
- package/progress.md +178 -0
- package/run +29 -0
- package/scripts/agentpay-cli.mjs +11 -0
- package/scripts/authorize-existing-safe.mjs +211 -0
- package/scripts/autostart.mjs +186 -0
- package/scripts/cancel-order.mjs +76 -0
- package/scripts/check-installation.mjs +26 -0
- package/scripts/check-official-test-package.mjs +35 -0
- package/scripts/check-purchase-readiness.mjs +275 -0
- package/scripts/configure-runtime-client.mjs +16 -0
- package/scripts/guide-policy.mjs +64 -0
- package/scripts/initialize-caller-credential.mjs +11 -0
- package/scripts/install-skill-bundle.mjs +176 -0
- package/scripts/install-user.mjs +24 -0
- package/scripts/local-service.mjs +60 -0
- package/scripts/lock.mjs +11 -0
- package/scripts/login-notify.mjs +39 -0
- package/scripts/migrate-safe-policy.mjs +165 -0
- package/scripts/official-paid-test.mjs +9 -0
- package/scripts/poll-unconfirmed-notice.mjs +75 -0
- package/scripts/prepare-onboarding.mjs +33 -0
- package/scripts/preview-policy.mjs +65 -0
- package/scripts/random-model-ack-smoke.mjs +235 -0
- package/scripts/random-reject-smoke.mjs +147 -0
- package/scripts/renew.mjs +9 -0
- package/scripts/repair.mjs +10 -0
- package/scripts/revoke.mjs +9 -0
- package/scripts/select-skill-bundle.mjs +39 -0
- package/scripts/setup-local.mjs +199 -0
- package/scripts/status.mjs +13 -0
- package/scripts/test-package.mjs +35 -0
- package/scripts/unlock.mjs +13 -0
- package/scripts/update.mjs +7 -0
- package/scripts/user-setup.mjs +219 -0
- package/scripts/verify-npm-release.mjs +32 -0
- package/src/active-skill.mjs +160 -0
- package/src/anvil-onboarding-state.mjs +96 -0
- package/src/anvil-onboarding.mjs +1036 -0
- package/src/authorization-question-checkpoint.mjs +114 -0
- package/src/autostart-files.mjs +50 -0
- package/src/cache-management-cli.mjs +302 -0
- package/src/cache-management.mjs +47 -0
- package/src/caller-auth.mjs +58 -0
- package/src/client-request-lock.mjs +44 -0
- package/src/connect-market.mjs +408 -0
- package/src/demo-unlock-secret.mjs +64 -0
- package/src/deployment-status.mjs +198 -0
- package/src/file-cache-cli.mjs +83 -0
- package/src/file-cache-owner.mjs +74 -0
- package/src/file-cache-settings.mjs +50 -0
- package/src/file-cache.mjs +790 -0
- package/src/file-download.mjs +281 -0
- package/src/finalization-disclosure.mjs +16 -0
- package/src/guided-setup.mjs +194 -0
- package/src/index.mjs +1231 -0
- package/src/install-and-setup.mjs +38 -0
- package/src/install-preflight.mjs +201 -0
- package/src/install-user.mjs +279 -0
- package/src/installation-paths.mjs +31 -0
- package/src/invocation-result.mjs +148 -0
- package/src/invocation-store.mjs +385 -0
- package/src/local-data-directory.mjs +117 -0
- package/src/local-info.mjs +181 -0
- package/src/local-services.mjs +156 -0
- package/src/local-time.mjs +36 -0
- package/src/local-update.mjs +306 -0
- package/src/local-wallet-ipc.mjs +93 -0
- package/src/login-reminder.mjs +28 -0
- package/src/market-download-url.mjs +21 -0
- package/src/node-version.mjs +12 -0
- package/src/npm-update.mjs +126 -0
- package/src/official-paid-test.mjs +407 -0
- package/src/official-test-package.mjs +41 -0
- package/src/official-test-update.mjs +162 -0
- package/src/order-cancellation.mjs +241 -0
- package/src/order-closure.mjs +42 -0
- package/src/order-list-panel.mjs +110 -0
- package/src/order-review.mjs +424 -0
- package/src/order-status-panel.mjs +65 -0
- package/src/order-support.mjs +365 -0
- package/src/owner-approval-server.mjs +332 -0
- package/src/owner-signer.mjs +67 -0
- package/src/policy-info.mjs +38 -0
- package/src/policy-migration.mjs +84 -0
- package/src/policy-operations.mjs +67 -0
- package/src/policy-preview-server.mjs +236 -0
- package/src/policy-terminal-guide.mjs +377 -0
- package/src/prepare-local-services.mjs +143 -0
- package/src/prepare-onboarding.mjs +210 -0
- package/src/private-journal-files.mjs +29 -0
- package/src/readiness-profile.mjs +30 -0
- package/src/renew-policy.mjs +605 -0
- package/src/repair-market-wallet.mjs +137 -0
- package/src/restore-wallet.mjs +255 -0
- package/src/result-cache-view.mjs +276 -0
- package/src/runtime-client.mjs +1145 -0
- package/src/runtime-connection-settings.mjs +101 -0
- package/src/runtime-recovery.mjs +667 -0
- package/src/runtime-status.mjs +32 -0
- package/src/safe-owner-anvil.mjs +115 -0
- package/src/safe-policy-plan.mjs +195 -0
- package/src/service-reference.mjs +233 -0
- package/src/service-url.mjs +52 -0
- package/src/settlement-response.mjs +69 -0
- package/src/setup-autostart.mjs +197 -0
- package/src/setup-demo.mjs +152 -0
- package/src/skill-bundle.mjs +142 -0
- package/src/skill-client.mjs +198 -0
- package/src/skill-install-prompt.mjs +31 -0
- package/src/skill-package.mjs +50 -0
- package/src/skill-zip.mjs +220 -0
- package/src/status-panel.mjs +589 -0
- package/src/transport.mjs +48 -0
- package/src/uninstall-local.mjs +299 -0
- package/src/user-cli.mjs +354 -0
- package/src/user-setup-guide.mjs +193 -0
- package/src/wallet-control.mjs +182 -0
- package/src/wallet-ipc-error.mjs +16 -0
- package/src/wallet-package.mjs +22 -0
- package/update-pair.json +6 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Approve Safe operations in your browser
|
|
2
|
+
|
|
3
|
+
The external owner signer now opens a temporary local authorization website during
|
|
4
|
+
setup, Policy renewal and Policy revocation. It requires an injected browser owner
|
|
5
|
+
wallet (window.ethereum) and a validated Safe version: currently 1.3.0 or 1.4.1.
|
|
6
|
+
Other Safe versions stop explicitly. WalletConnect/QR is not implemented.
|
|
7
|
+
|
|
8
|
+
## Local computer
|
|
9
|
+
|
|
10
|
+
The terminal prints a loopback address and attempts to open the system browser
|
|
11
|
+
when a desktop environment is detected. Open that address manually if needed.
|
|
12
|
+
Review the network, Safe, operation and limits. Connect a Safe owner wallet on the
|
|
13
|
+
matching network. The page cannot access your local Wallet IPC or Session Key.
|
|
14
|
+
|
|
15
|
+
For a single-owner Safe, choose the named operation button and confirm in the owner wallet.
|
|
16
|
+
For a multisig Safe, other owners can open the same plan and use Approve operation.
|
|
17
|
+
Approvals use Safe approveHash transactions and require network fees; approvals
|
|
18
|
+
remain valid for that transaction hash. Once enough owners are available, execute.
|
|
19
|
+
The connected executing owner can count toward the threshold without a separate
|
|
20
|
+
approveHash transaction. Other owners' approvals are read from the chain, so no
|
|
21
|
+
hosted transaction service or shared signature clipboard is required.
|
|
22
|
+
|
|
23
|
+
Operations are sequential. For example, enable the Module, check approvals again,
|
|
24
|
+
then create the Policy. The page checks completed effects before offering execution.
|
|
25
|
+
A changed Safe nonce pauses the saved operation for reconciliation. Approval alone
|
|
26
|
+
does not mean execution; a successful Safe ExecutionSuccess and chain state are
|
|
27
|
+
required. Expired or conflicting Policy drafts stop.
|
|
28
|
+
|
|
29
|
+
Return to the terminal and enter check. The local process independently verifies
|
|
30
|
+
chain effects, then continues binding. Enter q to pause; the original draft remains.
|
|
31
|
+
|
|
32
|
+
## Server without a desktop
|
|
33
|
+
|
|
34
|
+
The local service still listens only on 127.0.0.1. The terminal prints its actual
|
|
35
|
+
port and an SSH command such as:
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
ssh -N -L PORT:127.0.0.1:PORT USER@SERVER
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Run that on your own computer, replacing the placeholders with the printed port and
|
|
42
|
+
your server login. Open the terminal's printed URL in your local browser with the
|
|
43
|
+
owner wallet extension. Forward the same port; Host validation deliberately rejects
|
|
44
|
+
other origins. Do not expose this temporary service publicly.
|
|
45
|
+
|
|
46
|
+
## Portable fallback
|
|
47
|
+
|
|
48
|
+
Enter export in the terminal. Copy the entire printed directory to a trusted computer.
|
|
49
|
+
It contains only the public fixed plan, HTML, bundled ethers/browser code and a
|
|
50
|
+
minimal Node server. It does not include RPC credentials, local session tokens or
|
|
51
|
+
Wallet keys. From that directory run:
|
|
52
|
+
|
|
53
|
+
```sh
|
|
54
|
+
node serve.mjs
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Open the address it prints. Alternatively:
|
|
58
|
+
|
|
59
|
+
```sh
|
|
60
|
+
python3 -m http.server 8765 --bind 127.0.0.1
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Then open http://127.0.0.1:8765. Direct file:// opening is not a supported wallet
|
|
64
|
+
connection method. Keep the files while approval is pending, then remove that
|
|
65
|
+
exported directory. Each export is separate and preserved until you remove it.
|
|
66
|
+
The static page uses the browser wallet's network provider, not the original
|
|
67
|
+
computer's local API. That wallet must have access to the correct network RPC.
|
|
68
|
+
For Anvil, configure your browser wallet with the arranged RPC forwarding.
|
|
69
|
+
|
|
70
|
+
Return to the original terminal and enter check (or resume the original command).
|
|
71
|
+
A copied page cannot bind the original computer's Wallet by itself.
|
|
72
|
+
|
|
73
|
+
## Evidence limits
|
|
74
|
+
|
|
75
|
+
Controlled HTTP, export and mocked browser/contract tests pass. Actual browser
|
|
76
|
+
extension signatures, desktop launch, SSH forwarding, multi-owner chain execution
|
|
77
|
+
and transaction fees remain participant acceptance. No real-network authorization
|
|
78
|
+
has been performed by implementing this page.
|
|
79
|
+
|
|
80
|
+
## Recovery after interruption
|
|
81
|
+
|
|
82
|
+
The local guide saves pending public transaction references and checks their receipts
|
|
83
|
+
before another submission. Reopen the original guide and connect the owner wallet.
|
|
84
|
+
If another Safe transaction used the nonce, check approvals again and review the new
|
|
85
|
+
nonce. Prior approvals do not carry over. Keep exported pages in the same trusted
|
|
86
|
+
browser; portable mode uses browser storage rather than the original machine's journal.
|
|
87
|
+
Do not clear storage or switch browsers while a transaction is pending. Verify its
|
|
88
|
+
original transaction and effects first. Expiry checks use chain time.
|
|
89
|
+
|
|
90
|
+
## Renewal interaction
|
|
91
|
+
|
|
92
|
+
Renewal reuses the bound Safe. Deployment updates label the default budget as remaining
|
|
93
|
+
allowance and preserve the original expiry when its default is retained. One webpage
|
|
94
|
+
runs the fixed revoke/optional Module enable/create plan. Connect once, then confirm
|
|
95
|
+
each named operation in the owner wallet. The page verifies each effect before showing
|
|
96
|
+
the next action. Return to the terminal and enter `check` once after all operations.
|
|
97
|
+
The independent terminal/Wallet checks still gate binding. Type `help` in the terminal
|
|
98
|
+
for SSH forwarding instructions; `export` provides the portable fallback.
|
|
99
|
+
|
|
100
|
+
The complete renewal plan stays fixed when you pause and reopen it; completed
|
|
101
|
+
operations are skipped after chain checks. Revoking the old permission alone does
|
|
102
|
+
not prevent returning to edit the new draft. Once creation approval/execution has
|
|
103
|
+
been prepared for the wallet, the draft is protected against changes; verify the
|
|
104
|
+
original operation instead. Exporting the portable page also protects its draft.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Deployment migration and advanced Policy tools
|
|
2
|
+
|
|
3
|
+
For normal deployment changes, use `./run setup` or `./run policy renew`.
|
|
4
|
+
The guide explains the mismatch, preserves your Safe and Session Key, and prepares
|
|
5
|
+
owner-approved replacement permission. Follow
|
|
6
|
+
[deployment authorization update](deployment-authorization-update.md) for supported
|
|
7
|
+
changes, defaults, signing and recovery. Ordinary software repair or a newly
|
|
8
|
+
qualified service does not by itself require a new Policy.
|
|
9
|
+
|
|
10
|
+
The external signer serves the [browser approval page](safe-owner-web.md), including
|
|
11
|
+
on Anvil. Signing support is implemented; public-network, multisig and complete
|
|
12
|
+
interruption acceptance remain separate gates. Never use an unlocked test account
|
|
13
|
+
as a substitute for a real owner's approval.
|
|
14
|
+
|
|
15
|
+
## Advanced migration script
|
|
16
|
+
|
|
17
|
+
`scripts/migrate-safe-policy.mjs` exposes `preview`, `prepare`, `status`, `export`,
|
|
18
|
+
`complete`, `refresh` and `cancel` for an explicitly managed migration. It is a
|
|
19
|
+
low-level tool, not the normal installation or renewal entry. Inspect its usage
|
|
20
|
+
before supplying paths or arguments.
|
|
21
|
+
|
|
22
|
+
Review the target Safe, network, token, delegate, Registry, budget, expiry and
|
|
23
|
+
Module/Factory. `prepare` saves recoverable migration state and blocks new signing.
|
|
24
|
+
The owner revokes the old Policy before creating its replacement; `export` provides
|
|
25
|
+
the next operation. `complete` switches the local binding only after Wallet checks
|
|
26
|
+
actual chain state. `authorize-test` is restricted to private Anvil test use.
|
|
27
|
+
|
|
28
|
+
If interrupted, inspect `status` and resume the original migration. Do not remove
|
|
29
|
+
local files, generate a new key or create a replacement payment. Confirmed on-chain
|
|
30
|
+
revocation cannot be reversed by restoring an old local file. Cancel only while
|
|
31
|
+
its state and chain checks permit it.
|
|
32
|
+
|
|
33
|
+
After completion, verify the binding, restart/unlock services and check readiness.
|
|
34
|
+
Migration does not purchase a service, and the platform need not wait for every
|
|
35
|
+
user to migrate before resuming new Orders. Original Orders retain their original
|
|
36
|
+
rules and independently verified authorization scopes.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# First spending authorization
|
|
2
|
+
|
|
3
|
+
Start with `./run install --market YOUR_MARKET_ORIGIN`, or return with `./run setup`.
|
|
4
|
+
Follow [installation](user-onboarding.md) for prerequisites. Wallet holds an encrypted
|
|
5
|
+
Session Key locally; the Safe enforces the approved spending limits. Market login or
|
|
6
|
+
Wallet connection does not create spending permission.
|
|
7
|
+
|
|
8
|
+
## What you review
|
|
9
|
+
|
|
10
|
+
1. Initialize Wallet and keep its encrypted Session Key and password securely.
|
|
11
|
+
Neither is your Safe owner's private key. Never give keys to a Skill or platform.
|
|
12
|
+
2. Use a Safe on the configured network. Check the Safe address, owners, signature
|
|
13
|
+
threshold, token and balance. An ordinary owner address is not a Safe address.
|
|
14
|
+
3. Choose a total budget, per-purchase limit and expiry. Eligible purchases can use
|
|
15
|
+
the full budget without another owner signature. Registry qualification verifies
|
|
16
|
+
identity/control, not service quality. New qualified services satisfying the rule
|
|
17
|
+
do not require a new Policy.
|
|
18
|
+
4. Review the exact draft and operation list. `details` shows deployment and identity;
|
|
19
|
+
`back` edits unsubmitted terms. Editing a draft does not grant permission.
|
|
20
|
+
5. Approve the operations with the selected owner signer. First setup may require
|
|
21
|
+
enabling the Module before creating the Policy. With the default external signer,
|
|
22
|
+
use the [local browser page](safe-owner-web.md), then return and enter `check`.
|
|
23
|
+
6. Wallet independently verifies chain state before binding. Start/unlock local
|
|
24
|
+
services and, if desired, confirm the cost of the official payment test.
|
|
25
|
+
|
|
26
|
+
If restoring an existing authorization, use [Wallet restoration](wallet-identity.md)
|
|
27
|
+
with the original key and Policy. Do not create a replacement purchase to recover
|
|
28
|
+
an interrupted Order.
|
|
29
|
+
|
|
30
|
+
## Signer and evidence boundaries
|
|
31
|
+
|
|
32
|
+
Signer selection is explicit. The external signer also works on Anvil; a private
|
|
33
|
+
chain ID does not automatically select a test account. The guarded Anvil adapter is
|
|
34
|
+
only for an explicitly selected, arranged single-owner test Safe. The advanced
|
|
35
|
+
`authorize-existing-safe.mjs` test script is not the normal user entry.
|
|
36
|
+
|
|
37
|
+
An owner approval or submitted transaction is not proof of successful execution.
|
|
38
|
+
The guide checks chain effects and retains unfinished plans. Resume the same flow
|
|
39
|
+
rather than deleting state. Multi-owner approval requires the Safe's actual threshold.
|
|
40
|
+
The recorded private single-owner journey does not establish public-network,
|
|
41
|
+
multisig or real-funds readiness. Safe creation is not performed by this guide.
|
|
42
|
+
|
|
43
|
+
## Daily use and recovery
|
|
44
|
+
|
|
45
|
+
Wallet starts locked after restart; `./run wallet unlock` unlocks it locally.
|
|
46
|
+
Locking it does not revoke on-chain permission. Use [renewal/revocation](policy-renewal.md)
|
|
47
|
+
or [emergency payment stop](emergency-payment-stop.md) for owner-authorized changes.
|
|
48
|
+
|
|
49
|
+
Insufficient funds, exhausted budgets, expiry and unavailable services do not allow
|
|
50
|
+
silent increases in authority. Interrupted requests keep their original identity.
|
|
51
|
+
For a changed deployment, use [authorization update](deployment-authorization-update.md)
|
|
52
|
+
without reinitializing the Session Key.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Terminal authorization preview
|
|
2
|
+
|
|
3
|
+
Use Linux with compatible Node installed. Prompts are English. This page covers
|
|
4
|
+
the demo/preview entries only; ordinary setup supports external owner signing.
|
|
5
|
+
macOS startup and public-network acceptance remain separate release gates.
|
|
6
|
+
|
|
7
|
+
## Choose an entry
|
|
8
|
+
|
|
9
|
+
For the complete four-stage UI simulation, run from User:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
node scripts/user-setup.mjs --demo
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Choose `continue` once. The demo advances through Wallet initialization, spending permission, official Skill preparation and paid test. It asks for two confirmations: spending permission and test payment. Official Skill preparation and acknowledgement of verified test receipt are simulated automatically. Hidden practice-secret entry and spending-limit fields remain. It never creates keys, connects to a chain, installs files or pays. Simulation progress survives a pause in the same process, not process exit. It ends after the test and points to Market.
|
|
16
|
+
|
|
17
|
+
To preview only the spending parameters:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
node scripts/guide-policy.mjs --demo
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Enter the Safe (or press Enter for the fictional example), total budget, per-payment limit and duration in whole days. `details` shows deployment information; `create` at the Safe prompt explains where to obtain the correct Safe. One final confirmation completes this read-only preview, without granting permission. Expiry is displayed in the local timezone. No inputs are persisted by this standalone preview.
|
|
24
|
+
|
|
25
|
+
For actual read-only deployment checks:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
node scripts/guide-policy.mjs PUBLIC_DEPLOYMENT_JSON WALLET_DELEGATE
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The public config supplies `chainId`, `rpcUrl`, `module`, `token`, `factory`, `registry`, `tokenDecimals` and `source`; optional `tokenSymbol` labels amounts. Use trusted deployment data and the public Wallet execution address. The command checks chain identity, contract presence, Safe owners/threshold, Module and Policy state. It cannot sign or bind. Contract presence alone is not proof of trusted semantics. Never enter an owner private key, Session Key or unlock secret into these fields.
|
|
32
|
+
|
|
33
|
+
## Actual setup and owner signing
|
|
34
|
+
|
|
35
|
+
This guide describes the explicit demo/preview path only. Ordinary setup supports external-owner approval; see [browser signing](safe-owner-web.md). Private Anvil can use an explicitly selected guarded test signer.
|
|
36
|
+
|
|
37
|
+
On a supported real network the owner must execute the reviewed Safe operations: enable the trusted AgentPay Module if absent, then create the bounded Policy. The application must verify actual chain results and the Safe's signature threshold; a user clicking confirm is not chain evidence. Reducing guide confirmations does not merge contract operations or imply a real-wallet batch-signing implementation. [Safe authorization](safe-policy-setup.md) explains the authority and release boundaries. The demo does not open an owner-signing browser page. Actual setup attempts to
|
|
38
|
+
open its local approval page on a desktop and always prints the address.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Lock and unlock Wallet from User
|
|
2
|
+
|
|
3
|
+
From the User repository, run:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
./run wallet unlock
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Enter the Wallet unlock secret in the terminal. Input is hidden. The Wallet service
|
|
10
|
+
must already be running; this command does not start services, create a key or change
|
|
11
|
+
spending permission. Runtime itself does not need unlocking.
|
|
12
|
+
|
|
13
|
+
Install and successful local initialization remember your User data directory in
|
|
14
|
+
`.agentpay-install/state.json` beside the User and Wallet repositories. Lock/unlock
|
|
15
|
+
use that location automatically. If no installation location exists, they use
|
|
16
|
+
`$HOME/.local/share/agentpay/user`. To temporarily select another:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
./run wallet unlock '/your/User data directory'
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Selection order: explicit argument, `AGENTPAY_USER_DATA_DIR`, remembered installation,
|
|
23
|
+
standard default. A one-off lock/unlock argument does not change the saved location.
|
|
24
|
+
Install also reuses the saved location, so retrying Install does not silently switch
|
|
25
|
+
back to the standard directory. The record contains only the path and existing
|
|
26
|
+
installer checkpoints, never a password. Do not delete this file to recover a Wallet.
|
|
27
|
+
Pass the User data directory, not its `wallet` subdirectory. Keep the User and Wallet
|
|
28
|
+
repositories side by side and complete installation/build first.
|
|
29
|
+
|
|
30
|
+
After successful unlock, resume the original Skill request. Do not create a replacement
|
|
31
|
+
payment to work around an interrupted request. Existing Policy limits, expiry and
|
|
32
|
+
revocation still apply. Unlock success alone does not prove purchase readiness.
|
|
33
|
+
|
|
34
|
+
Passwords must not appear in command arguments, environment variables or files.
|
|
35
|
+
The command inherits your interactive terminal; Wallet owns hidden input and its
|
|
36
|
+
existing authenticated local administration call. Runtime does not receive the secret.
|
|
37
|
+
|
|
38
|
+
## Restart support status
|
|
39
|
+
|
|
40
|
+
Linux automatic startup and best-effort desktop reminders now have a separate
|
|
41
|
+
[management command](local-autostart.md). The terminal installer now offers to enable them after the connectivity test;
|
|
42
|
+
real desktop/login/reboot acceptance remains pending. No saved auto-unlock material.
|
|
43
|
+
|
|
44
|
+
## Lock Wallet
|
|
45
|
+
|
|
46
|
+
From the User repository:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
./run wallet lock
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Use the same optional User directory or `AGENTPAY_USER_DATA_DIR` as unlock. Lock
|
|
53
|
+
clears the decrypted signing key from Wallet memory. It does not revoke the on-chain
|
|
54
|
+
Policy, cancel Orders or reverse already signed/submitted payments.
|
|
55
|
+
|
|
56
|
+
Both commands check local setup, ownership/permissions and socket presence first.
|
|
57
|
+
A leftover socket still may not have a running process; a failed connection remains
|
|
58
|
+
an error, not proof that the password is wrong. Wallet public results are rendered
|
|
59
|
+
as short messages rather than raw JSON. Unknown failures retain a safe error code.
|
|
60
|
+
|
|
61
|
+
## Check before unlocking
|
|
62
|
+
|
|
63
|
+
Run `node scripts/status.mjs` to inspect the running local Wallet without a password.
|
|
64
|
+
The same remembered directory and optional override apply. Lock/unlock/status now
|
|
65
|
+
probe the socket connection, not only the socket file. A stale file reports that
|
|
66
|
+
Wallet is not running before asking for a secret; no socket or data is deleted.
|
|
67
|
+
A successful connection does not by itself prove authenticated IPC works; later
|
|
68
|
+
Wallet errors remain visible as concise results with a safe error code.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Install and use AgentPay User
|
|
2
|
+
|
|
3
|
+
Use Linux with Node.js 22.22.3 or newer and npm. Have your platform's Market
|
|
4
|
+
address and a Safe on its supported network, controlled by your owner wallet.
|
|
5
|
+
AgentPay does not need your owner private key. macOS startup remains unverified.
|
|
6
|
+
|
|
7
|
+
## 1. Install program files
|
|
8
|
+
|
|
9
|
+
Install User with `npm install --global @c4roa0/agentpay-user@0.3.0`.
|
|
10
|
+
Its reviewed Wallet dependency is included. Source/ZIP alternatives are in
|
|
11
|
+
[README](../../README.md). No separate Wallet checkout or build is needed.
|
|
12
|
+
Keep private data outside the program folder.
|
|
13
|
+
|
|
14
|
+
## 2. Configure
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
agentpay install --market https://YOUR_MARKET_ORIGIN
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Use your platform's actual HTTPS origin; private rehearsals may use loopback HTTP.
|
|
21
|
+
Without `npm link`, run `./run install --market ...` from User instead. For a ZIP
|
|
22
|
+
without executable permissions use `sh run`; `AGENTPAY_NODE` can select Node.
|
|
23
|
+
|
|
24
|
+
Install verifies installed dependencies and downloads public deployment
|
|
25
|
+
settings, then continues into local setup. Read each prompt: setup prepares an
|
|
26
|
+
encrypted Session Key, spending limits, owner approval and local services. Existing
|
|
27
|
+
keys, histories and saved drafts are retained on retry. Approve only the intended
|
|
28
|
+
network, Safe, amounts and expiry in your owner wallet. See
|
|
29
|
+
[browser approval](safe-owner-web.md).
|
|
30
|
+
|
|
31
|
+
The official connectivity test asks for its maximum price before making a paid
|
|
32
|
+
Order. It uses a reviewed package digest pinned in User. Download/install alone
|
|
33
|
+
must not be mistaken for spending permission or payment.
|
|
34
|
+
|
|
35
|
+
## Resume and operate
|
|
36
|
+
|
|
37
|
+
Run the same Install command if preparation failed, or `agentpay setup` to return to
|
|
38
|
+
a prepared installation. Read its saved log when dependency preparation fails;
|
|
39
|
+
do not delete Wallet state to bypass an error. Deployment changes are handled by
|
|
40
|
+
[authorization update](deployment-authorization-update.md).
|
|
41
|
+
|
|
42
|
+
```sh
|
|
43
|
+
agentpay status
|
|
44
|
+
agentpay wallet unlock
|
|
45
|
+
agentpay market connect
|
|
46
|
+
agentpay payment test
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Runtime and Wallet run locally. On Linux, the guide can configure systemd user
|
|
50
|
+
services. Wallet starts locked after a restart; [service commands](local-autostart.md)
|
|
51
|
+
control startup and background operation. Keep the Node installation used by those
|
|
52
|
+
service files available.
|
|
53
|
+
|
|
54
|
+
The default data location is `$HOME/.local/share/agentpay/user`. Install also stores
|
|
55
|
+
private preparation checkpoints/logs under `.agentpay-install/` beside the repositories.
|
|
56
|
+
`agentpay wallet info` shows resolved identity and paths. Follow
|
|
57
|
+
[backup and restore](wallet-identity.md) before replacing a computer or deleting data.
|
|
58
|
+
|
|
59
|
+
## Private Anvil and other deployment settings
|
|
60
|
+
|
|
61
|
+
Anvil uses the same authorization/payment code with explicit configuration. Select
|
|
62
|
+
external-owner signing for browser-wallet testing; the guarded test signer is only
|
|
63
|
+
for the arranged private rehearsal. Network ID alone does not authorize a test signer.
|
|
64
|
+
|
|
65
|
+
If a rehearsal configuration publishes server loopback URLs, they refer to that
|
|
66
|
+
server and need arranged SSH forwarding from another computer. Ask the operator
|
|
67
|
+
for the endpoints in that configuration; there is no universal public port list.
|
|
68
|
+
Supported public deployment configuration should expose reachable public APIs and
|
|
69
|
+
RPC, while your Runtime remains local. See [deployment settings](../reference/public-deployment-settings.md).
|
|
70
|
+
|
|
71
|
+
The [advanced private test guide](private-anvil-terminal-setup.md) is not a requirement
|
|
72
|
+
for an ordinary public-network user. Source support is not real-network acceptance.
|
|
73
|
+
|
|
74
|
+
## Edit an authorization draft
|
|
75
|
+
|
|
76
|
+
Type `back` to revisit the previous editable question. Earlier answers are retained;
|
|
77
|
+
dependent later choices may need review. `q` pauses with saved progress. An operation
|
|
78
|
+
already submitted on-chain cannot be changed by editing a local draft: resume its
|
|
79
|
+
original verification first.
|
|
80
|
+
|
|
81
|
+
## Update or uninstall
|
|
82
|
+
|
|
83
|
+
Download compatible User and Wallet code, then run `agentpay repair`. It applies local
|
|
84
|
+
code and preserves keys and requests. See [updates](local-update.md).
|
|
85
|
+
`agentpay uninstall` requires confirmation before removing local data. It does not
|
|
86
|
+
revoke on-chain permission; use the appropriate owner-authorized revocation or
|
|
87
|
+
[emergency stop](emergency-payment-stop.md) when needed.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Find your Wallet identity and keep a backup
|
|
2
|
+
|
|
3
|
+
From the User repository, run:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
./run wallet info
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
This reads saved local information without starting/unlocking Wallet or contacting
|
|
10
|
+
Market or the chain. It shows your Safe, network, Module, Policy ID, Wallet execution
|
|
11
|
+
address, file locations and any saved Market connection. It does not confirm that
|
|
12
|
+
an authorization is still valid or a saved website connection is still active.
|
|
13
|
+
Missing or unsafe files are reported rather than replaced.
|
|
14
|
+
|
|
15
|
+
Keep the encrypted Session Key file shown by the command in a secure backup, and
|
|
16
|
+
keep its unlock password. A password alone cannot recover a lost Session Key.
|
|
17
|
+
Also keep the Safe/network/Module/Policy ID. Back up the full User data directory
|
|
18
|
+
to retain private results and transaction recovery records; protect it as sensitive
|
|
19
|
+
data. Do not upload key files, passwords or data-directory backups to Market or
|
|
20
|
+
send them to support. The command never displays their contents.
|
|
21
|
+
|
|
22
|
+
On Market, your Wallet cards in Account and Settings provide a Policy ID row.
|
|
23
|
+
Use the eye button to show the full value or the copy button to copy it. If browser
|
|
24
|
+
clipboard access fails, the value is shown for manual copying. A Policy ID is a
|
|
25
|
+
public identifier, not proof of control or spending authority.
|
|
26
|
+
|
|
27
|
+
## Restore the original identity
|
|
28
|
+
|
|
29
|
+
After installing compatible User and Wallet code, run from User:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
./run wallet restore
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
If no key is present, choose your original encrypted Session Key backup and enter
|
|
36
|
+
its password in Wallet's hidden prompt. For a raw original Session Key, type `key`
|
|
37
|
+
and enter it only in the subsequent hidden Wallet prompt; choose a new local unlock
|
|
38
|
+
password. Never paste a key into a file-path, website, command argument or support
|
|
39
|
+
message. Encrypted backups must be private files owned by you (mode 0600); only the
|
|
40
|
+
Wallet's bounded scrypt backup format is supported, not arbitrary wallet exports.
|
|
41
|
+
|
|
42
|
+
Enter the original network, RPC, Module, Safe and Policy ID from your saved settings.
|
|
43
|
+
Wallet checks the chain and original key. Review the identity and confirm to save
|
|
44
|
+
its local binding. Existing limits, spent amount and expiry are unchanged. No
|
|
45
|
+
owner signature, chain transaction or payment is made. An exhausted Policy may be
|
|
46
|
+
restored for identity but cannot fund new purchases.
|
|
47
|
+
|
|
48
|
+
Existing keys are preserved; another local Policy is never overwritten. A failed
|
|
49
|
+
or interrupted bind can be retried with the same command and ID. Missing, revoked,
|
|
50
|
+
expired or not-yet-active Policies do not become a fresh authorization automatically.
|
|
51
|
+
Use `./run status` afterward, then `./run market connect` if you need website access.
|
|
52
|
+
Restoration does not recover lost private results or missing transaction records.
|
|
53
|
+
|
|
54
|
+
During initial setup, choose `restore` before creating a key. Before budget entry,
|
|
55
|
+
press Enter for new spending permission or enter your original Policy ID. A saved
|
|
56
|
+
restore draft stays a restore draft; failures cannot submit a new authorization.
|
|
57
|
+
The official connectivity purchase is a separate, explicitly confirmed step.
|
|
58
|
+
|
|
59
|
+
Source verification is complete; participant restoration acceptance is pending.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Public-source preparation review — 2026-11-06
|
|
2
|
+
|
|
3
|
+
## Completed cleanup
|
|
4
|
+
|
|
5
|
+
- Original User code and documentation use owner-approved MPL 2.0. LICENSE,
|
|
6
|
+
NOTICE, SECURITY and CONTRIBUTING explain licensing, reporting and contributions.
|
|
7
|
+
The public Protocol artifact and attributed Agent test fixtures retain MIT.
|
|
8
|
+
- Removed eleven historical Protocol archives from the publication tree. The one
|
|
9
|
+
required 0.14.1 archive is rebuilt from public Protocol commit `1c6ffab`, with
|
|
10
|
+
provenance, SHA-256, license and matching package-lock integrity.
|
|
11
|
+
- Privately archived platform/MySQL harnesses, old operational records and previous
|
|
12
|
+
document snapshots. Removed the unused MySQL dependency. Product onboarding
|
|
13
|
+
scripts remain; script names alone were not grounds for removal.
|
|
14
|
+
- Tests use the pinned package's Protocol fixtures and attributed local Skill
|
|
15
|
+
fixtures instead of sibling Agent/Protocol source. User imports its own declared
|
|
16
|
+
ethers dependency; built sibling Wallet remains required.
|
|
17
|
+
- Reorganized current documentation by reader and function, rewrote source maps,
|
|
18
|
+
and separated implemented references from the future distribution plan.
|
|
19
|
+
- Formatted maintained code and added comments explaining trust, persistence and
|
|
20
|
+
recovery boundaries. No payment, authorization or wire-format redesign was made.
|
|
21
|
+
|
|
22
|
+
## Verification
|
|
23
|
+
|
|
24
|
+
Independent verification uses only a temporary User checkout and the built public
|
|
25
|
+
Wallet, without private Settlement, Agent or Protocol source checkouts. Offline
|
|
26
|
+
`npm ci --ignore-scripts` installed the pinned dependencies successfully.
|
|
27
|
+
|
|
28
|
+
The complete behavioral suite passed all 364 tests, with zero failures or skips.
|
|
29
|
+
Tests exercise controlled local processes, sockets, HTTP boundaries and fixtures;
|
|
30
|
+
these are not evidence of real-network payment, desktop login or participant browser
|
|
31
|
+
acceptance. The portable approval-page test starts the exported server and checks
|
|
32
|
+
actual responses and access restrictions instead of checking source text.
|
|
33
|
+
|
|
34
|
+
Existing timeout tests were corrected to serve the current pre-purchase offer and
|
|
35
|
+
separate status probes from preparation attempts. They still assert bounded timeout,
|
|
36
|
+
lock release, the same request after restart and no Wallet call on invalid history.
|
|
37
|
+
Grouped-command tests now use the current command surface.
|
|
38
|
+
|
|
39
|
+
Syntax-tree comparison of 112 production source/script/browser files before and
|
|
40
|
+
after formatting found no structural changes (comments and redundant parentheses
|
|
41
|
+
excluded). Local Markdown links resolve, and `git diff --check` passes.
|
|
42
|
+
|
|
43
|
+
## Follow-up documentation review
|
|
44
|
+
|
|
45
|
+
A second pass found stale per-Policy Market grouping and expired-Policy connection
|
|
46
|
+
instructions, along with pre-browser-signing descriptions in several runbooks.
|
|
47
|
+
Those guides now use the implemented Wallet tuple and independently verified Policy
|
|
48
|
+
scopes, explicit signer selection and the current browser approval flow. Implemented
|
|
49
|
+
support remains distinct from uncompleted public-network/multisig acceptance.
|
|
50
|
+
README/onboarding/developer prerequisites explicitly include npm and Corepack.
|
|
51
|
+
The legacy preview's module comment now points to the public guided setup entry.
|
|
52
|
+
|
|
53
|
+
This correction changed documentation and comments only. Local links, obsolete-claim
|
|
54
|
+
search, JavaScript syntax and `git diff --check` passed; the prior behavioral suite
|
|
55
|
+
was not repeated for prose-only edits.
|
|
56
|
+
|
|
57
|
+
## Security scope and remaining decisions
|
|
58
|
+
|
|
59
|
+
The bounded current-tree inventory found no literal private key, PEM private key
|
|
60
|
+
or GitHub token; credential-bearing URL matches were negative-test fixtures.
|
|
61
|
+
This is not a security audit or a guarantee against every secret format. Historical
|
|
62
|
+
Git objects are outside this review and must not be assumed clean.
|
|
63
|
+
|
|
64
|
+
User still imports Wallet compiled internals and enforces an exact update pair.
|
|
65
|
+
The supported compatibility boundary and combined release archive remain separate
|
|
66
|
+
work in the [distribution plan](../plans/user-wallet-distribution.md).
|
|
67
|
+
The source review itself performed no automatic source download, service change
|
|
68
|
+
or payment. Subsequently, the owner approved a single-commit history baseline
|
|
69
|
+
(`2a80f4a`), force push and removal of old tags, then confirmed public visibility.
|
|
70
|
+
Anonymous remote refs were verified; full fresh-clone/ZIP installation remains
|
|
71
|
+
open in [TODO](../TODO.md).
|
package/doc/usage.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Use AgentPay User
|
|
2
|
+
|
|
3
|
+
The normal entry is `agentpay`; source checkouts also provide `./run`. Start with
|
|
4
|
+
[installation](runbooks/user-onboarding.md); there is no need to run individual
|
|
5
|
+
internal scripts for ordinary setup.
|
|
6
|
+
|
|
7
|
+
| Task | Command / guide |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| Install or continue setup | `agentpay install --market URL`, then `agentpay setup` when returning |
|
|
10
|
+
| Check local state | `agentpay status` |
|
|
11
|
+
| Unlock / lock | `agentpay wallet unlock`, `agentpay wallet lock` |
|
|
12
|
+
| Start / stop / restart | `agentpay service start`, `stop`, `restart` |
|
|
13
|
+
| Login startup | `agentpay service autostart on` / `off` |
|
|
14
|
+
| Inspect identity / restore | `agentpay wallet info`, `agentpay wallet restore` |
|
|
15
|
+
| Change / revoke permission | `agentpay policy renew`, `agentpay policy revoke` |
|
|
16
|
+
| Connect website support | `agentpay market connect` |
|
|
17
|
+
| Review an Order | `agentpay orders list`, `details ID`, `status ID` |
|
|
18
|
+
| Recover original result | `agentpay orders retrieve ID` |
|
|
19
|
+
| Local files | `agentpay cache help`, `agentpay orders files ID` |
|
|
20
|
+
| Update npm installation | `agentpay update` (confirm, or `-f`) |
|
|
21
|
+
| Repair installed services | `agentpay repair` |
|
|
22
|
+
| Remove services / erase data | `agentpay uninstall` / `agentpay uninstall --delete-data` (confirmation required) |
|
|
23
|
+
|
|
24
|
+
See [full command reference](runbooks/commands.md) for arguments and examples.
|
|
25
|
+
Status distinguishes saved local facts from refreshed observations. It is not a
|
|
26
|
+
promise that a new purchase will be accepted. Online Order status queries go through
|
|
27
|
+
Wallet; a failed query or missing local result does not prove non-payment.
|
|
28
|
+
|
|
29
|
+
## Authorization and recovery
|
|
30
|
+
|
|
31
|
+
[Browser owner approval](runbooks/safe-owner-web.md) is available for setup,
|
|
32
|
+
renewal and revocation. [Deployment updates](runbooks/deployment-authorization-update.md)
|
|
33
|
+
require deliberate owner approval; neither repair nor Runtime startup may silently
|
|
34
|
+
replace Policy, key or Order identity.
|
|
35
|
+
|
|
36
|
+
Back up the encrypted key and password securely, with the identity displayed by
|
|
37
|
+
`agentpay wallet info`. Preserve the full private User data directory for local request
|
|
38
|
+
and result recovery. A Policy ID alone cannot recover a lost key.
|
|
39
|
+
|
|
40
|
+
## Local services and Skills
|
|
41
|
+
|
|
42
|
+
The default data directory is `$HOME/.local/share/agentpay/user`, outside the source
|
|
43
|
+
checkout. Runtime listens on loopback and requires a separate caller credential.
|
|
44
|
+
A Skill uses local connection discovery; it must not bundle credentials or bypass
|
|
45
|
+
Wallet. [Skill integration](runbooks/runtime-skill-client.md) explains per-call
|
|
46
|
+
service references and recovery. No global Provider selection is required.
|
|
47
|
+
|
|
48
|
+
`agentpay payment test` is a separate, explicitly paid connectivity check using the
|
|
49
|
+
maintained, digest-pinned official package. Normal Runtime operation is not tied
|
|
50
|
+
to that business example. An interrupted test retains its original request.
|
|
51
|
+
|
|
52
|
+
[Background service guide](runbooks/local-autostart.md) explains Linux user services,
|
|
53
|
+
login reminders and manual startup. A local lock or process stop does not revoke
|
|
54
|
+
permission; follow [emergency stop](runbooks/emergency-payment-stop.md) when needed.
|
package/package.json
CHANGED
|
@@ -1,6 +1,51 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c4roa0/agentpay-user",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"dependencies": {
|
|
6
|
+
"ethers": "^6.17.0",
|
|
7
|
+
"fs-native-extensions": "1.5.3",
|
|
8
|
+
"@c4roa0/agentpay-protocol": "0.14.3",
|
|
9
|
+
"@c4roa0/agentpay-wallet": "0.3.0"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"start": "node src/index.mjs",
|
|
13
|
+
"check": "node --check src/index.mjs",
|
|
14
|
+
"test:unit": "node --test test/*.test.mjs",
|
|
15
|
+
"test:invocation-store": "node --test test/invocation-store.test.mjs",
|
|
16
|
+
"test:prepare-onboarding": "node --test test/prepare-onboarding.test.mjs",
|
|
17
|
+
"test:installation-guide": "node --test test/install-user.test.mjs test/install-and-setup.test.mjs test/guided-setup.test.mjs test/prepare-onboarding.test.mjs",
|
|
18
|
+
"test:market-connection": "node --test test/connect-market.test.mjs test/local-wallet-ipc.test.mjs",
|
|
19
|
+
"test": "node --test --test-concurrency=1 test/*.test.mjs"
|
|
20
|
+
},
|
|
21
|
+
"license": "MPL-2.0",
|
|
22
|
+
"bin": {
|
|
23
|
+
"agentpay": "scripts/agentpay-cli.mjs"
|
|
24
|
+
},
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=22.22.3"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"src/",
|
|
30
|
+
"scripts/",
|
|
31
|
+
"run",
|
|
32
|
+
"update-pair.json",
|
|
33
|
+
"README.md",
|
|
34
|
+
"LICENSE",
|
|
35
|
+
"NOTICE.md",
|
|
36
|
+
"SECURITY.md",
|
|
37
|
+
"CONTRIBUTING.md",
|
|
38
|
+
"progress.md",
|
|
39
|
+
"AGENTS.md",
|
|
40
|
+
"doc/"
|
|
41
|
+
],
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "git+https://github.com/c4rO-0/agentpay-user.git"
|
|
45
|
+
},
|
|
46
|
+
"description": "Local AgentPay Runtime and guided Wallet setup for AI Agents",
|
|
47
|
+
"publishConfig": {
|
|
48
|
+
"access": "public",
|
|
49
|
+
"registry": "https://registry.npmjs.org/"
|
|
50
|
+
}
|
|
51
|
+
}
|