@a2a-exposed/control-core 0.7.34 → 0.8.2

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
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/a2a-exposed)](https://www.npmjs.com/package/a2a-exposed) [![CI](https://github.com/telegraphic-dev/a2a-exposed/actions/workflows/ci.yml/badge.svg)](https://github.com/telegraphic-dev/a2a-exposed/actions/workflows/ci.yml)
4
4
 
5
- a2a-exposed gives an AI agent a public [A2A](https://a2a-protocol.org) address. A Cloudflare Worker serves the agent card and the JSON-RPC endpoint. Inbound messages become tasks in an inbox. Webhooks wake your agent. Without one, it polls, guided by next-check hints. The agent reads the inbox and replies with `npx -y a2a-exposed@latest`. The same command sends messages to other A2A agents (1.0 or 0.3). The owner pages on that inbox are `/` and `/device`. The hosted dashboard is [a2a.exposed](https://a2a.exposed).
5
+ a2a-exposed gives an AI agent a public [A2A](https://a2a-protocol.org) address. A Cloudflare Worker serves the agent card and the JSON-RPC endpoint. Inbound messages become tasks in an inbox. Webhooks wake your agent. Without one, it polls, guided by next-check hints. The agent reads the inbox and replies with `npx -y a2a-exposed@latest`. The same command sends messages to other A2A agents (1.0 or 0.3). The owner pages on that inbox are `/` and `/device`.
6
6
 
7
7
  ## Who it's for
8
8
 
@@ -34,18 +34,16 @@ Requires Node 22.18+. The skills are installed into the project the agent works
34
34
  npx -y a2a-exposed@latest pair set-password --web
35
35
  ```
36
36
 
37
- `status` is read-only and prints the next step. Open the one-time link and choose the approval password yourself. Another agent then runs `npx -y a2a-exposed@latest connect https://agent.example.com`. You approve that request on the `/device` page.
37
+ `status` is read-only and prints the next step. Open the one-time link and choose the approval password yourself. Another agent then runs `npx -y a2a-exposed@latest connect https://agent.example.com`. You approve that request on the `/device` page, or with `npx -y a2a-exposed@latest pair approve <code>`.
38
38
 
39
- After the skill is in the project, you can ask the agent to set this up. It follows the setup skill. Do not run setup from a Claude Code cloud session: that environment cannot install, tunnel, or reach your Worker. [Getting started](docs/getting-started.md) has Node, skills for other agents, and what to do if setup stops halfway.
39
+ After the skill is in the project, you can ask the agent to set this up. It follows the setup skill. Do not run setup from a Claude Code cloud session: that environment cannot install, tunnel, or reach your Worker. Claude Code: `/plugin marketplace add telegraphic-dev/a2a-exposed`, then `/plugin install a2a-exposed@a2a-exposed`. [Getting started](docs/getting-started.md) has Node, the client table, and what to do if setup stops halfway.
40
40
 
41
41
  ## Hosted
42
42
 
43
- [a2a.exposed](https://a2a.exposed) runs the inbox for you. It is free during beta. A human signs in there. When this machine has no Cloudflare profile, token, or account, or when deploy hits a known Cloudflare error (1042 after the short wait, a data-center or network block, or an account that cannot take the Worker), name the reason and say "Ask your human to set it up on https://a2a.exposed." Install the skill in the project the same way, and use the same `npx -y a2a-exposed@latest` commands to read the inbox and reply. With a Cloudflare login and an account, the quick start above deploys the Worker there.
43
+ [a2a.exposed](https://a2a.exposed) hosts the inbox and is open to everyone. Pricing is at [a2a.exposed/pricing](https://a2a.exposed/pricing). When to use it, and the sentence to say, is in [Getting started](docs/getting-started.md#hosted-inbox).
44
44
 
45
45
  ## Docs
46
46
 
47
- You already run `control/` from this repository. [Control upgrade](docs/control-upgrade.md) says what stays, what leaves that Worker, and the choice: keep the inbox Worker and the CLI, or use [a2a.exposed](https://a2a.exposed).
48
-
49
47
  | | |
50
48
  | --- | --- |
51
49
  | [Getting started](docs/getting-started.md) | Skills, Node, first deploy, pairing |
@@ -57,9 +55,7 @@ You already run `control/` from this repository. [Control upgrade](docs/control-
57
55
  | [Security](docs/security.md) | Tokens, pairing, wakes, façade |
58
56
  | [Troubleshooting](docs/troubleshooting.md) | FAQ and common failures |
59
57
  | [Upgrading](docs/upgrading.md) | Move an existing inbox forward |
60
- | [Control upgrade](docs/control-upgrade.md) | A control Worker you already run: what stays, what leaves it, keep the inbox and CLI, or use a2a.exposed |
61
58
  | [Protocol](docs/protocol.md) | A2A 1.0 and 0.3, OAuth, endpoints |
62
- | [Control plane](docs/control-plane.md) | Inbox, CLI, MCP, owner pages; hosted dashboard at a2a.exposed |
63
59
 
64
60
  Changes are listed in [CHANGELOG.md](CHANGELOG.md). Agent workflows live in [`skills/`](skills/a2a-exposed/SKILL.md).
65
61
 
@@ -4,7 +4,7 @@ export interface ControlEnv extends PlaneEnv {
4
4
  fetch(input: Request | URL | string, init?: RequestInit): Promise<Response>;
5
5
  };
6
6
  BRAND_NAME?: string;
7
- /** Public origin of this control plane, https, no path. Unset: sitemap is omitted. */
7
+ /** Public origin, https, no path. Unset: a sitemap is omitted. */
8
8
  SITE_URL?: string;
9
9
  /** OIDC issuer origin. Unset until a provider is configured. */
10
10
  ISSUER?: string;
@@ -24,7 +24,7 @@ export interface OwnerCall {
24
24
  path: string;
25
25
  /** Allowlisted query parameters only. */
26
26
  query?: Record<string, string>;
27
- /** Dashboard approve or deny. The control plane sets this only after a recent sign-in. */
27
+ /** Approve or deny after a recent sign-in. */
28
28
  actor?: "human";
29
29
  }
30
30
  export interface DataPlane {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@a2a-exposed/control-core",
3
- "version": "0.7.34",
4
- "description": "Tenants, Cloudflare inbox provisioning, routing, and control-plane migrations for a2a-exposed.",
3
+ "version": "0.8.2",
4
+ "description": "Inbox provisioning, routing, and D1 migrations for a2a-exposed.",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "prepare": "node control/scripts/build-core.mjs",