@paperclipai/server 2026.824.0 → 2026.825.0-beta.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 (519) hide show
  1. package/dist/adapters/builtin-adapter-types.d.ts.map +1 -1
  2. package/dist/adapters/builtin-adapter-types.js +1 -0
  3. package/dist/adapters/builtin-adapter-types.js.map +1 -1
  4. package/dist/adapters/plugin-loader.d.ts +1 -0
  5. package/dist/adapters/plugin-loader.d.ts.map +1 -1
  6. package/dist/adapters/plugin-loader.js +12 -1
  7. package/dist/adapters/plugin-loader.js.map +1 -1
  8. package/dist/adapters/plugin-loader.test.d.ts +2 -0
  9. package/dist/adapters/plugin-loader.test.d.ts.map +1 -0
  10. package/dist/adapters/plugin-loader.test.js +37 -0
  11. package/dist/adapters/plugin-loader.test.js.map +1 -0
  12. package/dist/adapters/registry.d.ts.map +1 -1
  13. package/dist/adapters/registry.js +68 -5
  14. package/dist/adapters/registry.js.map +1 -1
  15. package/dist/adapters/registry.test.d.ts +2 -0
  16. package/dist/adapters/registry.test.d.ts.map +1 -0
  17. package/dist/adapters/registry.test.js +35 -0
  18. package/dist/adapters/registry.test.js.map +1 -0
  19. package/dist/app.d.ts.map +1 -1
  20. package/dist/app.js +5 -7
  21. package/dist/app.js.map +1 -1
  22. package/dist/auth/better-auth.d.ts +10 -0
  23. package/dist/auth/better-auth.d.ts.map +1 -1
  24. package/dist/auth/better-auth.js +47 -0
  25. package/dist/auth/better-auth.js.map +1 -1
  26. package/dist/auth/workspace-login-handoff-exchange.d.ts +75 -0
  27. package/dist/auth/workspace-login-handoff-exchange.d.ts.map +1 -0
  28. package/dist/auth/workspace-login-handoff-exchange.js +73 -0
  29. package/dist/auth/workspace-login-handoff-exchange.js.map +1 -0
  30. package/dist/auth/workspace-login-handoff-plugin.d.ts +40 -0
  31. package/dist/auth/workspace-login-handoff-plugin.d.ts.map +1 -0
  32. package/dist/auth/workspace-login-handoff-plugin.js +140 -0
  33. package/dist/auth/workspace-login-handoff-plugin.js.map +1 -0
  34. package/dist/auth/workspace-login-handoff.d.ts +189 -0
  35. package/dist/auth/workspace-login-handoff.d.ts.map +1 -0
  36. package/dist/auth/workspace-login-handoff.js +319 -0
  37. package/dist/auth/workspace-login-handoff.js.map +1 -0
  38. package/dist/build-info.json +3 -0
  39. package/dist/config.d.ts +1 -0
  40. package/dist/config.d.ts.map +1 -1
  41. package/dist/config.js +14 -0
  42. package/dist/config.js.map +1 -1
  43. package/dist/dev-runner-worktree.d.ts.map +1 -1
  44. package/dist/dev-runner-worktree.js +5 -0
  45. package/dist/dev-runner-worktree.js.map +1 -1
  46. package/dist/duplex-aggregate-ceiling-env.d.ts +21 -0
  47. package/dist/duplex-aggregate-ceiling-env.d.ts.map +1 -0
  48. package/dist/duplex-aggregate-ceiling-env.js +23 -0
  49. package/dist/duplex-aggregate-ceiling-env.js.map +1 -0
  50. package/dist/embedded-postgres-supervisor.d.ts +27 -0
  51. package/dist/embedded-postgres-supervisor.d.ts.map +1 -0
  52. package/dist/embedded-postgres-supervisor.js +72 -0
  53. package/dist/embedded-postgres-supervisor.js.map +1 -0
  54. package/dist/errors.d.ts +2 -0
  55. package/dist/errors.d.ts.map +1 -1
  56. package/dist/errors.js +6 -0
  57. package/dist/errors.js.map +1 -1
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +115 -7
  60. package/dist/index.js.map +1 -1
  61. package/dist/instrumentation.d.ts +33 -0
  62. package/dist/instrumentation.d.ts.map +1 -1
  63. package/dist/instrumentation.js +68 -1
  64. package/dist/instrumentation.js.map +1 -1
  65. package/dist/middleware/auth.d.ts.map +1 -1
  66. package/dist/middleware/auth.js +35 -10
  67. package/dist/middleware/auth.js.map +1 -1
  68. package/dist/middleware/error-handler.d.ts.map +1 -1
  69. package/dist/middleware/error-handler.js +8 -1
  70. package/dist/middleware/error-handler.js.map +1 -1
  71. package/dist/middleware/logger.d.ts.map +1 -1
  72. package/dist/middleware/logger.js +5 -2
  73. package/dist/middleware/logger.js.map +1 -1
  74. package/dist/middleware/redact-sensitive.d.ts.map +1 -1
  75. package/dist/middleware/redact-sensitive.js +4 -0
  76. package/dist/middleware/redact-sensitive.js.map +1 -1
  77. package/dist/middleware/validate.d.ts +3 -1
  78. package/dist/middleware/validate.d.ts.map +1 -1
  79. package/dist/middleware/validate.js +37 -0
  80. package/dist/middleware/validate.js.map +1 -1
  81. package/dist/routes/access.d.ts.map +1 -1
  82. package/dist/routes/access.js +20 -0
  83. package/dist/routes/access.js.map +1 -1
  84. package/dist/routes/activity.js +4 -4
  85. package/dist/routes/activity.js.map +1 -1
  86. package/dist/routes/adapter-login-route-spine.d.ts +81 -0
  87. package/dist/routes/adapter-login-route-spine.d.ts.map +1 -0
  88. package/dist/routes/adapter-login-route-spine.js +40 -0
  89. package/dist/routes/adapter-login-route-spine.js.map +1 -0
  90. package/dist/routes/adapters.d.ts +33 -0
  91. package/dist/routes/adapters.d.ts.map +1 -1
  92. package/dist/routes/adapters.js +35 -1
  93. package/dist/routes/adapters.js.map +1 -1
  94. package/dist/routes/adapters.test.d.ts +2 -0
  95. package/dist/routes/adapters.test.d.ts.map +1 -0
  96. package/dist/routes/adapters.test.js +58 -0
  97. package/dist/routes/adapters.test.js.map +1 -0
  98. package/dist/routes/agents.d.ts.map +1 -1
  99. package/dist/routes/agents.js +281 -91
  100. package/dist/routes/agents.js.map +1 -1
  101. package/dist/routes/cases.d.ts +11 -22
  102. package/dist/routes/cases.d.ts.map +1 -1
  103. package/dist/routes/cases.js +13 -13
  104. package/dist/routes/companies.js +3 -3
  105. package/dist/routes/decision-training.js +6 -6
  106. package/dist/routes/decisions.js +4 -4
  107. package/dist/routes/decisions.js.map +1 -1
  108. package/dist/routes/environments.d.ts.map +1 -1
  109. package/dist/routes/environments.js +79 -6
  110. package/dist/routes/environments.js.map +1 -1
  111. package/dist/routes/execution-workspaces.d.ts.map +1 -1
  112. package/dist/routes/execution-workspaces.js +384 -16
  113. package/dist/routes/execution-workspaces.js.map +1 -1
  114. package/dist/routes/file-resources.js +2 -2
  115. package/dist/routes/health.d.ts.map +1 -1
  116. package/dist/routes/health.js +58 -4
  117. package/dist/routes/health.js.map +1 -1
  118. package/dist/routes/instance-settings.d.ts.map +1 -1
  119. package/dist/routes/instance-settings.js +40 -0
  120. package/dist/routes/instance-settings.js.map +1 -1
  121. package/dist/routes/issues.d.ts +10 -0
  122. package/dist/routes/issues.d.ts.map +1 -1
  123. package/dist/routes/issues.js +495 -65
  124. package/dist/routes/issues.js.map +1 -1
  125. package/dist/routes/openapi.d.ts.map +1 -1
  126. package/dist/routes/openapi.js +241 -122
  127. package/dist/routes/openapi.js.map +1 -1
  128. package/dist/routes/pipelines.js +19 -19
  129. package/dist/routes/plugins.d.ts.map +1 -1
  130. package/dist/routes/plugins.js +22 -0
  131. package/dist/routes/plugins.js.map +1 -1
  132. package/dist/routes/projects.d.ts.map +1 -1
  133. package/dist/routes/projects.js +2 -0
  134. package/dist/routes/projects.js.map +1 -1
  135. package/dist/routes/routines.js +2 -2
  136. package/dist/routes/routines.js.map +1 -1
  137. package/dist/routes/secrets.d.ts +1 -1
  138. package/dist/routes/secrets.d.ts.map +1 -1
  139. package/dist/routes/secrets.js +39 -50
  140. package/dist/routes/secrets.js.map +1 -1
  141. package/dist/routes/setup-token-route.test.js +50 -3
  142. package/dist/routes/setup-token-route.test.js.map +1 -1
  143. package/dist/services/adapter-login-lease.d.ts +50 -0
  144. package/dist/services/adapter-login-lease.d.ts.map +1 -0
  145. package/dist/services/adapter-login-lease.js +26 -0
  146. package/dist/services/adapter-login-lease.js.map +1 -0
  147. package/dist/services/adapter-login-lease.test.d.ts +2 -0
  148. package/dist/services/adapter-login-lease.test.d.ts.map +1 -0
  149. package/dist/services/adapter-login-lease.test.js +68 -0
  150. package/dist/services/adapter-login-lease.test.js.map +1 -0
  151. package/dist/services/agent-action-audit.js +1 -1
  152. package/dist/services/agent-secret-bindings.d.ts +15 -0
  153. package/dist/services/agent-secret-bindings.d.ts.map +1 -1
  154. package/dist/services/agent-secret-bindings.js +2 -2
  155. package/dist/services/agent-secret-bindings.js.map +1 -1
  156. package/dist/services/agents.d.ts +13 -13
  157. package/dist/services/agents.d.ts.map +1 -1
  158. package/dist/services/agents.js +46 -5
  159. package/dist/services/agents.js.map +1 -1
  160. package/dist/services/artifact-review-documents.d.ts +34 -0
  161. package/dist/services/artifact-review-documents.d.ts.map +1 -0
  162. package/dist/services/artifact-review-documents.js +196 -0
  163. package/dist/services/artifact-review-documents.js.map +1 -0
  164. package/dist/services/assets.d.ts +1 -1
  165. package/dist/services/codex-device-login-credential-read.d.ts +58 -0
  166. package/dist/services/codex-device-login-credential-read.d.ts.map +1 -0
  167. package/dist/services/codex-device-login-credential-read.js +118 -0
  168. package/dist/services/codex-device-login-credential-read.js.map +1 -0
  169. package/dist/services/codex-device-login-reaper.d.ts.map +1 -1
  170. package/dist/services/codex-device-login-reaper.js +8 -5
  171. package/dist/services/codex-device-login-reaper.js.map +1 -1
  172. package/dist/services/codex-device-login-service.d.ts +127 -36
  173. package/dist/services/codex-device-login-service.d.ts.map +1 -1
  174. package/dist/services/codex-device-login-service.js +204 -84
  175. package/dist/services/codex-device-login-service.js.map +1 -1
  176. package/dist/services/company-portability.d.ts +3 -1
  177. package/dist/services/company-portability.d.ts.map +1 -1
  178. package/dist/services/company-portability.js +76 -20
  179. package/dist/services/company-portability.js.map +1 -1
  180. package/dist/services/company-skill-policy.d.ts +1 -1
  181. package/dist/services/costs.d.ts +1 -1
  182. package/dist/services/decisions.d.ts +6 -6
  183. package/dist/services/duplex-observability-recorder.d.ts +62 -0
  184. package/dist/services/duplex-observability-recorder.d.ts.map +1 -0
  185. package/dist/services/duplex-observability-recorder.js +54 -0
  186. package/dist/services/duplex-observability-recorder.js.map +1 -0
  187. package/dist/services/environment-config.js +5 -5
  188. package/dist/services/environment-config.js.map +1 -1
  189. package/dist/services/environment-custom-image-runtime.d.ts +116 -0
  190. package/dist/services/environment-custom-image-runtime.d.ts.map +1 -1
  191. package/dist/services/environment-custom-image-runtime.js +255 -1
  192. package/dist/services/environment-custom-image-runtime.js.map +1 -1
  193. package/dist/services/environment-custom-images.d.ts +39 -0
  194. package/dist/services/environment-custom-images.d.ts.map +1 -1
  195. package/dist/services/environment-custom-images.js +219 -17
  196. package/dist/services/environment-custom-images.js.map +1 -1
  197. package/dist/services/environment-driver-traits.d.ts +109 -0
  198. package/dist/services/environment-driver-traits.d.ts.map +1 -0
  199. package/dist/services/environment-driver-traits.js +102 -0
  200. package/dist/services/environment-driver-traits.js.map +1 -0
  201. package/dist/services/environment-execution-target.d.ts +4 -0
  202. package/dist/services/environment-execution-target.d.ts.map +1 -1
  203. package/dist/services/environment-execution-target.js +63 -7
  204. package/dist/services/environment-execution-target.js.map +1 -1
  205. package/dist/services/environment-run-orchestrator.d.ts +27 -1
  206. package/dist/services/environment-run-orchestrator.d.ts.map +1 -1
  207. package/dist/services/environment-run-orchestrator.js +24 -4
  208. package/dist/services/environment-run-orchestrator.js.map +1 -1
  209. package/dist/services/environment-runtime.d.ts +118 -20
  210. package/dist/services/environment-runtime.d.ts.map +1 -1
  211. package/dist/services/environment-runtime.js +436 -91
  212. package/dist/services/environment-runtime.js.map +1 -1
  213. package/dist/services/environments.d.ts.map +1 -1
  214. package/dist/services/environments.js +20 -2
  215. package/dist/services/environments.js.map +1 -1
  216. package/dist/services/execution-workspace-branch-ownership.d.ts +4 -0
  217. package/dist/services/execution-workspace-branch-ownership.d.ts.map +1 -0
  218. package/dist/services/execution-workspace-branch-ownership.js +9 -0
  219. package/dist/services/execution-workspace-branch-ownership.js.map +1 -0
  220. package/dist/services/execution-workspace-policy.d.ts.map +1 -1
  221. package/dist/services/execution-workspace-policy.js +3 -0
  222. package/dist/services/execution-workspace-policy.js.map +1 -1
  223. package/dist/services/execution-workspaces.d.ts +2 -0
  224. package/dist/services/execution-workspaces.d.ts.map +1 -1
  225. package/dist/services/execution-workspaces.js +90 -2
  226. package/dist/services/execution-workspaces.js.map +1 -1
  227. package/dist/services/external-objects.d.ts +19 -19
  228. package/dist/services/finance.d.ts +1 -1
  229. package/dist/services/goals.d.ts +2 -2
  230. package/dist/services/heartbeat-policy.d.ts +3 -0
  231. package/dist/services/heartbeat-policy.d.ts.map +1 -0
  232. package/dist/services/heartbeat-policy.js +10 -0
  233. package/dist/services/heartbeat-policy.js.map +1 -0
  234. package/dist/services/heartbeat-run-runtime-status.test.js +1 -1
  235. package/dist/services/heartbeat-run-runtime-status.test.js.map +1 -1
  236. package/dist/services/heartbeat.d.ts +23 -1
  237. package/dist/services/heartbeat.d.ts.map +1 -1
  238. package/dist/services/heartbeat.js +192 -11
  239. package/dist/services/heartbeat.js.map +1 -1
  240. package/dist/services/index.d.ts +1 -0
  241. package/dist/services/index.d.ts.map +1 -1
  242. package/dist/services/index.js +1 -0
  243. package/dist/services/index.js.map +1 -1
  244. package/dist/services/instance-settings.d.ts.map +1 -1
  245. package/dist/services/instance-settings.js +2 -0
  246. package/dist/services/instance-settings.js.map +1 -1
  247. package/dist/services/issue-dependency-wakeups.d.ts +57 -9
  248. package/dist/services/issue-dependency-wakeups.d.ts.map +1 -1
  249. package/dist/services/issue-dependency-wakeups.js +146 -14
  250. package/dist/services/issue-dependency-wakeups.js.map +1 -1
  251. package/dist/services/issue-dependency-wakeups.test.d.ts +2 -0
  252. package/dist/services/issue-dependency-wakeups.test.d.ts.map +1 -0
  253. package/dist/services/issue-dependency-wakeups.test.js +183 -0
  254. package/dist/services/issue-dependency-wakeups.test.js.map +1 -0
  255. package/dist/services/issue-recovery-actions.d.ts +6 -1
  256. package/dist/services/issue-recovery-actions.d.ts.map +1 -1
  257. package/dist/services/issue-recovery-actions.js +123 -44
  258. package/dist/services/issue-recovery-actions.js.map +1 -1
  259. package/dist/services/issue-thread-interactions.d.ts +8 -0
  260. package/dist/services/issue-thread-interactions.d.ts.map +1 -1
  261. package/dist/services/issue-thread-interactions.js +220 -10
  262. package/dist/services/issue-thread-interactions.js.map +1 -1
  263. package/dist/services/issues.d.ts +8 -7
  264. package/dist/services/issues.d.ts.map +1 -1
  265. package/dist/services/issues.js +84 -12
  266. package/dist/services/issues.js.map +1 -1
  267. package/dist/services/local-service-supervisor.d.ts +61 -1
  268. package/dist/services/local-service-supervisor.d.ts.map +1 -1
  269. package/dist/services/local-service-supervisor.js +221 -25
  270. package/dist/services/local-service-supervisor.js.map +1 -1
  271. package/dist/services/login-command.d.ts +46 -0
  272. package/dist/services/login-command.d.ts.map +1 -0
  273. package/dist/services/login-command.js +87 -0
  274. package/dist/services/login-command.js.map +1 -0
  275. package/dist/services/login-command.test.d.ts +2 -0
  276. package/dist/services/login-command.test.d.ts.map +1 -0
  277. package/dist/services/login-command.test.js +71 -0
  278. package/dist/services/login-command.test.js.map +1 -0
  279. package/dist/services/managed-workspace-identity.d.ts +140 -0
  280. package/dist/services/managed-workspace-identity.d.ts.map +1 -0
  281. package/dist/services/managed-workspace-identity.js +277 -0
  282. package/dist/services/managed-workspace-identity.js.map +1 -0
  283. package/dist/services/plugin-environment-driver.d.ts +15 -1
  284. package/dist/services/plugin-environment-driver.d.ts.map +1 -1
  285. package/dist/services/plugin-environment-driver.js +23 -1
  286. package/dist/services/plugin-environment-driver.js.map +1 -1
  287. package/dist/services/plugin-host-services.d.ts +3 -2
  288. package/dist/services/plugin-host-services.d.ts.map +1 -1
  289. package/dist/services/plugin-host-services.js +11 -2
  290. package/dist/services/plugin-host-services.js.map +1 -1
  291. package/dist/services/plugin-loader.d.ts.map +1 -1
  292. package/dist/services/plugin-loader.js +39 -8
  293. package/dist/services/plugin-loader.js.map +1 -1
  294. package/dist/services/plugin-managed-agents.d.ts.map +1 -1
  295. package/dist/services/plugin-managed-agents.js +50 -5
  296. package/dist/services/plugin-managed-agents.js.map +1 -1
  297. package/dist/services/plugin-manifest-validator.d.ts.map +1 -1
  298. package/dist/services/plugin-manifest-validator.js +5 -2
  299. package/dist/services/plugin-manifest-validator.js.map +1 -1
  300. package/dist/services/plugin-registry.d.ts +5 -5
  301. package/dist/services/plugin-worker-manager.d.ts +158 -11
  302. package/dist/services/plugin-worker-manager.d.ts.map +1 -1
  303. package/dist/services/plugin-worker-manager.js +1139 -79
  304. package/dist/services/plugin-worker-manager.js.map +1 -1
  305. package/dist/services/projects.d.ts +1 -1
  306. package/dist/services/recovery/disposition-repair.d.ts +24 -0
  307. package/dist/services/recovery/disposition-repair.d.ts.map +1 -0
  308. package/dist/services/recovery/disposition-repair.js +125 -0
  309. package/dist/services/recovery/disposition-repair.js.map +1 -0
  310. package/dist/services/recovery/service.d.ts +6 -6
  311. package/dist/services/recovery/service.d.ts.map +1 -1
  312. package/dist/services/recovery/service.js +856 -384
  313. package/dist/services/recovery/service.js.map +1 -1
  314. package/dist/services/recovery/stranded-notice.js +4 -4
  315. package/dist/services/recovery/stranded-notice.js.map +1 -1
  316. package/dist/services/recovery/stranded-notice.test.js +1 -1
  317. package/dist/services/recovery/stranded-notice.test.js.map +1 -1
  318. package/dist/services/recovery/successful-run-handoff.d.ts +1 -1
  319. package/dist/services/recovery/successful-run-handoff.d.ts.map +1 -1
  320. package/dist/services/recovery/successful-run-handoff.js +6 -4
  321. package/dist/services/recovery/successful-run-handoff.js.map +1 -1
  322. package/dist/services/recovery/successful-run-handoff.test.js +1 -1
  323. package/dist/services/recovery/successful-run-handoff.test.js.map +1 -1
  324. package/dist/services/recovery-observability.d.ts +1 -1
  325. package/dist/services/recovery-observability.d.ts.map +1 -1
  326. package/dist/services/recovery-observability.js +4 -1
  327. package/dist/services/recovery-observability.js.map +1 -1
  328. package/dist/services/routines.d.ts.map +1 -1
  329. package/dist/services/routines.js +86 -1
  330. package/dist/services/routines.js.map +1 -1
  331. package/dist/services/runtime-exposure/loopback-listener.js +1 -1
  332. package/dist/services/runtime-exposure/loopback-listener.js.map +1 -1
  333. package/dist/services/runtime-exposure/loopback-listener.test.js +1 -1
  334. package/dist/services/runtime-exposure/loopback-listener.test.js.map +1 -1
  335. package/dist/services/scripts/codex-auth-read.cjs +93 -0
  336. package/dist/services/secret-proposal-authorization.d.ts +15 -0
  337. package/dist/services/secret-proposal-authorization.d.ts.map +1 -0
  338. package/dist/services/secret-proposal-authorization.js +29 -0
  339. package/dist/services/secret-proposal-authorization.js.map +1 -0
  340. package/dist/services/secret-proposal-notifications.d.ts +18 -0
  341. package/dist/services/secret-proposal-notifications.d.ts.map +1 -0
  342. package/dist/services/secret-proposal-notifications.js +37 -0
  343. package/dist/services/secret-proposal-notifications.js.map +1 -0
  344. package/dist/services/secret-proposals.d.ts +20 -10
  345. package/dist/services/secret-proposals.d.ts.map +1 -1
  346. package/dist/services/secret-proposals.js +205 -14
  347. package/dist/services/secret-proposals.js.map +1 -1
  348. package/dist/services/secrets.d.ts +3 -3
  349. package/dist/services/settings-visibility.d.ts +17 -0
  350. package/dist/services/settings-visibility.d.ts.map +1 -0
  351. package/dist/services/settings-visibility.js +29 -0
  352. package/dist/services/settings-visibility.js.map +1 -0
  353. package/dist/services/setup-token-reaper.d.ts +36 -0
  354. package/dist/services/setup-token-reaper.d.ts.map +1 -0
  355. package/dist/services/setup-token-reaper.js +38 -0
  356. package/dist/services/setup-token-reaper.js.map +1 -0
  357. package/dist/services/setup-token-reaper.test.d.ts +2 -0
  358. package/dist/services/setup-token-reaper.test.d.ts.map +1 -0
  359. package/dist/services/setup-token-reaper.test.js +123 -0
  360. package/dist/services/setup-token-reaper.test.js.map +1 -0
  361. package/dist/services/setup-token-session.d.ts +57 -45
  362. package/dist/services/setup-token-session.d.ts.map +1 -1
  363. package/dist/services/setup-token-session.js +118 -110
  364. package/dist/services/setup-token-session.js.map +1 -1
  365. package/dist/services/setup-token-session.test.js +88 -47
  366. package/dist/services/setup-token-session.test.js.map +1 -1
  367. package/dist/services/setup-token-transport-binding.d.ts +20 -12
  368. package/dist/services/setup-token-transport-binding.d.ts.map +1 -1
  369. package/dist/services/setup-token-transport-binding.js +59 -32
  370. package/dist/services/setup-token-transport-binding.js.map +1 -1
  371. package/dist/services/setup-token-transport-binding.test.js +50 -17
  372. package/dist/services/setup-token-transport-binding.test.js.map +1 -1
  373. package/dist/services/smoke-lab.d.ts +1 -1
  374. package/dist/services/stalled-review-decisions.d.ts +1 -1
  375. package/dist/services/status-cards.d.ts +168 -168
  376. package/dist/services/tool-access-policy.d.ts +2 -2
  377. package/dist/services/tool-gateway.d.ts +1 -1
  378. package/dist/services/work-products.d.ts +19 -0
  379. package/dist/services/work-products.d.ts.map +1 -1
  380. package/dist/services/work-products.js +50 -3
  381. package/dist/services/work-products.js.map +1 -1
  382. package/dist/services/workspace-git-operation-scheduler.test.js +10 -3
  383. package/dist/services/workspace-git-operation-scheduler.test.js.map +1 -1
  384. package/dist/services/workspace-instance-cleanup.d.ts +9 -0
  385. package/dist/services/workspace-instance-cleanup.d.ts.map +1 -1
  386. package/dist/services/workspace-instance-cleanup.js +29 -3
  387. package/dist/services/workspace-instance-cleanup.js.map +1 -1
  388. package/dist/services/workspace-login-handoff-issuer.d.ts +95 -0
  389. package/dist/services/workspace-login-handoff-issuer.d.ts.map +1 -0
  390. package/dist/services/workspace-login-handoff-issuer.js +147 -0
  391. package/dist/services/workspace-login-handoff-issuer.js.map +1 -0
  392. package/dist/services/workspace-operations.d.ts +4 -1
  393. package/dist/services/workspace-operations.d.ts.map +1 -1
  394. package/dist/services/workspace-operations.js +29 -15
  395. package/dist/services/workspace-operations.js.map +1 -1
  396. package/dist/services/workspace-readiness.d.ts +56 -0
  397. package/dist/services/workspace-readiness.d.ts.map +1 -0
  398. package/dist/services/workspace-readiness.js +250 -0
  399. package/dist/services/workspace-readiness.js.map +1 -0
  400. package/dist/services/workspace-realization.d.ts.map +1 -1
  401. package/dist/services/workspace-realization.js +5 -33
  402. package/dist/services/workspace-realization.js.map +1 -1
  403. package/dist/services/workspace-runtime-exposure.test.js +321 -12
  404. package/dist/services/workspace-runtime-exposure.test.js.map +1 -1
  405. package/dist/services/workspace-runtime-leases.d.ts.map +1 -1
  406. package/dist/services/workspace-runtime-leases.js +1 -1
  407. package/dist/services/workspace-runtime-leases.js.map +1 -1
  408. package/dist/services/workspace-runtime-read-model.d.ts +8 -8
  409. package/dist/services/workspace-runtime-read-model.test.js +20 -0
  410. package/dist/services/workspace-runtime-read-model.test.js.map +1 -1
  411. package/dist/services/workspace-runtime-ready-comment.test.js +1 -0
  412. package/dist/services/workspace-runtime-ready-comment.test.js.map +1 -1
  413. package/dist/services/workspace-runtime.d.ts +77 -4
  414. package/dist/services/workspace-runtime.d.ts.map +1 -1
  415. package/dist/services/workspace-runtime.js +1020 -126
  416. package/dist/services/workspace-runtime.js.map +1 -1
  417. package/dist/worktree-config.d.ts.map +1 -1
  418. package/dist/worktree-config.js +3 -76
  419. package/dist/worktree-config.js.map +1 -1
  420. package/dist/worktree-seed-manifest.d.ts +8 -0
  421. package/dist/worktree-seed-manifest.d.ts.map +1 -0
  422. package/dist/worktree-seed-manifest.js +47 -0
  423. package/dist/worktree-seed-manifest.js.map +1 -0
  424. package/package.json +34 -30
  425. package/skills/paperclip/SKILL.md +2 -0
  426. package/skills/paperclip/references/api-reference.md +44 -2
  427. package/ui-dist/assets/CompanyExport-DnEsO-St.js +4 -0
  428. package/ui-dist/assets/{abnfDiagram-N423BO3Z-BvgoV-u5.js → abnfDiagram-N423BO3Z-2ff8TsQ0.js} +1 -1
  429. package/ui-dist/assets/{arc-BInnUBUU.js → arc-B2AXsH34.js} +1 -1
  430. package/ui-dist/assets/architectureDiagram-T3A2C74G-BDxtKMxk.js +36 -0
  431. package/ui-dist/assets/{blockDiagram-VBNYF7ZC-D9kzAkLN.js → blockDiagram-VBNYF7ZC-BB8T5Mj5.js} +1 -1
  432. package/ui-dist/assets/{c4Diagram-5PPSVZJV-BwzsgV_0.js → c4Diagram-5PPSVZJV-lMo8qk-x.js} +1 -1
  433. package/ui-dist/assets/channel-DCTVZpyq.js +1 -0
  434. package/ui-dist/assets/{chunk-2GRJ4B5K-D2EQ9vrl.js → chunk-2GRJ4B5K-CsS7EB3G.js} +1 -1
  435. package/ui-dist/assets/{chunk-2Q5K7J3B-DOA_8fSd.js → chunk-2Q5K7J3B-DFyQPjoR.js} +1 -1
  436. package/ui-dist/assets/{chunk-5RXB4S5H-CT5ukRiT.js → chunk-5RXB4S5H-No2SHOQR.js} +1 -1
  437. package/ui-dist/assets/{chunk-5VM5RSS4-D2gOlkyB.js → chunk-5VM5RSS4-DdxQO7V9.js} +1 -1
  438. package/ui-dist/assets/{chunk-6Q2QTUOP-DUb6aG8c.js → chunk-6Q2QTUOP-gbHjh-aK.js} +1 -1
  439. package/ui-dist/assets/{chunk-GF5L2VYU-BPabG3Cx.js → chunk-GF5L2VYU-h-BBl6NY.js} +1 -1
  440. package/ui-dist/assets/{chunk-JWPE2WC7-scNfhlZz.js → chunk-JWPE2WC7-Q3pJdTz5.js} +1 -1
  441. package/ui-dist/assets/{chunk-KBJHAD2P-BcRAzRpq.js → chunk-KBJHAD2P-Ba8LGLSx.js} +1 -1
  442. package/ui-dist/assets/{chunk-RYQCIY6F-BiZ0-EGh.js → chunk-RYQCIY6F-9VcvykBo.js} +1 -1
  443. package/ui-dist/assets/{chunk-XXDRQBXY-lJULxFIE.js → chunk-XXDRQBXY-NVbjDH4W.js} +1 -1
  444. package/ui-dist/assets/classDiagram-JCYQIIEL-CzJ88u6h.js +1 -0
  445. package/ui-dist/assets/classDiagram-v2-OCEON4UE-CzJ88u6h.js +1 -0
  446. package/ui-dist/assets/cose-bilkent-JH36ORCC-Cdz4wtUh.js +1 -0
  447. package/ui-dist/assets/{cynefin-VYW2F7L2-B34jJY1x.js → cynefin-VYW2F7L2-MpzJkW5s.js} +1 -1
  448. package/ui-dist/assets/{cynefinDiagram-MW4NZA55-DQ8QK8JK.js → cynefinDiagram-MW4NZA55-_Nx8av7i.js} +1 -1
  449. package/ui-dist/assets/{dagre-VZM6K2ZE-B7lSKgxH.js → dagre-VZM6K2ZE-DcZTQ4Oh.js} +1 -1
  450. package/ui-dist/assets/{diagram-7IWD3JNH-B3hLAFGE.js → diagram-7IWD3JNH-UyLi2mee.js} +1 -1
  451. package/ui-dist/assets/{diagram-B4RE2ZJO-CH9Ro9e0.js → diagram-B4RE2ZJO-B6p0Ivqg.js} +1 -1
  452. package/ui-dist/assets/{diagram-LBJQPF4R-DdPVMii7.js → diagram-LBJQPF4R-C8u6pa97.js} +1 -1
  453. package/ui-dist/assets/{diagram-Q27KOJAE-f5VXswjc.js → diagram-Q27KOJAE-DbwyagW0.js} +1 -1
  454. package/ui-dist/assets/{diagram-UB23O5K3-DGqxixsR.js → diagram-UB23O5K3-Cn5BMEH7.js} +1 -1
  455. package/ui-dist/assets/{ebnfDiagram-BXEA7PRR-C-1klg_w.js → ebnfDiagram-BXEA7PRR-vE0IZma9.js} +1 -1
  456. package/ui-dist/assets/{erDiagram-JOGREHBK-Dt4qK4gv.js → erDiagram-JOGREHBK-3OZVIlVG.js} +1 -1
  457. package/ui-dist/assets/{flowDiagram-UKHOOZJN-9ZlrTuET.js → flowDiagram-UKHOOZJN-C94FiPyr.js} +1 -1
  458. package/ui-dist/assets/ganttDiagram-PKOTCBZU-DMVaPmF-.js +292 -0
  459. package/ui-dist/assets/{gitGraphDiagram-DS77QQ5N-HH2fSgad.js → gitGraphDiagram-DS77QQ5N-yeFtJ689.js} +1 -1
  460. package/ui-dist/assets/{index-Cm6iEYPt.js → index-B4ZF3vY8.js} +288 -224
  461. package/ui-dist/assets/{index-CHXG4GPL.js → index-Bi_vqkcQ.js} +1 -1
  462. package/ui-dist/assets/{index-Bc9g6q63.js → index-BjDGQg9-.js} +1 -1
  463. package/ui-dist/assets/{index-FHzrJ7iQ.js → index-BnpyUMTb.js} +1 -1
  464. package/ui-dist/assets/{index-C1mpWCcn.js → index-BoqQTVMA.js} +1 -1
  465. package/ui-dist/assets/index-Bq-Mr-4x.js +1 -0
  466. package/ui-dist/assets/{index-DceuCrr8.js → index-Brb2U7N4.js} +1 -1
  467. package/ui-dist/assets/{index-DQIrrn2L.js → index-BsBybVwH.js} +1 -1
  468. package/ui-dist/assets/{index-CQhaM6qd.js → index-C2iv4Wgu.js} +1 -1
  469. package/ui-dist/assets/{index-DV2FOgyD.js → index-CKxIu7uO.js} +1 -1
  470. package/ui-dist/assets/{index-DU4U1fuv.js → index-Cb4VGIwp.js} +1 -1
  471. package/ui-dist/assets/{index-B61ORkIb.js → index-ChpszwcO.js} +1 -1
  472. package/ui-dist/assets/{index-DlVBBF8o.js → index-CoQFdT8N.js} +1 -1
  473. package/ui-dist/assets/index-D6P8_f0W.css +1 -0
  474. package/ui-dist/assets/index-DKdmghUG.js +1 -0
  475. package/ui-dist/assets/{index-CVTL3aAL.js → index-DaBci7Bx.js} +1 -1
  476. package/ui-dist/assets/{index-diFs0CNC.js → index-DjYaNiXZ.js} +1 -1
  477. package/ui-dist/assets/{index-Bf7tyGxE.js → index-DxTBJl4h.js} +1 -1
  478. package/ui-dist/assets/{index-DsdVneqe.js → index-Dz3E8nn0.js} +1 -1
  479. package/ui-dist/assets/{index-DvFUXI-Q.js → index-J7dz_hap.js} +1 -1
  480. package/ui-dist/assets/{index-CLu3Tfpv.js → index-JMp2Gpnz.js} +1 -1
  481. package/ui-dist/assets/{index-CcRTJ93J.js → index-Kp6wavQt.js} +1 -1
  482. package/ui-dist/assets/{index-BvFx-4KW.js → index-LBhYZ0L4.js} +1 -1
  483. package/ui-dist/assets/{index-BbAhzCq8.js → index-c3C0P6l8.js} +4 -4
  484. package/ui-dist/assets/{index-BY5ITKmG.js → index-pBEPheTW.js} +1 -1
  485. package/ui-dist/assets/{infoDiagram-6WML65LV-2jai2fw-.js → infoDiagram-6WML65LV-BiL7jKLA.js} +1 -1
  486. package/ui-dist/assets/{ishikawaDiagram-WSZJBQD7-CUmGhmEb.js → ishikawaDiagram-WSZJBQD7-DYcQy41D.js} +1 -1
  487. package/ui-dist/assets/{journeyDiagram-NVQOT4AX-CGQuPDO1.js → journeyDiagram-NVQOT4AX-Bxva6JgA.js} +1 -1
  488. package/ui-dist/assets/{kanban-definition-27J2QSJJ-zgEPcbHl.js → kanban-definition-27J2QSJJ-B2HpN34Q.js} +1 -1
  489. package/ui-dist/assets/{linear-BVf5VtLS.js → linear-Dq8qSESw.js} +1 -1
  490. package/ui-dist/assets/{mermaid.core-D2TFkGfI.js → mermaid.core-Ikay8Cpl.js} +35 -35
  491. package/ui-dist/assets/{mindmap-definition-FAOFIHXS-xoAQ0Lb_.js → mindmap-definition-FAOFIHXS-C-SIdYSY.js} +1 -1
  492. package/ui-dist/assets/{pegDiagram-VL7TDLO6-CBR1PWLr.js → pegDiagram-VL7TDLO6-C7rIJ_13.js} +1 -1
  493. package/ui-dist/assets/{pieDiagram-7S7Q4E2Y-BMPnzK_e.js → pieDiagram-7S7Q4E2Y-3gx0a0ve.js} +1 -1
  494. package/ui-dist/assets/{quadrantDiagram-CIZ2JOQS-CPtVUPkR.js → quadrantDiagram-CIZ2JOQS-BiwM9QGv.js} +1 -1
  495. package/ui-dist/assets/{railroadDiagram-AXF67PYL-DC0lsZV1.js → railroadDiagram-AXF67PYL-rFS8XcFA.js} +1 -1
  496. package/ui-dist/assets/{requirementDiagram-LRYGKXZP-BF6k05SB.js → requirementDiagram-LRYGKXZP-CEAUDUTQ.js} +1 -1
  497. package/ui-dist/assets/{sankeyDiagram-W5VNT64P-CRN0ibiP.js → sankeyDiagram-W5VNT64P-B7anpjlM.js} +1 -1
  498. package/ui-dist/assets/{sequenceDiagram-SI44F4Z6-CQtTiPWm.js → sequenceDiagram-SI44F4Z6-CJEdJvm_.js} +1 -1
  499. package/ui-dist/assets/{sizeCapture-X5ZJPWSS-BdjuGZd1.js → sizeCapture-X5ZJPWSS-CU1Vm6c1.js} +1 -1
  500. package/ui-dist/assets/{stateDiagram-OKZ733FA-B99onxyh.js → stateDiagram-OKZ733FA-wxVV9WIi.js} +1 -1
  501. package/ui-dist/assets/stateDiagram-v2-UEYNNEHI-BIFLqlqR.js +1 -0
  502. package/ui-dist/assets/{swimlanes-SLNWSIFB-BIByPbrL.js → swimlanes-SLNWSIFB-Cd-C1Z_k.js} +2 -2
  503. package/ui-dist/assets/swimlanesDiagram-ULZ7WXOC-CoBROkkd.js +8 -0
  504. package/ui-dist/assets/{timeline-definition-Z64GVDOM-I1NgOcn9.js → timeline-definition-Z64GVDOM-SWngk4aR.js} +1 -1
  505. package/ui-dist/assets/{vennDiagram-T6HMQDX7-D6t2Njcl.js → vennDiagram-T6HMQDX7-DFdPUr36.js} +1 -1
  506. package/ui-dist/assets/{wardleyDiagram-T6FBY63Y-BiYKm9gh.js → wardleyDiagram-T6FBY63Y-C6IlrZ7t.js} +1 -1
  507. package/ui-dist/assets/{xychartDiagram-ELKLHX3M-BhwXKWIa.js → xychartDiagram-ELKLHX3M-BNm6hHGl.js} +1 -1
  508. package/ui-dist/index.html +2 -2
  509. package/ui-dist/assets/architectureDiagram-T3A2C74G-Dg4MziOm.js +0 -36
  510. package/ui-dist/assets/channel-qoSYbCn0.js +0 -1
  511. package/ui-dist/assets/classDiagram-JCYQIIEL-B24u1REs.js +0 -1
  512. package/ui-dist/assets/classDiagram-v2-OCEON4UE-B24u1REs.js +0 -1
  513. package/ui-dist/assets/cose-bilkent-JH36ORCC-Do8pe8JB.js +0 -1
  514. package/ui-dist/assets/ganttDiagram-PKOTCBZU-CE3lyvFq.js +0 -292
  515. package/ui-dist/assets/index-BHiUiToL.css +0 -1
  516. package/ui-dist/assets/index-hkanj4t6.js +0 -1
  517. package/ui-dist/assets/index-yRJnh4vx.js +0 -1
  518. package/ui-dist/assets/stateDiagram-v2-UEYNNEHI-bzFlYBZ1.js +0 -1
  519. package/ui-dist/assets/swimlanesDiagram-ULZ7WXOC-DgdkBnuK.js +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-config.d.ts","sourceRoot":"","sources":["../src/worktree-config.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AA8c7B,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE;IACL,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,GACA;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA8C/C;AAED,wBAAgB,0CAA0C,IAAI;IAC5D,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;CACtB,CA6GA;AAUD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GAAG,IAAI,CAqBP"}
