@penclipai/server 2026.704.0 → 2026.714.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 (485) hide show
  1. package/dist/adapters/index.d.ts +1 -1
  2. package/dist/adapters/index.d.ts.map +1 -1
  3. package/dist/adapters/index.js.map +1 -1
  4. package/dist/adapters/process/execute.d.ts.map +1 -1
  5. package/dist/adapters/process/execute.js +1 -0
  6. package/dist/adapters/process/execute.js.map +1 -1
  7. package/dist/adapters/registry.d.ts.map +1 -1
  8. package/dist/adapters/registry.js +79 -51
  9. package/dist/adapters/registry.js.map +1 -1
  10. package/dist/adapters/utils.d.ts +5 -0
  11. package/dist/adapters/utils.d.ts.map +1 -1
  12. package/dist/adapters/utils.js.map +1 -1
  13. package/dist/agent-auth-jwt.d.ts +5 -1
  14. package/dist/agent-auth-jwt.d.ts.map +1 -1
  15. package/dist/agent-auth-jwt.js +72 -20
  16. package/dist/agent-auth-jwt.js.map +1 -1
  17. package/dist/app.d.ts +2 -0
  18. package/dist/app.d.ts.map +1 -1
  19. package/dist/app.js +10 -0
  20. package/dist/app.js.map +1 -1
  21. package/dist/built-ins/agents/reflection-coach/AGENTS.md +47 -0
  22. package/dist/built-ins/agents/reflection-coach/routines/recent-agent-reflection.md +77 -0
  23. package/dist/errors.d.ts +1 -1
  24. package/dist/errors.d.ts.map +1 -1
  25. package/dist/errors.js +2 -2
  26. package/dist/errors.js.map +1 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +208 -116
  29. package/dist/index.js.map +1 -1
  30. package/dist/middleware/api-compression.d.ts +8 -0
  31. package/dist/middleware/api-compression.d.ts.map +1 -0
  32. package/dist/middleware/api-compression.js +207 -0
  33. package/dist/middleware/api-compression.js.map +1 -0
  34. package/dist/middleware/auth.d.ts.map +1 -1
  35. package/dist/middleware/auth.js +130 -3
  36. package/dist/middleware/auth.js.map +1 -1
  37. package/dist/middleware/error-handler.d.ts.map +1 -1
  38. package/dist/middleware/error-handler.js +27 -0
  39. package/dist/middleware/error-handler.js.map +1 -1
  40. package/dist/onboarding-assets/default/AGENTS.md +1 -0
  41. package/dist/redaction.d.ts.map +1 -1
  42. package/dist/redaction.js +11 -0
  43. package/dist/redaction.js.map +1 -1
  44. package/dist/routes/access.d.ts.map +1 -1
  45. package/dist/routes/access.js +4 -3
  46. package/dist/routes/access.js.map +1 -1
  47. package/dist/routes/adapters.d.ts.map +1 -1
  48. package/dist/routes/adapters.js +2 -0
  49. package/dist/routes/adapters.js.map +1 -1
  50. package/dist/routes/agents.d.ts.map +1 -1
  51. package/dist/routes/agents.js +222 -87
  52. package/dist/routes/agents.js.map +1 -1
  53. package/dist/routes/attention.d.ts +3 -0
  54. package/dist/routes/attention.d.ts.map +1 -0
  55. package/dist/routes/attention.js +24 -0
  56. package/dist/routes/attention.js.map +1 -0
  57. package/dist/routes/authz.d.ts.map +1 -1
  58. package/dist/routes/authz.js +29 -1
  59. package/dist/routes/authz.js.map +1 -1
  60. package/dist/routes/board-chat.d.ts.map +1 -1
  61. package/dist/routes/board-chat.js +4 -1
  62. package/dist/routes/board-chat.js.map +1 -1
  63. package/dist/routes/built-in-agents.d.ts +3 -0
  64. package/dist/routes/built-in-agents.d.ts.map +1 -0
  65. package/dist/routes/built-in-agents.js +267 -0
  66. package/dist/routes/built-in-agents.js.map +1 -0
  67. package/dist/routes/cases.d.ts +46 -0
  68. package/dist/routes/cases.d.ts.map +1 -0
  69. package/dist/routes/cases.js +1395 -0
  70. package/dist/routes/cases.js.map +1 -0
  71. package/dist/routes/companies.d.ts.map +1 -1
  72. package/dist/routes/companies.js +4 -1
  73. package/dist/routes/companies.js.map +1 -1
  74. package/dist/routes/company-skills.d.ts.map +1 -1
  75. package/dist/routes/company-skills.js +453 -33
  76. package/dist/routes/company-skills.js.map +1 -1
  77. package/dist/routes/environments.d.ts.map +1 -1
  78. package/dist/routes/environments.js +71 -8
  79. package/dist/routes/environments.js.map +1 -1
  80. package/dist/routes/execution-workspaces.d.ts.map +1 -1
  81. package/dist/routes/execution-workspaces.js +89 -3
  82. package/dist/routes/execution-workspaces.js.map +1 -1
  83. package/dist/routes/health.d.ts +2 -0
  84. package/dist/routes/health.d.ts.map +1 -1
  85. package/dist/routes/health.js +30 -0
  86. package/dist/routes/health.js.map +1 -1
  87. package/dist/routes/inbox-dismissals.d.ts.map +1 -1
  88. package/dist/routes/inbox-dismissals.js +80 -19
  89. package/dist/routes/inbox-dismissals.js.map +1 -1
  90. package/dist/routes/index.d.ts +2 -0
  91. package/dist/routes/index.d.ts.map +1 -1
  92. package/dist/routes/index.js +2 -0
  93. package/dist/routes/index.js.map +1 -1
  94. package/dist/routes/issues.d.ts +25 -0
  95. package/dist/routes/issues.d.ts.map +1 -1
  96. package/dist/routes/issues.js +1455 -46
  97. package/dist/routes/issues.js.map +1 -1
  98. package/dist/routes/openapi.d.ts.map +1 -1
  99. package/dist/routes/openapi.js +448 -11
  100. package/dist/routes/openapi.js.map +1 -1
  101. package/dist/routes/pipelines.js +2 -2
  102. package/dist/routes/pipelines.js.map +1 -1
  103. package/dist/routes/resource-memberships.d.ts.map +1 -1
  104. package/dist/routes/resource-memberships.js +13 -5
  105. package/dist/routes/resource-memberships.js.map +1 -1
  106. package/dist/routes/secrets.d.ts.map +1 -1
  107. package/dist/routes/secrets.js +261 -1
  108. package/dist/routes/secrets.js.map +1 -1
  109. package/dist/routes/sidebar-badges.d.ts.map +1 -1
  110. package/dist/routes/sidebar-badges.js +18 -2
  111. package/dist/routes/sidebar-badges.js.map +1 -1
  112. package/dist/routes/user-profiles.d.ts.map +1 -1
  113. package/dist/routes/user-profiles.js +5 -4
  114. package/dist/routes/user-profiles.js.map +1 -1
  115. package/dist/server-info.d.ts +2 -0
  116. package/dist/server-info.d.ts.map +1 -1
  117. package/dist/server-info.js +20 -5
  118. package/dist/server-info.js.map +1 -1
  119. package/dist/services/access.d.ts +4 -4
  120. package/dist/services/access.d.ts.map +1 -1
  121. package/dist/services/activity.d.ts +3 -3
  122. package/dist/services/activity.d.ts.map +1 -1
  123. package/dist/services/activity.js +5 -4
  124. package/dist/services/activity.js.map +1 -1
  125. package/dist/services/adapter-registry-bootstrap.reconcile.test.js +1 -0
  126. package/dist/services/adapter-registry-bootstrap.reconcile.test.js.map +1 -1
  127. package/dist/services/agent-secret-bindings.d.ts +15 -0
  128. package/dist/services/agent-secret-bindings.d.ts.map +1 -1
  129. package/dist/services/agent-secret-bindings.js +43 -0
  130. package/dist/services/agent-secret-bindings.js.map +1 -1
  131. package/dist/services/agents.d.ts +194 -133
  132. package/dist/services/agents.d.ts.map +1 -1
  133. package/dist/services/agents.js +107 -4
  134. package/dist/services/agents.js.map +1 -1
  135. package/dist/services/approvals.d.ts +10 -10
  136. package/dist/services/approvals.d.ts.map +1 -1
  137. package/dist/services/approvals.js +9 -1
  138. package/dist/services/approvals.js.map +1 -1
  139. package/dist/services/assets.d.ts +5 -5
  140. package/dist/services/attention.d.ts +11 -0
  141. package/dist/services/attention.d.ts.map +1 -0
  142. package/dist/services/attention.js +1024 -0
  143. package/dist/services/attention.js.map +1 -0
  144. package/dist/services/authorization.d.ts +15 -2
  145. package/dist/services/authorization.d.ts.map +1 -1
  146. package/dist/services/authorization.js +324 -8
  147. package/dist/services/authorization.js.map +1 -1
  148. package/dist/services/board-auth.d.ts +2 -2
  149. package/dist/services/budgets.d.ts.map +1 -1
  150. package/dist/services/budgets.js +8 -7
  151. package/dist/services/budgets.js.map +1 -1
  152. package/dist/services/built-in-agent-metadata.d.ts +9 -0
  153. package/dist/services/built-in-agent-metadata.d.ts.map +1 -0
  154. package/dist/services/built-in-agent-metadata.js +39 -0
  155. package/dist/services/built-in-agent-metadata.js.map +1 -0
  156. package/dist/services/built-in-agents.d.ts +394 -0
  157. package/dist/services/built-in-agents.d.ts.map +1 -0
  158. package/dist/services/built-in-agents.js +1426 -0
  159. package/dist/services/built-in-agents.js.map +1 -0
  160. package/dist/services/change-consent-gate.d.ts +18 -0
  161. package/dist/services/change-consent-gate.d.ts.map +1 -0
  162. package/dist/services/change-consent-gate.js +170 -0
  163. package/dist/services/change-consent-gate.js.map +1 -0
  164. package/dist/services/companies.d.ts +14 -8
  165. package/dist/services/companies.d.ts.map +1 -1
  166. package/dist/services/companies.js +6 -1
  167. package/dist/services/companies.js.map +1 -1
  168. package/dist/services/company-artifacts.d.ts +4 -1
  169. package/dist/services/company-artifacts.d.ts.map +1 -1
  170. package/dist/services/company-artifacts.js +9 -1
  171. package/dist/services/company-artifacts.js.map +1 -1
  172. package/dist/services/company-member-roles.d.ts.map +1 -1
  173. package/dist/services/company-member-roles.js +2 -0
  174. package/dist/services/company-member-roles.js.map +1 -1
  175. package/dist/services/company-portability.d.ts +1 -1
  176. package/dist/services/company-portability.d.ts.map +1 -1
  177. package/dist/services/company-portability.js +113 -8
  178. package/dist/services/company-portability.js.map +1 -1
  179. package/dist/services/company-search.d.ts.map +1 -1
  180. package/dist/services/company-search.js +843 -294
  181. package/dist/services/company-search.js.map +1 -1
  182. package/dist/services/company-skills.d.ts +64 -3
  183. package/dist/services/company-skills.d.ts.map +1 -1
  184. package/dist/services/company-skills.js +1205 -20
  185. package/dist/services/company-skills.js.map +1 -1
  186. package/dist/services/costs.d.ts +9 -8
  187. package/dist/services/costs.d.ts.map +1 -1
  188. package/dist/services/costs.js +9 -2
  189. package/dist/services/costs.js.map +1 -1
  190. package/dist/services/dashboard.d.ts +2 -0
  191. package/dist/services/dashboard.d.ts.map +1 -1
  192. package/dist/services/dashboard.js +60 -17
  193. package/dist/services/dashboard.js.map +1 -1
  194. package/dist/services/database-backup-health.d.ts +34 -0
  195. package/dist/services/database-backup-health.d.ts.map +1 -0
  196. package/dist/services/database-backup-health.js +104 -0
  197. package/dist/services/database-backup-health.js.map +1 -0
  198. package/dist/services/document-annotations.d.ts +169 -1
  199. package/dist/services/document-annotations.d.ts.map +1 -1
  200. package/dist/services/document-annotations.js +272 -1
  201. package/dist/services/document-annotations.js.map +1 -1
  202. package/dist/services/documents.d.ts +368 -0
  203. package/dist/services/documents.d.ts.map +1 -1
  204. package/dist/services/documents.js +2 -2
  205. package/dist/services/documents.js.map +1 -1
  206. package/dist/services/environment-config.d.ts.map +1 -1
  207. package/dist/services/environment-config.js +6 -0
  208. package/dist/services/environment-config.js.map +1 -1
  209. package/dist/services/environment-custom-image-runtime.d.ts +28 -0
  210. package/dist/services/environment-custom-image-runtime.d.ts.map +1 -1
  211. package/dist/services/environment-custom-image-runtime.js +106 -7
  212. package/dist/services/environment-custom-image-runtime.js.map +1 -1
  213. package/dist/services/environment-custom-images.d.ts +31 -1
  214. package/dist/services/environment-custom-images.d.ts.map +1 -1
  215. package/dist/services/environment-custom-images.js +110 -4
  216. package/dist/services/environment-custom-images.js.map +1 -1
  217. package/dist/services/environment-execution-target.d.ts.map +1 -1
  218. package/dist/services/environment-execution-target.js +1 -3
  219. package/dist/services/environment-execution-target.js.map +1 -1
  220. package/dist/services/environment-probe.d.ts +1 -0
  221. package/dist/services/environment-probe.d.ts.map +1 -1
  222. package/dist/services/environment-probe.js +99 -5
  223. package/dist/services/environment-probe.js.map +1 -1
  224. package/dist/services/environments.d.ts +3 -1
  225. package/dist/services/environments.d.ts.map +1 -1
  226. package/dist/services/environments.js +98 -3
  227. package/dist/services/environments.js.map +1 -1
  228. package/dist/services/execution-workspace-policy.d.ts +29 -3
  229. package/dist/services/execution-workspace-policy.d.ts.map +1 -1
  230. package/dist/services/execution-workspace-policy.js +44 -1
  231. package/dist/services/execution-workspace-policy.js.map +1 -1
  232. package/dist/services/execution-workspaces.d.ts +64 -1
  233. package/dist/services/execution-workspaces.d.ts.map +1 -1
  234. package/dist/services/execution-workspaces.js +634 -3
  235. package/dist/services/execution-workspaces.js.map +1 -1
  236. package/dist/services/external-objects.d.ts +26 -26
  237. package/dist/services/feedback.d.ts +2 -2
  238. package/dist/services/finance.d.ts +5 -5
  239. package/dist/services/goals.d.ts +8 -8
  240. package/dist/services/heartbeat-stop-metadata.d.ts +2 -2
  241. package/dist/services/heartbeat-stop-metadata.d.ts.map +1 -1
  242. package/dist/services/heartbeat-stop-metadata.js +4 -0
  243. package/dist/services/heartbeat-stop-metadata.js.map +1 -1
  244. package/dist/services/heartbeat-stop-metadata.test.js +9 -0
  245. package/dist/services/heartbeat-stop-metadata.test.js.map +1 -1
  246. package/dist/services/heartbeat.d.ts +133 -28
  247. package/dist/services/heartbeat.d.ts.map +1 -1
  248. package/dist/services/heartbeat.js +1963 -239
  249. package/dist/services/heartbeat.js.map +1 -1
  250. package/dist/services/inbox-dismissals.d.ts +26 -0
  251. package/dist/services/inbox-dismissals.d.ts.map +1 -1
  252. package/dist/services/inbox-dismissals.js +33 -18
  253. package/dist/services/inbox-dismissals.js.map +1 -1
  254. package/dist/services/index.d.ts +3 -1
  255. package/dist/services/index.d.ts.map +1 -1
  256. package/dist/services/index.js +3 -1
  257. package/dist/services/index.js.map +1 -1
  258. package/dist/services/instance-settings.d.ts +25 -1
  259. package/dist/services/instance-settings.d.ts.map +1 -1
  260. package/dist/services/instance-settings.js +103 -5
  261. package/dist/services/instance-settings.js.map +1 -1
  262. package/dist/services/issue-continuation-summary.js +1 -1
  263. package/dist/services/issue-continuation-summary.js.map +1 -1
  264. package/dist/services/issue-recovery-actions.d.ts +3 -0
  265. package/dist/services/issue-recovery-actions.d.ts.map +1 -1
  266. package/dist/services/issue-recovery-actions.js +9 -0
  267. package/dist/services/issue-recovery-actions.js.map +1 -1
  268. package/dist/services/issue-rewake-throttle.d.ts +92 -0
  269. package/dist/services/issue-rewake-throttle.d.ts.map +1 -0
  270. package/dist/services/issue-rewake-throttle.js +139 -0
  271. package/dist/services/issue-rewake-throttle.js.map +1 -0
  272. package/dist/services/issue-thread-interactions.d.ts +8 -1
  273. package/dist/services/issue-thread-interactions.d.ts.map +1 -1
  274. package/dist/services/issue-thread-interactions.js +231 -16
  275. package/dist/services/issue-thread-interactions.js.map +1 -1
  276. package/dist/services/issue-visibility.d.ts +4 -0
  277. package/dist/services/issue-visibility.d.ts.map +1 -0
  278. package/dist/services/issue-visibility.js +9 -0
  279. package/dist/services/issue-visibility.js.map +1 -0
  280. package/dist/services/issues.d.ts +225 -105
  281. package/dist/services/issues.d.ts.map +1 -1
  282. package/dist/services/issues.js +540 -18
  283. package/dist/services/issues.js.map +1 -1
  284. package/dist/services/local-service-supervisor.d.ts +3 -0
  285. package/dist/services/local-service-supervisor.d.ts.map +1 -1
  286. package/dist/services/local-service-supervisor.js +51 -0
  287. package/dist/services/local-service-supervisor.js.map +1 -1
  288. package/dist/services/pipeline-case-outputs.d.ts.map +1 -1
  289. package/dist/services/pipeline-case-outputs.js +2 -1
  290. package/dist/services/pipeline-case-outputs.js.map +1 -1
  291. package/dist/services/pipelines-aggregation.d.ts.map +1 -1
  292. package/dist/services/pipelines-aggregation.js +3 -2
  293. package/dist/services/pipelines-aggregation.js.map +1 -1
  294. package/dist/services/pipelines.d.ts +165 -165
  295. package/dist/services/pipelines.d.ts.map +1 -1
  296. package/dist/services/pipelines.js +6 -4
  297. package/dist/services/pipelines.js.map +1 -1
  298. package/dist/services/plugin-database.d.ts +2 -2
  299. package/dist/services/plugin-environment-driver.d.ts +1 -1
  300. package/dist/services/plugin-host-services.d.ts.map +1 -1
  301. package/dist/services/plugin-host-services.js +3 -1
  302. package/dist/services/plugin-host-services.js.map +1 -1
  303. package/dist/services/plugin-managed-routines.d.ts +1 -0
  304. package/dist/services/plugin-managed-routines.d.ts.map +1 -1
  305. package/dist/services/plugin-registry.d.ts +21 -21
  306. package/dist/services/productivity-review.d.ts +1 -0
  307. package/dist/services/productivity-review.d.ts.map +1 -1
  308. package/dist/services/productivity-review.js +6 -5
  309. package/dist/services/productivity-review.js.map +1 -1
  310. package/dist/services/projects.d.ts +9 -9
  311. package/dist/services/recovery/service.d.ts +82 -54
  312. package/dist/services/recovery/service.d.ts.map +1 -1
  313. package/dist/services/recovery/service.js +200 -35
  314. package/dist/services/recovery/service.js.map +1 -1
  315. package/dist/services/recovery/successful-run-handoff.d.ts +1 -0
  316. package/dist/services/recovery/successful-run-handoff.d.ts.map +1 -1
  317. package/dist/services/recovery/successful-run-handoff.js +2 -0
  318. package/dist/services/recovery/successful-run-handoff.js.map +1 -1
  319. package/dist/services/recovery/successful-run-handoff.test.js +20 -0
  320. package/dist/services/recovery/successful-run-handoff.test.js.map +1 -1
  321. package/dist/services/resource-memberships.d.ts +13 -10
  322. package/dist/services/resource-memberships.d.ts.map +1 -1
  323. package/dist/services/resource-memberships.js +89 -20
  324. package/dist/services/resource-memberships.js.map +1 -1
  325. package/dist/services/responsible-user-denial-run-outcomes.d.ts +60 -0
  326. package/dist/services/responsible-user-denial-run-outcomes.d.ts.map +1 -0
  327. package/dist/services/responsible-user-denial-run-outcomes.js +56 -0
  328. package/dist/services/responsible-user-denial-run-outcomes.js.map +1 -0
  329. package/dist/services/responsible-user-denial-run-outcomes.test.d.ts +2 -0
  330. package/dist/services/responsible-user-denial-run-outcomes.test.d.ts.map +1 -0
  331. package/dist/services/responsible-user-denial-run-outcomes.test.js +75 -0
  332. package/dist/services/responsible-user-denial-run-outcomes.test.js.map +1 -0
  333. package/dist/services/routines.d.ts +30 -8
  334. package/dist/services/routines.d.ts.map +1 -1
  335. package/dist/services/routines.js +241 -18
  336. package/dist/services/routines.js.map +1 -1
  337. package/dist/services/run-liveness.d.ts.map +1 -1
  338. package/dist/services/run-liveness.js +21 -0
  339. package/dist/services/run-liveness.js.map +1 -1
  340. package/dist/services/run-log-store.d.ts +1 -0
  341. package/dist/services/run-log-store.d.ts.map +1 -1
  342. package/dist/services/run-log-store.js +4 -0
  343. package/dist/services/run-log-store.js.map +1 -1
  344. package/dist/services/run-scratch.d.ts +42 -0
  345. package/dist/services/run-scratch.d.ts.map +1 -0
  346. package/dist/services/run-scratch.js +111 -0
  347. package/dist/services/run-scratch.js.map +1 -0
  348. package/dist/services/run-scratch.test.d.ts +2 -0
  349. package/dist/services/run-scratch.test.d.ts.map +1 -0
  350. package/dist/services/run-scratch.test.js +98 -0
  351. package/dist/services/run-scratch.test.js.map +1 -0
  352. package/dist/services/secrets.d.ts +1261 -64
  353. package/dist/services/secrets.d.ts.map +1 -1
  354. package/dist/services/secrets.js +1089 -96
  355. package/dist/services/secrets.js.map +1 -1
  356. package/dist/services/task-watchdogs.d.ts +1 -0
  357. package/dist/services/task-watchdogs.d.ts.map +1 -1
  358. package/dist/services/task-watchdogs.js +78 -9
  359. package/dist/services/task-watchdogs.js.map +1 -1
  360. package/dist/services/work-timeline.d.ts.map +1 -1
  361. package/dist/services/work-timeline.js +34 -2
  362. package/dist/services/work-timeline.js.map +1 -1
  363. package/dist/services/workspace-runtime-read-model.d.ts +30 -29
  364. package/dist/services/workspace-runtime-read-model.d.ts.map +1 -1
  365. package/dist/services/workspace-runtime-read-model.js.map +1 -1
  366. package/dist/services/workspace-runtime.d.ts +59 -13
  367. package/dist/services/workspace-runtime.d.ts.map +1 -1
  368. package/dist/services/workspace-runtime.js +1121 -102
  369. package/dist/services/workspace-runtime.js.map +1 -1
  370. package/dist/skills-catalog/catalog/bundled/paperclip-operations/reflection-coach/SKILL.md +202 -0
  371. package/dist/skills-catalog/catalog/bundled/product/paperclip-capsules/SKILL.md +1 -1
  372. package/dist/skills-catalog/catalog/bundled/product/wireframe/SKILL.md +1 -1
  373. package/dist/skills-catalog/catalog/optional/content/release-announcement/SKILL.md +90 -0
  374. package/dist/skills-catalog/catalog/optional/finance/ramp/SKILL.md +98 -0
  375. package/dist/skills-catalog/generated/catalog.json +84 -12
  376. package/dist/ui-branding.d.ts +7 -0
  377. package/dist/ui-branding.d.ts.map +1 -1
  378. package/dist/ui-branding.js +8 -2
  379. package/dist/ui-branding.js.map +1 -1
  380. package/dist/version.d.ts +14 -0
  381. package/dist/version.d.ts.map +1 -1
  382. package/dist/version.js +114 -3
  383. package/dist/version.js.map +1 -1
  384. package/package.json +19 -20
  385. package/skills/paperclip/SKILL.md +45 -10
  386. package/skills/paperclip/references/api-reference.md +246 -1
  387. package/skills/paperclip/references/cases.md +295 -0
  388. package/skills/paperclip/references/company-skills.md +1 -1
  389. package/skills/paperclip-board/SKILL.md +3 -4
  390. package/skills/paperclip-converting-plans-to-tasks/SKILL.md +3 -7
  391. package/skills/para-memory-files/SKILL.md +3 -7
  392. package/ui-dist/assets/{abnfDiagram-VRR7QNED-BsFz2IiG.js → abnfDiagram-VRR7QNED-Dtgfy1PK.js} +1 -1
  393. package/ui-dist/assets/{arc-HZhAwbOs.js → arc-BGdvNvs8.js} +1 -1
  394. package/ui-dist/assets/{architectureDiagram-ZJ3FMSHR-BteMjuOn.js → architectureDiagram-ZJ3FMSHR-CK19SQDx.js} +1 -1
  395. package/ui-dist/assets/{blockDiagram-677ZJIJ3-Iq66uZjf.js → blockDiagram-677ZJIJ3-Kh4N3XG4.js} +1 -1
  396. package/ui-dist/assets/{browser-ponyfill-BBsuyZJt.js → browser-ponyfill-B3hXtEFW.js} +1 -1
  397. package/ui-dist/assets/{c4Diagram-LMCZKHZV-_nlglj7I.js → c4Diagram-LMCZKHZV-CBHpGrgU.js} +1 -1
  398. package/ui-dist/assets/channel-4fjB8e8N.js +1 -0
  399. package/ui-dist/assets/{chunk-2Q5K7J3B-Cvz7WwSQ.js → chunk-2Q5K7J3B-BdHbqi7k.js} +1 -1
  400. package/ui-dist/assets/{chunk-32BRIVSS-LLubniCS.js → chunk-32BRIVSS-DxtzZzpt.js} +1 -1
  401. package/ui-dist/assets/{chunk-5VM5RSS4-BOst5hcr.js → chunk-5VM5RSS4-DMKxBbgu.js} +1 -1
  402. package/ui-dist/assets/{chunk-EX3LRPZG-D5WNShVm.js → chunk-EX3LRPZG-BaIOPi4v.js} +1 -1
  403. package/ui-dist/assets/{chunk-JWPE2WC7-CA07x4av.js → chunk-JWPE2WC7-DGo3MPmr.js} +1 -1
  404. package/ui-dist/assets/{chunk-MOJQB5TN-Clfi83rK.js → chunk-MOJQB5TN-BEhQg0uD.js} +1 -1
  405. package/ui-dist/assets/{chunk-RYQCIY6F-BhZ6p7YJ.js → chunk-RYQCIY6F-HPJ6zRpJ.js} +1 -1
  406. package/ui-dist/assets/{chunk-V7JOEXUC-CdexJGoV.js → chunk-V7JOEXUC-Bl_6cAJD.js} +1 -1
  407. package/ui-dist/assets/{chunk-VR4S4FIN-8vjmBhr1.js → chunk-VR4S4FIN-KMjgGCsw.js} +1 -1
  408. package/ui-dist/assets/{chunk-XXDRQBXY-CqmCaplj.js → chunk-XXDRQBXY-oWGAIKjr.js} +1 -1
  409. package/ui-dist/assets/classDiagram-OUVF2IWQ-CTXxO5l9.js +1 -0
  410. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-CTXxO5l9.js +1 -0
  411. package/ui-dist/assets/{cose-bilkent-JH36ORCC-CY-zAygY.js → cose-bilkent-JH36ORCC-Ckqse1pH.js} +1 -1
  412. package/ui-dist/assets/{cynefin-VYW2F7L2-BQSQ1HKr.js → cynefin-VYW2F7L2-DfZ8Hzqi.js} +1 -1
  413. package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-NJCuFrZL.js → cynefinDiagram-TSTJHNR4-BkDQo9oi.js} +1 -1
  414. package/ui-dist/assets/{dagre-VKFMJZFB-DAUPIc8g.js → dagre-VKFMJZFB-ClghXQ6E.js} +1 -1
  415. package/ui-dist/assets/{diagram-FQU43EPY-DvMwJlCi.js → diagram-FQU43EPY-D5a0CwpV.js} +1 -1
  416. package/ui-dist/assets/{diagram-G47NLZAW-DPY0Jz_y.js → diagram-G47NLZAW-hVjYR_xl.js} +1 -1
  417. package/ui-dist/assets/{diagram-NH7WQ7WH-BpopeEhp.js → diagram-NH7WQ7WH-BlDPgD5Z.js} +1 -1
  418. package/ui-dist/assets/{diagram-OA4YK3LP-Qpu05z9X.js → diagram-OA4YK3LP-D0iZKIS3.js} +1 -1
  419. package/ui-dist/assets/{diagram-WEI45ONY-DHnvw9XU.js → diagram-WEI45ONY-m6hrfD0J.js} +1 -1
  420. package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-D61S54_7.js → ebnfDiagram-CCIWWBDH-D4SQYLod.js} +1 -1
  421. package/ui-dist/assets/{erDiagram-Q63AITRT-pplAN_x2.js → erDiagram-Q63AITRT-Byzb6-I5.js} +1 -1
  422. package/ui-dist/assets/{flowDiagram-23GEKE2U-BaBcbyDq.js → flowDiagram-23GEKE2U-CaTUkFO6.js} +1 -1
  423. package/ui-dist/assets/{ganttDiagram-NO4QXBWP-BOJSII2b.js → ganttDiagram-NO4QXBWP-DmdMQ3ES.js} +1 -1
  424. package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-aYAaO4a2.js → gitGraphDiagram-IHSO6WYX-Bt-1g2CS.js} +1 -1
  425. package/ui-dist/assets/{index-CZxYajxF.js → index-2Dk9yO0W.js} +1 -1
  426. package/ui-dist/assets/{index-B8H0SHw1.js → index-8jLpgFNU.js} +1 -1
  427. package/ui-dist/assets/{index-3EKATXgc.js → index-AP_iimxs.js} +1 -1
  428. package/ui-dist/assets/{index-C2JgdjPa.js → index-BNJasQY9.js} +1 -1
  429. package/ui-dist/assets/{index-BaiskB3o.js → index-BO-aNmyX.js} +1 -1
  430. package/ui-dist/assets/{index-B5YenxAQ.js → index-BPCzCn1Y.js} +1 -1
  431. package/ui-dist/assets/{index-Da2kqT1M.js → index-BSLnLTb2.js} +1 -1
  432. package/ui-dist/assets/{index-By0oeEvz.js → index-CCZ2qgHN.js} +1 -1
  433. package/ui-dist/assets/{index-bUFCSEgv.js → index-CLZXR1k9.js} +1 -1
  434. package/ui-dist/assets/{index-CJlw4l9L.js → index-CTNfrE1s.js} +1 -1
  435. package/ui-dist/assets/{index-TmpY6Xh_.js → index-ChNd25s7.js} +1 -1
  436. package/ui-dist/assets/{index-BRgdHUNR.js → index-CjHiMOEO.js} +1 -1
  437. package/ui-dist/assets/{index-DrL6pHSJ.js → index-CmeJQpXZ.js} +1 -1
  438. package/ui-dist/assets/index-CyuYtn7U.css +1 -0
  439. package/ui-dist/assets/{index-CKKytnOd.js → index-CzZjM8eh.js} +1 -1
  440. package/ui-dist/assets/{index-Dceamza_.js → index-D-6T0Aft.js} +1 -1
  441. package/ui-dist/assets/{index-CjDqB1SX.js → index-DG_7V1pG.js} +1 -1
  442. package/ui-dist/assets/index-DIKcgxCt.js +676 -0
  443. package/ui-dist/assets/{index-BKVeJ3Jh.js → index-DiUerHmi.js} +1 -1
  444. package/ui-dist/assets/{index-C-nKjFZh.js → index-NZ7v5Fc2.js} +1 -1
  445. package/ui-dist/assets/{index-CvPPuNs1.js → index-Py70EvBg.js} +1 -1
  446. package/ui-dist/assets/{index-LHkZdu0h.js → index-R3aYn0qM.js} +1 -1
  447. package/ui-dist/assets/{index-BT8b79Bd.js → index-YXpm7gW-.js} +1 -1
  448. package/ui-dist/assets/{index-CemenVOf.js → index-n4q3gzki.js} +1 -1
  449. package/ui-dist/assets/{index-D3ODiUup.js → index-vlZ3GoYY.js} +1 -1
  450. package/ui-dist/assets/{infoDiagram-FWYZ7A6U-C7_90qGq.js → infoDiagram-FWYZ7A6U-jdi5ciVg.js} +1 -1
  451. package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-T-nPPdTt.js → ishikawaDiagram-FXEZZL3T-CMz5VvYp.js} +1 -1
  452. package/ui-dist/assets/{journeyDiagram-5HDEW3XC-C3hqQN0R.js → journeyDiagram-5HDEW3XC-DK6dk2R-.js} +1 -1
  453. package/ui-dist/assets/{kanban-definition-HUTT4EX6-CPoD9DUm.js → kanban-definition-HUTT4EX6-DX5cZL-D.js} +1 -1
  454. package/ui-dist/assets/{linear-D-S8yr3Z.js → linear-CI96ABKp.js} +1 -1
  455. package/ui-dist/assets/{mermaid.core-DhvH8shK.js → mermaid.core-DnsEVfbd.js} +4 -4
  456. package/ui-dist/assets/{mindmap-definition-LN4V7U3C-CxCIKrKo.js → mindmap-definition-LN4V7U3C-BdDCY7hf.js} +1 -1
  457. package/ui-dist/assets/{pegDiagram-2B236MQR-D4G-PC6N.js → pegDiagram-2B236MQR-DuY4TF-f.js} +1 -1
  458. package/ui-dist/assets/{pieDiagram-ENE6RG2P-N4X8UvqY.js → pieDiagram-ENE6RG2P-bgFw7dm3.js} +1 -1
  459. package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-CZohoDln.js → quadrantDiagram-ABIIQ3AL-BCZVWyWS.js} +1 -1
  460. package/ui-dist/assets/{railroadDiagram-RFXS5EU6-fMGQVhwF.js → railroadDiagram-RFXS5EU6-D9V5_Cgc.js} +1 -1
  461. package/ui-dist/assets/{requirementDiagram-TGXJPOKE-CK0IuUmk.js → requirementDiagram-TGXJPOKE-CItsya2r.js} +1 -1
  462. package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-pSfb3CqG.js → sankeyDiagram-HTMAVEWB-Cz9IHsZO.js} +1 -1
  463. package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-CbhkqIeq.js → sequenceDiagram-DBY2YBRQ-hMSqTiwK.js} +1 -1
  464. package/ui-dist/assets/{sizeCapture-X5ZJPWSS-B6vqqPx-.js → sizeCapture-X5ZJPWSS-0g9M5wMf.js} +1 -1
  465. package/ui-dist/assets/{stateDiagram-2N3HPSRC-DIJf9h5C.js → stateDiagram-2N3HPSRC-F8_YhgWl.js} +1 -1
  466. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-fZImUBtq.js +1 -0
  467. package/ui-dist/assets/{swimlanes-5IMT3BWC-DIX_LV8O.js → swimlanes-5IMT3BWC-CCZqPbpE.js} +2 -2
  468. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-9C1UT51R.js +8 -0
  469. package/ui-dist/assets/{timeline-definition-FHXFAJF6-CD-Pxb_g.js → timeline-definition-FHXFAJF6-BeUIr18x.js} +1 -1
  470. package/ui-dist/assets/{vennDiagram-L72KCM5P-BAZsWL0R.js → vennDiagram-L72KCM5P-D3d5h_G4.js} +1 -1
  471. package/ui-dist/assets/{wardleyDiagram-EHGQE667-CnNyfwX5.js → wardleyDiagram-EHGQE667-Bzt-As9A.js} +1 -1
  472. package/ui-dist/assets/{xychartDiagram-FW5EYKEG-j9YgsD3Y.js → xychartDiagram-FW5EYKEG-C2mly0xf.js} +1 -1
  473. package/ui-dist/fonts/InterVariable-Italic.woff2 +0 -0
  474. package/ui-dist/fonts/InterVariable.woff2 +0 -0
  475. package/ui-dist/fonts/NOTICE.md +17 -0
  476. package/ui-dist/index.html +2 -2
  477. package/ui-dist/locales/en/common.json +1142 -5
  478. package/ui-dist/locales/zh-CN/common.json +1140 -3
  479. package/ui-dist/assets/channel-CsiI2LYw.js +0 -1
  480. package/ui-dist/assets/classDiagram-OUVF2IWQ-CBn1Jqo8.js +0 -1
  481. package/ui-dist/assets/classDiagram-v2-EOCWNBFH-CBn1Jqo8.js +0 -1
  482. package/ui-dist/assets/index-BsL8K1vL.css +0 -1
  483. package/ui-dist/assets/index-D__fTsb2.js +0 -643
  484. package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-DpwLD7YL.js +0 -1
  485. package/ui-dist/assets/swimlanesDiagram-G3AALYLV-Cklauutg.js +0 -8
