@penclipai/server 2026.404.0 → 2026.404.1-canary.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.
Files changed (102) hide show
  1. package/dist/index.d.ts.map +1 -1
  2. package/dist/index.js +40 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/routes/agents.d.ts.map +1 -1
  5. package/dist/routes/agents.js +52 -1
  6. package/dist/routes/agents.js.map +1 -1
  7. package/dist/routes/issues.d.ts.map +1 -1
  8. package/dist/routes/issues.js +13 -1
  9. package/dist/routes/issues.js.map +1 -1
  10. package/dist/services/agents.d.ts +48 -0
  11. package/dist/services/agents.d.ts.map +1 -1
  12. package/dist/services/budgets.d.ts.map +1 -1
  13. package/dist/services/budgets.js +4 -0
  14. package/dist/services/budgets.js.map +1 -1
  15. package/dist/services/circuit-breaker.d.ts +26 -0
  16. package/dist/services/circuit-breaker.d.ts.map +1 -0
  17. package/dist/services/circuit-breaker.js +181 -0
  18. package/dist/services/circuit-breaker.js.map +1 -0
  19. package/dist/services/heartbeat.d.ts.map +1 -1
  20. package/dist/services/heartbeat.js +46 -0
  21. package/dist/services/heartbeat.js.map +1 -1
  22. package/dist/services/index.d.ts +1 -0
  23. package/dist/services/index.d.ts.map +1 -1
  24. package/dist/services/index.js +1 -0
  25. package/dist/services/index.js.map +1 -1
  26. package/package.json +14 -14
  27. package/ui-dist/assets/{_basePickBy-BNLACRLd.js → _basePickBy-5STIJ-Pg.js} +1 -1
  28. package/ui-dist/assets/{_baseUniq-ClpzklYh.js → _baseUniq-ob6qBdrh.js} +1 -1
  29. package/ui-dist/assets/{arc-Cd6WI__t.js → arc-CRzfYIOB.js} +1 -1
  30. package/ui-dist/assets/{architectureDiagram-VXUJARFQ-CuppPqCY.js → architectureDiagram-VXUJARFQ-BV_L2JtW.js} +1 -1
  31. package/ui-dist/assets/{blockDiagram-VD42YOAC-CBDl4Vnz.js → blockDiagram-VD42YOAC-DZuKNIh9.js} +1 -1
  32. package/ui-dist/assets/{browser-ponyfill-ByMtTAE1.js → browser-ponyfill-CARpnx57.js} +1 -1
  33. package/ui-dist/assets/{c4Diagram-YG6GDRKO-iHuPqvBf.js → c4Diagram-YG6GDRKO-Co7DJp0r.js} +1 -1
  34. package/ui-dist/assets/channel-DdqUnXZ3.js +1 -0
  35. package/ui-dist/assets/{chunk-4BX2VUAB-7Ix2Gs4Z.js → chunk-4BX2VUAB-CfVeZc-4.js} +1 -1
  36. package/ui-dist/assets/{chunk-55IACEB6-D6g8k_tg.js → chunk-55IACEB6-BvMPHF8_.js} +1 -1
  37. package/ui-dist/assets/{chunk-B4BG7PRW-C8qLKwr3.js → chunk-B4BG7PRW-BKcMt6Ra.js} +1 -1
  38. package/ui-dist/assets/{chunk-DI55MBZ5-C2BVKLan.js → chunk-DI55MBZ5-1Vsl_qiS.js} +1 -1
  39. package/ui-dist/assets/{chunk-FMBD7UC4-D7j9e7pM.js → chunk-FMBD7UC4-CE3LaLMg.js} +1 -1
  40. package/ui-dist/assets/{chunk-QN33PNHL-SSfP2mD3.js → chunk-QN33PNHL-C7hagZYM.js} +1 -1
  41. package/ui-dist/assets/{chunk-QZHKN3VN-B5f-0LUk.js → chunk-QZHKN3VN-B_TEPltX.js} +1 -1
  42. package/ui-dist/assets/{chunk-TZMSLE5B-I5RJokzI.js → chunk-TZMSLE5B-B2H-vSXk.js} +1 -1
  43. package/ui-dist/assets/classDiagram-2ON5EDUG-BAQxZ1hA.js +1 -0
  44. package/ui-dist/assets/classDiagram-v2-WZHVMYZB-BAQxZ1hA.js +1 -0
  45. package/ui-dist/assets/clone-BxQWe_ph.js +1 -0
  46. package/ui-dist/assets/{cose-bilkent-S5V4N54A-DJURbRGf.js → cose-bilkent-S5V4N54A-B6zAXKgq.js} +1 -1
  47. package/ui-dist/assets/{dagre-6UL2VRFP-BKjdmM4U.js → dagre-6UL2VRFP-BOh4IVFp.js} +1 -1
  48. package/ui-dist/assets/{diagram-PSM6KHXK-BNEIdkLF.js → diagram-PSM6KHXK-DJLF4ey8.js} +1 -1
  49. package/ui-dist/assets/{diagram-QEK2KX5R-D5EMuR2c.js → diagram-QEK2KX5R-DBHxwAa4.js} +1 -1
  50. package/ui-dist/assets/{diagram-S2PKOQOG-j2OvMPmj.js → diagram-S2PKOQOG-DX0BlSAI.js} +1 -1
  51. package/ui-dist/assets/{erDiagram-Q2GNP2WA-B3JlM-Sy.js → erDiagram-Q2GNP2WA-CRAxnVtn.js} +1 -1
  52. package/ui-dist/assets/{flowDiagram-NV44I4VS-B1q5tzyk.js → flowDiagram-NV44I4VS-DXiG0AKG.js} +1 -1
  53. package/ui-dist/assets/{ganttDiagram-JELNMOA3-CJjL81-z.js → ganttDiagram-JELNMOA3-RIc7640A.js} +1 -1
  54. package/ui-dist/assets/{gitGraphDiagram-V2S2FVAM-D_WY-OvC.js → gitGraphDiagram-V2S2FVAM-CJHNyE9m.js} +1 -1
  55. package/ui-dist/assets/{graph-BFOgkkqc.js → graph-B2l_G8wC.js} +1 -1
  56. package/ui-dist/assets/{index-BNyicR-l.js → index-7r489we9.js} +1 -1
  57. package/ui-dist/assets/{index-DmA0lCfW.js → index-BXzxQxQF.js} +1 -1
  58. package/ui-dist/assets/{index-BncMVRC0.js → index-C5JnsYV7.js} +1 -1
  59. package/ui-dist/assets/{index-DOKLv4_P.js → index-CRHhkDjP.js} +1 -1
  60. package/ui-dist/assets/{index-BK_9dz5n.js → index-C_YwUSzg.js} +1 -1
  61. package/ui-dist/assets/{index-XdyYxMk0.js → index-CeRzV4Fx.js} +1 -1
  62. package/ui-dist/assets/{index-CGKYO97V.js → index-CfEE90aY.js} +1 -1
  63. package/ui-dist/assets/{index-zfuBBYk-.js → index-Cy4k6YG4.js} +1 -1
  64. package/ui-dist/assets/{index-4c4meqsw.js → index-D5k70wP1.js} +1 -1
  65. package/ui-dist/assets/{index-C5j_p-7v.js → index-D63G_ahj.js} +1 -1
  66. package/ui-dist/assets/{index-vuALFuv4.css → index-D713FIyl.css} +1 -1
  67. package/ui-dist/assets/{index-CL_2sgit.js → index-D7B9suLj.js} +299 -289
  68. package/ui-dist/assets/{index-BdXV6X80.js → index-DFCit1MX.js} +1 -1
  69. package/ui-dist/assets/{index-B5MWsAQ0.js → index-DHgdahLN.js} +1 -1
  70. package/ui-dist/assets/{index-CxEfpLwf.js → index-DbgkeNfP.js} +1 -1
  71. package/ui-dist/assets/{index-BrEiada6.js → index-Df_3Hh-s.js} +1 -1
  72. package/ui-dist/assets/{index-1SwIqB7O.js → index-DfeRWfJE.js} +1 -1
  73. package/ui-dist/assets/{index-CelDX2NZ.js → index-Diy5WkGA.js} +1 -1
  74. package/ui-dist/assets/{index-Duj4WECG.js → index-Du-oD143.js} +1 -1
  75. package/ui-dist/assets/{index-y7ZALyIp.js → index-O_APjMZy.js} +1 -1
  76. package/ui-dist/assets/{index-C0XSHZeG.js → index-fWq8islS.js} +1 -1
  77. package/ui-dist/assets/{index-Oj8BPhwU.js → index-jGiZX-yy.js} +1 -1
  78. package/ui-dist/assets/{index-DRRayaAP.js → index-wTBFEgfv.js} +1 -1
  79. package/ui-dist/assets/{index-DW1EErJk.js → index-y-s0eexB.js} +1 -1
  80. package/ui-dist/assets/{infoDiagram-HS3SLOUP-B7YTfuXA.js → infoDiagram-HS3SLOUP-Dh7Wiqxf.js} +1 -1
  81. package/ui-dist/assets/{journeyDiagram-XKPGCS4Q-8itGvlZG.js → journeyDiagram-XKPGCS4Q-DgYsGExu.js} +1 -1
  82. package/ui-dist/assets/{kanban-definition-3W4ZIXB7-HNH8QllO.js → kanban-definition-3W4ZIXB7-KxwS_ycm.js} +1 -1
  83. package/ui-dist/assets/{layout-DnmhmMg5.js → layout-D3_4mY8_.js} +1 -1
  84. package/ui-dist/assets/{linear-cvcmElQi.js → linear-BaeOPXzG.js} +1 -1
  85. package/ui-dist/assets/{mermaid.core-DO-D0jt_.js → mermaid.core-UAiugTSW.js} +4 -4
  86. package/ui-dist/assets/{mindmap-definition-VGOIOE7T-C6dD6wtY.js → mindmap-definition-VGOIOE7T-Cy_JKVC0.js} +1 -1
  87. package/ui-dist/assets/{pieDiagram-ADFJNKIX-sI6o1PAD.js → pieDiagram-ADFJNKIX-Cr_9tuvd.js} +1 -1
  88. package/ui-dist/assets/{quadrantDiagram-AYHSOK5B-CEStNl2q.js → quadrantDiagram-AYHSOK5B-DFB87FeN.js} +1 -1
  89. package/ui-dist/assets/{requirementDiagram-UZGBJVZJ-BNZJQN73.js → requirementDiagram-UZGBJVZJ-DvZ2MHQC.js} +1 -1
  90. package/ui-dist/assets/{sankeyDiagram-TZEHDZUN-DNj8ban3.js → sankeyDiagram-TZEHDZUN-semhw5kR.js} +1 -1
  91. package/ui-dist/assets/{sequenceDiagram-WL72ISMW-DrUNMvPQ.js → sequenceDiagram-WL72ISMW-lHwILcp5.js} +1 -1
  92. package/ui-dist/assets/{stateDiagram-FKZM4ZOC-Dab0_qt2.js → stateDiagram-FKZM4ZOC-etdoyEFP.js} +1 -1
  93. package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-splbOeOf.js +1 -0
  94. package/ui-dist/assets/{timeline-definition-IT6M3QCI-BNde2PM3.js → timeline-definition-IT6M3QCI-BeKisSTj.js} +1 -1
  95. package/ui-dist/assets/{treemap-GDKQZRPO-DuUwCza2.js → treemap-GDKQZRPO-5QCsH1mV.js} +1 -1
  96. package/ui-dist/assets/{xychartDiagram-PRI3JC2R-B6xislDN.js → xychartDiagram-PRI3JC2R-CzQtQGsv.js} +1 -1
  97. package/ui-dist/index.html +2 -2
  98. package/ui-dist/assets/channel-B-0jaRhM.js +0 -1
  99. package/ui-dist/assets/classDiagram-2ON5EDUG-DAvQgpO2.js +0 -1
  100. package/ui-dist/assets/classDiagram-v2-WZHVMYZB-DAvQgpO2.js +0 -1
  101. package/ui-dist/assets/clone-IU-coh1L.js +0 -1
  102. package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-BGVIKp2a.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA6DzC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,CAuvB1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAsGzC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,CA+vB1D"}