1
+ {"version":3,"file":"worktree-config.d.ts","sourceRoot":"","sources":["../src/worktree-config.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AA+X7B,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE;IACL,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,GACA;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA8C/C;AAED,wBAAgB,0CAA0C,IAAI;IAC5D,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;CACtB,CA6GA;AAUD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GAAG,IAAI,CAqBP"}
@@ -4,6 +4,7 @@ import path from "node:path";
4
4
  import { isDeepStrictEqual } from "node:util";
5
5
  import { mergePaperclipConfig, paperclipConfigSchema, } from "@paperclipai/shared";
6
6
  import { updateEnvFileContents, writeEnvFileAtomicallyIfChanged } from "@paperclipai/shared/env-file";
7
+ import { readWorktreePortRegistry, withWorktreePortRegistryLockSync, writeWorktreePortRegistry, } from "@paperclipai/shared/worktree-port-registry";
7
8
  import { resolvePaperclipConfigPath, resolvePaperclipEnvPath } from "./paths.js";
8
9
  import { rewriteUrlPort } from "./url-utils.js";
9
10
  function nonEmpty(value) {
@@ -68,79 +69,6 @@ function isPathInside(candidatePath, rootPath) {
68
69
  const root = path.resolve(rootPath);
69
70
  return candidate === root || candidate.startsWith(`${root}${path.sep}`);
70
71
  }
71
- const WORKTREE_PORT_REGISTRY_FILE = "worktree-port-reservations.json";
72
- const WORKTREE_PORT_REGISTRY_LOCK_DIR = ".worktree-port-reservations.lock";
73
- const WORKTREE_PORT_REGISTRY_LOCK_STALE_MS = 5_000;
74
- const WORKTREE_PORT_REGISTRY_LOCK_TIMEOUT_MS = 10_000;
75
- const sleepSyncBuffer = new Int32Array(new SharedArrayBuffer(4));
76
- function sleepSync(durationMs) {
77
- Atomics.wait(sleepSyncBuffer, 0, 0, durationMs);
78
- }
79
- function withWorktreePortRegistryLock(homeDir, run) {
80
- fs.mkdirSync(homeDir, { recursive: true });
81
- const lockPath = path.resolve(homeDir, WORKTREE_PORT_REGISTRY_LOCK_DIR);
82
- const deadline = Date.now() + WORKTREE_PORT_REGISTRY_LOCK_TIMEOUT_MS;
83
- while (true) {
84
- try {
85
- fs.mkdirSync(lockPath);
86
- break;
87
- }
88
- catch (error) {
89
- const code = error instanceof Error && "code" in error ? error.code : null;
90
- if (code !== "EEXIST")
91
- throw error;
92
- try {
93
- const ageMs = Date.now() - fs.statSync(lockPath).mtimeMs;
94
- if (ageMs > WORKTREE_PORT_REGISTRY_LOCK_STALE_MS) {
95
- fs.rmSync(lockPath, { recursive: true, force: true });
96
- continue;
97
- }
98
- }
99
- catch {
100
- continue;
101
- }
102
- if (Date.now() >= deadline) {
103
- throw new Error(`Timed out waiting for worktree port reservation lock at ${lockPath}`);
104
- }
105
- sleepSync(25);
106
- }
107
- }
108
- try {
109
- return run();
110
- }
111
- finally {
112
- fs.rmSync(lockPath, { recursive: true, force: true });
113
- }
114
- }
115
- function readWorktreePortRegistry(homeDir) {
116
- const registryPath = path.resolve(homeDir, WORKTREE_PORT_REGISTRY_FILE);
117
- if (!fs.existsSync(registryPath))
118
- return new Set();
119
- try {
120
- const parsed = JSON.parse(fs.readFileSync(registryPath, "utf8"));
121
- if (parsed.version !== 1 || !Array.isArray(parsed.configPaths))
122
- return new Set();
123
- return new Set(parsed.configPaths
124
- .filter((configPath) => typeof configPath === "string" && configPath.length > 0)
125
- .map((configPath) => path.resolve(configPath)));
126
- }
127
- catch {
128
- return new Set();
129
- }
130
- }
131
- function writeWorktreePortRegistry(homeDir, configPaths) {
132
- const registryPath = path.resolve(homeDir, WORKTREE_PORT_REGISTRY_FILE);
133
- const persistedPaths = Array.from(new Set(Array.from(configPaths, (configPath) => path.resolve(configPath))))
134
- .filter((configPath) => fs.existsSync(configPath))
135
- .sort();
136
- const registry = {
137
- version: 1,
138
- configPaths: persistedPaths,
139
- };
140
- const temporaryPath = `${registryPath}.${process.pid}.tmp`;
141
- fs.writeFileSync(temporaryPath, `${JSON.stringify(registry, null, 2)}\n`, { mode: 0o600 });
142
- fs.renameSync(temporaryPath, registryPath);
143
- }
144
72
  function resolveWorktreeRuntimeContext(env, overrideConfigPath) {
145
73
  if (env.PAPERCLIP_IN_WORKTREE !== "true")
146
74
  return null;
@@ -294,8 +222,7 @@ function collectSiblingWorktreePorts(context, registeredConfigPaths = []) {
294
222
  if (Number.isInteger(siblingConfig.server.port) && siblingConfig.server.port > 0) {
295
223
  serverPorts.add(siblingConfig.server.port);
296
224
  }
297
- if (siblingConfig.database.mode === "embedded-postgres" &&
298
- Number.isInteger(siblingConfig.database.embeddedPostgresPort) &&
225
+ if (Number.isInteger(siblingConfig.database.embeddedPostgresPort) &&
299
226
  siblingConfig.database.embeddedPostgresPort > 0) {
300
227
  databasePorts.add(siblingConfig.database.embeddedPostgresPort);
301
228
  }
@@ -442,7 +369,7 @@ export function maybeRepairLegacyWorktreeConfigAndEnvFiles() {
442
369
  let repairedConfig = false;
443
370
  if (fs.existsSync(context.configPath)) {
444
371
  try {
445
- const runtimeConfig = withWorktreePortRegistryLock(context.homeDir, () => {
372
+ const runtimeConfig = withWorktreePortRegistryLockSync(context.homeDir, () => {
446
373
  const parsed = JSON.parse(fs.readFileSync(context.configPath, "utf8"));
447
374
  let selectedConfig = parsed;
448
375
  const registeredConfigPaths = readWorktreePortRegistry(context.homeDir);
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-config.js","sourceRoot":"","sources":["../src/worktree-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree-config.js","sourceRoot":"","sources":["../src/worktree-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A manifest is readiness evidence only when the complete validation phase was
3
+ * durably recorded. A bare `state: verified` is deliberately insufficient so
4
+ * truncated or hand-edited files cannot start a partially restored workspace.
5
+ */
6
+ export declare function isVerifiedWorktreeSeedManifest(value: unknown): boolean;
7
+ export declare function hasVerifiedWorktreeSeedManifest(manifestPath: string): boolean;
8
+ //# sourceMappingURL=worktree-seed-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-seed-manifest.d.ts","sourceRoot":"","sources":["../src/worktree-seed-manifest.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA6BtE;AAED,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAO7E"}
@@ -0,0 +1,47 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ const WORKTREE_SEED_MODES = new Set(["minimal", "full"]);
3
+ /**
4
+ * A manifest is readiness evidence only when the complete validation phase was
5
+ * durably recorded. A bare `state: verified` is deliberately insufficient so
6
+ * truncated or hand-edited files cannot start a partially restored workspace.
7
+ */
8
+ export function isVerifiedWorktreeSeedManifest(value) {
9
+ if (!value || typeof value !== "object")
10
+ return false;
11
+ const manifest = value;
12
+ const source = manifest.source;
13
+ const diagnostics = manifest.diagnostics;
14
+ return manifest.version === 2
15
+ && manifest.state === "verified"
16
+ && manifest.phase === "complete"
17
+ && typeof source?.instanceId === "string"
18
+ && source.instanceId.length > 0
19
+ && typeof source.configPath === "string"
20
+ && source.configPath.length > 0
21
+ && WORKTREE_SEED_MODES.has(String(manifest.seedMode ?? ""))
22
+ && typeof manifest.snapshotAt === "string"
23
+ && manifest.snapshotAt.length > 0
24
+ && typeof manifest.migrationRevision === "string"
25
+ && manifest.migrationRevision.length > 0
26
+ && typeof manifest.targetInstanceId === "string"
27
+ && manifest.targetInstanceId.length > 0
28
+ && typeof manifest.attemptId === "string"
29
+ && manifest.attemptId.length > 0
30
+ && typeof manifest.startedAt === "string"
31
+ && typeof manifest.finishedAt === "string"
32
+ && Array.isArray(diagnostics)
33
+ && diagnostics.some((diagnostic) => (diagnostic?.phase === "complete"
34
+ && diagnostic.status === "succeeded"
35
+ && typeof diagnostic.at === "string"));
36
+ }
37
+ export function hasVerifiedWorktreeSeedManifest(manifestPath) {
38
+ if (!existsSync(manifestPath))
39
+ return false;
40
+ try {
41
+ return isVerifiedWorktreeSeedManifest(JSON.parse(readFileSync(manifestPath, "utf8")));
42
+ }
43
+ catch {
44
+ return false;
45
+ }
46
+ }
47
+ //# sourceMappingURL=worktree-seed-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-seed-manifest.js","sourceRoot":"","sources":["../src/worktree-seed-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAQzD;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC3D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,QAAQ,GAAG,KAAgC,CAAC;IAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAwC,CAAC;IACjE,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAsC,CAAC;IACpE,OAAO,QAAQ,CAAC,OAAO,KAAK,CAAC;WACxB,QAAQ,CAAC,KAAK,KAAK,UAAU;WAC7B,QAAQ,CAAC,KAAK,KAAK,UAAU;WAC7B,OAAO,MAAM,EAAE,UAAU,KAAK,QAAQ;WACtC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;WAC5B,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;WACrC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;WAC5B,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;WACxD,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;WACvC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;WAC9B,OAAO,QAAQ,CAAC,iBAAiB,KAAK,QAAQ;WAC9C,QAAQ,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;WACrC,OAAO,QAAQ,CAAC,gBAAgB,KAAK,QAAQ;WAC7C,QAAQ,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;WACpC,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;WACtC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;WAC7B,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;WACtC,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;WACvC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;WAC1B,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAClC,UAAU,EAAE,KAAK,KAAK,UAAU;eAC7B,UAAU,CAAC,MAAM,KAAK,WAAW;eACjC,OAAO,UAAU,CAAC,EAAE,KAAK,QAAQ,CACrC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,YAAoB;IAClE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paperclipai/server",
3
- "version": "2026.824.0",
3
+ "version": "2026.825.0-beta.1",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/paperclipai/paperclip",
6
6
  "bugs": {
@@ -27,65 +27,69 @@
27
27
  "skills"
28
28
  ],
29
29
  "dependencies": {
30
- "@aws-sdk/client-s3": "^3.1106.0",
30
+ "@aws-sdk/client-s3": "^3.1115.0",
31
31
  "@opentelemetry/api": "^1.9.0",
32
- "@paperclipai/adapter-claude-local": "2026.824.0",
33
- "@paperclipai/adapter-codex-local": "2026.824.0",
34
- "@paperclipai/adapter-cursor-cloud": "2026.824.0",
35
- "@paperclipai/adapter-cursor-local": "2026.824.0",
36
- "@paperclipai/adapter-gemini-local": "2026.824.0",
37
- "@paperclipai/adapter-grok-local": "2026.824.0",
38
- "@paperclipai/adapter-openclaw-gateway": "2026.824.0",
39
- "@paperclipai/adapter-opencode-local": "2026.824.0",
40
- "@paperclipai/adapter-pi-local": "2026.824.0",
41
- "@paperclipai/adapter-utils": "2026.824.0",
42
- "@paperclipai/db": "2026.824.0",
43
- "@paperclipai/plugin-sdk": "2026.824.0",
44
- "@paperclipai/shared": "2026.824.0",
45
- "@paperclipai/skills-catalog": "2026.824.0",
46
- "@paperclipai/hermes-paperclip-adapter": "2026.824.0",
32
+ "@paperclipai/adapter-claude-local": "2026.825.0-beta.1",
33
+ "@paperclipai/adapter-codex-local": "2026.825.0-beta.1",
34
+ "@paperclipai/adapter-cursor-cloud": "2026.825.0-beta.1",
35
+ "@paperclipai/adapter-cursor-local": "2026.825.0-beta.1",
36
+ "@paperclipai/adapter-gemini-local": "2026.825.0-beta.1",
37
+ "@paperclipai/adapter-grok-local": "2026.825.0-beta.1",
38
+ "@paperclipai/adapter-kimi-local": "2026.825.0-beta.1",
39
+ "@paperclipai/adapter-openclaw-gateway": "2026.825.0-beta.1",
40
+ "@paperclipai/adapter-opencode-local": "2026.825.0-beta.1",
41
+ "@paperclipai/adapter-pi-local": "2026.825.0-beta.1",
42
+ "@paperclipai/adapter-utils": "2026.825.0-beta.1",
43
+ "@paperclipai/db": "2026.825.0-beta.1",
44
+ "@paperclipai/plugin-sdk": "2026.825.0-beta.1",
45
+ "@paperclipai/shared": "2026.825.0-beta.1",
46
+ "@paperclipai/skills-catalog": "2026.825.0-beta.1",
47
+ "@paperclipai/hermes-paperclip-adapter": "2026.825.0-beta.1",
47
48
  "ajv": "^8.20.0",
48
49
  "ajv-formats": "^3.0.1",
49
- "better-auth": "1.6.25",
50
- "chokidar": "^4.0.3",
50
+ "better-auth": "1.6.28",
51
+ "chokidar": "^5.0.0",
51
52
  "detect-port": "^2.1.0",
52
53
  "dompurify": "^3.4.13",
53
54
  "dotenv": "^17.4.2",
54
55
  "drizzle-orm": "^0.45.2",
55
56
  "embedded-postgres": "^18.1.0-beta.16",
56
57
  "express": "^5.1.0",
57
- "jsdom": "^28.1.0",
58
+ "jsdom": "^30.0.1",
58
59
  "multer": "^2.2.0",
59
- "open": "^11.0.0",
60
- "pino": "^9.6.0",
61
- "pino-http": "^10.4.0",
60
+ "open": "^11.0.1",
61
+ "pino": "^10.0.0",
62
+ "pino-http": "^11.0.0",
62
63
  "pino-pretty": "^13.1.3",
63
64
  "sharp": "^0.35.3",
64
65
  "ssh2": "^1.17.0",
65
- "ws": "^8.21.1",
66
- "zod": "^3.24.2"
66
+ "ws": "^8.21.3",
67
+ "zod": "^4.4.3"
67
68
  },
68
69
  "devDependencies": {
69
70
  "@types/express": "^5.0.0",
70
71
  "@types/express-serve-static-core": "^5.1.3",
71
- "@types/jsdom": "^28.0.0",
72
+ "@types/jsdom": "^30.0.0",
72
73
  "@types/multer": "^2.2.0",
73
- "@types/node": "^22.20.1",
74
+ "@types/node": "^24.0.0",
74
75
  "@types/sharp": "^0.32.0",
75
- "@types/supertest": "^6.0.2",
76
+ "@types/supertest": "^7.2.1",
76
77
  "@types/ws": "^8.18.1",
77
78
  "cross-env": "^10.1.0",
78
79
  "supertest": "^7.0.0",
79
- "tsx": "^4.23.1",
80
+ "tsx": "^4.23.12",
80
81
  "typescript": "^5.7.3",
81
82
  "vite": "^6.4.3",
82
83
  "vitest": "^4.1.10"
83
84
  },
85
+ "engines": {
86
+ "node": ">=24.11.0"
87
+ },
84
88
  "scripts": {
85
89
  "dev": "tsx src/index.ts",
86
90
  "dev:watch": "cross-env PAPERCLIP_MIGRATION_PROMPT=never PAPERCLIP_MIGRATION_AUTO_APPLY=true tsx ./scripts/dev-watch.ts",
87
91
  "prepare:ui-dist": "bash ../scripts/prepare-server-ui-dist.sh",
88
- "build": "tsc && mkdir -p dist/onboarding-assets dist/built-ins && cp -R src/onboarding-assets/. dist/onboarding-assets/ && cp -R src/built-ins/. dist/built-ins/",
92
+ "build": "tsc && mkdir -p dist/onboarding-assets dist/built-ins dist/services/scripts && cp -R src/onboarding-assets/. dist/onboarding-assets/ && cp -R src/built-ins/. dist/built-ins/ && cp -R src/services/scripts/. dist/services/scripts/ && node scripts/write-build-stamp.mjs",
89
93
  "clean": "rm -rf dist",
90
94
  "start": "node dist/index.js",
91
95
  "typecheck": "pnpm --filter @paperclipai/plugin-sdk ensure-build-deps && tsc --noEmit"
@@ -112,6 +112,8 @@ For technical upload instructions, read `references/artifacts.md`.
112
112
 
113
113
  **Bounded write retry.** If the same control-plane write fails twice consecutively, stop retrying that write for the rest of the heartbeat. Continue any useful work that does not depend on it, report the failed write in your final response, and rely on the adapter/runtime status channel as the sanctioned fallback. Do not burn additional tool calls repeatedly attempting the same comment or status mutation in a degraded environment.
114
114
 
115
+ **Verify writes — never infer them.** A successful `PATCH /api/issues/{id}` always returns the updated issue JSON. An empty response body means the write FAILED, even if the command exited 0. Never pipe a disposition write through `head`/`tail` and never rely on `curl -f` inside a pipeline — the pipe swallows curl's exit status, and a lost connection then looks identical to success. Use `scripts/paperclip-issue-update.sh` (it checks the HTTP status, retries connection-level failures, and confirms the echoed `status`); if you must hand-roll curl, capture `-w '%{http_code}'` and check the response echoes your update. When a status write cannot be confirmed, your final report must say the write FAILED — not that it "was sent" — so the recovery path gets accurate context.
116
+
115
117
  If you are blocked at any point, you MUST update the issue to `blocked` before exiting the heartbeat, with a comment that explains the blocker and who needs to act.
116
118
 
117
119
  Before ending any heartbeat, apply this final-disposition checklist:
@@ -1405,7 +1405,48 @@ curl -s -X POST \
1405
1405
  "$PAPERCLIP_API_BASE/api/agents/me/secret-proposals"
1406
1406
  ```
1407
1407
 
1408
- A binding must specify exactly one of `secretProposalId` or `secretId`. `configPath` accepts `env.<KEY>` for environment injection or `access.<ALIAS>` for API-only access. Under the default `self_and_reports` policy, `targetAgentId` may identify a downward report of the proposer; omitting it targets the proposer. Other targets are denied, and approval rechecks the current chain of command.
1408
+ A binding must specify exactly one of `secretProposalId`, `secretId`, or `sourceConfigPath`. `configPath` accepts `env.<KEY>` for environment injection or `access.<ALIAS>` for API-only access. Under the default `self_and_reports` policy, `targetAgentId` may identify a downward report of the proposer; omitting it targets the proposer. Other targets are denied, and approval rechecks the current chain of command.
1409
+
1410
+ ##### Re-bind an existing secret under a new path (no secret ID)
1411
+
1412
+ Use `sourceConfigPath` when the secret is already bound to the proposing agent. The server resolves that agent's own `env.*` or `access.*` binding, so the request never needs a secret ID or `secretRef`:
1413
+
1414
+ ```bash
1415
+ PAPERCLIP_API_BASE="${PAPERCLIP_API_URL%/}"
1416
+ PAPERCLIP_API_BASE="${PAPERCLIP_API_BASE%/api}"
1417
+ jq -n \
1418
+ --arg sourceConfigPath "access.openai_api_key" \
1419
+ --arg configPath "access.evals_openai_api_key" \
1420
+ --arg justification "Use the existing OpenAI credential under the eval-specific alias" \
1421
+ '{kind:"binding", sourceConfigPath:$sourceConfigPath, configPath:$configPath, justification:$justification}' |
1422
+ curl -s -X POST \
1423
+ -H "Authorization: Bearer $PAPERCLIP_API_KEY" \
1424
+ -H "Content-Type: application/json" \
1425
+ --data-binary @- \
1426
+ "$PAPERCLIP_API_BASE/api/agents/me/secret-proposals"
1427
+ ```
1428
+
1429
+ `sourceConfigPath` must name an existing binding on the proposing agent; another agent's path and an unknown path both return `404`. Omit `targetAgentId` to bind the alias back to yourself. Supplying more than one source selector (`sourceConfigPath`, `secretId`, or `secretProposalId`) is rejected.
1430
+
1431
+ When this request comes from a run with a checked-out origin issue, Paperclip creates a human-only **Confirm secret binding** card in that issue automatically. Do not create a separate interaction. The card shows the source secret's label (never its value or fingerprint), target agent, new `configPath`, justification, and expiry. A human can select **Create binding** or reject it with a reason.
1432
+
1433
+ Card acceptance is not execution. Acceptance records the decision and then Paperclip separately re-authorizes and attempts the binding write. The card's `result.secretProposal.status` is the real outcome:
1434
+
1435
+ - `executed`: the binding write completed.
1436
+ - `failed`: acceptance succeeded but the binding write did not. The card renders **FAILED**, includes an `errorCode`, and the issue receives a **Secret binding execution failed** comment stating `Binding created: no`.
1437
+ - `rejected`, `withdrawn`, or `expired`: no binding was created.
1438
+
1439
+ The card uses `continuationPolicy: "wake_assignee"`. On resolution the issue assignee is woken with `payload.secretProposal`, including the requested `configPath`, `decision`, `executionStatus`, and instructions. Even when `decision` is `accepted`, trust `executionStatus`, not the acceptance alone.
1440
+
1441
+ **After any secret card resolves, re-verify through `GET /api/agents/me/secrets`. Acceptance is not execution.** On the resumed run, call:
1442
+
1443
+ ```bash
1444
+ curl -s \
1445
+ -H "Authorization: Bearer $PAPERCLIP_API_KEY" \
1446
+ "$PAPERCLIP_API_BASE/api/agents/me/secrets"
1447
+ ```
1448
+
1449
+ Confirm the expected secret metadata and delivery are present before using the new binding. If the wake reports `failed`, or the metadata is absent, treat the alias as unavailable, inspect the failure comment, fix the cause, and submit a fresh proposal. Never infer success merely because the card says accepted.
1409
1450
 
1410
1451
  `GET /api/agents/me/secret-proposals` returns `{ "proposals": [...] }` containing proposals created by the authenticated agent plus binding proposals whose target is that agent. Secret values, value fingerprints, and value lengths are omitted. `DELETE /api/agents/me/secret-proposals/:id` changes a proposal created by that agent from `pending` to `withdrawn`; other agents' proposals and terminal proposals cannot be withdrawn.
1411
1452
 
@@ -1424,6 +1465,7 @@ List response:
1424
1465
  "secrets": [
1425
1466
  {
1426
1467
  "key": "github_token",
1468
+ "secretRef": "11111111-1111-4111-8111-111111111111",
1427
1469
  "name": "GitHub token",
1428
1470
  "description": null,
1429
1471
  "delivery": "env",
@@ -1436,7 +1478,7 @@ List response:
1436
1478
  }
1437
1479
  ```
1438
1480
 
1439
- `delivery` is `env`, `api`, or `both`. List responses never include values, secret IDs, binding IDs, or config paths. Successful lists write `activity_log.action = secret.access.listed` but do not create `secret_access_events` rows.
1481
+ `delivery` is `env`, `api`, or `both`. `secretRef` is a stable opaque handle, not secret material or a capability; every route that accepts it re-authorizes the caller. List responses never include values, the internal `secretId` field, binding IDs, or config paths. Successful lists write `activity_log.action = secret.access.listed` but do not create `secret_access_events` rows.
1440
1482
 
1441
1483
  Value response (`Cache-Control: no-store`):
1442
1484
 
@@ -0,0 +1,4 @@
1
+ import{Q as De,U as Ue,V as We,X as _e,Y as qe,Z as Ke,$ as Ye,a0 as m,a1 as Z,a2 as G,a3 as Ze,a4 as Ge,a5 as me,a6 as xe,a7 as te,a8 as Xe,a9 as He,aa as n,ab as z,ac as D,ad as Ve,ae as Qe,af as X,ag as Je,ah as ne,ai as et,aj as tt,ak as st,al as nt,am as ge,an as ye,ao as rt,ap as ot,aq as at,ar as it,as as ct,at as be,au as lt,av as ut,aw as dt,ax as ft,ay as pt}from"./index-B4ZF3vY8.js";const ht=["agents","projects","skills","routines","tasks","attachments"],mt={agents:"Agents",projects:"Projects",skills:"Skills",routines:"Routines",tasks:"Tasks",attachments:"Attachments"};function xt(){return{agents:!0,projects:!0,skills:!0,routines:!0,tasks:!0,attachments:!0}}function Se(e){return e.tasks||e.routines}function ke(e){const s=new Set;for(const a of e){if(!a.recurring)continue;const r=a.path.trim();if(!r)continue;s.add(r);const o=r.lastIndexOf("/");o>=0&&s.add(`${r.slice(0,o+1)}`)}return s}function gt(e,s){for(const a of s)if(e===a||e.startsWith(a))return!0;return!1}function bt(e){const s=new Set,a=new Set;for(const r of e)for(const o of r.attachments??[]){const l=o.sha256.trim().toLowerCase();l&&(r.recurring?s:a).add(l)}return{recurring:s,oneOff:a}}const wt=new Set(["agents","projects","skills","routines","tasks"]);function jt(e){const s=new Map;for(const a of e){const r=a.sha256.trim().toLowerCase();if(!r)continue;const o=s.get(r)??new Set,l=a.ownedBy&&a.ownedBy.length>0?a.ownedBy:["always"];for(const p of l)o.add(p);s.set(r,o)}return s}function vt(e,s){for(const a of e)if(!wt.has(a)||s[a])return!0;return!1}function Ee(e,s){return e.startsWith("agents/")?"agents":e.startsWith("projects/")?"projects":e.startsWith("skills/")?"skills":e.startsWith("tasks/")?gt(e,s)?"routines":"tasks":e.startsWith("blobs/")?"attachments":null}function yt(e,s){const a=ke(s),r={agents:0,projects:0,skills:0,routines:0,tasks:0,attachments:0};for(const o of e){const l=Ee(o,a);l&&(r[l]+=1)}return r}function St(e){const{filePaths:s,issues:a,categories:r}=e,o=ke(a),l=bt(a),p=jt(e.embeddedAssets??[]),u=r.attachments&&Se(r),h=new Set;for(const c of s){const x=Ee(c,o);if(x===null){h.add(c);continue}if(x==="attachments"){const i=c.slice(6).trim().toLowerCase(),g=p.get(i);if(g&&vt(g,r)){h.add(c);continue}if(!u)continue;const b=l.recurring.has(i),v=l.oneOff.has(i);!b&&!v?g||h.add(c):(v&&r.tasks||b&&r.routines)&&h.add(c);continue}r[x]&&h.add(c)}return h}function Ne(e,s){if(!s.has(e))return s.add(e),e;let a=2;for(;;){const r=`${e}-${a}`;if(!s.has(r))return s.add(r),r;a+=1}}function kt(e){const s=new Set,a=new Map,r=[...e].sort((o,l)=>o.name.localeCompare(l.name));for(const o of r){const l=De(o.name)??"agent";a.set(o.id,Ne(l,s))}return a}function Et(e){const s=new Set,a=new Map,r=[...e].sort((o,l)=>o.name.localeCompare(l.name));for(const o of r){const l=Ue(o.name,o.name);a.set(o.id,Ne(l,s))}return a}function Nt(e){const s=kt(e.agents),a=Et(e.projects),r={agents:e.orderedAgents.map(o=>s.get(o.id)).filter(o=>!!o),projects:e.orderedProjects.map(o=>a.get(o.id)).filter(o=>!!o)};return r.agents.length>0||r.projects.length>0?r:void 0}function Ce(e){const s=new Set,a=new Set,r=new Set;for(const o of e){const l=o.match(/^agents\/([^/]+)\//);l&&s.add(l[1]);const p=o.match(/^projects\/([^/]+)\//);p&&a.add(p[1]);const u=o.match(/^tasks\/([^/]+)\//);u&&r.add(u[1])}return{agents:s,projects:a,tasks:r,routines:new Set(r)}}function Ct(e,s){const a=Ce(s),r=e.split(`
2
+ `),o=[],l=new Set(["agents","projects","tasks","routines"]),p=new Set(["agents","projects"]);let u=null,h=null,c=!0,x=null,i=null,g=[],b=null,v=[];function R(){i!==null&&g.length>0&&(v.push(i),v.push(...g)),i=null,g=[]}function N(){R(),b!==null&&v.length>0&&(o.push(b),o.push(...v)),b=null,v=[]}for(const w of r){const W=w.match(/^([a-zA-Z_][\w-]*):\s*(.*)$/);if(W&&!w.startsWith(" ")){N(),h=null,c=!0;const E=W[0].split(":")[0];if(l.has(E)){u=E,b=w;continue}else if(E==="sidebar"){u=E,x=null,b=w;continue}else{u=null,o.push(w);continue}}if(u==="sidebar"){const E=w.match(/^ ([\w-]+):\s*$/);if(E&&!w.startsWith(" ")){R();const C=E[1];x=C&&p.has(C)?C:null,i=x?w:null;continue}const T=w.match(/^ - ["']?([^"'\n]+)["']?\s*$/);if(T&&x){const C=T[1],_=a[x];C&&_.has(C)&&g.push(w);continue}if(x){g.push(w);continue}}if(u&&l.has(u)){const E=w.match(/^ ([\w][\w-]*):\s*(.*)$/);if(E&&!w.startsWith(" ")){const T=E[1];h=T,c=a[u].has(T),c&&v.push(w);continue}if(h!==null){c&&v.push(w);continue}v.push(w);continue}o.push(w)}N();let k=o.join(`
3
+ `);const U=k.match(/^\s{2}logoPath:\s*["']?([^"'\n]+)["']?\s*$/m);return U&&!s.has(U[1])&&(k=k.replace(/^\s{2}logoPath:\s*["']?([^"'\n]+)["']?\s*\n?/m,"")),k}function Ae(e,s){if(!s)return e;const a=s.toLowerCase();return e.map(r=>{if(r.kind==="file")return r.name.toLowerCase().includes(a)||r.path.toLowerCase().includes(a)?r:null;const o=Ae(r.children,s);return o.length>0?{...r,children:o}:null}).filter(r=>r!==null)}function At(e,s){const a=new Set,r=s.toLowerCase();function o(l,p){if(l.kind==="file"){if(l.name.toLowerCase().includes(r)||l.path.toLowerCase().includes(r))for(const u of p)a.add(u)}else for(const u of l.children)o(u,[...p,l.path])}for(const l of e)o(l,[]);return a}const we=10;function Pt(e,s,a,r){let o=0,l=0;return{nodes:e.map(u=>{if(u.kind==="dir"&&u.name==="tasks"){o=u.children.length;const h=[],c=[],x=a.toLowerCase();for(const b of u.children){const v=at([b],"file"),R=r!==null&&v.has(r),N=a&&(b.name.toLowerCase().includes(x)||b.path.toLowerCase().includes(x)||[...v].some(k=>k.toLowerCase().includes(x)));R||N?h.push(b):c.push(b)}const i=Math.max(0,s-h.length),g=[...h,...c.slice(0,i)];return l=g.length,{...u,children:g}}return u}),totalTaskChildren:o,visibleTaskChildren:l}}function Pe(e,s,a){const r={};for(const o of Object.keys(e))s.has(o)&&(r[o]=a[o]??e[o]);return r}function Rt(e,s,a){const r=Pe(e.files,s,a),o=ot(r,e.rootPath),l=new ArrayBuffer(o.byteLength);new Uint8Array(l).set(o);const p=new Blob([l],{type:"application/zip"}),u=URL.createObjectURL(p),h=document.createElement("a");h.href=u,h.download=`${e.rootPath}.zip`,document.body.appendChild(h),h.click(),h.remove(),window.setTimeout(()=>URL.revokeObjectURL(u),1e3)}function Tt({data:e,onSkillClick:s}){return n.jsx("div",{className:"rounded-md border border-border bg-accent/20 px-4 py-3 mb-4",children:n.jsx("dl",{className:"grid grid-cols-(--gtc-5) gap-x-4 gap-y-1.5 text-sm",children:Object.entries(e).map(([a,r])=>n.jsxs("div",{className:"contents",children:[n.jsx("dt",{className:"text-muted-foreground whitespace-nowrap py-0.5",children:ut[a]??a}),n.jsx("dd",{className:"py-0.5",children:Array.isArray(r)?n.jsx("div",{className:"flex flex-wrap gap-1.5",children:r.map(o=>n.jsx("button",{type:"button",className:ne("inline-flex items-center rounded-md border border-border bg-background px-2 py-0.5 text-xs",a==="skills"&&s&&"cursor-pointer hover:bg-accent/50 hover:border-foreground/30 transition-colors"),onClick:()=>a==="skills"&&(s==null?void 0:s(o)),children:o},o))}):n.jsx("span",{children:r})})]},a))})})}const Lt={ceo:"CEO",cto:"CTO",cmo:"CMO",cfo:"CFO",coo:"COO",vp:"VP",manager:"Manager",engineer:"Engineer",agent:"Agent"};function Mt(e,s,a,r){const o=Ce(s),l=e.agents.filter(i=>o.agents.has(i.slug)),p=e.projects.filter(i=>o.projects.has(i.slug)),u=e.issues.filter(i=>o.tasks.has(i.slug)),h=e.skills.filter(i=>[...s].some(g=>g.startsWith(`skills/${i.key}/`)||g.startsWith("skills/")&&g.includes(`/${i.slug}/`))),c=[];c.push(`# ${a}`),c.push(""),r&&(c.push(`> ${r}`),c.push("")),l.length>0&&(c.push("![Org Chart](images/org-chart.png)"),c.push("")),c.push("## What's Inside"),c.push(""),c.push("This is an [Agent Company](https://paperclip.ing) package."),c.push("");const x=[];if(l.length>0&&x.push(["Agents",l.length]),p.length>0&&x.push(["Projects",p.length]),h.length>0&&x.push(["Skills",h.length]),u.length>0&&x.push(["Tasks",u.length]),x.length>0){c.push("| Content | Count |"),c.push("|---------|-------|");for(const[i,g]of x)c.push(`| ${i} | ${g} |`);c.push("")}if(l.length>0){c.push("### Agents"),c.push(""),c.push("| Agent | Role | Reports To |"),c.push("|-------|------|------------|");for(const i of l){const g=Lt[i.role]??i.role,b=i.reportsToSlug??"—";c.push(`| ${i.name} | ${g} | ${b} |`)}c.push("")}if(p.length>0){c.push("### Projects"),c.push("");for(const i of p){const g=i.description?` — ${i.description}`:"";c.push(`- **${i.name}**${g}`)}c.push("")}return c.push("## Getting Started"),c.push(""),c.push("```bash"),c.push("npx paperclipai company import this-github-url-or-folder"),c.push("```"),c.push(""),c.push("See [Paperclip](https://paperclip.ing) for more information."),c.push(""),c.push("---"),c.push(`Exported from [Paperclip](https://paperclip.ing) on ${new Date().toISOString().split("T")[0]}`),c.push(""),c.join(`
4
+ `)}function Ot(e){const{src:s,selectedFile:a,allFiles:r,orgChartPreviewUrl:o}=e;if(/^(?:https?:|data:)/i.test(s))return null;if(s.replace(/^\.\//,"")==="images/org-chart.png"&&o)return o;const p=(a.includes("/")?a.slice(0,a.lastIndexOf("/")+1):"")+s,u=r[p]??r[s];return u?ye(p in r?p:s,u):null}function Ft({selectedFile:e,content:s,allFiles:a,orgChartPreviewUrl:r,onSkillClick:o}){if(!e||s===null)return n.jsx(z,{icon:D,message:"Select a file to preview its contents."});const l=lt(s),p=e.endsWith(".md")&&l!==null,u=p&&l?it(l):null,h=ct(e,s)?ye(e,s):null,c=p?x=>Ot({src:x,selectedFile:e,allFiles:a,orgChartPreviewUrl:r}):void 0;return n.jsxs("div",{className:"min-w-0",children:[n.jsx("div",{className:"border-b border-border px-5 py-3",children:n.jsx("div",{className:"truncate font-mono text-sm",children:e})}),n.jsx("div",{className:"min-h-(--sz-560px) px-5 py-5",children:u?n.jsxs(n.Fragment,{children:[n.jsx(Tt,{data:u.data,onSkillClick:o}),u.body.trim()&&n.jsx(be,{resolveImageSrc:c,softBreaks:!1,linkIssueReferences:!1,children:u.body})]}):p?n.jsx(be,{resolveImageSrc:c,softBreaks:!1,linkIssueReferences:!1,children:l??""}):h?n.jsx("div",{className:"flex min-h-(--sz-520px) items-center justify-center rounded-lg border border-border bg-accent/10 p-6",children:n.jsx("img",{src:h,alt:e,className:"max-h-(--sz-480px) max-w-full object-contain"})}):l!==null?n.jsx("pre",{className:"overflow-x-auto whitespace-pre-wrap break-words border-0 bg-transparent p-0 font-mono text-sm text-foreground",children:n.jsx("code",{children:l})}):n.jsx("div",{className:"rounded-lg border border-border bg-accent/10 px-4 py-3 text-sm text-muted-foreground",children:"Binary asset preview is not available for this file type."})})]})}function je(e){const s="/company/export/files/",a=rt(e),r=a.indexOf(s);return r===-1?null:decodeURIComponent(a.slice(r+s.length))||null}function ve(e){const s=e.split("/").slice(0,-1),a=[];let r="";for(const o of s)r=r?`${r}/${o}`:o,a.push(r);return a}function It(e){return(e instanceof DOMException||e instanceof Error)&&e.name==="AbortError"}function se(e){return e instanceof Error?e.message:"Failed to load export data."}function Bt(){var fe,pe;const{selectedCompanyId:e,selectedCompany:s}=We(),{setBreadcrumbs:a}=_e(),{pushToast:r}=qe(),o=Ke(),l=Ye(),p=m.useRef(je(l.pathname)),{data:u}=Z({queryKey:G.auth.session,queryFn:()=>dt.getSession()}),{data:h=[]}=Z({queryKey:G.agents.list(e),queryFn:()=>ft.list(e),enabled:!!e}),{data:c=[]}=Z({queryKey:G.projects.list(e),queryFn:()=>pt.list(e),enabled:!!e}),{data:x}=Z({queryKey:G.companies.exportFidelity(e),queryFn:()=>te.exportFidelity(e),enabled:!!e}),[i,g]=m.useState(null),[b,v]=m.useState(null),[R,N]=m.useState(new Set),[k,U]=m.useState(()=>({...xt(),tasks:!1,routines:!1,attachments:!1})),[w,W]=m.useState(""),[E,T]=m.useState(we),[C,_]=m.useState(!1),q=m.useRef(null),I=m.useRef(null),M=m.useRef(0),re=m.useRef(null),oe=((fe=u==null?void 0:u.user)==null?void 0:fe.id)??((pe=u==null?void 0:u.session)==null?void 0:pe.userId)??null,H=m.useMemo(()=>h.filter(t=>t.status!=="terminated"),[h]),V=m.useMemo(()=>c,[c]),{orderedAgents:ae}=Ze({agents:H,companyId:e,userId:oe}),{orderedProjects:ie}=Ge({projects:V,companyId:e,userId:oe}),ce=m.useMemo(()=>Nt({agents:H,orderedAgents:ae,projects:V,orderedProjects:ie}),[ae,ie,H,V]),Q=k.tasks||k.routines,J=m.useCallback((t,d=!1)=>{v(t),t?o(`/company/export/files/${encodeURI(t)}`,{replace:d}):o("/company/export",{replace:d})},[o]);m.useEffect(()=>{if(!i)return;const t=je(l.pathname);t&&t in i.files&&t!==b?(v(t),N(d=>{const f=new Set(d);for(const j of ve(t))f.add(j);return f})):!t&&b&&v(null)},[l.pathname,i]),m.useEffect(()=>{a([{label:(s==null?void 0:s.name)??"Company",href:"/dashboard"},{label:"Settings",href:"/company/settings"},{label:"Export"}])},[s==null?void 0:s.name,a]);const A=me({mutationFn:({includeIssues:t,includeSkills:d,signal:f})=>te.exportPreview(e,{include:{company:!0,agents:!0,projects:!0,issues:t,skills:d},sidebarOrder:ce},{signal:f}),onSuccess:(t,d)=>{if(d.requestId!==M.current)return;g(t);const f=xe(t.files),j=new Set;for(const S of f)S.kind==="dir"&&S.name!=="tasks"&&j.add(S.path);const y=p.current;if(y&&y in t.files){v(y);const S=ve(y);N(new Set([...j,...S]))}else{const S="README.md"in t.files?"README.md":Object.keys(t.files)[0];S&&J(S,!0),N(j)}},onError:(t,d)=>{d.requestId!==M.current||It(t)||r({tone:"error",title:"Export failed",body:se(t)})}});function O(){var f;if(!e)return;(f=I.current)==null||f.abort();const t=new AbortController,d=M.current+1;M.current=d,I.current=t,_(!1),A.mutate({includeIssues:Q,includeSkills:k.skills,requestId:d,signal:t.signal})}const K=me({mutationFn:()=>te.exportBundle(e,{include:{company:!0,agents:!0,projects:!0,issues:Q,skills:k.skills},selectedFiles:Array.from(P).sort(),sidebarOrder:ce}),onSuccess:t=>{const d=new Set(Object.keys(t.files));Rt(t,d,t.files),r({tone:"success",title:"Export downloaded",body:`${d.size} file${d.size===1?"":"s"} exported as ${t.rootPath}.zip`})},onError:t=>{r({tone:"error",title:"Export failed",body:t instanceof Error?t.message:"Failed to build export package."})}});m.useEffect(()=>{e&&(re.current!==e&&(re.current=e,g(null),v(null)),O())},[e,Q,k.skills]),m.useEffect(()=>()=>{var t;M.current+=1,(t=I.current)==null||t.abort()},[]);const L=m.useMemo(()=>i?xe(i.files):[],[i]),P=m.useMemo(()=>i?St({filePaths:Object.keys(i.files),issues:i.manifest.issues,categories:k,embeddedAssets:i.manifest.embeddedAssets??[]}):new Set,[i,k]),ee=m.useMemo(()=>i?yt(Object.keys(i.files),i.manifest.issues):null,[i]),{displayTree:Re,totalTaskChildren:le,visibleTaskChildren:ue}=m.useMemo(()=>{let t=L;w&&(t=Ae(t,w));const d=Pt(t,E,w,b);return{displayTree:d.nodes,totalTaskChildren:d.totalTaskChildren,visibleTaskChildren:d.visibleTaskChildren}},[L,w,E,b]),Te=m.useMemo(()=>{const t={};function d(f){if(f.kind==="file"){const y=P.has(f.path);return y||(t[f.path]="muted"),y}let j=!1;for(const y of f.children)d(y)&&(j=!0);return j||(t[f.path]="muted"),j}for(const f of L)d(f);return t},[L,P]),Y=m.useMemo(()=>{var f,j;if(!i)return{};const t={...i.files},d=i.paperclipExtensionPath;if(d&&typeof i.files[d]=="string"&&(t[d]=Ct(i.files[d],P)),typeof i.files["README.md"]=="string"){const y=((f=i.manifest.company)==null?void 0:f.name)??(s==null?void 0:s.name)??"Company",S=((j=i.manifest.company)==null?void 0:j.description)??null;t["README.md"]=Mt(i.manifest,P,y,S)}return t},[i,P,s==null?void 0:s.name]),Le=m.useMemo(()=>i?Xe(Pe(i.files,P,Y),i.rootPath):0,[i,P,Y]),de=m.useMemo(()=>He(L),[L]),$=P.size,B=m.useMemo(()=>i?i.warnings.filter(t=>!/terminated agent/i.test(t)):[],[i]);function Me(t){N(d=>{const f=new Set(d);return f.has(t)?f.delete(t):f.add(t),f})}function Oe(t){U(d=>({...d,[t]:!d[t]}))}function Fe(t){const d=w.length>0,f=t.length>0;if(f&&!d&&(q.current=new Set(R)),W(t),f){const j=At(L,t);N(y=>{const S=new Set(y);for(const F of j)S.add(F);return S})}else d&&q.current&&(N(q.current),q.current=null)}function Ie(t){if(!i)return;const d=i.manifest.skills.find(j=>j.key===t||j.slug===t),f=(d==null?void 0:d.path)??`skills/${t}/SKILL.md`;f in i.files&&(J(f),N(j=>{const y=new Set(j);y.add("skills");const S=f.split("/").slice(0,-1);let F="";for(const he of S)F=F?`${F}/${he}`:he,y.add(F);return y}))}function $e(){!i||P.size===0||K.isPending||K.mutate()}function Be(){var t;M.current+=1,(t=I.current)==null||t.abort(),I.current=null,A.reset(),_(!0)}if(!e)return n.jsx(z,{icon:D,message:"Select a company to export."});if(A.isPending&&!i)return n.jsx(Ve,{variant:"detail"});if(C&&!i)return n.jsx(z,{icon:D,title:"Export preview cancelled",message:"The preview request was cancelled. Your export settings are unchanged.",action:"Retry preview",onAction:O,hideActionIcon:!0});if(A.isError&&!i)return n.jsx(z,{icon:D,title:"Export preview failed",message:se(A.error),description:"Retry the preview. You do not need to reload this page.",action:"Retry preview",onAction:O,hideActionIcon:!0});if(!i)return n.jsx(z,{icon:D,title:"Export preview unavailable",message:"No export preview is loaded.",action:"Load preview",onAction:O,hideActionIcon:!0});const ze=b?Y[b]??null:null;return n.jsxs("div",{className:"max-w-6xl",children:[n.jsx("div",{className:"sticky top-0 z-10 border-b border-border bg-background px-5 py-3",children:n.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[n.jsxs("div",{className:"flex flex-wrap items-center gap-4 text-sm",children:[n.jsxs("span",{className:"font-medium",children:[(s==null?void 0:s.name)??"Company"," export"]}),n.jsxs("span",{className:"text-muted-foreground",children:["Exporting ",$.toLocaleString()," of ",de.toLocaleString()," file",de===1?"":"s",$>0&&` (~${Qe(Le)})`]}),B.length>0&&n.jsxs("span",{className:"text-amber-500",children:[B.length," warning",B.length===1?"":"s"]})]}),n.jsxs(X,{size:"sm",onClick:$e,disabled:$===0||K.isPending||A.isPending||A.isError||C,children:[n.jsx(Je,{className:"mr-1.5 h-3.5 w-3.5"}),K.isPending?"Building export...":`Export ${$.toLocaleString()} file${$===1?"":"s"}`]})]})}),B.length>0&&n.jsx("div",{className:"mx-5 mt-3 rounded-md border border-amber-500/30 bg-amber-500/5 px-4 py-3",children:B.map(t=>n.jsx("div",{className:"text-xs text-amber-500",children:t},t))}),x&&x.warnings.length>0&&n.jsxs("div",{className:"mx-5 mt-3 rounded-md border border-amber-500/30 bg-amber-500/5 px-4 py-3",children:[n.jsx("h3",{className:"mb-1.5 text-xs font-medium",children:"Not included in this export"}),x.warnings.map(t=>n.jsx("div",{className:ne("text-xs",t.severity==="blocker"?"font-medium text-destructive":"text-amber-500"),children:t.message},t.code))]}),n.jsxs("div",{className:"grid gap-4 xl:h-(--sz-calc-30) xl:grid-cols-(--gtc-25) xl:gap-0",children:[n.jsxs("aside",{className:"flex max-h-(--sz-24rem) flex-col overflow-hidden border-b border-border xl:max-h-none xl:border-b-0 xl:border-r",children:[n.jsx("div",{className:"border-b border-border px-4 py-3 shrink-0",children:n.jsx("h2",{className:"text-base font-semibold",children:"Package files"})}),n.jsxs("div",{className:"border-b border-border px-4 py-3 shrink-0",children:[n.jsx("h3",{className:"mb-2 text-xs font-medium text-muted-foreground",children:"What to include"}),n.jsx("div",{className:"grid grid-cols-2 gap-x-4 gap-y-1.5",role:"group","aria-label":"What to include",children:ht.map(t=>{const f=t==="attachments"&&!Se(k),j=k[t]&&!f,y=(ee==null?void 0:ee[t])??0,S=i.manifest.includes.issues||t!=="tasks"&&t!=="routines"&&t!=="attachments";return n.jsxs("label",{className:ne("flex items-center gap-2 text-sm",f?"cursor-not-allowed opacity-50":"cursor-pointer"),title:f?"Attachments travel with tasks and routines; re-enable one of them to include attachments.":void 0,children:[n.jsx("input",{type:"checkbox",checked:j,disabled:f,onChange:()=>Oe(t),className:"accent-foreground","data-export-category":t}),n.jsx("span",{className:"min-w-0 truncate",children:mt[t]}),n.jsx("span",{className:"text-xs text-muted-foreground",children:S?y.toLocaleString():"—"})]},t)})}),n.jsx("p",{className:"mt-2 text-xs text-muted-foreground",children:"Task and routine history is opt-in because it can be large."})]}),n.jsx("div",{className:"border-b border-border px-3 py-2 shrink-0",children:n.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-border px-2 py-1",children:[n.jsx(et,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),n.jsx("input",{type:"text",value:w,onChange:t=>Fe(t.target.value),placeholder:"Search files...",className:"w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground","data-page-search-target":"true"})]})}),n.jsxs("div",{className:"flex-1 overflow-y-auto",children:[n.jsx(tt,{nodes:Re,selectedFile:b,expandedDirs:R,onToggleDir:Me,onSelectFile:J,fileTones:Te,showCheckboxes:!1,wrapLabels:!1}),le>ue&&!w&&n.jsx("div",{className:"px-4 py-2",children:n.jsxs("button",{type:"button",onClick:()=>T(t=>t+we),className:"w-full rounded-md border border-border px-3 py-1.5 text-xs text-muted-foreground hover:bg-accent/30 hover:text-foreground transition-colors",children:["Show more tasks (",ue," of ",le,")"]})})]})]}),n.jsxs("div",{className:"relative min-w-0 overflow-y-auto xl:pl-6",children:[n.jsx(Ft,{selectedFile:b,content:ze,allFiles:Y,orgChartPreviewUrl:`/api/companies/${encodeURIComponent(e)}/org.svg`,onSkillClick:Ie}),A.isPending?n.jsx("div",{className:"absolute inset-0 z-10 flex min-h-(--sz-520px) items-center justify-center bg-background/90 px-6 text-center",role:"status","aria-live":"polite","aria-busy":"true","data-export-preview-state":"loading",children:n.jsxs("div",{className:"flex max-w-md flex-col items-center gap-3",children:[n.jsx(st,{className:"h-6 w-6 animate-spin text-muted-foreground"}),n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-medium",children:"Updating export preview…"}),n.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Large task histories can take a minute. You can untick Tasks or cancel this update."})]}),n.jsxs(X,{type:"button",variant:"outline",size:"sm",onClick:Be,children:[n.jsx(nt,{}),"Cancel update"]})]})}):C?n.jsx("div",{className:"absolute inset-0 z-10 flex min-h-(--sz-520px) items-center justify-center bg-background/90 px-6 text-center","data-export-preview-state":"cancelled",children:n.jsxs("div",{className:"flex max-w-md flex-col items-center gap-3",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-medium",children:"Preview update cancelled"}),n.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"The previous preview remains available. Retry when you are ready."})]}),n.jsxs(X,{type:"button",variant:"outline",size:"sm",onClick:O,children:[n.jsx(ge,{}),"Retry preview"]})]})}):A.isError?n.jsx("div",{className:"absolute inset-0 z-10 flex min-h-(--sz-520px) items-center justify-center bg-background/90 px-6 text-center",role:"alert","data-export-preview-state":"error",children:n.jsxs("div",{className:"flex max-w-md flex-col items-center gap-3",children:[n.jsxs("div",{children:[n.jsx("p",{className:"text-sm font-medium text-destructive",children:"Export preview failed"}),n.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:se(A.error)})]}),n.jsxs(X,{type:"button",variant:"outline",size:"sm",onClick:O,children:[n.jsx(ge,{}),"Retry preview"]})]})}):null]})]})]})}export{Bt as CompanyExport,Ot as resolveExportPreviewImageSrc};
@@ -1 +1 @@
1
- import{g as p,r as u,d as a}from"./chunk-6Q2QTUOP-DUb6aG8c.js";import{p as f}from"./chunk-JWPE2WC7-scNfhlZz.js";import{_ as n,l as o}from"./mermaid.core-D2TFkGfI.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-B34jJY1x.js";import"./index-Cm6iEYPt.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};
1
+ import{g as p,r as u,d as a}from"./chunk-6Q2QTUOP-gbHjh-aK.js";import{p as f}from"./chunk-JWPE2WC7-Q3pJdTz5.js";import{_ as n,l as o}from"./mermaid.core-Ikay8Cpl.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-MpzJkW5s.js";import"./index-B4ZF3vY8.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};
@@ -1 +1 @@
1
- import{G as ln,H as un,I as N,J as I,K as J,L as an,M as y,N as tn,O as j,P as _,Q as rn,R as o,S as on,T as sn,V as fn}from"./mermaid.core-D2TFkGfI.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,q,O,v,R,K,u){var D=q-l,i=O-h,n=K-v,d=u-R,a=d*D-n*i;if(!(a*a<y))return a=(n*(h-R)-d*(l-v))/a,[l+a*D,h+a*i]}function W(l,h,q,O,v,R,K){var u=l-q,D=h-O,i=(K?R:-R)/j(u*u+D*D),n=i*D,d=-i*u,a=l+n,s=h+d,f=q+n,c=O+d,L=(a+f)/2,t=(s+c)/2,m=f-a,g=c-s,A=m*m+g*g,T=v-R,P=a*c-f*s,E=(g<0?-1:1)*j(on(0,T*T*A-P*P)),G=(P*g-m*E)/A,H=(-P*m-g*E)/A,w=(P*g+m*E)/A,p=(-P*m+g*E)/A,x=G-L,e=H-t,r=w-L,M=p-t;return x*x+e*e>r*r+M*M&&(G=w,H=p),{cx:G,cy:H,x01:-n,y01:-d,x11:G*(v/T-1),y11:H*(v/T-1)}}function hn(){var l=cn,h=yn,q=J(0),O=null,v=gn,R=dn,K=mn,u=null,D=ln(i);function i(){var n,d,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=R.apply(this,arguments)-an,L=rn(c-f),t=c>f;if(u||(u=n=D()),s<a&&(d=s,s=a,a=d),!(s>y))u.moveTo(0,0);else if(L>tn-y)u.moveTo(s*N(f),s*I(f)),u.arc(0,0,s,f,c,!t),a>y&&(u.moveTo(a*N(c),a*I(c)),u.arc(0,0,a,c,f,t));else{var m=f,g=c,A=f,T=c,P=L,E=L,G=K.apply(this,arguments)/2,H=G>y&&(O?+O.apply(this,arguments):j(a*a+s*s)),w=_(rn(s-a)/2,+q.apply(this,arguments)),p=w,x=w,e,r;if(H>y){var M=sn(H/a*I(G)),z=sn(H/s*I(G));(P-=M*2)>y?(M*=t?1:-1,A+=M,T-=M):(P=0,A=T=(f+c)/2),(E-=z*2)>y?(z*=t?1:-1,m+=z,g-=z):(E=0,m=g=(f+c)/2)}var Q=s*N(m),V=s*I(m),B=a*N(T),C=a*I(T);if(w>y){var F=s*N(g),U=s*I(g),X=a*N(A),Y=a*I(A),S;if(L<un)if(S=pn(Q,V,X,Y,F,U,B,C)){var Z=Q-S[0],$=V-S[1],k=F-S[0],b=U-S[1],nn=1/I(fn((Z*k+$*b)/(j(Z*Z+$*$)*j(k*k+b*b)))/2),en=j(S[0]*S[0]+S[1]*S[1]);p=_(w,(a-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}E>y?x>y?(e=W(X,Y,Q,V,s,x,t),r=W(F,U,B,C,s,x,t),u.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?u.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(u.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),u.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),u.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(u.moveTo(Q,V),u.arc(0,0,s,m,g,!t)):u.moveTo(Q,V),!(a>y)||!(P>y)?u.lineTo(B,C):p>y?(e=W(B,C,F,U,a,-p,t),r=W(Q,V,X,Y,a,-p,t),u.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?u.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(u.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),u.arc(0,0,a,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),u.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):u.arc(0,0,a,T,A,t)}if(u.closePath(),n)return u=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +R.apply(this,arguments))/2-un/2;return[N(d)*n,I(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:J(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:J(+n),i):h},i.cornerRadius=function(n){return arguments.length?(q=typeof n=="function"?n:J(+n),i):q},i.padRadius=function(n){return arguments.length?(O=n==null?null:typeof n=="function"?n:J(+n),i):O},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:J(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:J(+n),i):R},i.padAngle=function(n){return arguments.length?(K=typeof n=="function"?n:J(+n),i):K},i.context=function(n){return arguments.length?(u=n??null,i):u},i}export{hn as d};
1
+ import{G as ln,H as un,I as N,J as I,K as J,L as an,M as y,N as tn,O as j,P as _,Q as rn,R as o,S as on,T as sn,V as fn}from"./mermaid.core-Ikay8Cpl.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,q,O,v,R,K,u){var D=q-l,i=O-h,n=K-v,d=u-R,a=d*D-n*i;if(!(a*a<y))return a=(n*(h-R)-d*(l-v))/a,[l+a*D,h+a*i]}function W(l,h,q,O,v,R,K){var u=l-q,D=h-O,i=(K?R:-R)/j(u*u+D*D),n=i*D,d=-i*u,a=l+n,s=h+d,f=q+n,c=O+d,L=(a+f)/2,t=(s+c)/2,m=f-a,g=c-s,A=m*m+g*g,T=v-R,P=a*c-f*s,E=(g<0?-1:1)*j(on(0,T*T*A-P*P)),G=(P*g-m*E)/A,H=(-P*m-g*E)/A,w=(P*g+m*E)/A,p=(-P*m+g*E)/A,x=G-L,e=H-t,r=w-L,M=p-t;return x*x+e*e>r*r+M*M&&(G=w,H=p),{cx:G,cy:H,x01:-n,y01:-d,x11:G*(v/T-1),y11:H*(v/T-1)}}function hn(){var l=cn,h=yn,q=J(0),O=null,v=gn,R=dn,K=mn,u=null,D=ln(i);function i(){var n,d,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=R.apply(this,arguments)-an,L=rn(c-f),t=c>f;if(u||(u=n=D()),s<a&&(d=s,s=a,a=d),!(s>y))u.moveTo(0,0);else if(L>tn-y)u.moveTo(s*N(f),s*I(f)),u.arc(0,0,s,f,c,!t),a>y&&(u.moveTo(a*N(c),a*I(c)),u.arc(0,0,a,c,f,t));else{var m=f,g=c,A=f,T=c,P=L,E=L,G=K.apply(this,arguments)/2,H=G>y&&(O?+O.apply(this,arguments):j(a*a+s*s)),w=_(rn(s-a)/2,+q.apply(this,arguments)),p=w,x=w,e,r;if(H>y){var M=sn(H/a*I(G)),z=sn(H/s*I(G));(P-=M*2)>y?(M*=t?1:-1,A+=M,T-=M):(P=0,A=T=(f+c)/2),(E-=z*2)>y?(z*=t?1:-1,m+=z,g-=z):(E=0,m=g=(f+c)/2)}var Q=s*N(m),V=s*I(m),B=a*N(T),C=a*I(T);if(w>y){var F=s*N(g),U=s*I(g),X=a*N(A),Y=a*I(A),S;if(L<un)if(S=pn(Q,V,X,Y,F,U,B,C)){var Z=Q-S[0],$=V-S[1],k=F-S[0],b=U-S[1],nn=1/I(fn((Z*k+$*b)/(j(Z*Z+$*$)*j(k*k+b*b)))/2),en=j(S[0]*S[0]+S[1]*S[1]);p=_(w,(a-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}E>y?x>y?(e=W(X,Y,Q,V,s,x,t),r=W(F,U,B,C,s,x,t),u.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?u.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(u.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),u.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),u.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(u.moveTo(Q,V),u.arc(0,0,s,m,g,!t)):u.moveTo(Q,V),!(a>y)||!(P>y)?u.lineTo(B,C):p>y?(e=W(B,C,F,U,a,-p,t),r=W(Q,V,X,Y,a,-p,t),u.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?u.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(u.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),u.arc(0,0,a,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),u.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):u.arc(0,0,a,T,A,t)}if(u.closePath(),n)return u=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +R.apply(this,arguments))/2-un/2;return[N(d)*n,I(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:J(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:J(+n),i):h},i.cornerRadius=function(n){return arguments.length?(q=typeof n=="function"?n:J(+n),i):q},i.padRadius=function(n){return arguments.length?(O=n==null?null:typeof n=="function"?n:J(+n),i):O},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:J(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:J(+n),i):R},i.padAngle=function(n){return arguments.length?(K=typeof n=="function"?n:J(+n),i):K},i.context=function(n){return arguments.length?(u=n??null,i):u},i}export{hn as d};