papercliped 2.2.1 → 2.4.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/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +20 -0
- package/README.md +9 -5
- package/dist/access/guard.js +17 -0
- package/dist/access/policy.js +203 -0
- package/dist/execute.js +25 -1
- package/dist/manage/routes.js +46 -2
- package/dist/mcp.js +6 -5
- package/dist/oauth/pg-store.js +13 -1
- package/dist/oauth/provider.js +50 -1
- package/dist/oauth/store.js +20 -0
- package/dist/public-api/types.js +1 -1
- package/dist/server.js +2 -2
- package/dist/site/markdown.js +26 -5
- package/dist/site/site.js +10 -1
- package/docs/CONTROL-ROOM.md +79 -0
- package/docs/SECURITY.md +1 -1
- package/docs/SITEMAP.md +3 -1
- package/docs/supabase-schema.sql +12 -1
- package/migrations/007_control_room.sql +9 -0
- package/package.json +1 -1
- package/site/docs/access-modes.md +72 -0
- package/site/docs/connect-your-paperclip.md +139 -93
- package/site/docs/control-room.md +61 -0
- package/site/docs/faq.md +16 -1
- package/site/docs/getting-started.md +2 -2
- package/site/docs/host-coolify.md +78 -0
- package/site/docs/host-fly.md +129 -0
- package/site/docs/host-railway.md +105 -0
- package/site/docs/host-render.md +79 -0
- package/site/docs/host-vps.md +202 -0
- package/site/docs/hosting.md +105 -0
- package/site/docs/limits-and-errors.md +1 -0
- package/site/docs/manage-api.md +12 -1
- package/site/docs/paperclip-plugin.md +21 -10
- package/site/docs/permissions.md +8 -0
- package/site/docs/prompts.md +349 -0
- package/site/docs/public-api.md +1 -1
- package/site/docs/signup.md +1 -1
- package/site/docs/tools.md +35 -35
- package/site/docs/troubleshooting.md +11 -1
package/site/docs/tools.md
CHANGED
|
@@ -6,42 +6,42 @@ Raw API calls (`paperclip_api_request`) need Read only for GET and Full control
|
|
|
6
6
|
|
|
7
7
|
## Read only (17)
|
|
8
8
|
|
|
9
|
-
| Tool | What it does | Changes anything? |
|
|
10
|
-
| --- | --- | --- |
|
|
11
|
-
| **List companies** `paperclip_list_companies` | List the companies the credential can access. Use this first to find a companyId. | No |
|
|
12
|
-
| **Org chart** `paperclip_org_chart` | Return the company's full agent org tree (who reports to whom). | No |
|
|
13
|
-
| **List agents** `paperclip_list_agents` | List all agents in a company with status, role and budget/spend. | No |
|
|
14
|
-
| **Get agent** `paperclip_get_agent` | Get one agent including its chain of command and current status. | No |
|
|
15
|
-
| **List goals** `paperclip_list_goals` | List the goal hierarchy for a company. | No |
|
|
16
|
-
| **List projects** `paperclip_list_projects` | List projects in a company. | No |
|
|
17
|
-
| **List issues** `paperclip_list_issues` | List issues/tasks. status may be comma-separated, e.g. 'todo,in_progress'. | No |
|
|
18
|
-
| **Get issue** `paperclip_get_issue` | Get an issue with project, goal, ancestors and plan document. | No |
|
|
19
|
-
| **List approvals** `paperclip_list_approvals` | List approval requests (hires, plans, budget overrides). Filter client-side by status if needed. | No |
|
|
20
|
-
| **Sync snapshot** `paperclip_sync_snapshot` | One-call picture of the company right now: dashboard counters, every agent's status, and live runs. Call at the start of a session to sync with the agents. | No |
|
|
21
|
-
| **Changes since cursor** `paperclip_sync_changes` | Poll for what changed. Pass the `cursor` returned by the previous call (omit the first time to get recent history). Returns new activity entries and the next cursor. | No |
|
|
22
|
-
| **Wait for agent** `paperclip_wait_for_agent` | Block (polling) until an agent reaches one of the target statuses (default: idle or error) or the timeout passes. Use after waking an agent to follow it to completion. | No |
|
|
23
|
-
| **Status report** `paperclip_report_status` | Executive status report: agents, tasks, spend, pending approvals, agents needing attention. | No |
|
|
24
|
-
| **Cost report** `paperclip_report_costs` | Spend vs budget with per-agent and per-project breakdown. Defaults to the current month. | No |
|
|
25
|
-
| **Agent performance report** `paperclip_report_agent_performance` | Per-agent throughput (done / in progress / blocked), spend and cost per completed task. | No |
|
|
26
|
-
| **Activity digest** `paperclip_report_activity` | Digest of audit-log activity, optionally since an ISO timestamp (e.g. start of day). | No |
|
|
27
|
-
| **Papercliped service status** `papercliped_service_status` | Is the hosted Papercliped service working? Returns its status (ok, degraded, down), version and aggregate 24-hour numbers (requests, success rate, latency, sign-ins). Public data only; does not touch Paperclip. | No |
|
|
9
|
+
| Tool | What it does | Changes anything? | Works in |
|
|
10
|
+
| --- | --- | --- | --- |
|
|
11
|
+
| **List companies** `paperclip_list_companies` | List the companies the credential can access. Use this first to find a companyId. | No | Every mode |
|
|
12
|
+
| **Org chart** `paperclip_org_chart` | Return the company's full agent org tree (who reports to whom). | No | Every mode |
|
|
13
|
+
| **List agents** `paperclip_list_agents` | List all agents in a company with status, role and budget/spend. | No | Every mode |
|
|
14
|
+
| **Get agent** `paperclip_get_agent` | Get one agent including its chain of command and current status. | No | Every mode |
|
|
15
|
+
| **List goals** `paperclip_list_goals` | List the goal hierarchy for a company. | No | Every mode |
|
|
16
|
+
| **List projects** `paperclip_list_projects` | List projects in a company. | No | Every mode |
|
|
17
|
+
| **List issues** `paperclip_list_issues` | List issues/tasks. status may be comma-separated, e.g. 'todo,in_progress'. | No | Every mode |
|
|
18
|
+
| **Get issue** `paperclip_get_issue` | Get an issue with project, goal, ancestors and plan document. | No | Every mode |
|
|
19
|
+
| **List approvals** `paperclip_list_approvals` | List approval requests (hires, plans, budget overrides). Filter client-side by status if needed. | No | Every mode |
|
|
20
|
+
| **Sync snapshot** `paperclip_sync_snapshot` | One-call picture of the company right now: dashboard counters, every agent's status, and live runs. Call at the start of a session to sync with the agents. | No | Every mode |
|
|
21
|
+
| **Changes since cursor** `paperclip_sync_changes` | Poll for what changed. Pass the `cursor` returned by the previous call (omit the first time to get recent history). Returns new activity entries and the next cursor. | No | Every mode |
|
|
22
|
+
| **Wait for agent** `paperclip_wait_for_agent` | Block (polling) until an agent reaches one of the target statuses (default: idle or error) or the timeout passes. Use after waking an agent to follow it to completion. | No | Every mode |
|
|
23
|
+
| **Status report** `paperclip_report_status` | Executive status report: agents, tasks, spend, pending approvals, agents needing attention. | No | Every mode |
|
|
24
|
+
| **Cost report** `paperclip_report_costs` | Spend vs budget with per-agent and per-project breakdown. Defaults to the current month. | No | Every mode |
|
|
25
|
+
| **Agent performance report** `paperclip_report_agent_performance` | Per-agent throughput (done / in progress / blocked), spend and cost per completed task. | No | Every mode |
|
|
26
|
+
| **Activity digest** `paperclip_report_activity` | Digest of audit-log activity, optionally since an ISO timestamp (e.g. start of day). | No | Every mode |
|
|
27
|
+
| **Papercliped service status** `papercliped_service_status` | Is the hosted Papercliped service working? Returns its status (ok, degraded, down), version and aggregate 24-hour numbers (requests, success rate, latency, sign-ins). Public data only; does not touch Paperclip. | No | Every mode |
|
|
28
28
|
|
|
29
29
|
## Full control (13)
|
|
30
30
|
|
|
31
|
-
| Tool | What it does | Changes anything? |
|
|
32
|
-
| --- | --- | --- |
|
|
33
|
-
| **Pause agent** `paperclip_pause_agent` | Pause an agent: stops its heartbeats and cancels its active run. Reversible with resume. | Yes |
|
|
34
|
-
| **Resume agent** `paperclip_resume_agent` | Resume a paused agent so heartbeats start again. | Yes |
|
|
35
|
-
| **Clear agent error** `paperclip_clear_agent_error` | Move an agent from `error` back to `idle`. Keeps run history. Only valid for agents in error. | Yes |
|
|
36
|
-
| **Wake agent now** `paperclip_wake_agent` | Manually trigger a heartbeat so the agent starts working immediately. | Yes |
|
|
37
|
-
| **Set agent budget** `paperclip_set_agent_budget` | Set an agent's monthly budget in US cents (e.g. 5000 = $50). Agents auto-pause at 100%. | Yes |
|
|
38
|
-
| **Terminate agent** `paperclip_terminate_agent` | PERMANENTLY deactivate an agent. Irreversible. Requires confirm=true; ask the human first and prefer pause. | Yes, can't be undone |
|
|
39
|
-
| **Create goal** `paperclip_create_goal` | Create a goal. level is one of company/team/agent/task (default task). | Yes |
|
|
40
|
-
| **Update goal** `paperclip_update_goal` | Update a goal's title, description or status (planned/active/achieved/cancelled). | Yes |
|
|
41
|
-
| **Create issue** `paperclip_create_issue` | Create a task. Assigning it to an agent (assigneeAgentId) with status 'todo' is how you hand work to that agent. | Yes |
|
|
42
|
-
| **Update issue** `paperclip_update_issue` | Change an issue's status, priority, assignee, title etc. Optional `comment` is added in the same call. | Yes |
|
|
43
|
-
| **Comment on issue** `paperclip_comment_issue` | Add a markdown comment to an issue. Can wake the current assignee. | Yes |
|
|
44
|
-
| **Decide approval** `paperclip_decide_approval` | Approve, reject, or request revision on an approval. Decisions bind agents, so confirm with the human. | Yes |
|
|
45
|
-
| **Raw API request** `paperclip_api_request` | Call any Paperclip REST endpoint under /api (path like '/companies/{id}/routines'). For endpoints without a dedicated tool. DELETE and any non-GET require confirm=true. | Yes |
|
|
31
|
+
| Tool | What it does | Changes anything? | Works in |
|
|
32
|
+
| --- | --- | --- | --- |
|
|
33
|
+
| **Pause agent** `paperclip_pause_agent` | Pause an agent: stops its heartbeats and cancels its active run. Reversible with resume. | Yes | Full, API only |
|
|
34
|
+
| **Resume agent** `paperclip_resume_agent` | Resume a paused agent so heartbeats start again. | Yes | Full, API only |
|
|
35
|
+
| **Clear agent error** `paperclip_clear_agent_error` | Move an agent from `error` back to `idle`. Keeps run history. Only valid for agents in error. | Yes | Full, API only |
|
|
36
|
+
| **Wake agent now** `paperclip_wake_agent` | Manually trigger a heartbeat so the agent starts working immediately. | Yes | Full, Agent only |
|
|
37
|
+
| **Set agent budget** `paperclip_set_agent_budget` | Set an agent's monthly budget in US cents (e.g. 5000 = $50). Agents auto-pause at 100%. | Yes | Full, API only |
|
|
38
|
+
| **Terminate agent** `paperclip_terminate_agent` | PERMANENTLY deactivate an agent. Irreversible. Requires confirm=true; ask the human first and prefer pause. | Yes, can't be undone | Full, API only |
|
|
39
|
+
| **Create goal** `paperclip_create_goal` | Create a goal. level is one of company/team/agent/task (default task). | Yes | Full, API only |
|
|
40
|
+
| **Update goal** `paperclip_update_goal` | Update a goal's title, description or status (planned/active/achieved/cancelled). | Yes | Full, API only |
|
|
41
|
+
| **Create issue** `paperclip_create_issue` | Create a task. Assigning it to an agent (assigneeAgentId) with status 'todo' is how you hand work to that agent. | Yes | Full, Agent only |
|
|
42
|
+
| **Update issue** `paperclip_update_issue` | Change an issue's status, priority, assignee, title etc. Optional `comment` is added in the same call. | Yes | Full, Agent only |
|
|
43
|
+
| **Comment on issue** `paperclip_comment_issue` | Add a markdown comment to an issue. Can wake the current assignee. | Yes | Full, Agent only |
|
|
44
|
+
| **Decide approval** `paperclip_decide_approval` | Approve, reject, or request revision on an approval. Decisions bind agents, so confirm with the human. | Yes | Full, API only |
|
|
45
|
+
| **Raw API request** `paperclip_api_request` | Call any Paperclip REST endpoint under /api (path like '/companies/{id}/routines'). For endpoints without a dedicated tool. DELETE and any non-GET require confirm=true. | Yes | GET: every mode; other methods: Full, API only |
|
|
46
46
|
|
|
47
|
-
See [Permissions](/docs/permissions) for how levels work and how to change them.
|
|
47
|
+
**Works in** is the [access switch](/docs/access-modes): *every mode* tools only look; *Full, Agent only* tools hand work to agents; *Full, API only* tools control Paperclip directly. See [Permissions](/docs/permissions) for how levels work and how to change them.
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# Troubleshooting
|
|
2
2
|
|
|
3
|
-
**"Could not reach your Paperclip."** The address must be a public `https://` address on port 443 that answers over the internet. Test it with `curl https://your-paperclip/api/health`. A challenge page from a firewall or bot protection in front of Paperclip will block Papercliped; exempt `/api/*`. Step-by-step
|
|
3
|
+
**"Could not reach your Paperclip."** The address must be a public `https://` address on port 443 that answers over the internet. Test it with `curl https://your-paperclip/api/health`. A challenge page from a firewall or bot protection in front of Paperclip will block Papercliped; exempt `/api/*`. Step-by-step setup for every host: [Host your Paperclip](/docs/hosting).
|
|
4
|
+
|
|
5
|
+
**"This hostname is not allowed for this Paperclip instance."** Paperclip doesn't recognise the address. Set `PAPERCLIP_DEPLOYMENT_EXPOSURE=public` and `PAPERCLIP_PUBLIC_URL` to exactly the address you use, then restart Paperclip. See [What every option needs](/docs/hosting#what-every-option-needs).
|
|
6
|
+
|
|
7
|
+
**It stopped working after about a month.** Newer Paperclip versions make keys approved through the sign-in prompt expire after 30 days. When the AI says the Paperclip credential was rejected, disconnect and connect again from your AI app, then approve in Paperclip.
|
|
8
|
+
|
|
9
|
+
**Agents stop mid-task now and then.** Something restarted Paperclip: an update, a redeploy, or a host that sleeps. Runs in progress end on every restart. Use an always-on host and update when agents are idle.
|
|
4
10
|
|
|
5
11
|
**The first request is slow.** The hosted service runs on a free tier and may need up to a minute to wake after a restart. Retry once.
|
|
6
12
|
|
|
@@ -10,6 +16,10 @@
|
|
|
10
16
|
|
|
11
17
|
**The AI says it can't change anything.** You connected with **Read only**. Disconnect and connect again, choosing **Full control**.
|
|
12
18
|
|
|
19
|
+
**The AI says a tool isn't available, or a call was blocked.** Check the access switch, the agent's setting and the session's limits in the [control room](/docs/control-room). The message the AI gets says which one. **Activity** lists blocked calls with the reason.
|
|
20
|
+
|
|
21
|
+
**The control room shows no agents.** Open a company first: agents are listed for the company you're in. If you installed an older version of the plugin, remove it in **Settings → Plugins** and install it again so it can read agents.
|
|
22
|
+
|
|
13
23
|
**My username is rejected.** It needs 6 to 32 characters including at least one number or one of `.` `#` `_`, and only letters, numbers and those symbols. It may also be taken.
|
|
14
24
|
|
|
15
25
|
**Still stuck?** Open an issue at https://github.com/OpenSourcx/papercliped/issues. Never include your secret key or Paperclip keys.
|