package/dist/index.js CHANGED
@@ -20,7 +20,44 @@ import { printStartupBanner } from "./startup-banner.js";
20
20
  import { getBoardClaimWarningUrl, initializeBoardClaimChallenge } from "./board-claim.js";
21
21
  import { maybePersistWorktreeRuntimePorts } from "./worktree-config.js";
22
22
  import { initTelemetry, getTelemetryClient } from "./telemetry.js";
23
+ // Global error handlers: prevent unhandled rejections from crashing the process
24
+ // and leaving embedded PostgreSQL orphaned. These mirror the handlers in
25
+ // dev-runner.ts and the Electron server-worker.
26
+ let _serverShutdownState = null;
27
+ function registerProcessErrorHandlers() {
28
+ process.on("uncaughtException", (error) => {
29
+ const err = error instanceof Error ? error : new Error(String(error));
30
+ logger.error({ err }, "Uncaught exception in Paperclip server");
31
+ void _safeShutdown("uncaughtException");
32
+ });
33
+ process.on("unhandledRejection", (reason) => {
34
+ const err = reason instanceof Error ? reason : new Error(String(reason));
35
+ logger.error({ err }, "Unhandled promise rejection in Paperclip server");
36
+ void _safeShutdown("unhandledRejection");
37
+ });
38
+ }
39
+ async function _safeShutdown(_cause) {
40
+ const telemetryClient = getTelemetryClient();
41
+ if (telemetryClient) {
42
+ telemetryClient.stop();
43
+ void telemetryClient.flush();
44
+ }
45
+ if (_serverShutdownState?.embeddedPostgres && _serverShutdownState.startedByThisProcess) {
46
+ try {
47
+ await _serverShutdownState.embeddedPostgres.stop();
48
+ logger.info("Embedded PostgreSQL stopped during error shutdown");
49
+ }
50
+ catch (stopErr) {
51
+ logger.error({ err: stopErr }, "Failed to stop embedded PostgreSQL during error shutdown");
52
+ }
53
+ }
54
+ process.exit(1);
55
+ }
23
56
  export async function startServer() {
57
+ // Register global error handlers before any async work begins.
58
+ // This prevents background service failures from crashing the process
59
+ // without cleaning up embedded PostgreSQL.
60
+ registerProcessErrorHandlers();
24
61
  let config = loadConfig();
25
62
  initTelemetry({ enabled: config.telemetryEnabled });
26
63
  if (process.env.PAPERCLIP_SECRETS_PROVIDER === undefined) {
@@ -351,6 +388,9 @@ export async function startServer() {
351
388
  }
352
389
  }
353
390
  embeddedPostgresStartedByThisProcess = embeddedPostgres !== null;
391
+ if (embeddedPostgresStartedByThisProcess) {
392
+ _serverShutdownState = { embeddedPostgres, startedByThisProcess: true };
393
+ }
354
394
  }
