@tickernelz/paperclip-pro-server 2026.925.0 → 2026.925.1

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.
Files changed (144) hide show
  1. package/dist/adapters/registry.d.ts.map +1 -1
  2. package/dist/adapters/registry.js +6 -3
  3. package/dist/adapters/registry.js.map +1 -1
  4. package/dist/app.d.ts.map +1 -1
  5. package/dist/app.js +4 -0
  6. package/dist/app.js.map +1 -1
  7. package/dist/build-info.json +1 -1
  8. package/dist/middleware/agent-authority-audit.d.ts +4 -0
  9. package/dist/middleware/agent-authority-audit.d.ts.map +1 -0
  10. package/dist/middleware/agent-authority-audit.js +51 -0
  11. package/dist/middleware/agent-authority-audit.js.map +1 -0
  12. package/dist/middleware/auth.d.ts.map +1 -1
  13. package/dist/middleware/auth.js +4 -0
  14. package/dist/middleware/auth.js.map +1 -1
  15. package/dist/onboarding-assets/ceo/AGENTS.md +2 -2
  16. package/dist/onboarding-assets/ceo/HEARTBEAT.md +7 -7
  17. package/dist/onboarding-assets/default/AGENTS.md +3 -3
  18. package/dist/routes/access.d.ts.map +1 -1
  19. package/dist/routes/access.js +7 -1
  20. package/dist/routes/access.js.map +1 -1
  21. package/dist/routes/adapters.js +5 -5
  22. package/dist/routes/adapters.js.map +1 -1
  23. package/dist/routes/agents.d.ts.map +1 -1
  24. package/dist/routes/agents.js +57 -30
  25. package/dist/routes/agents.js.map +1 -1
  26. package/dist/routes/ai-connections.d.ts.map +1 -1
  27. package/dist/routes/ai-connections.js +3 -5
  28. package/dist/routes/ai-connections.js.map +1 -1
  29. package/dist/routes/approvals.d.ts.map +1 -1
  30. package/dist/routes/approvals.js +14 -7
  31. package/dist/routes/approvals.js.map +1 -1
  32. package/dist/routes/authz.d.ts +5 -1
  33. package/dist/routes/authz.d.ts.map +1 -1
  34. package/dist/routes/authz.js +63 -0
  35. package/dist/routes/authz.js.map +1 -1
  36. package/dist/routes/companies.d.ts.map +1 -1
  37. package/dist/routes/companies.js +11 -14
  38. package/dist/routes/companies.js.map +1 -1
  39. package/dist/routes/costs.js +7 -7
  40. package/dist/routes/costs.js.map +1 -1
  41. package/dist/routes/decisions.js +2 -3
  42. package/dist/routes/decisions.js.map +1 -1
  43. package/dist/routes/instance-settings.js +2 -2
  44. package/dist/routes/instance-settings.js.map +1 -1
  45. package/dist/routes/issue-tree-control.js +7 -7
  46. package/dist/routes/issue-tree-control.js.map +1 -1
  47. package/dist/routes/issues.d.ts.map +1 -1
  48. package/dist/routes/issues.js +12 -12
  49. package/dist/routes/issues.js.map +1 -1
  50. package/dist/routes/llms.d.ts.map +1 -1
  51. package/dist/routes/llms.js +5 -4
  52. package/dist/routes/llms.js.map +1 -1
  53. package/dist/routes/managed-agent-profiles.d.ts.map +1 -1
  54. package/dist/routes/managed-agent-profiles.js +3 -5
  55. package/dist/routes/managed-agent-profiles.js.map +1 -1
  56. package/dist/routes/openapi.d.ts.map +1 -1
  57. package/dist/routes/openapi.js +25 -0
  58. package/dist/routes/openapi.js.map +1 -1
  59. package/dist/routes/paperclip-mcp.d.ts +4 -0
  60. package/dist/routes/paperclip-mcp.d.ts.map +1 -0
  61. package/dist/routes/paperclip-mcp.js +85 -0
  62. package/dist/routes/paperclip-mcp.js.map +1 -0
  63. package/dist/routes/projects.js +2 -2
  64. package/dist/routes/projects.js.map +1 -1
  65. package/dist/routes/remote-agent-profiles.d.ts.map +1 -1
  66. package/dist/routes/remote-agent-profiles.js +3 -5
  67. package/dist/routes/remote-agent-profiles.js.map +1 -1
  68. package/dist/routes/routines.d.ts.map +1 -1
  69. package/dist/routes/routines.js +5 -5
  70. package/dist/routes/routines.js.map +1 -1
  71. package/dist/services/agent-authority-escalation.d.ts +17 -0
  72. package/dist/services/agent-authority-escalation.d.ts.map +1 -0
  73. package/dist/services/agent-authority-escalation.js +57 -0
  74. package/dist/services/agent-authority-escalation.js.map +1 -0
  75. package/dist/services/agent-conversations.d.ts +1 -1
  76. package/dist/services/agent-conversations.d.ts.map +1 -1
  77. package/dist/services/agent-conversations.js +3 -3
  78. package/dist/services/agents.d.ts +10 -10
  79. package/dist/services/authorization.d.ts +10 -2
  80. package/dist/services/authorization.d.ts.map +1 -1
  81. package/dist/services/authorization.js +44 -1
  82. package/dist/services/authorization.js.map +1 -1
  83. package/dist/services/heartbeat.js +2 -2
  84. package/dist/services/heartbeat.js.map +1 -1
  85. package/dist/services/native-runtime/runner-api-reference.js +1 -1
  86. package/dist/services/native-runtime/runner-api-reference.js.map +1 -1
  87. package/dist/services/pipeline-case-outputs.js +2 -2
  88. package/dist/services/pipeline-case-outputs.js.map +1 -1
  89. package/dist/services/pipeline-conversation-context.js +2 -2
  90. package/dist/services/pipeline-conversation-context.js.map +1 -1
  91. package/dist/services/pipelines.js +2 -2
  92. package/dist/services/pipelines.js.map +1 -1
  93. package/dist/services/secret-proposal-notifications.js +1 -1
  94. package/dist/services/secret-proposal-notifications.js.map +1 -1
  95. package/dist/services/status-card-update-engine.d.ts +4 -4
  96. package/dist/services/status-card-update-engine.d.ts.map +1 -1
  97. package/dist/services/status-cards.d.ts.map +1 -1
  98. package/dist/services/status-cards.js +5 -3
  99. package/dist/services/status-cards.js.map +1 -1
  100. package/dist/services/tool-action-delivery.js +1 -1
  101. package/dist/services/tool-action-delivery.js.map +1 -1
  102. package/dist/vendor/paperclip-runner/generated/capability-contract.d.ts +2 -2
  103. package/dist/vendor/paperclip-runner/generated/capability-contract.js +2 -2
  104. package/node_modules/bare-fs/binding.c +53 -24
  105. package/node_modules/bare-fs/index.d.ts +12 -10
  106. package/node_modules/bare-fs/index.js +13 -4
  107. package/node_modules/bare-fs/package.json +2 -1
  108. package/node_modules/bare-fs/prebuilds/android-arm/bare-fs.bare +0 -0
  109. package/node_modules/bare-fs/prebuilds/android-arm64/bare-fs.bare +0 -0
  110. package/node_modules/bare-fs/prebuilds/android-ia32/bare-fs.bare +0 -0
  111. package/node_modules/bare-fs/prebuilds/android-x64/bare-fs.bare +0 -0
  112. package/node_modules/bare-fs/prebuilds/darwin-arm64/bare-fs.bare +0 -0
  113. package/node_modules/bare-fs/prebuilds/darwin-x64/bare-fs.bare +0 -0
  114. package/node_modules/bare-fs/prebuilds/ios-arm64/bare-fs.bare +0 -0
  115. package/node_modules/bare-fs/prebuilds/ios-arm64-simulator/bare-fs.bare +0 -0
  116. package/node_modules/bare-fs/prebuilds/ios-x64-simulator/bare-fs.bare +0 -0
  117. package/node_modules/bare-fs/prebuilds/linux-arm64/bare-fs.bare +0 -0
  118. package/node_modules/bare-fs/prebuilds/linux-x64/bare-fs.bare +0 -0
  119. package/node_modules/bare-fs/prebuilds/win32-arm64/bare-fs.bare +0 -0
  120. package/node_modules/bare-fs/prebuilds/win32-x64/bare-fs.bare +0 -0
  121. package/package.json +20 -19
  122. package/skills/paperclip/SKILL.md +123 -134
  123. package/skills/paperclip/references/api-reference.md +339 -376
  124. package/skills/paperclip/references/artifacts.md +54 -57
  125. package/skills/paperclip/references/cases.md +57 -68
  126. package/skills/paperclip/references/company-skills.md +66 -146
  127. package/skills/paperclip/references/issue-workspaces.md +28 -43
  128. package/skills/paperclip/references/routines.md +52 -44
  129. package/skills/paperclip/references/workflows.md +32 -46
  130. package/skills/paperclip-board/SKILL.md +141 -334
  131. package/skills/paperclip-create-agent/SKILL.md +45 -62
  132. package/skills/paperclip-create-agent/references/api-reference.md +30 -31
  133. package/ui-dist/assets/{Agents.production-BsKiBknO.js → Agents.production-CSsrqqG3.js} +2 -2
  134. package/ui-dist/assets/{CompanyActivity.production-Bp4gxpq3.js → CompanyActivity.production-C3D5uiX9.js} +1 -1
  135. package/ui-dist/assets/{CompanyExport-BvUhFYBr.js → CompanyExport-CrTwKkGN.js} +1 -1
  136. package/ui-dist/assets/{CompanySkills.production-htb9HH0N.js → CompanySkills.production-22PSRfdH.js} +1 -1
  137. package/ui-dist/assets/{Costs.production-CzulNW6Y.js → Costs.production-hPGllSho.js} +1 -1
  138. package/ui-dist/assets/{OrgChart.production-DbBigpMZ.js → OrgChart.production-yz5AfR-F.js} +1 -1
  139. package/ui-dist/assets/{RoutineDetail.production-DJn3YZiR.js → RoutineDetail.production-BJLGGgbv.js} +1 -1
  140. package/ui-dist/assets/{Routines.production-BBDkh1yN.js → Routines.production-BLDTlRLI.js} +1 -1
  141. package/ui-dist/assets/{definition-qmfin__X.js → definition-P7Pcik2r.js} +1 -1
  142. package/ui-dist/assets/{index-ZrmXLuMX.js → index-CsQMjEpO.js} +58 -58
  143. package/ui-dist/index.html +1 -1
  144. package/ui-dist/sw.js +1 -1
