@justhandledlabs/agent-client 0.4.1 → 0.5.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/README.md +3 -2
- package/dist/config.js +1 -0
- package/dist/mcp.js +1 -1
- package/examples/agent-distribution-readiness-pack.sample.json +23 -0
- package/package.json +1 -1
- package/server.json +3 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# JustHandled Agent Client
|
|
2
2
|
|
|
3
|
-
A guarded CLI, JavaScript client, and local MCP server for the [JustHandled Agent Utility Gateway](https://justhandledlabs.com/agent-gateway/). The package exposes twenty-
|
|
3
|
+
A guarded CLI, JavaScript client, and local MCP server for the [JustHandled Agent Utility Gateway](https://justhandledlabs.com/agent-gateway/). The package exposes twenty-six deterministic preflights, maintained-data lookups, and evidence products. Twenty-two products cost $0.05 USDC; four evidence-heavy products cost $0.25, including the Agent Distribution Readiness Pack. Every paid call returns a versioned evidence receipt.
|
|
4
4
|
|
|
5
5
|
The client fails closed before signing. It accepts only the pinned JustHandled gateway, Base mainnet, canonical Base USDC, the exact per-product price, and the published merchant receiver. Customer inputs are not persisted by the gateway.
|
|
6
6
|
|
|
@@ -10,6 +10,7 @@ The client fails closed before signing. It accepts only the pinned JustHandled g
|
|
|
10
10
|
npx --package @justhandledlabs/agent-client justhandled-agent catalog
|
|
11
11
|
npx --package @justhandledlabs/agent-client justhandled-agent preview filename-portability-preflight --json '{"paths":["CON.txt"]}'
|
|
12
12
|
npx --package @justhandledlabs/agent-client justhandled-agent preview agent-run-evidence-pack --file agent-run-evidence-pack.sample.json
|
|
13
|
+
npx --package @justhandledlabs/agent-client justhandled-agent preview agent-distribution-readiness-pack --file agent-distribution-readiness-pack.sample.json
|
|
13
14
|
```
|
|
14
15
|
|
|
15
16
|
Preview performs an unpaid request and validates the returned x402 terms. It does not sign or spend.
|
|
@@ -57,7 +58,7 @@ The package declares the official MCP Registry identity `io.github.justhandledla
|
|
|
57
58
|
## Security model
|
|
58
59
|
|
|
59
60
|
- Price, chain, asset, receiver, and gateway origin are pinned in code.
|
|
60
|
-
- The
|
|
61
|
+
- The four $0.25 products' 250,000-base-unit price is pinned separately from 50,000-base-unit checks.
|
|
61
62
|
- Every execution starts with an unpaid 402 preview.
|
|
62
63
|
- A mismatched term aborts before signing.
|
|
63
64
|
- The package never prints the private key.
|
package/dist/config.js
CHANGED
|
@@ -11,6 +11,7 @@ export const QUARTER_DOLLAR_UTILITIES = new Set([
|
|
|
11
11
|
AGENT_RUN_EVIDENCE_PACK,
|
|
12
12
|
"chicago-demolition-permit-change-packet",
|
|
13
13
|
"site-discovery-change-packet",
|
|
14
|
+
"agent-distribution-readiness-pack",
|
|
14
15
|
]);
|
|
15
16
|
export function expectedPriceForUtility(utility) {
|
|
16
17
|
return QUARTER_DOLLAR_UTILITIES.has(utility) ? AGENT_RUN_EVIDENCE_PACK_PRICE_USDC : PRICE_USDC;
|
package/dist/mcp.js
CHANGED
|
@@ -3,7 +3,7 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
5
5
|
import { getCatalog, runPaidUtility } from "./client.js";
|
|
6
|
-
const server = new Server({ name: "justhandled-agent-gateway", version: "0.
|
|
6
|
+
const server = new Server({ name: "justhandled-agent-gateway", version: "0.5.0" }, { capabilities: { tools: {} } });
|
|
7
7
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
8
8
|
const catalog = await getCatalog();
|
|
9
9
|
return {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"observed_at": "2026-08-01T21:00:00Z",
|
|
3
|
+
"product": {
|
|
4
|
+
"name": "Example Agent",
|
|
5
|
+
"version": "1.2.0",
|
|
6
|
+
"kind": "mcp-server",
|
|
7
|
+
"canonical_url": "https://example.com/agent/",
|
|
8
|
+
"price_usd": 0.25
|
|
9
|
+
},
|
|
10
|
+
"surfaces": [
|
|
11
|
+
{ "id": "home", "type": "homepage", "url": "https://example.com/agent/", "captured_at": "2026-08-01T20:55:00Z", "http_status": 200, "name": "Example Agent", "version": "1.2.0", "canonical_url": "https://example.com/agent/", "price_usd": 0.25, "evidence_ref": "sha256:homepage" },
|
|
12
|
+
{ "id": "docs", "type": "documentation", "url": "https://example.com/agent/docs", "captured_at": "2026-08-01T20:55:00Z", "http_status": 200, "evidence_ref": "sha256:docs" },
|
|
13
|
+
{ "id": "pricing", "type": "pricing", "url": "https://example.com/agent/pricing", "captured_at": "2026-08-01T20:55:00Z", "http_status": 200, "price_usd": 0.25, "evidence_ref": "sha256:pricing" },
|
|
14
|
+
{ "id": "support", "type": "support", "url": "https://example.com/agent/support", "captured_at": "2026-08-01T20:55:00Z", "http_status": 200, "evidence_ref": "sha256:support" },
|
|
15
|
+
{ "id": "security", "type": "security", "url": "https://example.com/agent/security", "captured_at": "2026-08-01T20:55:00Z", "http_status": 200, "evidence_ref": "sha256:security" },
|
|
16
|
+
{ "id": "registry", "type": "agent-registry", "url": "https://registry.modelcontextprotocol.io/example", "captured_at": "2026-08-01T20:55:00Z", "http_status": 200, "name": "Example Agent", "version": "1.2.0", "evidence_ref": "registry:example@1.2.0" },
|
|
17
|
+
{ "id": "transport", "type": "transport", "url": "https://api.example.com/mcp", "captured_at": "2026-08-01T20:55:00Z", "http_status": 200, "capabilities": ["tools/list", "resources/list"], "evidence_ref": "sha256:mcp-probe" }
|
|
18
|
+
],
|
|
19
|
+
"claims": [
|
|
20
|
+
{ "id": "live", "text": "The hosted MCP transport is live.", "evidence_surface_ids": ["transport"] }
|
|
21
|
+
],
|
|
22
|
+
"target_channels": ["mcp-registry", "smithery"]
|
|
23
|
+
}
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.justhandledlabs/agent-gateway",
|
|
4
4
|
"title": "JustHandled Agent Utility Gateway",
|
|
5
|
-
"description": "Twenty-
|
|
6
|
-
"version": "0.
|
|
5
|
+
"description": "Twenty-six guarded pay-per-call preflights and evidence products over USDC x402.",
|
|
6
|
+
"version": "0.5.0",
|
|
7
7
|
"repository": {
|
|
8
8
|
"url": "https://github.com/justhandledlabs/justhandled-agent-client",
|
|
9
9
|
"source": "github"
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "@justhandledlabs/agent-client",
|
|
15
|
-
"version": "0.
|
|
15
|
+
"version": "0.5.0",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|