package/dist/index.js CHANGED
@@ -18,7 +18,8 @@ import { loadConfig } from "./config.js";
18
18
  import { logger } from "./middleware/logger.js";
19
19
  import { setupEnvironmentCustomImageTerminalWebSocketServer } from "./realtime/environment-custom-image-terminal-ws.js";
20
20
  import { setupLiveEventsWebSocketServer } from "./realtime/live-events-ws.js";
21
- import { feedbackService, backfillPrincipalAccessCompatibility, bootstrapExecutionPolicyFromEnv, environmentCustomImageService, heartbeatService, instanceSettingsService, reconcileCloudUpstreamRunsOnStartup, reconcileCodexLocalManagedHomesOnStartup, reconcilePersistedRuntimeServicesOnStartup, routineService, } from "./services/index.js";
21
+ import { feedbackService, backfillPrincipalAccessCompatibility, bootstrapExecutionPolicyFromEnv, environmentCustomImageService, heartbeatService, instanceSettingsService, reconcileBuiltInAgentsOnStartup, reconcileCloudUpstreamRunsOnStartup, reconcileCodexLocalManagedHomesOnStartup, reconcilePersistedRuntimeServicesOnStartup, routineService, } from "./services/index.js";
22
+ import { resolveWorktreeRunExecutionActivationState } from "./services/instance-settings.js";
22
23
  import { parseAdapterRegistryEnv, reconcileAdapterAvailability, } from "./services/adapter-registry-bootstrap.js";