355
395
  }
356
396
  const embeddedAdminConnectionString = `postgres://paperclip:paperclip@127.0.0.1:${port}/postgres`;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/routes/agents.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAsExC,wBAAgB,WAAW,CAAC,EAAE,EAAE,EAAE,8CA61EjC"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/routes/agents.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAuExC,wBAAgB,WAAW,CAAC,EAAE,EAAE,EAAE,8CAu5EjC"}
@@ -7,7 +7,7 @@ import { agentSkillSyncSchema, agentMineInboxQuerySchema, createAgentKeySchema,
7
7
  import { readPaperclipSkillSyncPreference, writePaperclipSkillSyncPreference, } from "@penclipai/adapter-utils/server-utils";
8
8
  import { trackAgentCreated } from "@penclipai/shared/telemetry";
9
9
  import { validate } from "../middleware/validate.js";
10
- import { agentService, agentInstructionsService, accessService, approvalService, companySkillService, budgetService, heartbeatService, issueApprovalService, issueService, logActivity, secretService, syncInstructionsBundleConfigFromFilePath, workspaceOperationService, } from "../services/index.js";
10
+ import { agentService, agentInstructionsService, accessService, approvalService, companySkillService, budgetService, heartbeatService, issueApprovalService, issueService, logActivity, secretService, syncInstructionsBundleConfigFromFilePath, workspaceOperationService, circuitBreakerService, } from "../services/index.js";
11
11
  import { conflict, forbidden, notFound, unprocessable } from "../errors.js";
12
12
  import { assertBoard, assertCompanyAccess, assertInstanceAdmin, getActorInfo } from "./authz.js";
13
13
  import { findServerAdapter, listAdapterModels, detectAdapterModel } from "../adapters/index.js";
@@ -1958,6 +1958,57 @@ export function agentRoutes(db) {
1958
1958
  adapterType: agent.adapterType,
1959
1959
  });
