@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
@@ -5,9 +5,10 @@ import { ENVIRONMENT_CUSTOM_IMAGE_SETUP_CONNECTION_TYPES, ENVIRONMENT_CUSTOM_IMA
5
5
  import { conflict, notFound, unprocessable } from "../errors.js";
6
6
  import { parseEnvironmentDriverConfig, resolveEnvironmentDriverConfigForRuntime, resolveSandboxProviderSecretRefPaths, stripSandboxProviderEnvelope, } from "./environment-config.js";
7
7
  import { secretService } from "./secrets.js";
8
- import { resolvePluginExecuteRpcTimeoutMs, resolvePluginSandboxProviderDriverByKey, } from "./plugin-environment-driver.js";
8
+ import { INTERACTIVE_SETUP_WORKER_METHODS, TEMPLATE_CAPTURE_WORKER_METHODS, TEMPLATE_DELETE_WORKER_METHODS, resolvePluginExecuteRpcTimeoutMs, resolvePluginSandboxProviderDriverByKey, } from "./plugin-environment-driver.js";
9
9
  import { environmentService } from "./environments.js";
10
- import { ENVIRONMENT_CUSTOM_IMAGE_CONFIG_FINGERPRINT_EXCLUDED_PATHS, classifyEnvironmentCustomImageConfigChange, fingerprintEnvironmentSandboxProviderConfig, ENVIRONMENT_CUSTOM_IMAGE_RUNTIME_CONFIG_BINDING_METADATA_KEY, defaultEnvironmentCustomImageRuntimeConfigBinding, environmentCustomImageTemplateMatchesBaseConfig, normalizeEnvironmentCustomImageRuntimeConfigBinding, environmentCustomImageTemplateFromRow, readEnvironmentCustomImageTemplateKind as readTemplateKind, } from "./environment-custom-image-runtime.js";
10
+ import { ENVIRONMENT_CUSTOM_IMAGE_CONFIG_FINGERPRINT_EXCLUDED_PATHS, ENVIRONMENT_CUSTOM_IMAGE_BOOT_RELEVANT_CONFIG_METADATA_KEY, classifyEnvironmentCustomImageConfigChange, classifyEnvironmentCustomImageBootRelevantDrift, buildEnvironmentCustomImageBootRelevantConfig, readEnvironmentCustomImageBootRelevantConfig, fingerprintEnvironmentSandboxProviderConfig, ENVIRONMENT_CUSTOM_IMAGE_RUNTIME_CONFIG_BINDING_METADATA_KEY, defaultEnvironmentCustomImageRuntimeConfigBinding, environmentCustomImageTemplateMatchesBaseConfig, normalizeEnvironmentCustomImageRuntimeConfigBinding, environmentCustomImageTemplateFromRow, readEnvironmentCustomImageTemplateKind as readTemplateKind, } from "./environment-custom-image-runtime.js";
11
+ import { logActivity } from "./activity-log.js";
11
12
  const ACTIVE_SETUP_STATUSES = ["starting", "waiting_for_user", "capturing"];
12
13
  const DEFAULT_SETUP_TTL_SECONDS = 60 * 60;
13
14
  const DEFAULT_CONNECTION_EXPIRES_IN_MINUTES = 15;
@@ -128,7 +129,7 @@ function sourceTemplateFromConfig(config, binding, templateKind) {
128
129
  return { sourceTemplateRef: providerTemplate, sourceTemplateKind: "provider_template" };
129
130
  return { sourceTemplateRef: null, sourceTemplateKind: null };
130
131
  }
131
- async function resolveActiveTemplate(db, input) {
132
+ async function resolveActiveTemplateRow(db, input) {
132
133
  const conditions = [
133
134
  eq(environmentCustomImageTemplates.environmentId, input.environmentId),
134
135
  eq(environmentCustomImageTemplates.status, "active"),
@@ -136,12 +137,15 @@ async function resolveActiveTemplate(db, input) {
136
137
  if (input.provider) {
137
138
  conditions.push(eq(environmentCustomImageTemplates.provider, input.provider));
138
139
  }
139
- const row = await db
140
+ return db
140
141
  .select()
141
142
  .from(environmentCustomImageTemplates)
142
143
  .where(and(...conditions))
143
144
  .orderBy(desc(environmentCustomImageTemplates.capturedAt), desc(environmentCustomImageTemplates.createdAt))
144
145
  .then((rows) => rows[0] ?? null);
146
+ }
147
+ async function resolveActiveTemplate(db, input) {
148
+ const row = await resolveActiveTemplateRow(db, input);
145
149
  return row ? environmentCustomImageTemplateFromRow(row) : null;
146
150
  }
147
151
  export function environmentCustomImageService(db, options = {}) {
@@ -225,14 +229,31 @@ export function environmentCustomImageService(db, options = {}) {
225
229
  if (!resolved) {
226
230
  throw unprocessable(`Sandbox provider "${provider}" is not ready for customImage setup.`);
227
231
  }
232
+ // A manifest declaration is a claim. Read the live worker's verified
233
+ // methods once, so each gate below requires the declaration AND the
234
+ // matching method the worker really implements.
235
+ const workerMethods = new Set(options.pluginWorkerManager.getWorker(resolved.plugin.id)?.supportedMethods ?? []);
236
+ const requireWorkerMethods = (methods, capabilityLabel) => {
237
+ const missingMethod = methods.find((method) => !workerMethods.has(method));
238
+ if (missingMethod) {
239
+ throw unprocessable(`Sandbox provider "${provider}" declares ${capabilityLabel} but its worker does not report the "${missingMethod}" method.`);
240
+ }
241
+ };
228
242
  if (!resolved.driver.supportsInteractiveSetup) {
229
243
  throw unprocessable(`Sandbox provider "${provider}" does not support interactive setup.`);
230
244
  }
231
- if (input.requireCapture && !resolved.driver.supportsTemplateCapture) {
232
- throw unprocessable(`Sandbox provider "${provider}" does not support template capture.`);
245
+ requireWorkerMethods(INTERACTIVE_SETUP_WORKER_METHODS, "interactive setup");
246
+ if (input.requireCapture) {
247
+ if (!resolved.driver.supportsTemplateCapture) {
248
+ throw unprocessable(`Sandbox provider "${provider}" does not support template capture.`);
249
+ }
250
+ requireWorkerMethods(TEMPLATE_CAPTURE_WORKER_METHODS, "template capture");
233
251
  }
234
- if (input.requireDelete && !resolved.driver.supportsTemplateDelete) {
235
- throw unprocessable(`Sandbox provider "${provider}" does not support template deletion.`);
252
+ if (input.requireDelete) {
253
+ if (!resolved.driver.supportsTemplateDelete) {
254
+ throw unprocessable(`Sandbox provider "${provider}" does not support template deletion.`);
255
+ }
256
+ requireWorkerMethods(TEMPLATE_DELETE_WORKER_METHODS, "template deletion");
236
257
  }
237
258
  return {
238
259
  provider,
@@ -447,19 +468,72 @@ export function environmentCustomImageService(db, options = {}) {
447
468
  return null;
448
469
  }
449
470
  }
471
+ /**
472
+ * Computes the boot-relevant drift attribution for the active template row.
473
+ * It reuses the relink wiring: it reads the snapshot from the row metadata,
474
+ * resolves the current provider contract, and passes the current parsed
475
+ * config. A driver that no longer resolves fails closed (null contract, so
476
+ * `unclassified`). Returns `null` when there is no active template or the
477
+ * driver is not `sandbox`.
478
+ */
479
+ async function computeActiveTemplateDrift(environment, activeRow) {
480
+ if (!activeRow)
481
+ return null;
482
+ let parsed;
483
+ try {
484
+ parsed = parseEnvironmentDriverConfig(environment);
485
+ }
486
+ catch {
487
+ return null;
488
+ }
489
+ if (parsed.driver !== "sandbox")
490
+ return null;
491
+ const active = environmentCustomImageTemplateFromRow(activeRow);
492
+ // Resolve the current provider contract so the classifier can reject a
493
+ // snapshot captured against a different binding or identity-path set. A
494
+ // driver that no longer resolves fails closed (null contract).
495
+ const resolvedDriver = await resolvePluginSandboxProviderDriverByKey({
496
+ db,
497
+ driverKey: active.provider,
498
+ });
499
+ const currentContract = resolvedDriver
500
+ ? {
501
+ binding: templateConfigBindingFromDriver({
502
+ templateRefKind: active.templateKind,
503
+ templateConfigBinding: resolvedDriver.driver.templateConfigBinding,
504
+ }),
505
+ templateIdentityPaths: resolvedDriver.driver.templateIdentityPaths ?? [],
506
+ }
507
+ : null;
508
+ // The persisted snapshot is server-internal; read it from the row, not the
509
+ // sanitized template response.
510
+ const drift = classifyEnvironmentCustomImageBootRelevantDrift({
511
+ bootRelevantConfig: readEnvironmentCustomImageBootRelevantConfig(activeRow.metadata),
512
+ currentConfig: parsed.config,
513
+ currentContract,
514
+ });
515
+ return {
516
+ classification: drift.classification,
517
+ driftedPaths: drift.driftedPaths,
518
+ };
519
+ }
450
520
  return {
451
521
  getOverview: async (input) => {
452
522
  const environment = await requireEnvironment(input.environmentId);
453
- const [activeTemplate, activeSession, latestSession] = await Promise.all([
454
- resolveActiveTemplate(db, input),
523
+ const [activeRow, activeSession, latestSession] = await Promise.all([
524
+ resolveActiveTemplateRow(db, input),
455
525
  getActiveSetupSession(input),
456
526
  getLatestSetupSession(input),
457
527
  ]);
528
+ const activeTemplate = activeRow
529
+ ? environmentCustomImageTemplateFromRow(activeRow)
530
+ : null;
458
531
  return {
459
532
  activeTemplate,
460
533
  activeTemplateMatchesConfig: activeTemplate
461
534
  ? await templateMatchesEnvironmentConfig(environment, activeTemplate)
462
535
  : null,
536
+ activeTemplateDrift: await computeActiveTemplateDrift(environment, activeRow),
463
537
  activeSession,
464
538
  latestSession,
465
539
  };
@@ -589,11 +663,14 @@ export function environmentCustomImageService(db, options = {}) {
589
663
  const captured = await callProviderCapture({ session, previousTemplate: currentActive });
590
664
  const environment = await requireEnvironment(session.environmentId);
591
665
  const parsed = parseEnvironmentDriverConfig(environment);
666
+ const captureSecretRefExcludePaths = parsed.driver === "sandbox"
667
+ ? [...await resolveSandboxProviderSecretRefPaths(db, parsed.config.provider)]
668
+ : [];
592
669
  const baseFingerprint = parsed.driver === "sandbox"
593
670
  ? fingerprintEnvironmentSandboxProviderConfig(parsed.config, {
594
671
  excludePaths: [
595
672
  ...ENVIRONMENT_CUSTOM_IMAGE_CONFIG_FINGERPRINT_EXCLUDED_PATHS,
596
- ...await resolveSandboxProviderSecretRefPaths(db, parsed.config.provider),
673
+ ...captureSecretRefExcludePaths,
597
674
  ],
598
675
  })
599
676
  : null;
@@ -607,6 +684,32 @@ export function environmentCustomImageService(db, options = {}) {
607
684
  templateRefKind: captured.templateKind,
608
685
  templateConfigBinding: provider.driver.templateConfigBinding,
609
686
  });
687
+ // Server-owned boot-relevant snapshot from the parsed config only. It
688
+ // lets a later relink decide, without the capture-time config, whether
689
+ // the boot source changed. Secret-ref paths carry no value.
690
+ const bootRelevantConfig = parsed.driver === "sandbox"
691
+ ? buildEnvironmentCustomImageBootRelevantConfig({
692
+ config: parsed.config,
693
+ binding: runtimeConfigBinding,
694
+ templateIdentityPaths: provider.driver.templateIdentityPaths ?? [],
695
+ secretRefExcludePaths: captureSecretRefExcludePaths,
696
+ })
697
+ : null;
698
+ const baseTemplateMetadata = normalizeProviderMetadata({
699
+ ...(captured.metadata ?? {}),
700
+ ...(input.metadata ? { userMetadata: input.metadata } : {}),
701
+ ...persistedSetupMetadata(session.metadata),
702
+ [ENVIRONMENT_CUSTOM_IMAGE_RUNTIME_CONFIG_BINDING_METADATA_KEY]: runtimeConfigBinding,
703
+ }) ?? {};
704
+ // The boot-relevant snapshot bypasses the provider-metadata redactor:
705
+ // its config field names (for example `apiUrl`) would otherwise be
706
+ // redacted by key and the relink comparison could never match.
707
+ const templateMetadata = bootRelevantConfig
708
+ ? {
709
+ ...baseTemplateMetadata,
710
+ [ENVIRONMENT_CUSTOM_IMAGE_BOOT_RELEVANT_CONFIG_METADATA_KEY]: bootRelevantConfig,
711
+ }
712
+ : baseTemplateMetadata;
610
713
  const now = input.now ?? new Date();
611
714
  const templateRow = await db.transaction(async (tx) => {
612
715
  const templateId = randomUUID();
@@ -633,12 +736,7 @@ export function environmentCustomImageService(db, options = {}) {
633
736
  createdByUserId: session.startedByUserId,
634
737
  createdByAgentId: session.startedByAgentId,
635
738
  capturedAt: now,
636
- metadata: normalizeProviderMetadata({
637
- ...(captured.metadata ?? {}),
638
- ...(input.metadata ? { userMetadata: input.metadata } : {}),
639
- ...persistedSetupMetadata(session.metadata),
640
- [ENVIRONMENT_CUSTOM_IMAGE_RUNTIME_CONFIG_BINDING_METADATA_KEY]: runtimeConfigBinding,
641
- }),
739
+ metadata: templateMetadata,
642
740
  createdAt: now,
643
741
  updatedAt: now,
644
742
  })
@@ -776,6 +874,110 @@ export function environmentCustomImageService(db, options = {}) {
776
874
  template: row ? environmentCustomImageTemplateFromRow(row) : template,
777
875
  };
778
876
  },
877
+ /**
878
+ * Re-stamps the active template's source fingerprint so a detached-but-valid
879
+ * template applies again, without a sandbox boot or a new provider snapshot.
880
+ * The server classifies the drift between the capture-time boot-relevant
881
+ * snapshot and the current config. A `boot_source_drift` or `unclassified`
882
+ * result needs the `confirmBootSourceDrift` flag; the client never
883
+ * classifies. The re-stamp UPDATE and the activity row run in one
884
+ * transaction. Zero updated rows abort with a conflict and write no activity
885
+ * row.
886
+ */
887
+ relinkActiveTemplate: async (input) => {
888
+ const environment = await requireEnvironment(input.environmentId);
889
+ const parsed = parseEnvironmentDriverConfig(environment);
890
+ if (parsed.driver !== "sandbox") {
891
+ throw unprocessable("Environment customImage relink is only supported for sandbox environments.");
892
+ }
893
+ const activeRow = await resolveActiveTemplateRow(db, {
894
+ environmentId: input.environmentId,
895
+ provider: parsed.config.provider,
896
+ });
897
+ if (!activeRow)
898
+ throw notFound("Active environment customImage template not found");
899
+ const active = environmentCustomImageTemplateFromRow(activeRow);
900
+ const secretRefExcludePaths = parsed.config.provider === "fake"
901
+ ? []
902
+ : [...await resolveSandboxProviderSecretRefPaths(db, parsed.config.provider)];
903
+ // Resolve the current provider contract so the classifier can reject a
904
+ // snapshot captured against a different binding or identity-path set. A
905
+ // driver that no longer resolves fails closed (null contract).
906
+ const resolvedDriver = await resolvePluginSandboxProviderDriverByKey({
907
+ db,
908
+ driverKey: active.provider,
909
+ });
910
+ const currentContract = resolvedDriver
911
+ ? {
912
+ binding: templateConfigBindingFromDriver({
913
+ templateRefKind: active.templateKind,
914
+ templateConfigBinding: resolvedDriver.driver.templateConfigBinding,
915
+ }),
916
+ templateIdentityPaths: resolvedDriver.driver.templateIdentityPaths ?? [],
917
+ }
918
+ : null;
919
+ // The persisted snapshot is server-internal; read it from the row, not the
920
+ // sanitized template response.
921
+ const drift = classifyEnvironmentCustomImageBootRelevantDrift({
922
+ bootRelevantConfig: readEnvironmentCustomImageBootRelevantConfig(activeRow.metadata),
923
+ currentConfig: parsed.config,
924
+ currentContract,
925
+ });
926
+ const confirmBootSourceDrift = input.confirmBootSourceDrift === true;
927
+ if (drift.classification !== "knob_only" && !confirmBootSourceDrift) {
928
+ throw conflict(drift.classification === "boot_source_drift"
929
+ ? "The base image changed since this template was captured. Confirm the relink to keep the captured snapshot."
930
+ : "The server cannot verify the boot source for this template. Confirm the relink to keep the captured snapshot.", {
931
+ classification: drift.classification,
932
+ driftedPaths: drift.driftedPaths,
933
+ });
934
+ }
935
+ const nextFingerprint = fingerprintEnvironmentSandboxProviderConfig(parsed.config, {
936
+ excludePaths: [
937
+ ...ENVIRONMENT_CUSTOM_IMAGE_CONFIG_FINGERPRINT_EXCLUDED_PATHS,
938
+ ...secretRefExcludePaths,
939
+ ],
940
+ });
941
+ const now = input.now ?? new Date();
942
+ // Activity details carry the sanitized classification and canonical path
943
+ // names only. They never carry a fingerprint or a config value.
944
+ const activityDetails = {
945
+ environmentId: input.environmentId,
946
+ templateId: active.id,
947
+ provider: active.provider,
948
+ classification: drift.classification,
949
+ driftedPaths: drift.driftedPaths.map((entry) => entry.path),
950
+ confirmBootSourceDrift,
951
+ };
952
+ const row = await db.transaction(async (tx) => {
953
+ const updated = await tx
954
+ .update(environmentCustomImageTemplates)
955
+ .set({ sourceEnvironmentConfigFingerprint: nextFingerprint, updatedAt: now })
956
+ .where(and(eq(environmentCustomImageTemplates.id, active.id), eq(environmentCustomImageTemplates.status, "active"), eq(environmentCustomImageTemplates.environmentId, input.environmentId), eq(environmentCustomImageTemplates.provider, active.provider)))
957
+ .returning()
958
+ .then((rows) => rows[0] ?? null);
959
+ if (!updated) {
960
+ throw conflict("Active environment customImage template changed before relink; retry.");
961
+ }
962
+ await logActivity(tx, {
963
+ companyId: input.companyId,
964
+ actorType: input.actor.actorType,
965
+ actorId: input.actor.actorId,
966
+ agentId: input.actor.agentId ?? null,
967
+ runId: input.actor.runId ?? null,
968
+ agentApiKeyId: input.actor.agentApiKeyId ?? null,
969
+ action: "environment.custom_image_template.relinked",
970
+ entityType: "environment",
971
+ entityId: input.environmentId,
972
+ details: activityDetails,
973
+ });
974
+ return updated;
975
+ });
976
+ return {
977
+ template: environmentCustomImageTemplateFromRow(row),
978
+ classification: drift.classification,
979
+ };
980
+ },
779
981
  rollbackTemplate: async (input) => {
780
982
  await requireEnvironment(input.environmentId);
781
983
  const active = await resolveActiveTemplate(db, input);
@@ -1 +1 @@
1
- {"version":3,"file":"environment-custom-images.js","sourceRoot":"","sources":["../../src/services/environment-custom-images.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment-custom-images.js","sourceRoot":"","sources":["../../src/services/environment-custom-images.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * The static per-driver traits for the four environment drivers.
3
+ *
4
+ * This module is a dependency leaf: it imports no other service module. It
5
+ * imports one type from `environment-runtime.ts` (`SandboxCapabilityKey`), but
6
+ * a type-only import compiles to nothing, so it adds no runtime dependency
7
+ * edge. `environment-runtime.ts` imports `workspace-realization.ts` at value
8
+ * level, so `workspace-realization.ts` cannot import `environment-runtime.ts`
9
+ * back. It imports this leaf module instead, and this module stays a leaf so
10
+ * the import graph has no cycle.
11
+ *
12
+ * Each trait below is a fixed fact about a driver family. It is a code fact,
13
+ * not a fact about one lease, so a consumer reads it as a plain table lookup
14
+ * instead of a driver-name condition.
15
+ */
16
+ import type { EnvironmentDriver } from "@paperclipai/shared";
17
+ import type { SandboxCapabilityKey } from "./environment-runtime.js";
18
+ /**
19
+ * The static capability support definition for one environment driver. It names
20
+ * the eight capabilities the driver family can support at all. A capability the
21
+ * definition does not name resolves `false` for the driver, whatever a
22
+ * declaration, a verified verb, or a narrowing says. The general classifier
23
+ * reads this static definition for a built-in driver in place of a live worker
24
+ * method list.
25
+ *
26
+ * The definition is the code-level ground truth for a driver. It replaces a
27
+ * driver-identity condition: a consumer asks the classifier for a capability
28
+ * instead of matching the driver name.
29
+ */
30
+ export interface EnvironmentDriverCapabilitySupport {
31
+ readonly driver: EnvironmentDriver;
32
+ /** The capability keys the driver family can support. */
33
+ readonly supportedCapabilities: ReadonlySet<SandboxCapabilityKey>;
34
+ }
35
+ /**
36
+ * The static capability support for the four environment drivers.
37
+ *
38
+ * - `local` runs commands on the host file system with no provider capability
39
+ * model, so it supports none of the eight capabilities. Every capability
40
+ * resolves `false`.
41
+ * - `ssh` runs commands on a remote host through the SSH transport with no
42
+ * provider capability model, so it supports none of the eight capabilities
43
+ * either.
44
+ * - `sandbox` runs the full provider capability model. A built-in provider maps
45
+ * its own methods through `builtinSandboxProviderVerifiedMethods`, and a
46
+ * plugin-backed provider reports live worker methods, so the driver can support
47
+ * every capability. The classifier still intersects the per-provider
48
+ * declaration, the verified methods, and the per-lease narrowing.
49
+ * - `plugin` resolves its capabilities from the live plugin worker method list,
50
+ * so it can support every capability. The classifier intersects the live
51
+ * verified methods and the declaration.
52
+ */
53
+ export declare const ENVIRONMENT_DRIVER_CAPABILITY_SUPPORT: Record<EnvironmentDriver, EnvironmentDriverCapabilitySupport>;
54
+ /**
55
+ * The static per-driver traits every runtime consumer reads instead of a
56
+ * driver-identity condition. Each field is a fixed code fact about the driver
57
+ * family; it never varies per lease.
58
+ */
59
+ export interface EnvironmentDriverTraits {
60
+ readonly driver: EnvironmentDriver;
61
+ /**
62
+ * True when the driver realizes a workspace through the runtime driver's
63
+ * `realizeWorkspace` method. Read by the run orchestrator
64
+ * (`environment-run-orchestrator.ts`, `realizeForRun`) to decide whether to
65
+ * call the driver before it resolves the execution target. The `plugin`
66
+ * driver skips this step: its execution target resolves the workspace
67
+ * itself, so the orchestrator never calls `realizeWorkspace` for it.
68
+ */
69
+ readonly realizesWorkspace: boolean;
70
+ /**
71
+ * True when the driver runs the workspace on a target other than the host
72
+ * file system. Read by `isRemoteExecutionEnvironmentDriver`
73
+ * (`heartbeat.ts`) to decide whether a host-local directory path is present
74
+ * on the run target.
75
+ */
76
+ readonly runsWorkspaceOffHost: boolean;
77
+ /**
78
+ * True when the driver stages a multi-source remote workspace through a
79
+ * confined per-project runtime. Read by `isConfinedRemoteStagingDriver`
80
+ * (`heartbeat.ts`) to decide whether a referenced (mentioned) project
81
+ * stages under that confinement guard.
82
+ */
83
+ readonly confinesStagedProjects: boolean;
84
+ /**
85
+ * True when the driver resolves a per-lease capability snapshot that a
86
+ * consumer reads today. Read by `resolveEnvironmentExecutionTarget`
87
+ * (`environment-execution-target.ts`) to decide whether to call the
88
+ * general capability resolver for a lease on this driver.
89
+ *
90
+ * Only the `sandbox` driver has a consumer today. The `plugin` driver
91
+ * implements `resolveCapabilities`, but no consumer reads a plugin
92
+ * snapshot yet, so this stays `false` for `plugin` here. A change to
93
+ * `true` changes runtime behavior, so the board owns that decision.
94
+ */
95
+ readonly hasLeaseCapabilityModel: boolean;
96
+ }
97
+ /**
98
+ * The static traits for the four environment drivers. See {@link
99
+ * EnvironmentDriverTraits} for what each field means and which consumer reads
100
+ * it.
101
+ */
102
+ export declare const ENVIRONMENT_DRIVER_TRAITS: Record<EnvironmentDriver, EnvironmentDriverTraits>;
103
+ /**
104
+ * Read the static traits for a driver key. Returns `null` for an unknown or
105
+ * absent driver, so a caller applies its own fallback default (the four
106
+ * drivers above are the only registered drivers today).
107
+ */
108
+ export declare function getEnvironmentDriverTraits(driver: string | null | undefined): EnvironmentDriverTraits | null;
109
+ //# sourceMappingURL=environment-driver-traits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-driver-traits.d.ts","sourceRoot":"","sources":["../../src/services/environment-driver-traits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,yDAAyD;IACzD,QAAQ,CAAC,qBAAqB,EAAE,WAAW,CAAC,oBAAoB,CAAC,CAAC;CACnE;AAmBD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qCAAqC,EAAE,MAAM,CACxD,iBAAiB,EACjB,kCAAkC,CAMnC,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;CAC3C;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CA6BxF,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,uBAAuB,GAAG,IAAI,CAKhC"}