23
24
  import { createFeedbackTraceShareClientFromConfig } from "./services/feedback-share-client.js";
24
25
  import { buildRuntimeApiCandidateUrls, choosePrimaryRuntimeApiUrl } from "./runtime-api.js";
@@ -464,6 +465,15 @@ export async function startServer() {
464
465
  shareClient: createFeedbackTraceShareClientFromConfig(config),
465
466
  });
466
467
  const backupSettingsSvc = instanceSettingsService(db);
468
+ const databaseBackupMaxAgeHours = Math.max(1, Number(process.env.PAPERCLIP_DB_BACKUP_MAX_AGE_HOURS) ||
469
+ Math.max(26, Math.ceil((config.databaseBackupIntervalMinutes / 60) * 2)));
470
+ const databaseBackupAlertFile = process.env.PAPERCLIP_DB_BACKUP_ALERT_FILE ||
471
+ resolve(config.databaseBackupDir, "..", "health", "db-backup-to-s3.failure");
472
+ const databaseBackupAlertFiles = [
473
+ databaseBackupAlertFile,
474
+ resolve(config.databaseBackupDir, "db-backup-to-s3.failure"),
475
+ resolve(config.databaseBackupDir, "..", "db-backup-to-s3.failure"),
476
+ ];
467
477
  let databaseBackupInFlight = false;