1960
1960
  });
1961
+ // Circuit breaker endpoints
1962
+ router.get("/agents/:id/circuit-breaker", async (req, res) => {
1963
+ const agentId = req.params.id;
1964
+ const agent = await svc.getById(agentId);
1965
+ if (!agent) {
1966
+ res.status(404).json({ error: "Agent not found" });
1967
+ return;
1968
+ }
1969
+ assertCompanyAccess(req, agent.companyId);
1970
+ const cbService = circuitBreakerService(db);
1971
+ const status = await cbService.getStatus(agentId);
1972
+ if (!status) {
1973
+ res.status(404).json({ error: "Circuit breaker status not available" });
1974
+ return;
1975
+ }
1976
+ res.json({
1977
+ agentId,
1978
+ ...status,
1979
+ });
1980
+ });
1981
+ router.post("/agents/:id/circuit-breaker/retry", async (req, res) => {
1982
+ const agentId = req.params.id;
1983
+ const agent = await svc.getById(agentId);
1984
+ if (!agent) {
1985
+ res.status(404).json({ error: "Agent not found" });
1986
+ return;
1987
+ }
1988
+ assertCompanyAccess(req, agent.companyId);
1989
+ assertBoard(req);
1990
+ const cbService = circuitBreakerService(db);
1991
+ const canRetry = await cbService.attemptRetry(agentId);
1992
+ if (!canRetry) {
1993
+ res.status(400).json({
1994
+ error: "Cannot retry: circuit is not open or retry delay not met",
1995
+ });
1996
+ return;
1997
+ }
1998
+ await logActivity(db, {
1999
+ companyId: agent.companyId,
2000
+ actorType: "system",
2001
+ actorId: req.actor.userId ?? "board",
2002
+ action: "agent.circuit_breaker_retry",
2003
+ entityType: "agent",
2004
+ entityId: agentId,
2005
+ details: { actorId: req.actor.userId ?? "board" },
2006
+ });
2007
+ res.json({
2008
+ success: true,
2009
+ message: "Circuit moved to half-open state, agent will attempt one more run",
2010
+ });
2011
+ });
1961
2012
  return router;
1962
2013
  }
1963
2014
  //# sourceMappingURL=agents.js.map