@@ -25,7 +25,7 @@ import { logger } from "../middleware/logger.js";
25
25
  import { forbidden } from "../errors.js";
26
26
  import { isCloudManagedInstance } from "../services/cloud-instance.js";
27
27
  import { getHiddenSettings } from "../services/settings-visibility.js";
28
- import { assertBoardOrgAccess, assertInstanceAdmin } from "./authz.js";
28
+ import { assertBoardOrgOrAgentAuthority, assertInstanceAdmin } from "./authz.js";
29
29
  import { BUILTIN_ADAPTER_TYPES } from "../adapters/builtin-adapter-types.js";
30
30
  const execFileAsync = promisify(execFile);
31
31
  /**
@@ -177,7 +177,7 @@ export function adapterRoutes(options = {}) {
177
177
  // Adapter inventory is needed by ordinary board members when creating or
178
178
  // editing company agents. Mutating adapter management routes below remain
179
179
  // instance-admin only because they affect the whole server runtime.
180
- assertBoardOrgAccess(_req);
180
+ assertBoardOrgOrAgentAuthority(_req, "work:read");
181
181
  const registeredAdapters = listServerAdapters();
182
182
  const externalRecords = new Map(listAdapterPlugins().map((r) => [r.type, r]));
183
183
  const disabledSet = new Set(getDisabledAdapterTypes());
@@ -308,7 +308,7 @@ export function adapterRoutes(options = {}) {
308
308
  }
309
309
  });
310
310
  router.get("/adapters/:type", async (req, res) => {
311
- assertBoardOrgAccess(req);
311
+ assertBoardOrgOrAgentAuthority(req, "work:read");
312
312
  const adapterType = req.params.type;
313
313
  const adapter = findServerAdapter(adapterType);
314
314
  if (!adapter) {
@@ -545,7 +545,7 @@ export function adapterRoutes(options = {}) {
545
545
  router.get("/adapters/:type/config-schema", async (req, res) => {
546
546
  // Config schemas are read-only form metadata used when org members create
547
547
  // or edit agents; they do not install or execute new adapter code.
548
- assertBoardOrgAccess(req);
548
+ assertBoardOrgOrAgentAuthority(req, "work:read");
549
549
  const { type } = req.params;
550
550
  const adapter = findActiveServerAdapter(type);
551
551
  if (!adapter) {
@@ -582,7 +582,7 @@ export function adapterRoutes(options = {}) {
582
582
  router.get("/adapters/:type/ui-parser.js", (req, res) => {
583
583
  // UI parsers are read-only assets for displaying existing run output.
584
584
  // Runtime-changing adapter management routes above require instance admin.
585
- assertBoardOrgAccess(req);
585
+ assertBoardOrgOrAgentAuthority(req, "work:read");
586
586
  const { type } = req.params;
587
587
  const source = getOrExtractUiParserSource(type, findServerAdapter(type)?.uiParserPath);
588
588
  if (!source) {
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/routes/adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/routes/adapters.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/routes/agents.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AA2EvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAiEhF,OAAO,EACL,wBAAwB,EAWxB,KAAK,sBAAsB,EAE3B,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAK5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,cAAc,EAUf,MAAM,kCAAkC,CAAC;AA2P1C,wBAAgB,WAAW,CACzB,EAAE,EAAE,EAAE,EACN,OAAO,GAAE;IACP,cAAc,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,2BAA2B,GAAG,2BAA2B,CAAC,CAAC;IACrG,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,6EAA6E;IAC7E,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC;;;;;OAKG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACvE;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE;QAChB,OAAO,EAAE,6BAA6B,CAAC;QACvC,MAAM,EAAE,sBAAsB,CAAC;QAC/B,yEAAyE;QACzE,KAAK,CAAC,EAAE,sBAAsB,CAAC;QAC/B;;;WAGG;QACH,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;KAC7C,CAAC;CACE,8CAszNP"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/routes/agents.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AA4EvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAiEhF,OAAO,EACL,wBAAwB,EAWxB,KAAK,sBAAsB,EAE3B,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAK5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,cAAc,EAUf,MAAM,kCAAkC,CAAC;AA2P1C,wBAAgB,WAAW,CACzB,EAAE,EAAE,EAAE,EACN,OAAO,GAAE;IACP,cAAc,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,2BAA2B,GAAG,2BAA2B,CAAC,CAAC;IACrG,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,6EAA6E;IAC7E,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC;;;;;OAKG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACvE;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE;QAChB,OAAO,EAAE,6BAA6B,CAAC;QACvC,MAAM,EAAE,sBAAsB,CAAC;QAC/B,yEAAyE;QACzE,KAAK,CAAC,EAAE,sBAAsB,CAAC;QAC/B;;;WAGG;QACH,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;KAC7C,CAAC;CACE,8CAg1NP"}
@@ -1,4 +1,4 @@
1
- import { resolveAgentAppearance, agentAvatarUrl } from "@tickernelz/paperclip-pro-shared";
1
+ import { resolveAgentAppearance, agentAvatarUrl, agentAuthorityCapabilities } from "@tickernelz/paperclip-pro-shared";
2
2
  import { listOpenRouterModels } from "../services/openrouter-models.js";
3
3
  import { prepareManagedAiRuntime, assertManagedAiProjectAuth, stripAiAuthBindings } from "../services/ai-connection-runtime.js";
4
4
  import { ADAPTER_AUTH_MISSING_CHECK_CODE, AI_CONNECTION_CAPABILITIES, aiConnectionBindingSchema } from "@tickernelz/paperclip-pro-shared";
@@ -28,7 +28,8 @@ import { agentService, agentInstructionsService, accessService, approvalService,
28
28
  import { badRequest, conflict, forbidden, HttpError, notFound, unprocessable } from "../errors.js";
29
29
  import { ONBOARDING_FIRST_TASK_SKILL_KEY, PAPERCLIP_CORE_SKILL_KEYS } from "../services/company-skills.js";
30
30
  import { createRunSecretRedactionRegistry } from "../services/run-secret-redaction.js";
31
- import { assertAuthenticated, assertBoard, assertCompanyAccess, assertInstanceAdmin, buildActorSecretContext, getAccessibleResource, getActorInfo, hasCompanyAccess } from "./authz.js";
31
+ import { assertNoAgentAuthorityEscalation } from "../services/agent-authority-escalation.js";
32
+ import { assertAuthenticated, assertBoard, assertBoardOrAgentAuthority, assertCompanyAccess, assertInstanceAdmin, buildActorSecretContext, getAccessibleResource, getActorInfo, hasCompanyAccess } from "./authz.js";
32
33
  import { runAdapterLoginStartSpine } from "./adapter-login-route-spine.js";
33
34
  import { isLoginCommandSupportedAdapterType } from "../services/login-command.js";
34
35
  import { assertNoAgentHostWorkspaceCommandMutation, collectAgentAdapterWorkspaceCommandPaths, } from "./workspace-command-authz.js";
@@ -1358,8 +1359,7 @@ export function agentRoutes(db, options = {}) {
1358
1359
  return actorAgent;
1359
1360
  }
1360
1361
  async function assertBoardCanManageAgentsForCompany(req, companyId) {
1361
- assertBoard(req);
1362
- assertCompanyAccess(req, companyId);
1362
+ assertBoardOrAgentAuthority(req, "company:agents", companyId);
1363
1363
  const decision = await access.decide({
1364
1364
  actor: req.actor,
1365
1365
  action: "agents:create",
@@ -1370,10 +1370,9 @@ export function agentRoutes(db, options = {}) {
1370
1370
  throw forbidden(decision.explanation, authorizationDeniedDetails(decision));
1371
1371
  }
1372
1372
  async function assertBoardCanWakeAgent(req, agent) {
1373
- assertBoard(req);
1374
1373
  if (!hasCompanyAccess(req, agent.companyId))
1375
1374
  throw notFound("Agent not found");
1376
- assertCompanyAccess(req, agent.companyId);
1375
+ assertBoardOrAgentAuthority(req, "company:agents", agent.companyId);
1377
1376
  const decision = await access.decide({
1378
1377
  actor: req.actor, action: "agent:wake",
1379
1378
  resource: { type: "agent", companyId: agent.companyId, agentId: agent.id },
@@ -3368,6 +3367,7 @@ export function agentRoutes(db, options = {}) {
3368
3367
  title: agent.title,
3369
3368
  status: agent.status,
3370
3369
  keyScope: req.actor.keyScope,
3370
+ authorityCapabilities: agentAuthorityCapabilities(agent.role),
3371
3371
  });
3372
3372
  return;
3373
3373
  }
@@ -3377,10 +3377,16 @@ export function agentRoutes(db, options = {}) {
3377
3377
  return;
3378
3378
  }
3379
3379
  if (trustPreset.kind === "low_trust_review") {
3380
- res.json(buildLowTrustSelfView(agent));
3380
+ res.json({
3381
+ ...buildLowTrustSelfView(agent),
3382
+ authorityCapabilities: agentAuthorityCapabilities(agent.role),
3383
+ });
3381
3384
  return;
3382
3385
  }
3383
- res.json(await buildAgentDetail(agent));
3386
+ res.json({
3387
+ ...(await buildAgentDetail(agent)),
3388
+ authorityCapabilities: agentAuthorityCapabilities(agent.role),
3389
+ });
3384
3390
  });
3385
3391
  router.get("/agents/me/inbox-lite", async (req, res) => {
3386
3392
  if (req.actor.type !== "agent" || !req.actor.agentId || !req.actor.companyId) {
@@ -3563,7 +3569,7 @@ export function agentRoutes(db, options = {}) {
3563
3569
  res.json(redactAgentRowForResponse(updated));
3564
3570
  });
3565
3571
  router.get("/agents/:id/runtime-state", async (req, res) => {
3566
- assertBoard(req);
3572
+ assertBoardOrAgentAuthority(req, "company:agents");
3567
3573
  const id = req.params.id;
3568
3574
  const agent = await getAccessibleResource(req, res, svc.getById(id), "Agent not found");
3569
3575
  if (!agent)
@@ -3573,7 +3579,7 @@ export function agentRoutes(db, options = {}) {
3573
3579
  res.json(state);
3574
3580
  });
3575
3581
  router.get("/agents/:id/task-sessions", async (req, res) => {
3576
- assertBoard(req);
3582
+ assertBoardOrAgentAuthority(req, "company:agents");
3577
3583
  const id = req.params.id;
3578
3584
  const agent = await getAccessibleResource(req, res, svc.getById(id), "Agent not found");
3579
3585
  if (!agent)
@@ -3586,7 +3592,7 @@ export function agentRoutes(db, options = {}) {
3586
3592
  })));
3587
3593
  });
3588
3594
  router.post("/agents/:id/runtime-state/reset-session", validate(resetAgentSessionSchema), async (req, res) => {
3589
- assertBoard(req);
3595
+ assertBoardOrAgentAuthority(req, "company:agents");
3590
3596
  const id = req.params.id;
3591
3597
  const agent = await getAccessibleResource(req, res, svc.getById(id), "Agent not found");
3592
3598
  if (!agent)
@@ -3617,6 +3623,7 @@ export function agentRoutes(db, options = {}) {
3617
3623
  router.post("/companies/:companyId/agent-hires", validate(createAgentHireSchema), async (req, res) => {
3618
3624
  const companyId = req.params.companyId;
3619
3625
  await assertCanCreateAgentsForCompany(req, companyId);
3626
+ assertNoAgentAuthorityEscalation({ req, write: req.body, target: null });
3620
3627
  const sourceIssueIds = parseSourceIssueIds(req.body);
3621
3628
  const { desiredSkills: requestedDesiredSkills, instructionsBundle, sourceIssueId: _sourceIssueId, sourceIssueIds: _sourceIssueIds,
3622
3629
  // The stored-session claim is not an agent column. The server derives the
@@ -3852,6 +3859,7 @@ export function agentRoutes(db, options = {}) {
3852
3859
  router.post("/companies/:companyId/agents", validate(createAgentSchema), async (req, res) => {
3853
3860
  const companyId = req.params.companyId;
3854
3861
  await assertCanCreateAgentsForCompany(req, companyId);
3862
+ assertNoAgentAuthorityEscalation({ req, write: req.body, target: null });
3855
3863
  const company = await db
3856
3864
  .select()
3857
3865
  .from(companies)
@@ -3862,7 +3870,7 @@ export function agentRoutes(db, options = {}) {
3862
3870
  return;
3863
3871
  }
3864
3872
  if (company.requireBoardApprovalForNewAgents) {
3865
- throw conflict("Direct agent creation requires board approval. Use POST /api/companies/:companyId/agent-hires to create a pending hire approval.");
3873
+ throw conflict("Direct agent creation requires board approval. Use paperclipCreateAgentHire to create a pending hire approval.");
3866
3874
  }
3867
3875
  const { desiredSkills: requestedDesiredSkills, instructionsBundle,
3868
3876
  // The stored-session claim is not an agent column. The server derives the
@@ -3980,6 +3988,11 @@ export function agentRoutes(db, options = {}) {
3980
3988
  else {
3981
3989
  await assertBoardCanManageAgentsForCompany(req, existing.companyId);
3982
3990
  }
3991
+ assertNoAgentAuthorityEscalation({
3992
+ req,
3993
+ write: { permissions: req.body },
3994
+ target: { id: existing.id, role: existing.role ?? null, permissions: existing.permissions },
3995
+ });
3983
3996
  const agent = await svc.updatePermissions(id, req.body);
3984
3997
  if (!agent) {
3985
3998
  res.status(404).json({ error: "Agent not found" });
@@ -4208,6 +4221,11 @@ export function agentRoutes(db, options = {}) {
4208
4221
  const existing = await getAccessibleResource(req, res, svc.getById(id), "Agent not found");
4209
4222
  if (!existing)
4210
4223
  return;
4224
+ assertNoAgentAuthorityEscalation({
4225
+ req,
4226
+ write: req.body,
4227
+ target: { id: existing.id, role: existing.role ?? null, permissions: existing.permissions },
4228
+ });
4211
4229
  if (hasOwn(req.body, "permissions")) {
4212
4230
  res.status(422).json({ error: "Use /api/agents/:id/permissions for permission changes" });
4213
4231
  return;
@@ -4379,7 +4397,7 @@ export function agentRoutes(db, options = {}) {
4379
4397
  res.json(redactAgentRowForResponse(agent));
4380
4398
  });
4381
4399
  router.post("/agents/:id/pause", async (req, res) => {
4382
- assertBoard(req);
4400
+ assertBoardOrAgentAuthority(req, "company:agents");
4383
4401
  const id = req.params.id;
4384
4402
  if (!(await getAccessibleAgent(req, res, id))) {
4385
4403
  return;
@@ -4433,7 +4451,7 @@ export function agentRoutes(db, options = {}) {
4433
4451
  res.json(redactAgentRowForResponse(agent));
4434
4452
  });
4435
4453
  router.post("/agents/:id/clear-error", async (req, res) => {
4436
- assertBoard(req);
4454
+ assertBoardOrAgentAuthority(req, "company:agents");
4437
4455
  const id = req.params.id;
4438
4456
  const existing = await getAccessibleAgent(req, res, id);
4439
4457
  if (!existing) {
@@ -4461,7 +4479,7 @@ export function agentRoutes(db, options = {}) {
4461
4479
  res.json(redactAgentRowForResponse(agent));
4462
4480
  });
4463
4481
  router.post("/agents/:id/approve", async (req, res) => {
4464
- assertBoard(req);
4482
+ assertBoardOrAgentAuthority(req, "company:agents");
4465
4483
  const id = req.params.id;
4466
4484
  const existing = await getAccessibleAgent(req, res, id);
4467
4485
  if (!existing) {
@@ -4510,7 +4528,7 @@ export function agentRoutes(db, options = {}) {
4510
4528
  res.json(redactAgentRowForResponse(agent));
4511
4529
  });
4512
4530
  router.post("/agents/:id/terminate", async (req, res) => {
4513
- assertBoard(req);
4531
+ assertBoardOrAgentAuthority(req, "company:agents");
4514
4532
  const id = req.params.id;
4515
4533
  const existing = await getAccessibleAgent(req, res, id);
4516
4534
  if (!existing) {
@@ -4549,10 +4567,13 @@ export function agentRoutes(db, options = {}) {
4549
4567
  .where(eq(agentsTable.companyId, agent.companyId));
4550
4568
  const invalidOrgChainDescendantIds = listInvalidOrgChainDescendantIds(id, companyAgentRows);
4551
4569
  const cancellation = await heartbeat.cancelInvocationsForAgents([id, ...invalidOrgChainDescendantIds], "Cancelled because the agent was terminated or became invalid-org-chain under a terminated manager");
4570
+ const terminateActor = getActorInfo(req);
4552
4571
  await logActivity(db, {
4553
4572
  companyId: agent.companyId,
4554
- actorType: "user",
4555
- actorId: req.actor.userId ?? "board",
4573
+ actorType: terminateActor.actorType,
4574
+ actorId: terminateActor.actorId,
4575
+ agentId: terminateActor.agentId,
4576
+ runId: terminateActor.runId,
4556
4577
  action: "agent.terminated",
4557
4578
  entityType: "agent",
4558
4579
  entityId: agent.id,
@@ -4572,7 +4593,7 @@ export function agentRoutes(db, options = {}) {
4572
4593
  res.json(redactAgentRowForResponse(agent));
4573
4594
  });
4574
4595
  router.delete("/agents/:id", async (req, res) => {
4575
- assertBoard(req);
4596
+ assertBoardOrAgentAuthority(req, "company:agents");
4576
4597
  const id = req.params.id;
4577
4598
  if (!(await getAccessibleAgent(req, res, id))) {
4578
4599
  return;
@@ -4593,7 +4614,7 @@ export function agentRoutes(db, options = {}) {
4593
4614
  res.json({ ok: true });
4594
4615
  });
4595
4616
  router.get("/agents/:id/keys", async (req, res) => {
4596
- assertBoard(req);
4617
+ assertBoardOrAgentAuthority(req, "company:agents");
4597
4618
  const id = req.params.id;
4598
4619
  const agent = await getAccessibleAgent(req, res, id);
4599
4620
  if (!agent) {
@@ -4603,19 +4624,22 @@ export function agentRoutes(db, options = {}) {
4603
4624
  res.json(keys);
4604
4625
  });
4605
4626
  router.post("/agents/:id/keys", validate(createAgentKeySchema), async (req, res) => {
4606
- assertBoard(req);
4627
+ assertBoardOrAgentAuthority(req, "company:agents");
4607
4628
  const id = req.params.id;
4608
4629
  const agent = await getAccessibleAgent(req, res, id);
4609
4630
  if (!agent) {
4610
4631
  return;
4611
4632
  }
4612
4633
  const key = await svc.createApiKey(id, req.body.name, req.body.scope, {
4613
- responsibleUserId: req.actor.userId ?? null,
4634
+ responsibleUserId: req.actor.userId ?? req.actor.onBehalfOfUserId ?? null,
4614
4635
  });
4636
+ const createActor = getActorInfo(req);
4615
4637
  await logActivity(db, {
4616
4638
  companyId: agent.companyId,
4617
- actorType: "user",
4618
- actorId: req.actor.userId ?? "board",
4639
+ actorType: createActor.actorType,
4640
+ actorId: createActor.actorId,
4641
+ agentId: createActor.agentId,
4642
+ runId: createActor.runId,
4619
4643
  action: "agent.key_created",
4620
4644
  entityType: "agent",
4621
4645
  entityId: agent.id,
@@ -4629,7 +4653,7 @@ export function agentRoutes(db, options = {}) {
4629
4653
  res.status(201).json(key);
4630
4654
  });
4631
4655
  router.delete("/agents/:id/keys/:keyId", async (req, res) => {
4632
- assertBoard(req);
4656
+ assertBoardOrAgentAuthority(req, "company:agents");
4633
4657
  const id = req.params.id;
4634
4658
  const keyId = req.params.keyId;
4635
4659
  const agent = await getAccessibleAgent(req, res, id);
@@ -4646,10 +4670,13 @@ export function agentRoutes(db, options = {}) {
4646
4670
  res.status(404).json({ error: "Key not found" });
4647
4671
  return;
4648
4672
  }
4673
+ const revokeActor = getActorInfo(req);
4649
4674
  await logActivity(db, {
4650
4675
  companyId: agent.companyId,
4651
- actorType: "user",
4652
- actorId: req.actor.userId ?? "board",
4676
+ actorType: revokeActor.actorType,
4677
+ actorId: revokeActor.actorId,
4678
+ agentId: revokeActor.agentId,
4679
+ runId: revokeActor.runId,
4653
4680
  action: "agent.key_revoked",
4654
4681
  entityType: "agent",
4655
4682
  entityId: agent.id,
@@ -5597,7 +5624,7 @@ export function agentRoutes(db, options = {}) {
5597
5624
  res.json(await runRedactions.redactForRun(run.companyId, run.id, redactCurrentUserValue({ ...decoratedRun, execution: await executionProjectionForRun(db, run.companyId, run.id), identityHistory: await listRunIdentityContexts(db, run.companyId, run.id), retryExhaustedReason, outputSilence: await heartbeat.buildRunOutputSilence(run) }, await getCurrentUserRedactionOptions())));
5598
5625
  });
5599
5626
  router.post("/heartbeat-runs/:runId/cancel", async (req, res) => {
5600
- assertBoard(req);
5627
+ assertBoardOrAgentAuthority(req, "company:agents");
5601
5628
  const runId = readHeartbeatRunId(req);
5602
5629
  const existing = await getAccessibleResource(req, res, heartbeat.getRun(runId), "Heartbeat run not found");
5603
5630
  if (!existing)
@@ -5625,7 +5652,7 @@ export function agentRoutes(db, options = {}) {
5625
5652
  res.json(run);
5626
5653
  });
5627
5654
  router.post("/heartbeat-runs/:runId/runtime-requests/:requestId/resolve", async (req, res) => {
5628
- assertBoard(req);
5655
+ assertBoardOrAgentAuthority(req, "company:agents");
5629
5656
  const runId = readHeartbeatRunId(req);
5630
5657
  const requestId = req.params.requestId;
5631
5658
  const existing = await getAccessibleResource(req, res, heartbeat.getRun(runId), "Heartbeat run not found");
@@ -5842,7 +5869,7 @@ export function agentRoutes(db, options = {}) {
5842
5869
  res.json(inspection);
5843
5870
  });
5844
5871
  router.post("/heartbeat-runs/:runId/provider-trace/reproject-workspace-diffs", async (req, res) => {
5845
- assertBoard(req);
5872
+ assertBoardOrAgentAuthority(req, "company:agents");
5846
5873
  const runId = readHeartbeatRunId(req);
5847
5874
  const run = await getAccessibleResource(req, res, heartbeat.getRun(runId), "Heartbeat run not found");
5848
5875
  if (!run)