@justhandledlabs/agent-client 0.8.0 → 0.10.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 CHANGED
@@ -1,8 +1,8 @@
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-nine deterministic preflights, maintained-data lookups, and evidence products. Twenty-two products cost $0.05 USDC; seven evidence-heavy products cost $0.25, including Agent Distribution Readiness, Community Rule & Credibility Preflight, Qualified Demand Ledger, and Channel-Fit Evidence Matrix. Every paid call returns a versioned evidence receipt.
3
+ A guarded CLI, JavaScript client, and local MCP server for the [JustHandled Agent Utility Gateway](https://justhandledlabs.com/agent-gateway/). The package exposes thirty-two preflights, maintained-data lookups, and evidence products. Twenty-two products cost $0.05 USDC; ten evidence-heavy or maintained-data products cost $0.25, including the live Chicago Contract Change Packet. Every paid call returns a versioned evidence receipt.
4
4
 
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.
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 and complete customer results are not persisted by the gateway; maintained public-source snapshots are labeled in the receipt.
6
6
 
7
7
  ## Inspect without a wallet
8
8
 
@@ -14,6 +14,9 @@ npx --package @justhandledlabs/agent-client justhandled-agent preview agent-dist
14
14
  npx --package @justhandledlabs/agent-client justhandled-agent preview community-rule-credibility-preflight --file community-rule-credibility-preflight.sample.json
15
15
  npx --package @justhandledlabs/agent-client justhandled-agent preview qualified-demand-ledger --file qualified-demand-ledger.sample.json
16
16
  npx --package @justhandledlabs/agent-client justhandled-agent preview channel-fit-evidence-matrix --file channel-fit-evidence-matrix.sample.json
17
+ npx --package @justhandledlabs/agent-client justhandled-agent preview proof-to-channel-evidence-packet --file proof-to-channel-evidence-packet.sample.json
18
+ npx --package @justhandledlabs/agent-client justhandled-agent preview channel-experiment-postmortem --file channel-experiment-postmortem.sample.json
19
+ npx --package @justhandledlabs/agent-client justhandled-agent preview chicago-contract-change-packet --file chicago-contract-change-packet.sample.json
17
20
  ```
18
21
 
19
22
  Preview performs an unpaid request and validates the returned x402 terms. It does not sign or spend.
@@ -61,11 +64,11 @@ The package declares the official MCP Registry identity `io.github.justhandledla
61
64
  ## Security model
62
65
 
63
66
  - Price, chain, asset, receiver, and gateway origin are pinned in code.
64
- - The seven $0.25 products' 250,000-base-unit price is pinned separately from 50,000-base-unit checks.
67
+ - The ten $0.25 products' 250,000-base-unit price is pinned separately from 50,000-base-unit checks.
65
68
  - Every execution starts with an unpaid 402 preview.
66
69
  - A mismatched term aborts before signing.
67
70
  - The package never prints the private key.
68
- - The gateway does not persist raw inputs or results.
71
+ - The gateway does not persist customer inputs or complete customer results. Maintained-data products may retain normalized public-source snapshots and disclose that state in the receipt.
69
72
  - Treat all crypto transfers as irreversible and fund only a dedicated wallet.
70
73
 
71
74
  ## Development
package/dist/config.js CHANGED
@@ -10,11 +10,14 @@ export const AGENT_RUN_EVIDENCE_PACK_PRICE_USDC = "$0.25";
10
10
  export const QUARTER_DOLLAR_UTILITIES = new Set([
11
11
  AGENT_RUN_EVIDENCE_PACK,
12
12
  "chicago-demolition-permit-change-packet",
13
+ "chicago-contract-change-packet",
13
14
  "site-discovery-change-packet",
14
15
  "agent-distribution-readiness-pack",
15
16
  "community-rule-credibility-preflight",
16
17
  "qualified-demand-ledger",
17
18
  "channel-fit-evidence-matrix",
19
+ "proof-to-channel-evidence-packet",
20
+ "channel-experiment-postmortem",
18
21
  ]);
19
22
  export function expectedPriceForUtility(utility) {
20
23
  return QUARTER_DOLLAR_UTILITIES.has(utility) ? AGENT_RUN_EVIDENCE_PACK_PRICE_USDC : PRICE_USDC;
package/dist/mcp.js CHANGED
@@ -3,14 +3,14 @@ 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.8.0" }, { capabilities: { tools: {} } });
6
+ const server = new Server({ name: "justhandled-agent-gateway", version: "0.10.0" }, { capabilities: { tools: {} } });
7
7
  server.setRequestHandler(ListToolsRequestSchema, async () => {
8
8
  const catalog = await getCatalog();
9
9
  return {
10
10
  tools: [
11
11
  {
12
12
  name: "justhandled_list_utilities",
13
- description: "List JustHandled deterministic preflights, prices, and limitations.",
13
+ description: "List JustHandled preflights, maintained-data lookups, evidence products, prices, and limitations.",
14
14
  inputSchema: { type: "object", properties: {}, additionalProperties: false },
15
15
  },
16
16
  ...catalog.utilities.map((utility) => ({
@@ -0,0 +1,9 @@
1
+ {
2
+ "observed_at": "2026-08-16T00:00:00Z",
3
+ "experiment": {"id":"directory-proof-v1","channel":"agent-directory","hypothesis":"A concrete evidence packet will produce at least two attributable checkout openings in 14 days.","objective":"qualified-demand","started_at":"2026-08-01T00:00:00Z","ended_at":"2026-08-15T00:00:00Z","declared_before_start":true,"gate":{"metric":"checkout-open","threshold":2,"window_days":14},"variables":{"channel":"agent-directory","offer":"$19 evidence skill","artifact":"proof-led listing","audience":"AI agent builders","timing":"14-day launch window"},"changed_variables":["artifact"],"max_cost_usd":0,"max_effort_hours":5,"cooldown_days":7},
4
+ "events": [{"id":"open-1","type":"checkout-open","occurred_at":"2026-08-05T12:00:00Z","evidence_ref":"checkout:open:1","external_actor":true,"owner_controlled":false,"attribution":"verified"},{"id":"open-2","type":"checkout-open","occurred_at":"2026-08-09T12:00:00Z","evidence_ref":"checkout:open:2","external_actor":true,"owner_controlled":false,"attribution":"direct"}],
5
+ "cost_usd": 0,
6
+ "effort_hours": 3,
7
+ "attribution_complete": true,
8
+ "owner_activity_excluded": true
9
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "query": {
3
+ "field": "vendor",
4
+ "value": "THUONG TRAN"
5
+ },
6
+ "max_results": 10
7
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "observed_at": "2026-08-01T23:30:00Z",
3
+ "max_evidence_age_days": 30,
4
+ "product": {"id":"example-agent","name":"Example Agent","version":"1.0.0","canonical_url":"https://example.com/agent","offer_url":"https://example.com/agent/try","price_usd":19},
5
+ "channel": {"name":"Example Agent Directory","kind":"agent-directory","rules_captured_at":"2026-08-01T22:00:00Z","rules_source_url":"https://example.com/directory/rules","rule_status":"verified","link_policy":"allowed","pricing_disclosure_required":true,"demo_required":true,"screenshots_required":1,"identity_fields":[]},
6
+ "claims": [{"id":"deterministic","text":"Produces a deterministic evidence report from normalized input.","evidence_ids":["docs","demo"],"required_for_submission":true,"personal_experience":false}],
7
+ "evidence": [{"id":"docs","type":"documentation","source_url":"https://example.com/agent/docs","captured_at":"2026-08-01T22:30:00Z","observed":true,"supports_claim_ids":["deterministic"]},{"id":"demo","type":"demo","source_url":"https://example.com/agent/demo","captured_at":"2026-08-01T22:35:00Z","observed":true,"supports_claim_ids":["deterministic"]},{"id":"shot","type":"screenshot","source_url":"https://example.com/agent/screenshot","captured_at":"2026-08-01T22:40:00Z","observed":true,"supports_claim_ids":[]}],
8
+ "artifacts": {"demo_url":"https://example.com/agent/demo","install_path":"Run npx example-agent with the supplied JSON file.","screenshots":[{"id":"hero","evidence_id":"shot"}],"pricing_disclosure":"$19 one-time download.","link_target":"https://example.com/agent/try?source=directory","attribution_mechanism":"Preserve the source token through checkout-open and settlement receipts."},
9
+ "human_authored_fields": {}
10
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@justhandledlabs/agent-client",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "Guarded CLI and MCP client for JustHandled's x402 utility gateway",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -23,7 +23,9 @@
23
23
  "preflight",
24
24
  "agent-evaluation",
25
25
  "agent-observability",
26
- "evidence"
26
+ "evidence",
27
+ "public-data",
28
+ "procurement"
27
29
  ],
28
30
  "files": [
29
31
  "dist",
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-nine guarded pay-per-call preflights and evidence products over USDC x402.",
6
- "version": "0.8.0",
5
+ "description": "Thirty-two guarded pay-per-call preflights, maintained-data lookups, and evidence products over USDC x402.",
6
+ "version": "0.10.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.8.0",
15
+ "version": "0.10.0",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  },