468
478
  const runServerDatabaseBackup = async (trigger) => {
469
479
  if (databaseBackupInFlight) {
@@ -533,6 +543,15 @@ export async function startServer() {
533
543
  return result;
534
544
  },
535
545
  },
546
+ databaseBackupHealth: config.databaseBackupEnabled
547
+ ? {
548
+ enabled: config.databaseBackupEnabled,
549
+ backupDir: config.databaseBackupDir,
550
+ maxAgeHours: databaseBackupMaxAgeHours,
551
+ alertFile: databaseBackupAlertFile,
552
+ alertFiles: databaseBackupAlertFiles,
553
+ }
554
+ : undefined,
536
555
  deploymentMode: config.deploymentMode,
537
556
  deploymentExposure: config.deploymentExposure,
538
557
  allowedHostnames: config.allowedHostnames,
@@ -613,6 +632,15 @@ export async function startServer() {
613
632
  .catch((err) => {
614
633
  logger.error({ err }, "startup reconciliation of codex_local managed homes failed");
615
634
  });
635
+ void reconcileBuiltInAgentsOnStartup(db)
636
+ .then((result) => {
637
+ if (result.reconciled > 0 || result.unknown > 0 || result.duplicates > 0 || result.autoEnsured > 0) {
638
+ logger.warn(result, "startup reconciliation of built-in agents complete");
639
+ }
640
+ })
641
+ .catch((err) => {
642
+ logger.error({ err }, "startup reconciliation of built-in agents failed");
643
+ });
616
644
  // Force the instance onto the Kubernetes sandbox provider when configured via
617
645
  // env (PAPERCLIP_EXECUTION_MODE=kubernetes). Runs BEFORE the heartbeat resumes
618
646
  // queued runs so the policy + managed k8s environments are in place. A bad
@@ -631,107 +659,60 @@ export async function startServer() {
631
659
  logger.error({ err }, "failed to apply forced execution policy from environment");
632
660
  throw err;
633
661
  }
662
+ let drainHeartbeatRunsForShutdown = null;
663
+ let heartbeatSchedulerStopped = false;
664
+ let heartbeatSchedulerInterval = null;
665
+ const heartbeatSchedulerInFlight = new Set();
666
+ const trackHeartbeatSchedulerWork = (work) => {
667
+ let tracked;
668
+ tracked = Promise.resolve(work)
669
+ .then(() => undefined, () => undefined)
670
+ .finally(() => {
671
+ heartbeatSchedulerInFlight.delete(tracked);
672
+ });
673
+ heartbeatSchedulerInFlight.add(tracked);
674
+ };
675
+ const waitForHeartbeatSchedulerIdle = async () => {
676
+ while (heartbeatSchedulerInFlight.size > 0) {
677
+ await Promise.allSettled([...heartbeatSchedulerInFlight]);
678
+ }
679
+ };
634
680
  if (config.heartbeatSchedulerEnabled) {
635
681
  const heartbeat = heartbeatService(db, { pluginWorkerManager });
682
+ drainHeartbeatRunsForShutdown = heartbeat.drainRunningRunsForShutdown;
636
683
  const environmentCustomImages = environmentCustomImageService(db, { pluginWorkerManager });
637
684
  const routines = routineService(db, { pluginWorkerManager });
685
+ const worktreeRunExecutionActivation = await resolveWorktreeRunExecutionActivationState({
686
+ getExperimental: () => instanceSettingsService(db).getExperimental(),
687
+ });
688
+ logger.info({
689
+ state: worktreeRunExecutionActivation.armed ? "armed" : "disarmed",
690
+ cutoff: worktreeRunExecutionActivation.cutoff,
691
+ }, "worktree run-execution cutoff state");
692
+ const heartbeatSchedulingSuppression = await heartbeat.resolveSchedulingSuppression();
638
693
  // Reap orphaned runs before timer ticks start so wakeups cannot coalesce
639
694
  // into a dead "running" row during startup recovery.
640
- await (async () => {
641
- for (let attempt = 1; attempt <= 2; attempt++) {
642
- try {
643
- const result = await heartbeat.reapOrphanedRuns();
644
- logger.info({ reaped: result.reaped, runIds: result.runIds }, "startup reap of orphaned heartbeat runs complete");
645
- break;
646
- }
647
- catch (err) {
648
- if (attempt < 2) {
649
- logger.warn({ err, attempt }, "startup reap failed, retrying");
695
+ if (heartbeatSchedulingSuppression.suppressed) {
696
+ logger.warn({ reason: heartbeatSchedulingSuppression.reason }, "heartbeat scheduling suppressed for this runtime instance");
697
+ }
698
+ else {
699
+ const startupHeartbeatRecovery = (async () => {
700
+ for (let attempt = 1; attempt <= 2; attempt++) {
701
+ try {
702
+ const result = await heartbeat.reapOrphanedRuns();
703
+ logger.info({ reaped: result.reaped, runIds: result.runIds }, "startup reap of orphaned heartbeat runs complete");
704
+ break;
650
705
  }
651
- else {
652
- logger.error({ err }, "startup reap of orphaned heartbeat runs failed after retry — periodic reaper will serve as degraded backstop");
706
+ catch (err) {
707
+ if (attempt < 2) {
708
+ logger.warn({ err, attempt }, "startup reap failed, retrying");
709
+ }
710
+ else {
711
+ logger.error({ err }, "startup reap of orphaned heartbeat runs failed after retry — periodic reaper will serve as degraded backstop");
712
+ }
653
713
  }
654
714
  }
655
- }
656
- const promotion = await heartbeat.promoteDueScheduledRetries();
657
- await heartbeat.resumeQueuedRuns();
658
- const reconciled = await heartbeat.reconcileStrandedAssignedIssues();
659
- if (promotion.promoted > 0 ||
660
- reconciled.assignmentDispatched > 0 ||
661
- reconciled.dispatchRequeued > 0 ||
662
- reconciled.continuationRequeued > 0 ||
663
- reconciled.successfulRunHandoffEscalated > 0 ||
664
- reconciled.escalated > 0) {
665
- logger.warn({ promotedScheduledRetries: promotion.promoted, promotedScheduledRetryRunIds: promotion.runIds, ...reconciled }, "startup heartbeat recovery changed assigned issue state");
666
- }
667
- const issueGraphReconciled = await heartbeat.reconcileIssueGraphLiveness();
668
- if (issueGraphReconciled.escalationsCreated > 0 || issueGraphReconciled.dependencyWakesHealed > 0) {
669
- logger.warn({ ...issueGraphReconciled }, "startup issue-graph liveness reconciliation changed issue graph state");
670
- }
671
- const taskWatchdogsReconciled = await heartbeat.reconcileTaskWatchdogs();
672
- if (taskWatchdogsReconciled.triggered > 0) {
673
- logger.warn({ ...taskWatchdogsReconciled }, "startup task-watchdog reconciliation triggered watchdog work");
674
- }
675
- const scanned = await heartbeat.scanSilentActiveRuns();
676
- if (scanned.created > 0 || scanned.escalated > 0) {
677
- logger.warn({ ...scanned }, "startup active-run output watchdog created review work");
678
- }
679
- const swept = await heartbeat.sweepStaleIssueLocks();
680
- if (swept.cleared > 0) {
681
- logger.warn({ ...swept }, "startup stale-lock sweeper cleared issue locks");
682
- }
683
- const reviewed = await heartbeat.reconcileProductivityReviews();
684
- if (reviewed.created > 0 || reviewed.updated > 0 || reviewed.failed > 0) {
685
- logger.warn({ ...reviewed }, "startup productivity reconciliation created or updated review work");
686
- }
687
- const setupCleanup = await environmentCustomImages.cleanupExpiredSetupSessions();
688
- if (setupCleanup.timedOut > 0 || setupCleanup.failed > 0) {
689
- logger.warn({ ...setupCleanup }, "startup environment customImage setup cleanup changed sessions");
690
- }
691
- })().catch((err) => {
692
- logger.error({ err }, "startup heartbeat recovery failed");
693
- });
694
- setInterval(() => {
695
- const sweptRuntimeStatuses = heartbeat.sweepExpiredRuntimeStatuses();
696
- if (sweptRuntimeStatuses > 0) {
697
- logger.info({ swept: sweptRuntimeStatuses }, "heartbeat runtime-status sweeper cleared expired entries");
698
- }
699
- void heartbeat
700
- .tickTimers(new Date())
701
- .then((result) => {
702
- if (result.enqueued > 0) {
703
- logger.info({ ...result }, "heartbeat timer tick enqueued runs");
704
- }
705
- })
706
- .catch((err) => {
707
- logger.error({ err }, "heartbeat timer tick failed");
708
- });
709
- void routines
710
- .tickScheduledTriggers(new Date())
711
- .then((result) => {
712
- if (result.triggered > 0) {
713
- logger.info({ ...result }, "routine scheduler tick enqueued runs");
714
- }
715
- })
716
- .catch((err) => {
717
- logger.error({ err }, "routine scheduler tick failed");
718
- });
719
- void environmentCustomImages
720
- .cleanupExpiredSetupSessions()
721
- .then((result) => {
722
- if (result.timedOut > 0 || result.failed > 0) {
723
- logger.warn({ ...result }, "environment customImage setup cleanup changed sessions");
724
- }
725
- })
726
- .catch((err) => {
727
- logger.error({ err }, "environment customImage setup cleanup failed");
728
- });
729
- // Periodically reap orphaned runs (5-min staleness threshold) and make sure
730
- // persisted queued work is still being driven forward.
731
- void heartbeat
732
- .reapOrphanedRuns({ staleThresholdMs: 5 * 60 * 1000 })
733
- .then(() => heartbeat.promoteDueScheduledRetries())
734
- .then(async (promotion) => {
715
+ const promotion = await heartbeat.promoteDueScheduledRetries();
735
716
  await heartbeat.resumeQueuedRuns();
736
717
  const reconciled = await heartbeat.reconcileStrandedAssignedIssues();
737
718
  if (promotion.promoted > 0 ||
@@ -740,42 +721,138 @@ export async function startServer() {
740
721
  reconciled.continuationRequeued > 0 ||
741
722
  reconciled.successfulRunHandoffEscalated > 0 ||
742
723
  reconciled.escalated > 0) {
743
- logger.warn({ promotedScheduledRetries: promotion.promoted, promotedScheduledRetryRunIds: promotion.runIds, ...reconciled }, "periodic heartbeat recovery changed assigned issue state");
724
+ logger.warn({ promotedScheduledRetries: promotion.promoted, promotedScheduledRetryRunIds: promotion.runIds, ...reconciled }, "startup heartbeat recovery changed assigned issue state");
744
725
  }
745
- })
746
- .then(async () => {
747
- const reconciled = await heartbeat.reconcileIssueGraphLiveness();
748
- if (reconciled.escalationsCreated > 0 || reconciled.dependencyWakesHealed > 0) {
749
- logger.warn({ ...reconciled }, "periodic issue-graph liveness reconciliation changed issue graph state");
726
+ const issueGraphReconciled = await heartbeat.reconcileIssueGraphLiveness();
727
+ if (issueGraphReconciled.escalationsCreated > 0 || issueGraphReconciled.dependencyWakesHealed > 0) {
728
+ logger.warn({ ...issueGraphReconciled }, "startup issue-graph liveness reconciliation changed issue graph state");
750
729
  }
751
- })
752
- .then(async () => {
753
- const reconciled = await heartbeat.reconcileTaskWatchdogs();
754
- if (reconciled.triggered > 0) {
755
- logger.warn({ ...reconciled }, "periodic task-watchdog reconciliation triggered watchdog work");
730
+ const taskWatchdogsReconciled = await heartbeat.reconcileTaskWatchdogs();
731
+ if (taskWatchdogsReconciled.triggered > 0) {
732
+ logger.warn({ ...taskWatchdogsReconciled }, "startup task-watchdog reconciliation triggered watchdog work");
756
733
  }
757
- })
758
- .then(async () => {
759
734
  const scanned = await heartbeat.scanSilentActiveRuns();
760
735
  if (scanned.created > 0 || scanned.escalated > 0) {
761
- logger.warn({ ...scanned }, "periodic active-run output watchdog created review work");
736
+ logger.warn({ ...scanned }, "startup active-run output watchdog created review work");
762
737
  }
763
- })
764
- .then(async () => {
765
738
  const swept = await heartbeat.sweepStaleIssueLocks();
766
739
  if (swept.cleared > 0) {
767
- logger.warn({ ...swept }, "periodic stale-lock sweeper cleared issue locks");
740
+ logger.warn({ ...swept }, "startup stale-lock sweeper cleared issue locks");
768
741
  }
769
- })
770
- .then(async () => {
771
742
  const reviewed = await heartbeat.reconcileProductivityReviews();
772
743
  if (reviewed.created > 0 || reviewed.updated > 0 || reviewed.failed > 0) {
773
- logger.warn({ ...reviewed }, "periodic productivity reconciliation created or updated review work");
744
+ logger.warn({ ...reviewed }, "startup productivity reconciliation created or updated review work");
774
745
  }
775
- })
776
- .catch((err) => {
777
- logger.error({ err }, "periodic heartbeat recovery failed");
746
+ })().catch((err) => {
747
+ logger.error({ err }, "startup heartbeat recovery failed");
778
748
  });
749
+ trackHeartbeatSchedulerWork(startupHeartbeatRecovery);
750
+ await startupHeartbeatRecovery;
751
+ }
752
+ const setupCleanup = await environmentCustomImages.cleanupExpiredSetupSessions();
753
+ if (setupCleanup.timedOut > 0 || setupCleanup.failed > 0) {
754
+ logger.warn({ ...setupCleanup }, "startup environment customImage setup cleanup changed sessions");
755
+ }
756
+ heartbeatSchedulerInterval = setInterval(() => {
757
+ // Async so the suppression checks below can honor the override-aware
758
+ // resolver (e.g. worktree run-execution opt-in). The gated work is still
759
+ // wrapped in trackHeartbeatSchedulerWork with its own error handling.
760
+ void (async () => {
761
+ if (heartbeatSchedulerStopped)
762
+ return;
763
+ const sweptRuntimeStatuses = heartbeat.sweepExpiredRuntimeStatuses();
764
+ if (sweptRuntimeStatuses > 0) {
765
+ logger.info({ swept: sweptRuntimeStatuses }, "heartbeat runtime-status sweeper cleared expired entries");
766
+ }
767
+ if (!(await heartbeat.resolveSchedulingSuppression()).suppressed) {
768
+ trackHeartbeatSchedulerWork(heartbeat
769
+ .tickTimers(new Date())
770
+ .then((result) => {
771
+ if (result.enqueued > 0) {
772
+ logger.info({ ...result }, "heartbeat timer tick enqueued runs");
773
+ }
774
+ })
775
+ .catch((err) => {
776
+ logger.error({ err }, "heartbeat timer tick failed");
777
+ }));
778
+ }
779
+ if (heartbeatSchedulerStopped)
780
+ return;
781
+ trackHeartbeatSchedulerWork(routines
782
+ .tickScheduledTriggers(new Date())
783
+ .then((result) => {
784
+ if (result.triggered > 0) {
785
+ logger.info({ ...result }, "routine scheduler tick enqueued runs");
786
+ }
787
+ })
788
+ .catch((err) => {
789
+ logger.error({ err }, "routine scheduler tick failed");
790
+ }));
791
+ trackHeartbeatSchedulerWork(environmentCustomImages
792
+ .cleanupExpiredSetupSessions()
793
+ .then((result) => {
794
+ if (result.timedOut > 0 || result.failed > 0) {
795
+ logger.warn({ ...result }, "environment customImage setup cleanup changed sessions");
796
+ }
797
+ })
798
+ .catch((err) => {
799
+ logger.error({ err }, "environment customImage setup cleanup failed");
800
+ }));
801
+ if (heartbeatSchedulerStopped)
802
+ return;
803
+ if (!(await heartbeat.resolveSchedulingSuppression()).suppressed) {
804
+ // Periodically reap orphaned runs (5-min staleness threshold) and make sure
805
+ // persisted queued work is still being driven forward.
806
+ trackHeartbeatSchedulerWork(heartbeat
807
+ .reapOrphanedRuns({ staleThresholdMs: 5 * 60 * 1000 })
808
+ .then(() => heartbeat.promoteDueScheduledRetries())
809
+ .then(async (promotion) => {
810
+ await heartbeat.resumeQueuedRuns();
811
+ const reconciled = await heartbeat.reconcileStrandedAssignedIssues();
812
+ if (promotion.promoted > 0 ||
813
+ reconciled.assignmentDispatched > 0 ||
814
+ reconciled.dispatchRequeued > 0 ||
815
+ reconciled.continuationRequeued > 0 ||
816
+ reconciled.successfulRunHandoffEscalated > 0 ||
817
+ reconciled.escalated > 0) {
818
+ logger.warn({ promotedScheduledRetries: promotion.promoted, promotedScheduledRetryRunIds: promotion.runIds, ...reconciled }, "periodic heartbeat recovery changed assigned issue state");
819
+ }
820
+ })
821
+ .then(async () => {
822
+ const reconciled = await heartbeat.reconcileIssueGraphLiveness();
823
+ if (reconciled.escalationsCreated > 0 || reconciled.dependencyWakesHealed > 0) {
824
+ logger.warn({ ...reconciled }, "periodic issue-graph liveness reconciliation changed issue graph state");
825
+ }
826
+ })
827
+ .then(async () => {
828
+ const reconciled = await heartbeat.reconcileTaskWatchdogs();
829
+ if (reconciled.triggered > 0) {
830
+ logger.warn({ ...reconciled }, "periodic task-watchdog reconciliation triggered watchdog work");
831
+ }
832
+ })
833
+ .then(async () => {
834
+ const scanned = await heartbeat.scanSilentActiveRuns();
835
+ if (scanned.created > 0 || scanned.escalated > 0) {
836
+ logger.warn({ ...scanned }, "periodic active-run output watchdog created review work");
837
+ }
838
+ })
839
+ .then(async () => {
840
+ const swept = await heartbeat.sweepStaleIssueLocks();
841
+ if (swept.cleared > 0) {
842
+ logger.warn({ ...swept }, "periodic stale-lock sweeper cleared issue locks");
843
+ }
844
+ })
845
+ .then(async () => {
846
+ const reviewed = await heartbeat.reconcileProductivityReviews();
847
+ if (reviewed.created > 0 || reviewed.updated > 0 || reviewed.failed > 0) {
848
+ logger.warn({ ...reviewed }, "periodic productivity reconciliation created or updated review work");
849
+ }
850
+ })
851
+ .catch((err) => {
852
+ logger.error({ err }, "periodic heartbeat recovery failed");
853
+ }));
854
+ }
855
+ })();
779
856
  }, config.heartbeatSchedulerIntervalMs);
780
857
  }
781
858
  if (config.databaseBackupEnabled) {
@@ -865,11 +942,26 @@ export async function startServer() {
865
942
  });
866
943
  {
867
944
  const shutdown = async (signal) => {
945
+ heartbeatSchedulerStopped = true;
946
+ if (heartbeatSchedulerInterval) {
947
+ clearInterval(heartbeatSchedulerInterval);
948
+ heartbeatSchedulerInterval = null;
949
+ }
950
+ await waitForHeartbeatSchedulerIdle();
868
951
  const telemetryClient = getTelemetryClient();
869
952
  if (telemetryClient) {
870
953
  telemetryClient.stop();
871
954
  await telemetryClient.flush();
872
955
  }
956
+ if (drainHeartbeatRunsForShutdown) {
957
+ try {
958
+ const drain = await drainHeartbeatRunsForShutdown(signal);
959
+ logger.info({ signal, drain }, "graceful heartbeat run drain complete");
960
+ }
961
+ catch (err) {
962
+ logger.error({ err, signal }, "graceful heartbeat run drain failed");
963
+ }
964
+ }
873
965
  const appShutdown = app.locals?.paperclipShutdown;
874
966
  appShutdown?.();
875
967
  if (embeddedPostgres && embeddedPostgresStartedByThisProcess) {
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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"}
@@ -0,0 +1,8 @@
1
+ import type { RequestHandler } from "express";
2
+ export declare const API_COMPRESSION_THRESHOLD_BYTES = 1024;
3
+ type ApiCompressionOptions = {
4
+ thresholdBytes?: number;
5
+ };
6
+ export declare function apiCompression(options?: ApiCompressionOptions): RequestHandler;
7
+ export {};
8
+ //# sourceMappingURL=api-compression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-compression.d.ts","sourceRoot":"","sources":["../../src/middleware/api-compression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI9C,eAAO,MAAM,+BAA+B,OAAO,CAAC;AAOpD,KAAK,qBAAqB,GAAG;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAqHF,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,cAAc,CAiHlF"}