@tickernelz/paperclip-pro 2026.925.0 → 2026.925.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 +7 -7
- package/dist/index.js +36 -24
- package/dist/index.js.map +3 -3
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="https://raw.githubusercontent.com/paperclipai/paperclip/
|
|
2
|
+
<img src="https://raw.githubusercontent.com/paperclipai/paperclip/952974efe5f0b9b722c252c3d111c60d1d2c0606/doc/assets/banner.jpg" alt="Paperclip Pro" width="720" />
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
@@ -75,12 +75,12 @@ It looks like a task manager. Under the hood: org charts, budgets, governance, g
|
|
|
75
75
|
<table>
|
|
76
76
|
<tr>
|
|
77
77
|
<td align="center"><strong>Works<br/>with</strong></td>
|
|
78
|
-
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/
|
|
79
|
-
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/
|
|
80
|
-
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/
|
|
81
|
-
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/
|
|
82
|
-
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/
|
|
83
|
-
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/
|
|
78
|
+
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/952974efe5f0b9b722c252c3d111c60d1d2c0606/doc/assets/logos/openclaw.svg" width="32" alt="OpenClaw" /><br/><sub>OpenClaw</sub></td>
|
|
79
|
+
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/952974efe5f0b9b722c252c3d111c60d1d2c0606/doc/assets/logos/claude.svg" width="32" alt="Claude" /><br/><sub>Claude Code</sub></td>
|
|
80
|
+
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/952974efe5f0b9b722c252c3d111c60d1d2c0606/doc/assets/logos/codex.svg" width="32" alt="Codex" /><br/><sub>Codex</sub></td>
|
|
81
|
+
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/952974efe5f0b9b722c252c3d111c60d1d2c0606/doc/assets/logos/cursor.svg" width="32" alt="Cursor" /><br/><sub>Cursor</sub></td>
|
|
82
|
+
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/952974efe5f0b9b722c252c3d111c60d1d2c0606/doc/assets/logos/bash.svg" width="32" alt="Bash" /><br/><sub>Bash</sub></td>
|
|
83
|
+
<td align="center"><img src="https://raw.githubusercontent.com/paperclipai/paperclip/952974efe5f0b9b722c252c3d111c60d1d2c0606/doc/assets/logos/http.svg" width="32" alt="HTTP" /><br/><sub>HTTP</sub></td>
|
|
84
84
|
</tr>
|
|
85
85
|
</table>
|
|
86
86
|
|
package/dist/index.js
CHANGED
|
@@ -8319,6 +8319,13 @@ var init_github_connectors = __esm({
|
|
|
8319
8319
|
}
|
|
8320
8320
|
});
|
|
8321
8321
|
|
|
8322
|
+
// ../packages/shared/src/agent-authority.ts
|
|
8323
|
+
var init_agent_authority = __esm({
|
|
8324
|
+
"../packages/shared/src/agent-authority.ts"() {
|
|
8325
|
+
"use strict";
|
|
8326
|
+
}
|
|
8327
|
+
});
|
|
8328
|
+
|
|
8322
8329
|
// ../packages/shared/src/agent-url-key.ts
|
|
8323
8330
|
function isUuidLike(value) {
|
|
8324
8331
|
if (typeof value !== "string") return false;
|
|
@@ -18001,6 +18008,7 @@ var init_src = __esm({
|
|
|
18001
18008
|
init_app_definitions_generated();
|
|
18002
18009
|
init_google_workspace_connectors();
|
|
18003
18010
|
init_github_connectors();
|
|
18011
|
+
init_agent_authority();
|
|
18004
18012
|
init_self_serve_mcp_research2();
|
|
18005
18013
|
init_status_card();
|
|
18006
18014
|
init_app_definition();
|
|
@@ -50570,30 +50578,34 @@ var PAPERCLIP_SKILL_ROOT_RELATIVE_CANDIDATES = [
|
|
|
50570
50578
|
"../../skills",
|
|
50571
50579
|
"../../../../../skills"
|
|
50572
50580
|
];
|
|
50573
|
-
|
|
50574
|
-
|
|
50575
|
-
|
|
50576
|
-
|
|
50577
|
-
|
|
50578
|
-
|
|
50579
|
-
|
|
50580
|
-
|
|
50581
|
-
|
|
50582
|
-
|
|
50583
|
-
|
|
50584
|
-
|
|
50585
|
-
|
|
50586
|
-
|
|
50587
|
-
|
|
50588
|
-
|
|
50589
|
-
|
|
50590
|
-
|
|
50591
|
-
|
|
50592
|
-
|
|
50593
|
-
|
|
50594
|
-
|
|
50595
|
-
|
|
50596
|
-
|
|
50581
|
+
function paperclipAgentPromptTemplate(access) {
|
|
50582
|
+
const mcp = access === "mcp";
|
|
50583
|
+
return [
|
|
50584
|
+
"You are agent {{agent.id}} ({{agent.name}}). Continue your Paperclip work.",
|
|
50585
|
+
"",
|
|
50586
|
+
"Execution contract:",
|
|
50587
|
+
"- Start actionable work in this heartbeat; do not stop at a plan unless the issue asks for planning.",
|
|
50588
|
+
"- Leave durable progress in comments, documents, or work products, then update the issue to a clear final disposition before ending the heartbeat.",
|
|
50589
|
+
"- Comments, documents, screenshots, work products, and `Remaining` bullets are evidence, not valid liveness paths by themselves.",
|
|
50590
|
+
"- Final disposition checklist: mark `done` when complete; use `in_review` only with a real reviewer, approval, interaction, or monitor path; use `blocked` only with first-class blockers or a named unblock owner/action; create delegated follow-up issues with blockers when another agent owns the next step; keep `in_progress` only when a live continuation path exists.",
|
|
50591
|
+
"- Prefer the smallest verification that proves the change; do not default to full workspace typecheck/build/test on every heartbeat unless the task scope warrants it.",
|
|
50592
|
+
"- After 2 consecutive failures of the same control-plane write, stop retrying that write for the rest of the heartbeat. Continue useful work, report the failure in the final response, and rely on the adapter/runtime status channel as the sanctioned fallback.",
|
|
50593
|
+
"- Use child issues for parallel or long delegated work instead of polling agents, sessions, or processes.",
|
|
50594
|
+
"- If woken by a human comment on a dependency-blocked issue, respond or triage the comment without treating the blocked deliverable work as unblocked.",
|
|
50595
|
+
"- Create child issues directly when you know what needs to be done; use issue-thread interactions when the board/user must choose suggested tasks, answer structured questions, or confirm a proposal.",
|
|
50596
|
+
"- Use `PAPERCLIP_SCRATCH_DIR` / `PAPERCLIP_RUN_SCRATCH_DIR` for temporary scratch files instead of ad hoc `/tmp` paths; Paperclip removes that run-owned directory after the run ends.",
|
|
50597
|
+
mcp ? "- To ask for that input, create an interaction on the current issue with `paperclipSuggestTasks`, `paperclipAskUserQuestions`, or `paperclipRequestConfirmation` using `issueId: $PAPERCLIP_TASK_ID`. Use continuationPolicy wake_assignee when you need to resume after a response (it wakes on acceptance and rejection alike; only expiry does not wake); use wake_assignee_on_accept when you want to resume only after acceptance." : "- To ask for that input, create an interaction on the current issue with POST /api/issues/$PAPERCLIP_TASK_ID/interactions using kind suggest_tasks, ask_user_questions, or request_confirmation. Use continuationPolicy wake_assignee when you need to resume after a response (it wakes on acceptance and rejection alike; only expiry does not wake); use wake_assignee_on_accept when you want to resume only after acceptance.",
|
|
50598
|
+
"- Never create probe or throwaway issue-thread interactions to discover the interactions API shape or your permissions; schema discovery goes through the OpenAPI spec and explicit validation errors, not placeholder cards. Every ask_user_questions, suggest_tasks, or request_confirmation you post must carry a real, answerable prompt; withdraw one you no longer need instead of leaving it pending.",
|
|
50599
|
+
mcp ? "- When you intentionally restart follow-up work on a completed assigned issue, include structured `resume: true` in the `paperclipAddComment` or `paperclipUpdateIssue` arguments for that issue (substitute that issue's real id when it is not the current task). Generic agent comments on closed issues are inert by default." : "- When you intentionally restart follow-up work on a completed assigned issue, include structured `resume: true` with the POST /api/issues/$PAPERCLIP_TASK_ID/comments or PATCH /api/issues/$PAPERCLIP_TASK_ID comment payload (substitute that issue's real id when it is not the current task). Generic agent comments on closed issues are inert by default.",
|
|
50600
|
+
"- For plan approval, update the plan document first, then create request_confirmation targeting the latest plan revision with idempotencyKey confirmation:{issueId}:plan:{revisionId}. Wait for acceptance before creating implementation subtasks, and create a fresh confirmation after superseding board/user comments if approval is still needed.",
|
|
50601
|
+
"- If blocked, mark the issue blocked and name the unblock owner and action.",
|
|
50602
|
+
"- Respect budget, pause/cancel, approval gates, and company boundaries.",
|
|
50603
|
+
"- When the server-authenticated wake payload includes an External chat response contract, that narrower contract replaces the generic Paperclip comment, status, checkout, and final-disposition steps above for that turn. Follow the external-chat contract exactly; it does not relax any permission, approval, execution-policy, containment, budget, pause/cancel, or company boundary.",
|
|
50604
|
+
"",
|
|
50605
|
+
CONNECTION_INTENT_AGENT_GUIDANCE
|
|
50606
|
+
].join("\n");
|
|
50607
|
+
}
|
|
50608
|
+
var DEFAULT_PAPERCLIP_AGENT_PROMPT_TEMPLATE = paperclipAgentPromptTemplate("mcp");
|
|
50597
50609
|
var DEFAULT_PAPERCLIP_CONVERSATION_PROMPT_TEMPLATE = [
|
|
50598
50610
|
"You are agent {{agent.id}} ({{agent.name}}). Continue your Paperclip conversation using the supplied chat mode directive.",
|
|
50599
50611
|
"Use available tools and assigned skills as needed; respect budget, pause/cancel, approval gates, and company boundaries.",
|