@growthub/cli 0.6.6 → 0.6.8

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 (896) hide show
  1. package/dist/index.js +30192 -1098
  2. package/package.json +1 -11
  3. package/dist/__tests__/agent-jwt-env.test.d.ts +0 -2
  4. package/dist/__tests__/agent-jwt-env.test.d.ts.map +0 -1
  5. package/dist/__tests__/agent-jwt-env.test.js +0 -57
  6. package/dist/__tests__/agent-jwt-env.test.js.map +0 -1
  7. package/dist/__tests__/allowed-hostname.test.d.ts +0 -2
  8. package/dist/__tests__/allowed-hostname.test.d.ts.map +0 -1
  9. package/dist/__tests__/allowed-hostname.test.js +0 -75
  10. package/dist/__tests__/allowed-hostname.test.js.map +0 -1
  11. package/dist/__tests__/auth-login-flow.test.d.ts +0 -2
  12. package/dist/__tests__/auth-login-flow.test.d.ts.map +0 -1
  13. package/dist/__tests__/auth-login-flow.test.js +0 -62
  14. package/dist/__tests__/auth-login-flow.test.js.map +0 -1
  15. package/dist/__tests__/auth-session.test.d.ts +0 -2
  16. package/dist/__tests__/auth-session.test.d.ts.map +0 -1
  17. package/dist/__tests__/auth-session.test.js +0 -128
  18. package/dist/__tests__/auth-session.test.js.map +0 -1
  19. package/dist/__tests__/common.test.d.ts +0 -2
  20. package/dist/__tests__/common.test.d.ts.map +0 -1
  21. package/dist/__tests__/common.test.js +0 -73
  22. package/dist/__tests__/common.test.js.map +0 -1
  23. package/dist/__tests__/company-delete.test.d.ts +0 -2
  24. package/dist/__tests__/company-delete.test.d.ts.map +0 -1
  25. package/dist/__tests__/company-delete.test.js +0 -78
  26. package/dist/__tests__/company-delete.test.js.map +0 -1
  27. package/dist/__tests__/context.test.d.ts +0 -2
  28. package/dist/__tests__/context.test.d.ts.map +0 -1
  29. package/dist/__tests__/context.test.js +0 -50
  30. package/dist/__tests__/context.test.js.map +0 -1
  31. package/dist/__tests__/create-growthub-local-installer.test.d.ts +0 -21
  32. package/dist/__tests__/create-growthub-local-installer.test.d.ts.map +0 -1
  33. package/dist/__tests__/create-growthub-local-installer.test.js +0 -205
  34. package/dist/__tests__/create-growthub-local-installer.test.js.map +0 -1
  35. package/dist/__tests__/data-dir.test.d.ts +0 -2
  36. package/dist/__tests__/data-dir.test.d.ts.map +0 -1
  37. package/dist/__tests__/data-dir.test.js +0 -61
  38. package/dist/__tests__/data-dir.test.js.map +0 -1
  39. package/dist/__tests__/doctor.test.d.ts +0 -2
  40. package/dist/__tests__/doctor.test.d.ts.map +0 -1
  41. package/dist/__tests__/doctor.test.js +0 -93
  42. package/dist/__tests__/doctor.test.js.map +0 -1
  43. package/dist/__tests__/effective-profile.test.d.ts +0 -2
  44. package/dist/__tests__/effective-profile.test.d.ts.map +0 -1
  45. package/dist/__tests__/effective-profile.test.js +0 -91
  46. package/dist/__tests__/effective-profile.test.js.map +0 -1
  47. package/dist/__tests__/execute-hosted-pipeline.test.d.ts +0 -2
  48. package/dist/__tests__/execute-hosted-pipeline.test.d.ts.map +0 -1
  49. package/dist/__tests__/execute-hosted-pipeline.test.js +0 -131
  50. package/dist/__tests__/execute-hosted-pipeline.test.js.map +0 -1
  51. package/dist/__tests__/fork-policy.test.d.ts +0 -12
  52. package/dist/__tests__/fork-policy.test.d.ts.map +0 -1
  53. package/dist/__tests__/fork-policy.test.js +0 -132
  54. package/dist/__tests__/fork-policy.test.js.map +0 -1
  55. package/dist/__tests__/fork-trace.test.d.ts +0 -12
  56. package/dist/__tests__/fork-trace.test.d.ts.map +0 -1
  57. package/dist/__tests__/fork-trace.test.js +0 -90
  58. package/dist/__tests__/fork-trace.test.js.map +0 -1
  59. package/dist/__tests__/home-paths.test.d.ts +0 -2
  60. package/dist/__tests__/home-paths.test.d.ts.map +0 -1
  61. package/dist/__tests__/home-paths.test.js +0 -32
  62. package/dist/__tests__/home-paths.test.js.map +0 -1
  63. package/dist/__tests__/hosted-execution-client.test.d.ts +0 -2
  64. package/dist/__tests__/hosted-execution-client.test.d.ts.map +0 -1
  65. package/dist/__tests__/hosted-execution-client.test.js +0 -100
  66. package/dist/__tests__/hosted-execution-client.test.js.map +0 -1
  67. package/dist/__tests__/http.test.d.ts +0 -2
  68. package/dist/__tests__/http.test.d.ts.map +0 -1
  69. package/dist/__tests__/http.test.js +0 -42
  70. package/dist/__tests__/http.test.js.map +0 -1
  71. package/dist/__tests__/integrations-github-resolver.test.d.ts +0 -14
  72. package/dist/__tests__/integrations-github-resolver.test.d.ts.map +0 -1
  73. package/dist/__tests__/integrations-github-resolver.test.js +0 -103
  74. package/dist/__tests__/integrations-github-resolver.test.js.map +0 -1
  75. package/dist/__tests__/kit-command.test.d.ts +0 -2
  76. package/dist/__tests__/kit-command.test.d.ts.map +0 -1
  77. package/dist/__tests__/kit-command.test.js +0 -134
  78. package/dist/__tests__/kit-command.test.js.map +0 -1
  79. package/dist/__tests__/kit-core.test.d.ts +0 -17
  80. package/dist/__tests__/kit-core.test.d.ts.map +0 -1
  81. package/dist/__tests__/kit-core.test.js +0 -403
  82. package/dist/__tests__/kit-core.test.js.map +0 -1
  83. package/dist/__tests__/kit-fork-command.test.d.ts +0 -11
  84. package/dist/__tests__/kit-fork-command.test.d.ts.map +0 -1
  85. package/dist/__tests__/kit-fork-command.test.js +0 -183
  86. package/dist/__tests__/kit-fork-command.test.js.map +0 -1
  87. package/dist/__tests__/kit-fork-phase-1.test.d.ts +0 -13
  88. package/dist/__tests__/kit-fork-phase-1.test.d.ts.map +0 -1
  89. package/dist/__tests__/kit-fork-phase-1.test.js +0 -220
  90. package/dist/__tests__/kit-fork-phase-1.test.js.map +0 -1
  91. package/dist/__tests__/kit-fork-registry.test.d.ts +0 -8
  92. package/dist/__tests__/kit-fork-registry.test.d.ts.map +0 -1
  93. package/dist/__tests__/kit-fork-registry.test.js +0 -183
  94. package/dist/__tests__/kit-fork-registry.test.js.map +0 -1
  95. package/dist/__tests__/kit-fork-sync-agent.test.d.ts +0 -13
  96. package/dist/__tests__/kit-fork-sync-agent.test.d.ts.map +0 -1
  97. package/dist/__tests__/kit-fork-sync-agent.test.js +0 -262
  98. package/dist/__tests__/kit-fork-sync-agent.test.js.map +0 -1
  99. package/dist/__tests__/kit-fork-sync.test.d.ts +0 -12
  100. package/dist/__tests__/kit-fork-sync.test.d.ts.map +0 -1
  101. package/dist/__tests__/kit-fork-sync.test.js +0 -455
  102. package/dist/__tests__/kit-fork-sync.test.js.map +0 -1
  103. package/dist/__tests__/kit-zernio-social.test.d.ts +0 -16
  104. package/dist/__tests__/kit-zernio-social.test.d.ts.map +0 -1
  105. package/dist/__tests__/kit-zernio-social.test.js +0 -528
  106. package/dist/__tests__/kit-zernio-social.test.js.map +0 -1
  107. package/dist/__tests__/kit.test.d.ts +0 -2
  108. package/dist/__tests__/kit.test.d.ts.map +0 -1
  109. package/dist/__tests__/kit.test.js +0 -359
  110. package/dist/__tests__/kit.test.js.map +0 -1
  111. package/dist/__tests__/native-intelligence-normalizer.test.d.ts +0 -2
  112. package/dist/__tests__/native-intelligence-normalizer.test.d.ts.map +0 -1
  113. package/dist/__tests__/native-intelligence-normalizer.test.js +0 -200
  114. package/dist/__tests__/native-intelligence-normalizer.test.js.map +0 -1
  115. package/dist/__tests__/native-intelligence-planner.test.d.ts +0 -2
  116. package/dist/__tests__/native-intelligence-planner.test.d.ts.map +0 -1
  117. package/dist/__tests__/native-intelligence-planner.test.js +0 -208
  118. package/dist/__tests__/native-intelligence-planner.test.js.map +0 -1
  119. package/dist/__tests__/native-intelligence-recommender.test.d.ts +0 -2
  120. package/dist/__tests__/native-intelligence-recommender.test.d.ts.map +0 -1
  121. package/dist/__tests__/native-intelligence-recommender.test.js +0 -212
  122. package/dist/__tests__/native-intelligence-recommender.test.js.map +0 -1
  123. package/dist/__tests__/native-intelligence-summarizer.test.d.ts +0 -2
  124. package/dist/__tests__/native-intelligence-summarizer.test.d.ts.map +0 -1
  125. package/dist/__tests__/native-intelligence-summarizer.test.js +0 -195
  126. package/dist/__tests__/native-intelligence-summarizer.test.js.map +0 -1
  127. package/dist/__tests__/open-agents.test.d.ts +0 -2
  128. package/dist/__tests__/open-agents.test.d.ts.map +0 -1
  129. package/dist/__tests__/open-agents.test.js +0 -174
  130. package/dist/__tests__/open-agents.test.js.map +0 -1
  131. package/dist/__tests__/progress.test.d.ts +0 -5
  132. package/dist/__tests__/progress.test.d.ts.map +0 -1
  133. package/dist/__tests__/progress.test.js +0 -55
  134. package/dist/__tests__/progress.test.js.map +0 -1
  135. package/dist/__tests__/qwen-code.test.d.ts +0 -2
  136. package/dist/__tests__/qwen-code.test.d.ts.map +0 -1
  137. package/dist/__tests__/qwen-code.test.js +0 -125
  138. package/dist/__tests__/qwen-code.test.js.map +0 -1
  139. package/dist/__tests__/source-import-agent.test.d.ts +0 -9
  140. package/dist/__tests__/source-import-agent.test.d.ts.map +0 -1
  141. package/dist/__tests__/source-import-agent.test.js +0 -124
  142. package/dist/__tests__/source-import-agent.test.js.map +0 -1
  143. package/dist/__tests__/source-import-detect.test.d.ts +0 -8
  144. package/dist/__tests__/source-import-detect.test.d.ts.map +0 -1
  145. package/dist/__tests__/source-import-detect.test.js +0 -91
  146. package/dist/__tests__/source-import-detect.test.js.map +0 -1
  147. package/dist/__tests__/source-import-plan.test.d.ts +0 -8
  148. package/dist/__tests__/source-import-plan.test.d.ts.map +0 -1
  149. package/dist/__tests__/source-import-plan.test.js +0 -170
  150. package/dist/__tests__/source-import-plan.test.js.map +0 -1
  151. package/dist/__tests__/source-import-security.test.d.ts +0 -8
  152. package/dist/__tests__/source-import-security.test.d.ts.map +0 -1
  153. package/dist/__tests__/source-import-security.test.js +0 -111
  154. package/dist/__tests__/source-import-security.test.js.map +0 -1
  155. package/dist/__tests__/source-import-skills-source.test.d.ts +0 -11
  156. package/dist/__tests__/source-import-skills-source.test.d.ts.map +0 -1
  157. package/dist/__tests__/source-import-skills-source.test.js +0 -181
  158. package/dist/__tests__/source-import-skills-source.test.js.map +0 -1
  159. package/dist/__tests__/table-renderer.test.d.ts +0 -12
  160. package/dist/__tests__/table-renderer.test.d.ts.map +0 -1
  161. package/dist/__tests__/table-renderer.test.js +0 -86
  162. package/dist/__tests__/table-renderer.test.js.map +0 -1
  163. package/dist/__tests__/worktree.test.d.ts +0 -2
  164. package/dist/__tests__/worktree.test.d.ts.map +0 -1
  165. package/dist/__tests__/worktree.test.js +0 -399
  166. package/dist/__tests__/worktree.test.js.map +0 -1
  167. package/dist/adapters/http/format-event.d.ts +0 -2
  168. package/dist/adapters/http/format-event.d.ts.map +0 -1
  169. package/dist/adapters/http/format-event.js +0 -6
  170. package/dist/adapters/http/format-event.js.map +0 -1
  171. package/dist/adapters/http/index.d.ts +0 -3
  172. package/dist/adapters/http/index.d.ts.map +0 -1
  173. package/dist/adapters/http/index.js +0 -6
  174. package/dist/adapters/http/index.js.map +0 -1
  175. package/dist/adapters/index.d.ts +0 -3
  176. package/dist/adapters/index.d.ts.map +0 -1
  177. package/dist/adapters/index.js +0 -2
  178. package/dist/adapters/index.js.map +0 -1
  179. package/dist/adapters/open-agents/format-event.d.ts +0 -2
  180. package/dist/adapters/open-agents/format-event.d.ts.map +0 -1
  181. package/dist/adapters/open-agents/format-event.js +0 -39
  182. package/dist/adapters/open-agents/format-event.js.map +0 -1
  183. package/dist/adapters/open-agents/index.d.ts +0 -3
  184. package/dist/adapters/open-agents/index.d.ts.map +0 -1
  185. package/dist/adapters/open-agents/index.js +0 -6
  186. package/dist/adapters/open-agents/index.js.map +0 -1
  187. package/dist/adapters/process/format-event.d.ts +0 -2
  188. package/dist/adapters/process/format-event.d.ts.map +0 -1
  189. package/dist/adapters/process/format-event.js +0 -6
  190. package/dist/adapters/process/format-event.js.map +0 -1
  191. package/dist/adapters/process/index.d.ts +0 -3
  192. package/dist/adapters/process/index.d.ts.map +0 -1
  193. package/dist/adapters/process/index.js +0 -6
  194. package/dist/adapters/process/index.js.map +0 -1
  195. package/dist/adapters/qwen/format-event.d.ts +0 -8
  196. package/dist/adapters/qwen/format-event.d.ts.map +0 -1
  197. package/dist/adapters/qwen/format-event.js +0 -28
  198. package/dist/adapters/qwen/format-event.js.map +0 -1
  199. package/dist/adapters/qwen/index.d.ts +0 -3
  200. package/dist/adapters/qwen/index.d.ts.map +0 -1
  201. package/dist/adapters/qwen/index.js +0 -6
  202. package/dist/adapters/qwen/index.js.map +0 -1
  203. package/dist/adapters/registry.d.ts +0 -3
  204. package/dist/adapters/registry.d.ts.map +0 -1
  205. package/dist/adapters/registry.js +0 -56
  206. package/dist/adapters/registry.js.map +0 -1
  207. package/dist/auth/effective-profile.d.ts +0 -61
  208. package/dist/auth/effective-profile.d.ts.map +0 -1
  209. package/dist/auth/effective-profile.js +0 -127
  210. package/dist/auth/effective-profile.js.map +0 -1
  211. package/dist/auth/hosted-client.d.ts +0 -107
  212. package/dist/auth/hosted-client.d.ts.map +0 -1
  213. package/dist/auth/hosted-client.js +0 -140
  214. package/dist/auth/hosted-client.js.map +0 -1
  215. package/dist/auth/hosted-integrations.d.ts +0 -33
  216. package/dist/auth/hosted-integrations.d.ts.map +0 -1
  217. package/dist/auth/hosted-integrations.js +0 -51
  218. package/dist/auth/hosted-integrations.js.map +0 -1
  219. package/dist/auth/login-flow.d.ts +0 -27
  220. package/dist/auth/login-flow.d.ts.map +0 -1
  221. package/dist/auth/login-flow.js +0 -212
  222. package/dist/auth/login-flow.js.map +0 -1
  223. package/dist/auth/overlay-store.d.ts +0 -52
  224. package/dist/auth/overlay-store.d.ts.map +0 -1
  225. package/dist/auth/overlay-store.js +0 -123
  226. package/dist/auth/overlay-store.js.map +0 -1
  227. package/dist/auth/paths.d.ts +0 -15
  228. package/dist/auth/paths.d.ts.map +0 -1
  229. package/dist/auth/paths.js +0 -27
  230. package/dist/auth/paths.js.map +0 -1
  231. package/dist/auth/session-store.d.ts +0 -35
  232. package/dist/auth/session-store.d.ts.map +0 -1
  233. package/dist/auth/session-store.js +0 -73
  234. package/dist/auth/session-store.js.map +0 -1
  235. package/dist/auth/workflow-access.d.ts +0 -7
  236. package/dist/auth/workflow-access.d.ts.map +0 -1
  237. package/dist/auth/workflow-access.js +0 -27
  238. package/dist/auth/workflow-access.js.map +0 -1
  239. package/dist/checks/agent-jwt-secret-check.d.ts +0 -3
  240. package/dist/checks/agent-jwt-secret-check.d.ts.map +0 -1
  241. package/dist/checks/agent-jwt-secret-check.js +0 -31
  242. package/dist/checks/agent-jwt-secret-check.js.map +0 -1
  243. package/dist/checks/config-check.d.ts +0 -3
  244. package/dist/checks/config-check.d.ts.map +0 -1
  245. package/dist/checks/config-check.js +0 -31
  246. package/dist/checks/config-check.js.map +0 -1
  247. package/dist/checks/database-check.d.ts +0 -4
  248. package/dist/checks/database-check.d.ts.map +0 -1
  249. package/dist/checks/database-check.js +0 -54
  250. package/dist/checks/database-check.js.map +0 -1
  251. package/dist/checks/deployment-auth-check.d.ts +0 -4
  252. package/dist/checks/deployment-auth-check.d.ts.map +0 -1
  253. package/dist/checks/deployment-auth-check.js +0 -83
  254. package/dist/checks/deployment-auth-check.js.map +0 -1
  255. package/dist/checks/index.d.ts +0 -18
  256. package/dist/checks/index.d.ts.map +0 -1
  257. package/dist/checks/index.js +0 -10
  258. package/dist/checks/index.js.map +0 -1
  259. package/dist/checks/llm-check.d.ts +0 -4
  260. package/dist/checks/llm-check.d.ts.map +0 -1
  261. package/dist/checks/llm-check.js +0 -80
  262. package/dist/checks/llm-check.js.map +0 -1
  263. package/dist/checks/log-check.d.ts +0 -4
  264. package/dist/checks/log-check.d.ts.map +0 -1
  265. package/dist/checks/log-check.js +0 -27
  266. package/dist/checks/log-check.js.map +0 -1
  267. package/dist/checks/path-resolver.d.ts +0 -2
  268. package/dist/checks/path-resolver.d.ts.map +0 -1
  269. package/dist/checks/path-resolver.js +0 -2
  270. package/dist/checks/path-resolver.js.map +0 -1
  271. package/dist/checks/port-check.d.ts +0 -4
  272. package/dist/checks/port-check.d.ts.map +0 -1
  273. package/dist/checks/port-check.js +0 -20
  274. package/dist/checks/port-check.js.map +0 -1
  275. package/dist/checks/secrets-check.d.ts +0 -4
  276. package/dist/checks/secrets-check.d.ts.map +0 -1
  277. package/dist/checks/secrets-check.js +0 -123
  278. package/dist/checks/secrets-check.js.map +0 -1
  279. package/dist/checks/storage-check.d.ts +0 -4
  280. package/dist/checks/storage-check.d.ts.map +0 -1
  281. package/dist/checks/storage-check.js +0 -46
  282. package/dist/checks/storage-check.js.map +0 -1
  283. package/dist/client/context.d.ts +0 -21
  284. package/dist/client/context.d.ts.map +0 -1
  285. package/dist/client/context.js +0 -136
  286. package/dist/client/context.js.map +0 -1
  287. package/dist/client/http.d.ts +0 -29
  288. package/dist/client/http.d.ts.map +0 -1
  289. package/dist/client/http.js +0 -120
  290. package/dist/client/http.js.map +0 -1
  291. package/dist/commands/allowed-hostname.d.ts +0 -4
  292. package/dist/commands/allowed-hostname.d.ts.map +0 -1
  293. package/dist/commands/allowed-hostname.js +0 -31
  294. package/dist/commands/allowed-hostname.js.map +0 -1
  295. package/dist/commands/artifact.d.ts +0 -12
  296. package/dist/commands/artifact.d.ts.map +0 -1
  297. package/dist/commands/artifact.js +0 -167
  298. package/dist/commands/artifact.js.map +0 -1
  299. package/dist/commands/auth-bootstrap-ceo.d.ts +0 -8
  300. package/dist/commands/auth-bootstrap-ceo.d.ts.map +0 -1
  301. package/dist/commands/auth-bootstrap-ceo.js +0 -108
  302. package/dist/commands/auth-bootstrap-ceo.js.map +0 -1
  303. package/dist/commands/auth-login.d.ts +0 -24
  304. package/dist/commands/auth-login.d.ts.map +0 -1
  305. package/dist/commands/auth-login.js +0 -270
  306. package/dist/commands/auth-login.js.map +0 -1
  307. package/dist/commands/capability.d.ts +0 -15
  308. package/dist/commands/capability.d.ts.map +0 -1
  309. package/dist/commands/capability.js +0 -366
  310. package/dist/commands/capability.js.map +0 -1
  311. package/dist/commands/client/activity.d.ts +0 -3
  312. package/dist/commands/client/activity.d.ts.map +0 -1
  313. package/dist/commands/client/activity.js +0 -49
  314. package/dist/commands/client/activity.js.map +0 -1
  315. package/dist/commands/client/agent.d.ts +0 -3
  316. package/dist/commands/client/agent.d.ts.map +0 -1
  317. package/dist/commands/client/agent.js +0 -224
  318. package/dist/commands/client/agent.js.map +0 -1
  319. package/dist/commands/client/approval.d.ts +0 -3
  320. package/dist/commands/client/approval.d.ts.map +0 -1
  321. package/dist/commands/client/approval.js +0 -193
  322. package/dist/commands/client/approval.js.map +0 -1
  323. package/dist/commands/client/common.d.ts +0 -33
  324. package/dist/commands/client/common.d.ts.map +0 -1
  325. package/dist/commands/client/common.js +0 -140
  326. package/dist/commands/client/common.js.map +0 -1
  327. package/dist/commands/client/company.d.ts +0 -14
  328. package/dist/commands/client/company.d.ts.map +0 -1
  329. package/dist/commands/client/company.js +0 -346
  330. package/dist/commands/client/company.js.map +0 -1
  331. package/dist/commands/client/context.d.ts +0 -3
  332. package/dist/commands/client/context.d.ts.map +0 -1
  333. package/dist/commands/client/context.js +0 -92
  334. package/dist/commands/client/context.js.map +0 -1
  335. package/dist/commands/client/dashboard.d.ts +0 -3
  336. package/dist/commands/client/dashboard.d.ts.map +0 -1
  337. package/dist/commands/client/dashboard.js +0 -19
  338. package/dist/commands/client/dashboard.js.map +0 -1
  339. package/dist/commands/client/issue.d.ts +0 -3
  340. package/dist/commands/client/issue.d.ts.map +0 -1
  341. package/dist/commands/client/issue.js +0 -229
  342. package/dist/commands/client/issue.js.map +0 -1
  343. package/dist/commands/client/plugin.d.ts +0 -3
  344. package/dist/commands/client/plugin.d.ts.map +0 -1
  345. package/dist/commands/client/plugin.js +0 -252
  346. package/dist/commands/client/plugin.js.map +0 -1
  347. package/dist/commands/configure.d.ts +0 -5
  348. package/dist/commands/configure.d.ts.map +0 -1
  349. package/dist/commands/configure.js +0 -167
  350. package/dist/commands/configure.js.map +0 -1
  351. package/dist/commands/db-backup.d.ts +0 -10
  352. package/dist/commands/db-backup.d.ts.map +0 -1
  353. package/dist/commands/db-backup.js +0 -74
  354. package/dist/commands/db-backup.js.map +0 -1
  355. package/dist/commands/doctor.d.ts +0 -10
  356. package/dist/commands/doctor.d.ts.map +0 -1
  357. package/dist/commands/doctor.js +0 -154
  358. package/dist/commands/doctor.js.map +0 -1
  359. package/dist/commands/env.d.ts +0 -4
  360. package/dist/commands/env.d.ts.map +0 -1
  361. package/dist/commands/env.js +0 -355
  362. package/dist/commands/env.js.map +0 -1
  363. package/dist/commands/fleet.d.ts +0 -39
  364. package/dist/commands/fleet.d.ts.map +0 -1
  365. package/dist/commands/fleet.js +0 -281
  366. package/dist/commands/fleet.js.map +0 -1
  367. package/dist/commands/github.d.ts +0 -29
  368. package/dist/commands/github.d.ts.map +0 -1
  369. package/dist/commands/github.js +0 -205
  370. package/dist/commands/github.js.map +0 -1
  371. package/dist/commands/gtm.d.ts +0 -3
  372. package/dist/commands/gtm.d.ts.map +0 -1
  373. package/dist/commands/gtm.js +0 -134
  374. package/dist/commands/gtm.js.map +0 -1
  375. package/dist/commands/heartbeat-run.d.ts +0 -16
  376. package/dist/commands/heartbeat-run.d.ts.map +0 -1
  377. package/dist/commands/heartbeat-run.js +0 -294
  378. package/dist/commands/heartbeat-run.js.map +0 -1
  379. package/dist/commands/integrations.d.ts +0 -20
  380. package/dist/commands/integrations.d.ts.map +0 -1
  381. package/dist/commands/integrations.js +0 -98
  382. package/dist/commands/integrations.js.map +0 -1
  383. package/dist/commands/kit-fork-remote.d.ts +0 -46
  384. package/dist/commands/kit-fork-remote.d.ts.map +0 -1
  385. package/dist/commands/kit-fork-remote.js +0 -489
  386. package/dist/commands/kit-fork-remote.js.map +0 -1
  387. package/dist/commands/kit-fork.d.ts +0 -39
  388. package/dist/commands/kit-fork.d.ts.map +0 -1
  389. package/dist/commands/kit-fork.js +0 -1338
  390. package/dist/commands/kit-fork.js.map +0 -1
  391. package/dist/commands/kit.d.ts +0 -7
  392. package/dist/commands/kit.d.ts.map +0 -1
  393. package/dist/commands/kit.js +0 -585
  394. package/dist/commands/kit.js.map +0 -1
  395. package/dist/commands/onboard.d.ts +0 -9
  396. package/dist/commands/onboard.d.ts.map +0 -1
  397. package/dist/commands/onboard.js +0 -425
  398. package/dist/commands/onboard.js.map +0 -1
  399. package/dist/commands/open-agents.d.ts +0 -19
  400. package/dist/commands/open-agents.d.ts.map +0 -1
  401. package/dist/commands/open-agents.js +0 -689
  402. package/dist/commands/open-agents.js.map +0 -1
  403. package/dist/commands/pipeline.d.ts +0 -20
  404. package/dist/commands/pipeline.d.ts.map +0 -1
  405. package/dist/commands/pipeline.js +0 -863
  406. package/dist/commands/pipeline.js.map +0 -1
  407. package/dist/commands/profile.d.ts +0 -3
  408. package/dist/commands/profile.d.ts.map +0 -1
  409. package/dist/commands/profile.js +0 -282
  410. package/dist/commands/profile.js.map +0 -1
  411. package/dist/commands/qwen-code.d.ts +0 -19
  412. package/dist/commands/qwen-code.d.ts.map +0 -1
  413. package/dist/commands/qwen-code.js +0 -286
  414. package/dist/commands/qwen-code.js.map +0 -1
  415. package/dist/commands/run.d.ts +0 -9
  416. package/dist/commands/run.d.ts.map +0 -1
  417. package/dist/commands/run.js +0 -156
  418. package/dist/commands/run.js.map +0 -1
  419. package/dist/commands/source-import-discovery.d.ts +0 -28
  420. package/dist/commands/source-import-discovery.d.ts.map +0 -1
  421. package/dist/commands/source-import-discovery.js +0 -327
  422. package/dist/commands/source-import-discovery.js.map +0 -1
  423. package/dist/commands/starter.d.ts +0 -27
  424. package/dist/commands/starter.d.ts.map +0 -1
  425. package/dist/commands/starter.js +0 -358
  426. package/dist/commands/starter.js.map +0 -1
  427. package/dist/commands/status.d.ts +0 -18
  428. package/dist/commands/status.d.ts.map +0 -1
  429. package/dist/commands/status.js +0 -84
  430. package/dist/commands/status.js.map +0 -1
  431. package/dist/commands/template.d.ts +0 -18
  432. package/dist/commands/template.d.ts.map +0 -1
  433. package/dist/commands/template.js +0 -341
  434. package/dist/commands/template.js.map +0 -1
  435. package/dist/commands/workflow.d.ts +0 -24
  436. package/dist/commands/workflow.d.ts.map +0 -1
  437. package/dist/commands/workflow.js +0 -1350
  438. package/dist/commands/workflow.js.map +0 -1
  439. package/dist/commands/worktree-lib.d.ts +0 -49
  440. package/dist/commands/worktree-lib.d.ts.map +0 -1
  441. package/dist/commands/worktree-lib.js +0 -220
  442. package/dist/commands/worktree-lib.js.map +0 -1
  443. package/dist/commands/worktree.d.ts +0 -60
  444. package/dist/commands/worktree.d.ts.map +0 -1
  445. package/dist/commands/worktree.js +0 -874
  446. package/dist/commands/worktree.js.map +0 -1
  447. package/dist/config/data-dir.d.ts +0 -12
  448. package/dist/config/data-dir.d.ts.map +0 -1
  449. package/dist/config/data-dir.js +0 -25
  450. package/dist/config/data-dir.js.map +0 -1
  451. package/dist/config/env.d.ts +0 -15
  452. package/dist/config/env.d.ts.map +0 -1
  453. package/dist/config/env.js +0 -105
  454. package/dist/config/env.js.map +0 -1
  455. package/dist/config/github-home.d.ts +0 -17
  456. package/dist/config/github-home.d.ts.map +0 -1
  457. package/dist/config/github-home.js +0 -29
  458. package/dist/config/github-home.js.map +0 -1
  459. package/dist/config/home.d.ts +0 -23
  460. package/dist/config/home.d.ts.map +0 -1
  461. package/dist/config/home.js +0 -65
  462. package/dist/config/home.js.map +0 -1
  463. package/dist/config/hostnames.d.ts +0 -3
  464. package/dist/config/hostnames.d.ts.map +0 -1
  465. package/dist/config/hostnames.js +0 -27
  466. package/dist/config/hostnames.js.map +0 -1
  467. package/dist/config/kit-forks-home.d.ts +0 -26
  468. package/dist/config/kit-forks-home.d.ts.map +0 -1
  469. package/dist/config/kit-forks-home.js +0 -44
  470. package/dist/config/kit-forks-home.js.map +0 -1
  471. package/dist/config/schema.d.ts +0 -2
  472. package/dist/config/schema.d.ts.map +0 -1
  473. package/dist/config/schema.js +0 -2
  474. package/dist/config/schema.js.map +0 -1
  475. package/dist/config/secrets-key.d.ts +0 -16
  476. package/dist/config/secrets-key.d.ts.map +0 -1
  477. package/dist/config/secrets-key.js +0 -34
  478. package/dist/config/secrets-key.js.map +0 -1
  479. package/dist/config/store.d.ts +0 -6
  480. package/dist/config/store.d.ts.map +0 -1
  481. package/dist/config/store.js +0 -102
  482. package/dist/config/store.js.map +0 -1
  483. package/dist/fleet/agent-plan.d.ts +0 -20
  484. package/dist/fleet/agent-plan.d.ts.map +0 -1
  485. package/dist/fleet/agent-plan.js +0 -61
  486. package/dist/fleet/agent-plan.js.map +0 -1
  487. package/dist/fleet/approvals.d.ts +0 -10
  488. package/dist/fleet/approvals.d.ts.map +0 -1
  489. package/dist/fleet/approvals.js +0 -33
  490. package/dist/fleet/approvals.js.map +0 -1
  491. package/dist/fleet/drift-summary.d.ts +0 -13
  492. package/dist/fleet/drift-summary.d.ts.map +0 -1
  493. package/dist/fleet/drift-summary.js +0 -120
  494. package/dist/fleet/drift-summary.js.map +0 -1
  495. package/dist/fleet/summary.d.ts +0 -9
  496. package/dist/fleet/summary.d.ts.map +0 -1
  497. package/dist/fleet/summary.js +0 -161
  498. package/dist/fleet/summary.js.map +0 -1
  499. package/dist/fleet/types.d.ts +0 -149
  500. package/dist/fleet/types.d.ts.map +0 -1
  501. package/dist/fleet/types.js +0 -12
  502. package/dist/fleet/types.js.map +0 -1
  503. package/dist/github/client.d.ts +0 -42
  504. package/dist/github/client.d.ts.map +0 -1
  505. package/dist/github/client.js +0 -174
  506. package/dist/github/client.js.map +0 -1
  507. package/dist/github/token-store.d.ts +0 -11
  508. package/dist/github/token-store.d.ts.map +0 -1
  509. package/dist/github/token-store.js +0 -74
  510. package/dist/github/token-store.js.map +0 -1
  511. package/dist/github/types.d.ts +0 -69
  512. package/dist/github/types.d.ts.map +0 -1
  513. package/dist/github/types.js +0 -8
  514. package/dist/github/types.js.map +0 -1
  515. package/dist/index.d.ts +0 -3
  516. package/dist/index.d.ts.map +0 -1
  517. package/dist/index.js.map +0 -1
  518. package/dist/integrations/bridge.d.ts +0 -43
  519. package/dist/integrations/bridge.d.ts.map +0 -1
  520. package/dist/integrations/bridge.js +0 -148
  521. package/dist/integrations/bridge.js.map +0 -1
  522. package/dist/integrations/github-resolver.d.ts +0 -31
  523. package/dist/integrations/github-resolver.d.ts.map +0 -1
  524. package/dist/integrations/github-resolver.js +0 -44
  525. package/dist/integrations/github-resolver.js.map +0 -1
  526. package/dist/integrations/types.d.ts +0 -46
  527. package/dist/integrations/types.d.ts.map +0 -1
  528. package/dist/integrations/types.js +0 -11
  529. package/dist/integrations/types.js.map +0 -1
  530. package/dist/kits/catalog.d.ts +0 -12
  531. package/dist/kits/catalog.d.ts.map +0 -1
  532. package/dist/kits/catalog.js +0 -93
  533. package/dist/kits/catalog.js.map +0 -1
  534. package/dist/kits/contract.d.ts +0 -153
  535. package/dist/kits/contract.d.ts.map +0 -1
  536. package/dist/kits/contract.js +0 -89
  537. package/dist/kits/contract.js.map +0 -1
  538. package/dist/kits/core/adapter-core/contracts.d.ts +0 -108
  539. package/dist/kits/core/adapter-core/contracts.d.ts.map +0 -1
  540. package/dist/kits/core/adapter-core/contracts.js +0 -17
  541. package/dist/kits/core/adapter-core/contracts.js.map +0 -1
  542. package/dist/kits/core/adapter-core/env-gate.d.ts +0 -29
  543. package/dist/kits/core/adapter-core/env-gate.d.ts.map +0 -1
  544. package/dist/kits/core/adapter-core/env-gate.js +0 -143
  545. package/dist/kits/core/adapter-core/env-gate.js.map +0 -1
  546. package/dist/kits/core/adapter-core/fork-inspector.d.ts +0 -42
  547. package/dist/kits/core/adapter-core/fork-inspector.d.ts.map +0 -1
  548. package/dist/kits/core/adapter-core/fork-inspector.js +0 -141
  549. package/dist/kits/core/adapter-core/fork-inspector.js.map +0 -1
  550. package/dist/kits/core/adapter-core/index.d.ts +0 -20
  551. package/dist/kits/core/adapter-core/index.d.ts.map +0 -1
  552. package/dist/kits/core/adapter-core/index.js +0 -13
  553. package/dist/kits/core/adapter-core/index.js.map +0 -1
  554. package/dist/kits/core/adapter-core/output-contract.d.ts +0 -25
  555. package/dist/kits/core/adapter-core/output-contract.d.ts.map +0 -1
  556. package/dist/kits/core/adapter-core/output-contract.js +0 -114
  557. package/dist/kits/core/adapter-core/output-contract.js.map +0 -1
  558. package/dist/kits/core/adapter-core/provider-adapter.d.ts +0 -26
  559. package/dist/kits/core/adapter-core/provider-adapter.d.ts.map +0 -1
  560. package/dist/kits/core/adapter-core/provider-adapter.js +0 -119
  561. package/dist/kits/core/adapter-core/provider-adapter.js.map +0 -1
  562. package/dist/kits/core/adapter-core/runtime-surface.d.ts +0 -25
  563. package/dist/kits/core/adapter-core/runtime-surface.d.ts.map +0 -1
  564. package/dist/kits/core/adapter-core/runtime-surface.js +0 -100
  565. package/dist/kits/core/adapter-core/runtime-surface.js.map +0 -1
  566. package/dist/kits/core/adapter-core/setup-validation.d.ts +0 -28
  567. package/dist/kits/core/adapter-core/setup-validation.d.ts.map +0 -1
  568. package/dist/kits/core/adapter-core/setup-validation.js +0 -145
  569. package/dist/kits/core/adapter-core/setup-validation.js.map +0 -1
  570. package/dist/kits/core/factory/index.d.ts +0 -25
  571. package/dist/kits/core/factory/index.d.ts.map +0 -1
  572. package/dist/kits/core/factory/index.js +0 -21
  573. package/dist/kits/core/factory/index.js.map +0 -1
  574. package/dist/kits/core/factory/operator-kit.d.ts +0 -50
  575. package/dist/kits/core/factory/operator-kit.d.ts.map +0 -1
  576. package/dist/kits/core/factory/operator-kit.js +0 -88
  577. package/dist/kits/core/factory/operator-kit.js.map +0 -1
  578. package/dist/kits/core/factory/ops-kit.d.ts +0 -57
  579. package/dist/kits/core/factory/ops-kit.d.ts.map +0 -1
  580. package/dist/kits/core/factory/ops-kit.js +0 -115
  581. package/dist/kits/core/factory/ops-kit.js.map +0 -1
  582. package/dist/kits/core/factory/studio-kit.d.ts +0 -39
  583. package/dist/kits/core/factory/studio-kit.d.ts.map +0 -1
  584. package/dist/kits/core/factory/studio-kit.js +0 -96
  585. package/dist/kits/core/factory/studio-kit.js.map +0 -1
  586. package/dist/kits/core/factory/workflow-kit.d.ts +0 -57
  587. package/dist/kits/core/factory/workflow-kit.d.ts.map +0 -1
  588. package/dist/kits/core/factory/workflow-kit.js +0 -107
  589. package/dist/kits/core/factory/workflow-kit.js.map +0 -1
  590. package/dist/kits/core/index.d.ts +0 -25
  591. package/dist/kits/core/index.d.ts.map +0 -1
  592. package/dist/kits/core/index.js +0 -111
  593. package/dist/kits/core/index.js.map +0 -1
  594. package/dist/kits/core/types/index.d.ts +0 -65
  595. package/dist/kits/core/types/index.d.ts.map +0 -1
  596. package/dist/kits/core/types/index.js +0 -49
  597. package/dist/kits/core/types/index.js.map +0 -1
  598. package/dist/kits/core/validation/index.d.ts +0 -42
  599. package/dist/kits/core/validation/index.d.ts.map +0 -1
  600. package/dist/kits/core/validation/index.js +0 -128
  601. package/dist/kits/core/validation/index.js.map +0 -1
  602. package/dist/kits/fork-policy.d.ts +0 -78
  603. package/dist/kits/fork-policy.d.ts.map +0 -1
  604. package/dist/kits/fork-policy.js +0 -92
  605. package/dist/kits/fork-policy.js.map +0 -1
  606. package/dist/kits/fork-registry.d.ts +0 -54
  607. package/dist/kits/fork-registry.d.ts.map +0 -1
  608. package/dist/kits/fork-registry.js +0 -201
  609. package/dist/kits/fork-registry.js.map +0 -1
  610. package/dist/kits/fork-remote.d.ts +0 -52
  611. package/dist/kits/fork-remote.d.ts.map +0 -1
  612. package/dist/kits/fork-remote.js +0 -116
  613. package/dist/kits/fork-remote.js.map +0 -1
  614. package/dist/kits/fork-sync-agent.d.ts +0 -51
  615. package/dist/kits/fork-sync-agent.d.ts.map +0 -1
  616. package/dist/kits/fork-sync-agent.js +0 -435
  617. package/dist/kits/fork-sync-agent.js.map +0 -1
  618. package/dist/kits/fork-sync.d.ts +0 -32
  619. package/dist/kits/fork-sync.d.ts.map +0 -1
  620. package/dist/kits/fork-sync.js +0 -590
  621. package/dist/kits/fork-sync.js.map +0 -1
  622. package/dist/kits/fork-trace.d.ts +0 -29
  623. package/dist/kits/fork-trace.d.ts.map +0 -1
  624. package/dist/kits/fork-trace.js +0 -54
  625. package/dist/kits/fork-trace.js.map +0 -1
  626. package/dist/kits/fork-types.d.ts +0 -198
  627. package/dist/kits/fork-types.d.ts.map +0 -1
  628. package/dist/kits/fork-types.js +0 -16
  629. package/dist/kits/fork-types.js.map +0 -1
  630. package/dist/kits/service.d.ts +0 -63
  631. package/dist/kits/service.d.ts.map +0 -1
  632. package/dist/kits/service.js +0 -630
  633. package/dist/kits/service.js.map +0 -1
  634. package/dist/prompts/database.d.ts +0 -3
  635. package/dist/prompts/database.d.ts.map +0 -1
  636. package/dist/prompts/database.js +0 -144
  637. package/dist/prompts/database.js.map +0 -1
  638. package/dist/prompts/llm.d.ts +0 -3
  639. package/dist/prompts/llm.d.ts.map +0 -1
  640. package/dist/prompts/llm.js +0 -37
  641. package/dist/prompts/llm.js.map +0 -1
  642. package/dist/prompts/logging.d.ts +0 -3
  643. package/dist/prompts/logging.d.ts.map +0 -1
  644. package/dist/prompts/logging.js +0 -31
  645. package/dist/prompts/logging.js.map +0 -1
  646. package/dist/prompts/secrets.d.ts +0 -4
  647. package/dist/prompts/secrets.d.ts.map +0 -1
  648. package/dist/prompts/secrets.js +0 -85
  649. package/dist/prompts/secrets.js.map +0 -1
  650. package/dist/prompts/server.d.ts +0 -9
  651. package/dist/prompts/server.d.ts.map +0 -1
  652. package/dist/prompts/server.js +0 -154
  653. package/dist/prompts/server.js.map +0 -1
  654. package/dist/prompts/storage.d.ts +0 -4
  655. package/dist/prompts/storage.d.ts.map +0 -1
  656. package/dist/prompts/storage.js +0 -129
  657. package/dist/prompts/storage.js.map +0 -1
  658. package/dist/runtime/agent-harness/auth-store.d.ts +0 -8
  659. package/dist/runtime/agent-harness/auth-store.d.ts.map +0 -1
  660. package/dist/runtime/agent-harness/auth-store.js +0 -92
  661. package/dist/runtime/agent-harness/auth-store.js.map +0 -1
  662. package/dist/runtime/artifact-contracts/index.d.ts +0 -47
  663. package/dist/runtime/artifact-contracts/index.d.ts.map +0 -1
  664. package/dist/runtime/artifact-contracts/index.js +0 -153
  665. package/dist/runtime/artifact-contracts/index.js.map +0 -1
  666. package/dist/runtime/artifact-contracts/types.d.ts +0 -82
  667. package/dist/runtime/artifact-contracts/types.d.ts.map +0 -1
  668. package/dist/runtime/artifact-contracts/types.js +0 -16
  669. package/dist/runtime/artifact-contracts/types.js.map +0 -1
  670. package/dist/runtime/cms-capability-registry/index.d.ts +0 -30
  671. package/dist/runtime/cms-capability-registry/index.d.ts.map +0 -1
  672. package/dist/runtime/cms-capability-registry/index.js +0 -183
  673. package/dist/runtime/cms-capability-registry/index.js.map +0 -1
  674. package/dist/runtime/cms-capability-registry/types.d.ts +0 -109
  675. package/dist/runtime/cms-capability-registry/types.d.ts.map +0 -1
  676. package/dist/runtime/cms-capability-registry/types.js +0 -19
  677. package/dist/runtime/cms-capability-registry/types.js.map +0 -1
  678. package/dist/runtime/cms-node-contracts/compile.d.ts +0 -6
  679. package/dist/runtime/cms-node-contracts/compile.d.ts.map +0 -1
  680. package/dist/runtime/cms-node-contracts/compile.js +0 -57
  681. package/dist/runtime/cms-node-contracts/compile.js.map +0 -1
  682. package/dist/runtime/cms-node-contracts/index.d.ts +0 -6
  683. package/dist/runtime/cms-node-contracts/index.d.ts.map +0 -1
  684. package/dist/runtime/cms-node-contracts/index.js +0 -5
  685. package/dist/runtime/cms-node-contracts/index.js.map +0 -1
  686. package/dist/runtime/cms-node-contracts/introspect.d.ts +0 -5
  687. package/dist/runtime/cms-node-contracts/introspect.d.ts.map +0 -1
  688. package/dist/runtime/cms-node-contracts/introspect.js +0 -61
  689. package/dist/runtime/cms-node-contracts/introspect.js.map +0 -1
  690. package/dist/runtime/cms-node-contracts/normalize.d.ts +0 -5
  691. package/dist/runtime/cms-node-contracts/normalize.d.ts.map +0 -1
  692. package/dist/runtime/cms-node-contracts/normalize.js +0 -112
  693. package/dist/runtime/cms-node-contracts/normalize.js.map +0 -1
  694. package/dist/runtime/cms-node-contracts/presenter.d.ts +0 -9
  695. package/dist/runtime/cms-node-contracts/presenter.d.ts.map +0 -1
  696. package/dist/runtime/cms-node-contracts/presenter.js +0 -117
  697. package/dist/runtime/cms-node-contracts/presenter.js.map +0 -1
  698. package/dist/runtime/cms-node-contracts/types.d.ts +0 -76
  699. package/dist/runtime/cms-node-contracts/types.d.ts.map +0 -1
  700. package/dist/runtime/cms-node-contracts/types.js +0 -2
  701. package/dist/runtime/cms-node-contracts/types.js.map +0 -1
  702. package/dist/runtime/dynamic-registry-pipeline/index.d.ts +0 -41
  703. package/dist/runtime/dynamic-registry-pipeline/index.d.ts.map +0 -1
  704. package/dist/runtime/dynamic-registry-pipeline/index.js +0 -224
  705. package/dist/runtime/dynamic-registry-pipeline/index.js.map +0 -1
  706. package/dist/runtime/dynamic-registry-pipeline/types.d.ts +0 -61
  707. package/dist/runtime/dynamic-registry-pipeline/types.d.ts.map +0 -1
  708. package/dist/runtime/dynamic-registry-pipeline/types.js +0 -14
  709. package/dist/runtime/dynamic-registry-pipeline/types.js.map +0 -1
  710. package/dist/runtime/hosted-execution-client/index.d.ts +0 -45
  711. package/dist/runtime/hosted-execution-client/index.d.ts.map +0 -1
  712. package/dist/runtime/hosted-execution-client/index.js +0 -527
  713. package/dist/runtime/hosted-execution-client/index.js.map +0 -1
  714. package/dist/runtime/hosted-execution-client/types.d.ts +0 -125
  715. package/dist/runtime/hosted-execution-client/types.d.ts.map +0 -1
  716. package/dist/runtime/hosted-execution-client/types.js +0 -9
  717. package/dist/runtime/hosted-execution-client/types.js.map +0 -1
  718. package/dist/runtime/index.d.ts +0 -24
  719. package/dist/runtime/index.d.ts.map +0 -1
  720. package/dist/runtime/index.js +0 -24
  721. package/dist/runtime/index.js.map +0 -1
  722. package/dist/runtime/machine-capability-resolver/index.d.ts +0 -32
  723. package/dist/runtime/machine-capability-resolver/index.d.ts.map +0 -1
  724. package/dist/runtime/machine-capability-resolver/index.js +0 -131
  725. package/dist/runtime/machine-capability-resolver/index.js.map +0 -1
  726. package/dist/runtime/machine-capability-resolver/types.d.ts +0 -46
  727. package/dist/runtime/machine-capability-resolver/types.d.ts.map +0 -1
  728. package/dist/runtime/machine-capability-resolver/types.js +0 -13
  729. package/dist/runtime/machine-capability-resolver/types.js.map +0 -1
  730. package/dist/runtime/native-intelligence/contract.d.ts +0 -174
  731. package/dist/runtime/native-intelligence/contract.d.ts.map +0 -1
  732. package/dist/runtime/native-intelligence/contract.js +0 -23
  733. package/dist/runtime/native-intelligence/contract.js.map +0 -1
  734. package/dist/runtime/native-intelligence/index.d.ts +0 -38
  735. package/dist/runtime/native-intelligence/index.d.ts.map +0 -1
  736. package/dist/runtime/native-intelligence/index.js +0 -121
  737. package/dist/runtime/native-intelligence/index.js.map +0 -1
  738. package/dist/runtime/native-intelligence/normalizer.d.ts +0 -22
  739. package/dist/runtime/native-intelligence/normalizer.d.ts.map +0 -1
  740. package/dist/runtime/native-intelligence/normalizer.js +0 -307
  741. package/dist/runtime/native-intelligence/normalizer.js.map +0 -1
  742. package/dist/runtime/native-intelligence/planner.d.ts +0 -22
  743. package/dist/runtime/native-intelligence/planner.d.ts.map +0 -1
  744. package/dist/runtime/native-intelligence/planner.js +0 -312
  745. package/dist/runtime/native-intelligence/planner.js.map +0 -1
  746. package/dist/runtime/native-intelligence/provider.d.ts +0 -27
  747. package/dist/runtime/native-intelligence/provider.d.ts.map +0 -1
  748. package/dist/runtime/native-intelligence/provider.js +0 -221
  749. package/dist/runtime/native-intelligence/provider.js.map +0 -1
  750. package/dist/runtime/native-intelligence/recommender.d.ts +0 -23
  751. package/dist/runtime/native-intelligence/recommender.d.ts.map +0 -1
  752. package/dist/runtime/native-intelligence/recommender.js +0 -299
  753. package/dist/runtime/native-intelligence/recommender.js.map +0 -1
  754. package/dist/runtime/native-intelligence/summarizer.d.ts +0 -22
  755. package/dist/runtime/native-intelligence/summarizer.d.ts.map +0 -1
  756. package/dist/runtime/native-intelligence/summarizer.js +0 -228
  757. package/dist/runtime/native-intelligence/summarizer.js.map +0 -1
  758. package/dist/runtime/open-agents/contract.d.ts +0 -58
  759. package/dist/runtime/open-agents/contract.d.ts.map +0 -1
  760. package/dist/runtime/open-agents/contract.js +0 -26
  761. package/dist/runtime/open-agents/contract.js.map +0 -1
  762. package/dist/runtime/open-agents/index.d.ts +0 -15
  763. package/dist/runtime/open-agents/index.d.ts.map +0 -1
  764. package/dist/runtime/open-agents/index.js +0 -72
  765. package/dist/runtime/open-agents/index.js.map +0 -1
  766. package/dist/runtime/open-agents/provider.d.ts +0 -32
  767. package/dist/runtime/open-agents/provider.d.ts.map +0 -1
  768. package/dist/runtime/open-agents/provider.js +0 -190
  769. package/dist/runtime/open-agents/provider.js.map +0 -1
  770. package/dist/runtime/qwen-code/contract.d.ts +0 -79
  771. package/dist/runtime/qwen-code/contract.d.ts.map +0 -1
  772. package/dist/runtime/qwen-code/contract.js +0 -40
  773. package/dist/runtime/qwen-code/contract.js.map +0 -1
  774. package/dist/runtime/qwen-code/health.d.ts +0 -11
  775. package/dist/runtime/qwen-code/health.d.ts.map +0 -1
  776. package/dist/runtime/qwen-code/health.js +0 -111
  777. package/dist/runtime/qwen-code/health.js.map +0 -1
  778. package/dist/runtime/qwen-code/index.d.ts +0 -26
  779. package/dist/runtime/qwen-code/index.d.ts.map +0 -1
  780. package/dist/runtime/qwen-code/index.js +0 -93
  781. package/dist/runtime/qwen-code/index.js.map +0 -1
  782. package/dist/runtime/qwen-code/provider.d.ts +0 -23
  783. package/dist/runtime/qwen-code/provider.d.ts.map +0 -1
  784. package/dist/runtime/qwen-code/provider.js +0 -134
  785. package/dist/runtime/qwen-code/provider.js.map +0 -1
  786. package/dist/runtime/workflow-hygiene/index.d.ts +0 -4
  787. package/dist/runtime/workflow-hygiene/index.d.ts.map +0 -1
  788. package/dist/runtime/workflow-hygiene/index.js +0 -3
  789. package/dist/runtime/workflow-hygiene/index.js.map +0 -1
  790. package/dist/runtime/workflow-hygiene/labels.d.ts +0 -4
  791. package/dist/runtime/workflow-hygiene/labels.d.ts.map +0 -1
  792. package/dist/runtime/workflow-hygiene/labels.js +0 -64
  793. package/dist/runtime/workflow-hygiene/labels.js.map +0 -1
  794. package/dist/runtime/workflow-hygiene/summaries.d.ts +0 -11
  795. package/dist/runtime/workflow-hygiene/summaries.d.ts.map +0 -1
  796. package/dist/runtime/workflow-hygiene/summaries.js +0 -17
  797. package/dist/runtime/workflow-hygiene/summaries.js.map +0 -1
  798. package/dist/runtime/workflow-hygiene/types.d.ts +0 -12
  799. package/dist/runtime/workflow-hygiene/types.d.ts.map +0 -1
  800. package/dist/runtime/workflow-hygiene/types.js +0 -2
  801. package/dist/runtime/workflow-hygiene/types.js.map +0 -1
  802. package/dist/starter/init.d.ts +0 -18
  803. package/dist/starter/init.d.ts.map +0 -1
  804. package/dist/starter/init.js +0 -108
  805. package/dist/starter/init.js.map +0 -1
  806. package/dist/starter/source-import/agent.d.ts +0 -60
  807. package/dist/starter/source-import/agent.d.ts.map +0 -1
  808. package/dist/starter/source-import/agent.js +0 -302
  809. package/dist/starter/source-import/agent.js.map +0 -1
  810. package/dist/starter/source-import/detect.d.ts +0 -20
  811. package/dist/starter/source-import/detect.d.ts.map +0 -1
  812. package/dist/starter/source-import/detect.js +0 -197
  813. package/dist/starter/source-import/detect.js.map +0 -1
  814. package/dist/starter/source-import/github-source.d.ts +0 -66
  815. package/dist/starter/source-import/github-source.d.ts.map +0 -1
  816. package/dist/starter/source-import/github-source.js +0 -233
  817. package/dist/starter/source-import/github-source.js.map +0 -1
  818. package/dist/starter/source-import/index.d.ts +0 -31
  819. package/dist/starter/source-import/index.d.ts.map +0 -1
  820. package/dist/starter/source-import/index.js +0 -31
  821. package/dist/starter/source-import/index.js.map +0 -1
  822. package/dist/starter/source-import/materialize.d.ts +0 -61
  823. package/dist/starter/source-import/materialize.d.ts.map +0 -1
  824. package/dist/starter/source-import/materialize.js +0 -260
  825. package/dist/starter/source-import/materialize.js.map +0 -1
  826. package/dist/starter/source-import/plan.d.ts +0 -39
  827. package/dist/starter/source-import/plan.d.ts.map +0 -1
  828. package/dist/starter/source-import/plan.js +0 -158
  829. package/dist/starter/source-import/plan.js.map +0 -1
  830. package/dist/starter/source-import/security.d.ts +0 -42
  831. package/dist/starter/source-import/security.d.ts.map +0 -1
  832. package/dist/starter/source-import/security.js +0 -323
  833. package/dist/starter/source-import/security.js.map +0 -1
  834. package/dist/starter/source-import/skills-source.d.ts +0 -28
  835. package/dist/starter/source-import/skills-source.d.ts.map +0 -1
  836. package/dist/starter/source-import/skills-source.js +0 -419
  837. package/dist/starter/source-import/skills-source.js.map +0 -1
  838. package/dist/starter/source-import/summarize.d.ts +0 -25
  839. package/dist/starter/source-import/summarize.d.ts.map +0 -1
  840. package/dist/starter/source-import/summarize.js +0 -107
  841. package/dist/starter/source-import/summarize.js.map +0 -1
  842. package/dist/starter/source-import/types.d.ts +0 -357
  843. package/dist/starter/source-import/types.d.ts.map +0 -1
  844. package/dist/starter/source-import/types.js +0 -28
  845. package/dist/starter/source-import/types.js.map +0 -1
  846. package/dist/starter/types.d.ts +0 -46
  847. package/dist/starter/types.d.ts.map +0 -1
  848. package/dist/starter/types.js +0 -11
  849. package/dist/starter/types.js.map +0 -1
  850. package/dist/status/probes.d.ts +0 -25
  851. package/dist/status/probes.d.ts.map +0 -1
  852. package/dist/status/probes.js +0 -297
  853. package/dist/status/probes.js.map +0 -1
  854. package/dist/status/runner.d.ts +0 -18
  855. package/dist/status/runner.d.ts.map +0 -1
  856. package/dist/status/runner.js +0 -185
  857. package/dist/status/runner.js.map +0 -1
  858. package/dist/status/types.d.ts +0 -60
  859. package/dist/status/types.d.ts.map +0 -1
  860. package/dist/status/types.js +0 -13
  861. package/dist/status/types.js.map +0 -1
  862. package/dist/templates/catalog.d.ts +0 -12
  863. package/dist/templates/catalog.d.ts.map +0 -1
  864. package/dist/templates/catalog.js +0 -226
  865. package/dist/templates/catalog.js.map +0 -1
  866. package/dist/templates/contract.d.ts +0 -62
  867. package/dist/templates/contract.d.ts.map +0 -1
  868. package/dist/templates/contract.js +0 -12
  869. package/dist/templates/contract.js.map +0 -1
  870. package/dist/templates/index.d.ts +0 -5
  871. package/dist/templates/index.d.ts.map +0 -1
  872. package/dist/templates/index.js +0 -2
  873. package/dist/templates/index.js.map +0 -1
  874. package/dist/templates/service.d.ts +0 -19
  875. package/dist/templates/service.d.ts.map +0 -1
  876. package/dist/templates/service.js +0 -132
  877. package/dist/templates/service.js.map +0 -1
  878. package/dist/utils/banner.d.ts +0 -2
  879. package/dist/utils/banner.d.ts.map +0 -1
  880. package/dist/utils/banner.js.map +0 -1
  881. package/dist/utils/net.d.ts +0 -5
  882. package/dist/utils/net.d.ts.map +0 -1
  883. package/dist/utils/net.js +0 -19
  884. package/dist/utils/net.js.map +0 -1
  885. package/dist/utils/path-resolver.d.ts +0 -2
  886. package/dist/utils/path-resolver.d.ts.map +0 -1
  887. package/dist/utils/path-resolver.js +0 -22
  888. package/dist/utils/path-resolver.js.map +0 -1
  889. package/dist/utils/progress.d.ts +0 -24
  890. package/dist/utils/progress.d.ts.map +0 -1
  891. package/dist/utils/progress.js +0 -57
  892. package/dist/utils/progress.js.map +0 -1
  893. package/dist/utils/table-renderer.d.ts +0 -28
  894. package/dist/utils/table-renderer.d.ts.map +0 -1
  895. package/dist/utils/table-renderer.js +0 -83
  896. package/dist/utils/table-renderer.js.map +0 -1
@@ -1,874 +0,0 @@
1
- import { chmodSync, copyFileSync, existsSync, mkdirSync, readdirSync, readFileSync, readlinkSync, rmSync, statSync, symlinkSync, writeFileSync, } from "node:fs";
2
- import os from "node:os";
3
- import path from "node:path";
4
- import { execFileSync } from "node:child_process";
5
- import { createServer } from "node:net";
6
- import * as p from "@clack/prompts";
7
- import pc from "picocolors";
8
- import { eq } from "drizzle-orm";
9
- import { applyPendingMigrations, createDb, ensurePostgresDatabase, formatDatabaseBackupResult, projectWorkspaces, runDatabaseBackup, runDatabaseRestore, } from "@paperclipai/db";
10
- import { ensureAgentJwtSecret, loadPaperclipEnvFile, mergePaperclipEnvEntries, readPaperclipEnvEntries, resolvePaperclipEnvFile } from "../config/env.js";
11
- import { expandHomePrefix } from "../config/home.js";
12
- import { readConfig, resolveConfigPath, writeConfig } from "../config/store.js";
13
- import { printPaperclipCliBanner } from "../utils/banner.js";
14
- import { resolveRuntimeLikePath } from "../utils/path-resolver.js";
15
- import { buildWorktreeConfig, buildWorktreeEnvEntries, DEFAULT_WORKTREE_HOME, formatShellExports, generateWorktreeColor, isWorktreeSeedMode, resolveSuggestedWorktreeName, resolveWorktreeSeedPlan, resolveWorktreeLocalPaths, sanitizeWorktreeInstanceId, } from "./worktree-lib.js";
16
- function nonEmpty(value) {
17
- return typeof value === "string" && value.trim().length > 0 ? value.trim() : null;
18
- }
19
- function isCurrentSourceConfigPath(sourceConfigPath) {
20
- const currentConfigPath = process.env.PAPERCLIP_CONFIG;
21
- if (!currentConfigPath || currentConfigPath.trim().length === 0) {
22
- return false;
23
- }
24
- return path.resolve(currentConfigPath) === path.resolve(sourceConfigPath);
25
- }
26
- const WORKTREE_NAME_PREFIX = "paperclip-";
27
- function resolveWorktreeMakeName(name) {
28
- const value = nonEmpty(name);
29
- if (!value) {
30
- throw new Error("Worktree name is required.");
31
- }
32
- if (!/^[A-Za-z0-9._-]+$/.test(value)) {
33
- throw new Error("Worktree name must contain only letters, numbers, dots, underscores, or dashes.");
34
- }
35
- return value.startsWith(WORKTREE_NAME_PREFIX) ? value : `${WORKTREE_NAME_PREFIX}${value}`;
36
- }
37
- function resolveWorktreeHome(explicit) {
38
- return explicit ?? process.env.PAPERCLIP_WORKTREES_DIR ?? DEFAULT_WORKTREE_HOME;
39
- }
40
- function resolveWorktreeStartPoint(explicit) {
41
- return explicit ?? nonEmpty(process.env.PAPERCLIP_WORKTREE_START_POINT) ?? undefined;
42
- }
43
- export function resolveWorktreeMakeTargetPath(name) {
44
- return path.resolve(os.homedir(), resolveWorktreeMakeName(name));
45
- }
46
- function extractExecSyncErrorMessage(error) {
47
- if (!error || typeof error !== "object") {
48
- return error instanceof Error ? error.message : null;
49
- }
50
- const stderr = "stderr" in error ? error.stderr : null;
51
- if (typeof stderr === "string") {
52
- return nonEmpty(stderr);
53
- }
54
- if (stderr instanceof Buffer) {
55
- return nonEmpty(stderr.toString("utf8"));
56
- }
57
- return error instanceof Error ? nonEmpty(error.message) : null;
58
- }
59
- function localBranchExists(cwd, branchName) {
60
- try {
61
- execFileSync("git", ["show-ref", "--verify", "--quiet", `refs/heads/${branchName}`], {
62
- cwd,
63
- stdio: "ignore",
64
- });
65
- return true;
66
- }
67
- catch {
68
- return false;
69
- }
70
- }
71
- export function resolveGitWorktreeAddArgs(input) {
72
- if (input.branchExists && !input.startPoint) {
73
- return ["worktree", "add", input.targetPath, input.branchName];
74
- }
75
- const commitish = input.startPoint ?? "HEAD";
76
- return ["worktree", "add", "-b", input.branchName, input.targetPath, commitish];
77
- }
78
- function readPidFilePort(postmasterPidFile) {
79
- if (!existsSync(postmasterPidFile))
80
- return null;
81
- try {
82
- const lines = readFileSync(postmasterPidFile, "utf8").split("\n");
83
- const port = Number(lines[3]?.trim());
84
- return Number.isInteger(port) && port > 0 ? port : null;
85
- }
86
- catch {
87
- return null;
88
- }
89
- }
90
- function readRunningPostmasterPid(postmasterPidFile) {
91
- if (!existsSync(postmasterPidFile))
92
- return null;
93
- try {
94
- const pid = Number(readFileSync(postmasterPidFile, "utf8").split("\n")[0]?.trim());
95
- if (!Number.isInteger(pid) || pid <= 0)
96
- return null;
97
- process.kill(pid, 0);
98
- return pid;
99
- }
100
- catch {
101
- return null;
102
- }
103
- }
104
- async function isPortAvailable(port) {
105
- return await new Promise((resolve) => {
106
- const server = createServer();
107
- server.unref();
108
- server.once("error", () => resolve(false));
109
- server.listen(port, "127.0.0.1", () => {
110
- server.close(() => resolve(true));
111
- });
112
- });
113
- }
114
- async function findAvailablePort(preferredPort, reserved = new Set()) {
115
- let port = Math.max(1, Math.trunc(preferredPort));
116
- while (reserved.has(port) || !(await isPortAvailable(port))) {
117
- port += 1;
118
- }
119
- return port;
120
- }
121
- function detectGitBranchName(cwd) {
122
- try {
123
- const value = execFileSync("git", ["branch", "--show-current"], {
124
- cwd,
125
- encoding: "utf8",
126
- stdio: ["ignore", "pipe", "ignore"],
127
- }).trim();
128
- return nonEmpty(value);
129
- }
130
- catch {
131
- return null;
132
- }
133
- }
134
- function detectGitWorkspaceInfo(cwd) {
135
- try {
136
- const root = execFileSync("git", ["rev-parse", "--show-toplevel"], {
137
- cwd,
138
- encoding: "utf8",
139
- stdio: ["ignore", "pipe", "ignore"],
140
- }).trim();
141
- const commonDirRaw = execFileSync("git", ["rev-parse", "--git-common-dir"], {
142
- cwd: root,
143
- encoding: "utf8",
144
- stdio: ["ignore", "pipe", "ignore"],
145
- }).trim();
146
- const gitDirRaw = execFileSync("git", ["rev-parse", "--git-dir"], {
147
- cwd: root,
148
- encoding: "utf8",
149
- stdio: ["ignore", "pipe", "ignore"],
150
- }).trim();
151
- const hooksPathRaw = execFileSync("git", ["rev-parse", "--git-path", "hooks"], {
152
- cwd: root,
153
- encoding: "utf8",
154
- stdio: ["ignore", "pipe", "ignore"],
155
- }).trim();
156
- return {
157
- root: path.resolve(root),
158
- commonDir: path.resolve(root, commonDirRaw),
159
- gitDir: path.resolve(root, gitDirRaw),
160
- hooksPath: path.resolve(root, hooksPathRaw),
161
- };
162
- }
163
- catch {
164
- return null;
165
- }
166
- }
167
- function copyDirectoryContents(sourceDir, targetDir) {
168
- if (!existsSync(sourceDir))
169
- return false;
170
- const entries = readdirSync(sourceDir, { withFileTypes: true });
171
- if (entries.length === 0)
172
- return false;
173
- mkdirSync(targetDir, { recursive: true });
174
- let copied = false;
175
- for (const entry of entries) {
176
- const sourcePath = path.resolve(sourceDir, entry.name);
177
- const targetPath = path.resolve(targetDir, entry.name);
178
- if (entry.isDirectory()) {
179
- mkdirSync(targetPath, { recursive: true });
180
- copyDirectoryContents(sourcePath, targetPath);
181
- copied = true;
182
- continue;
183
- }
184
- if (entry.isSymbolicLink()) {
185
- rmSync(targetPath, { recursive: true, force: true });
186
- symlinkSync(readlinkSync(sourcePath), targetPath);
187
- copied = true;
188
- continue;
189
- }
190
- copyFileSync(sourcePath, targetPath);
191
- try {
192
- chmodSync(targetPath, statSync(sourcePath).mode & 0o777);
193
- }
194
- catch {
195
- // best effort
196
- }
197
- copied = true;
198
- }
199
- return copied;
200
- }
201
- export function copyGitHooksToWorktreeGitDir(cwd) {
202
- const workspace = detectGitWorkspaceInfo(cwd);
203
- if (!workspace)
204
- return null;
205
- const sourceHooksPath = workspace.hooksPath;
206
- const targetHooksPath = path.resolve(workspace.gitDir, "hooks");
207
- if (sourceHooksPath === targetHooksPath) {
208
- return {
209
- sourceHooksPath,
210
- targetHooksPath,
211
- copied: false,
212
- };
213
- }
214
- return {
215
- sourceHooksPath,
216
- targetHooksPath,
217
- copied: copyDirectoryContents(sourceHooksPath, targetHooksPath),
218
- };
219
- }
220
- export function rebindWorkspaceCwd(input) {
221
- const sourceRepoRoot = path.resolve(input.sourceRepoRoot);
222
- const targetRepoRoot = path.resolve(input.targetRepoRoot);
223
- const workspaceCwd = path.resolve(input.workspaceCwd);
224
- const relative = path.relative(sourceRepoRoot, workspaceCwd);
225
- if (!relative || relative === "") {
226
- return targetRepoRoot;
227
- }
228
- if (relative.startsWith("..") || path.isAbsolute(relative)) {
229
- return null;
230
- }
231
- return path.resolve(targetRepoRoot, relative);
232
- }
233
- async function rebindSeededProjectWorkspaces(input) {
234
- const targetRepo = detectGitWorkspaceInfo(input.currentCwd);
235
- if (!targetRepo)
236
- return [];
237
- const db = createDb(input.targetConnectionString);
238
- const closableDb = db;
239
- try {
240
- const rows = await db
241
- .select({
242
- id: projectWorkspaces.id,
243
- name: projectWorkspaces.name,
244
- cwd: projectWorkspaces.cwd,
245
- })
246
- .from(projectWorkspaces);
247
- const rebound = [];
248
- for (const row of rows) {
249
- const workspaceCwd = nonEmpty(row.cwd);
250
- if (!workspaceCwd)
251
- continue;
252
- const sourceRepo = detectGitWorkspaceInfo(workspaceCwd);
253
- if (!sourceRepo)
254
- continue;
255
- if (sourceRepo.commonDir !== targetRepo.commonDir)
256
- continue;
257
- const reboundCwd = rebindWorkspaceCwd({
258
- sourceRepoRoot: sourceRepo.root,
259
- targetRepoRoot: targetRepo.root,
260
- workspaceCwd,
261
- });
262
- if (!reboundCwd)
263
- continue;
264
- const normalizedCurrent = path.resolve(workspaceCwd);
265
- if (reboundCwd === normalizedCurrent)
266
- continue;
267
- if (!existsSync(reboundCwd))
268
- continue;
269
- await db
270
- .update(projectWorkspaces)
271
- .set({
272
- cwd: reboundCwd,
273
- updatedAt: new Date(),
274
- })
275
- .where(eq(projectWorkspaces.id, row.id));
276
- rebound.push({
277
- name: row.name,
278
- fromCwd: normalizedCurrent,
279
- toCwd: reboundCwd,
280
- });
281
- }
282
- return rebound;
283
- }
284
- finally {
285
- await closableDb.$client?.end?.({ timeout: 5 }).catch(() => undefined);
286
- }
287
- }
288
- export function resolveSourceConfigPath(opts) {
289
- if (opts.sourceConfigPathOverride)
290
- return path.resolve(opts.sourceConfigPathOverride);
291
- if (opts.fromConfig)
292
- return path.resolve(opts.fromConfig);
293
- if (!opts.fromDataDir && !opts.fromInstance) {
294
- return resolveConfigPath();
295
- }
296
- const sourceHome = path.resolve(expandHomePrefix(opts.fromDataDir ?? "~/.paperclip"));
297
- const sourceInstanceId = sanitizeWorktreeInstanceId(opts.fromInstance ?? "default");
298
- return path.resolve(sourceHome, "instances", sourceInstanceId, "config.json");
299
- }
300
- function resolveSourceConnectionString(config, envEntries, portOverride) {
301
- if (config.database.mode === "postgres") {
302
- const connectionString = nonEmpty(envEntries.DATABASE_URL) ?? nonEmpty(config.database.connectionString);
303
- if (!connectionString) {
304
- throw new Error("Source instance uses postgres mode but has no connection string in config or adjacent .env.");
305
- }
306
- return connectionString;
307
- }
308
- const port = portOverride ?? config.database.embeddedPostgresPort;
309
- return `postgres://paperclip:paperclip@127.0.0.1:${port}/paperclip`;
310
- }
311
- export function copySeededSecretsKey(input) {
312
- if (input.sourceConfig.secrets.provider !== "local_encrypted") {
313
- return;
314
- }
315
- mkdirSync(path.dirname(input.targetKeyFilePath), { recursive: true });
316
- const allowProcessEnvFallback = isCurrentSourceConfigPath(input.sourceConfigPath);
317
- const sourceInlineMasterKey = nonEmpty(input.sourceEnvEntries.PAPERCLIP_SECRETS_MASTER_KEY) ??
318
- (allowProcessEnvFallback ? nonEmpty(process.env.PAPERCLIP_SECRETS_MASTER_KEY) : null);
319
- if (sourceInlineMasterKey) {
320
- writeFileSync(input.targetKeyFilePath, sourceInlineMasterKey, {
321
- encoding: "utf8",
322
- mode: 0o600,
323
- });
324
- try {
325
- chmodSync(input.targetKeyFilePath, 0o600);
326
- }
327
- catch {
328
- // best effort
329
- }
330
- return;
331
- }
332
- const sourceKeyFileOverride = nonEmpty(input.sourceEnvEntries.PAPERCLIP_SECRETS_MASTER_KEY_FILE) ??
333
- (allowProcessEnvFallback ? nonEmpty(process.env.PAPERCLIP_SECRETS_MASTER_KEY_FILE) : null);
334
- const sourceConfiguredKeyPath = sourceKeyFileOverride ?? input.sourceConfig.secrets.localEncrypted.keyFilePath;
335
- const sourceKeyFilePath = resolveRuntimeLikePath(sourceConfiguredKeyPath, input.sourceConfigPath);
336
- if (!existsSync(sourceKeyFilePath)) {
337
- throw new Error(`Cannot seed worktree database because source local_encrypted secrets key was not found at ${sourceKeyFilePath}.`);
338
- }
339
- copyFileSync(sourceKeyFilePath, input.targetKeyFilePath);
340
- try {
341
- chmodSync(input.targetKeyFilePath, 0o600);
342
- }
343
- catch {
344
- // best effort
345
- }
346
- }
347
- async function ensureEmbeddedPostgres(dataDir, preferredPort) {
348
- const moduleName = "embedded-postgres";
349
- let EmbeddedPostgres;
350
- try {
351
- const mod = await import(moduleName);
352
- EmbeddedPostgres = mod.default;
353
- }
354
- catch {
355
- throw new Error("Embedded PostgreSQL support requires dependency `embedded-postgres`. Reinstall dependencies and try again.");
356
- }
357
- const postmasterPidFile = path.resolve(dataDir, "postmaster.pid");
358
- const runningPid = readRunningPostmasterPid(postmasterPidFile);
359
- if (runningPid) {
360
- return {
361
- port: readPidFilePort(postmasterPidFile) ?? preferredPort,
362
- startedByThisProcess: false,
363
- stop: async () => { },
364
- };
365
- }
366
- const port = await findAvailablePort(preferredPort);
367
- const instance = new EmbeddedPostgres({
368
- databaseDir: dataDir,
369
- user: "paperclip",
370
- password: "paperclip",
371
- port,
372
- persistent: true,
373
- initdbFlags: ["--encoding=UTF8", "--locale=C"],
374
- onLog: () => { },
375
- onError: () => { },
376
- });
377
- if (!existsSync(path.resolve(dataDir, "PG_VERSION"))) {
378
- await instance.initialise();
379
- }
380
- if (existsSync(postmasterPidFile)) {
381
- rmSync(postmasterPidFile, { force: true });
382
- }
383
- await instance.start();
384
- return {
385
- port,
386
- startedByThisProcess: true,
387
- stop: async () => {
388
- await instance.stop();
389
- },
390
- };
391
- }
392
- async function seedWorktreeDatabase(input) {
393
- const seedPlan = resolveWorktreeSeedPlan(input.seedMode);
394
- const sourceEnvFile = resolvePaperclipEnvFile(input.sourceConfigPath);
395
- const sourceEnvEntries = readPaperclipEnvEntries(sourceEnvFile);
396
- copySeededSecretsKey({
397
- sourceConfigPath: input.sourceConfigPath,
398
- sourceConfig: input.sourceConfig,
399
- sourceEnvEntries,
400
- targetKeyFilePath: input.targetPaths.secretsKeyFilePath,
401
- });
402
- let sourceHandle = null;
403
- let targetHandle = null;
404
- try {
405
- if (input.sourceConfig.database.mode === "embedded-postgres") {
406
- sourceHandle = await ensureEmbeddedPostgres(input.sourceConfig.database.embeddedPostgresDataDir, input.sourceConfig.database.embeddedPostgresPort);
407
- }
408
- const sourceConnectionString = resolveSourceConnectionString(input.sourceConfig, sourceEnvEntries, sourceHandle?.port);
409
- const backup = await runDatabaseBackup({
410
- connectionString: sourceConnectionString,
411
- backupDir: path.resolve(input.targetPaths.backupDir, "seed"),
412
- retentionDays: 7,
413
- filenamePrefix: `${input.instanceId}-seed`,
414
- includeMigrationJournal: true,
415
- excludeTables: seedPlan.excludedTables,
416
- nullifyColumns: seedPlan.nullifyColumns,
417
- });
418
- targetHandle = await ensureEmbeddedPostgres(input.targetConfig.database.embeddedPostgresDataDir, input.targetConfig.database.embeddedPostgresPort);
419
- const adminConnectionString = `postgres://paperclip:paperclip@127.0.0.1:${targetHandle.port}/postgres`;
420
- await ensurePostgresDatabase(adminConnectionString, "paperclip");
421
- const targetConnectionString = `postgres://paperclip:paperclip@127.0.0.1:${targetHandle.port}/paperclip`;
422
- await runDatabaseRestore({
423
- connectionString: targetConnectionString,
424
- backupFile: backup.backupFile,
425
- });
426
- await applyPendingMigrations(targetConnectionString);
427
- const reboundWorkspaces = await rebindSeededProjectWorkspaces({
428
- targetConnectionString,
429
- currentCwd: input.targetPaths.cwd,
430
- });
431
- return {
432
- backupSummary: formatDatabaseBackupResult(backup),
433
- reboundWorkspaces,
434
- };
435
- }
436
- finally {
437
- if (targetHandle?.startedByThisProcess) {
438
- await targetHandle.stop();
439
- }
440
- if (sourceHandle?.startedByThisProcess) {
441
- await sourceHandle.stop();
442
- }
443
- }
444
- }
445
- async function runWorktreeInit(opts) {
446
- const cwd = process.cwd();
447
- const worktreeName = resolveSuggestedWorktreeName(cwd, opts.name ?? detectGitBranchName(cwd) ?? undefined);
448
- const seedMode = opts.seedMode ?? "minimal";
449
- if (!isWorktreeSeedMode(seedMode)) {
450
- throw new Error(`Unsupported seed mode "${seedMode}". Expected one of: minimal, full.`);
451
- }
452
- const instanceId = sanitizeWorktreeInstanceId(opts.instance ?? worktreeName);
453
- const paths = resolveWorktreeLocalPaths({
454
- cwd,
455
- homeDir: resolveWorktreeHome(opts.home),
456
- instanceId,
457
- });
458
- const branding = {
459
- name: worktreeName,
460
- color: generateWorktreeColor(),
461
- };
462
- const sourceConfigPath = resolveSourceConfigPath(opts);
463
- const sourceConfig = existsSync(sourceConfigPath) ? readConfig(sourceConfigPath) : null;
464
- if ((existsSync(paths.configPath) || existsSync(paths.instanceRoot)) && !opts.force) {
465
- throw new Error(`Worktree config already exists at ${paths.configPath} or instance data exists at ${paths.instanceRoot}. Re-run with --force to replace it.`);
466
- }
467
- if (opts.force) {
468
- rmSync(paths.repoConfigDir, { recursive: true, force: true });
469
- rmSync(paths.instanceRoot, { recursive: true, force: true });
470
- }
471
- const preferredServerPort = opts.serverPort ?? ((sourceConfig?.server.port ?? 3100) + 1);
472
- const serverPort = await findAvailablePort(preferredServerPort);
473
- const preferredDbPort = opts.dbPort ?? ((sourceConfig?.database.embeddedPostgresPort ?? 54329) + 1);
474
- const databasePort = await findAvailablePort(preferredDbPort, new Set([serverPort]));
475
- const targetConfig = buildWorktreeConfig({
476
- sourceConfig,
477
- paths,
478
- serverPort,
479
- databasePort,
480
- });
481
- writeConfig(targetConfig, paths.configPath);
482
- const sourceEnvEntries = readPaperclipEnvEntries(resolvePaperclipEnvFile(sourceConfigPath));
483
- const existingAgentJwtSecret = nonEmpty(sourceEnvEntries.PAPERCLIP_AGENT_JWT_SECRET) ??
484
- nonEmpty(process.env.PAPERCLIP_AGENT_JWT_SECRET);
485
- mergePaperclipEnvEntries({
486
- ...buildWorktreeEnvEntries(paths, branding),
487
- ...(existingAgentJwtSecret ? { PAPERCLIP_AGENT_JWT_SECRET: existingAgentJwtSecret } : {}),
488
- }, paths.envPath);
489
- ensureAgentJwtSecret(paths.configPath);
490
- loadPaperclipEnvFile(paths.configPath);
491
- const copiedGitHooks = copyGitHooksToWorktreeGitDir(cwd);
492
- let seedSummary = null;
493
- let reboundWorkspaceSummary = [];
494
- if (opts.seed !== false) {
495
- if (!sourceConfig) {
496
- throw new Error(`Cannot seed worktree database because source config was not found at ${sourceConfigPath}. Use --no-seed or provide --from-config.`);
497
- }
498
- const spinner = p.spinner();
499
- spinner.start(`Seeding isolated worktree database from source instance (${seedMode})...`);
500
- try {
501
- const seeded = await seedWorktreeDatabase({
502
- sourceConfigPath,
503
- sourceConfig,
504
- targetConfig,
505
- targetPaths: paths,
506
- instanceId,
507
- seedMode,
508
- });
509
- seedSummary = seeded.backupSummary;
510
- reboundWorkspaceSummary = seeded.reboundWorkspaces;
511
- spinner.stop(`Seeded isolated worktree database (${seedMode}).`);
512
- }
513
- catch (error) {
514
- spinner.stop(pc.red("Failed to seed worktree database."));
515
- throw error;
516
- }
517
- }
518
- p.log.message(pc.dim(`Repo config: ${paths.configPath}`));
519
- p.log.message(pc.dim(`Repo env: ${paths.envPath}`));
520
- p.log.message(pc.dim(`Isolated home: ${paths.homeDir}`));
521
- p.log.message(pc.dim(`Instance: ${paths.instanceId}`));
522
- p.log.message(pc.dim(`Worktree badge: ${branding.name} (${branding.color})`));
523
- p.log.message(pc.dim(`Server port: ${serverPort} | DB port: ${databasePort}`));
524
- if (copiedGitHooks?.copied) {
525
- p.log.message(pc.dim(`Mirrored git hooks: ${copiedGitHooks.sourceHooksPath} -> ${copiedGitHooks.targetHooksPath}`));
526
- }
527
- if (seedSummary) {
528
- p.log.message(pc.dim(`Seed mode: ${seedMode}`));
529
- p.log.message(pc.dim(`Seed snapshot: ${seedSummary}`));
530
- for (const rebound of reboundWorkspaceSummary) {
531
- p.log.message(pc.dim(`Rebound workspace ${rebound.name}: ${rebound.fromCwd} -> ${rebound.toCwd}`));
532
- }
533
- }
534
- p.outro(pc.green(`Worktree ready. Run Paperclip inside this repo and the CLI/server will use ${paths.instanceId} automatically.`));
535
- }
536
- export async function worktreeInitCommand(opts) {
537
- printPaperclipCliBanner();
538
- p.intro(pc.bgCyan(pc.black(" paperclipai worktree init ")));
539
- await runWorktreeInit(opts);
540
- }
541
- export async function worktreeMakeCommand(nameArg, opts) {
542
- printPaperclipCliBanner();
543
- p.intro(pc.bgCyan(pc.black(" paperclipai worktree:make ")));
544
- const name = resolveWorktreeMakeName(nameArg);
545
- const startPoint = resolveWorktreeStartPoint(opts.startPoint);
546
- const sourceCwd = process.cwd();
547
- const sourceConfigPath = resolveSourceConfigPath(opts);
548
- const targetPath = resolveWorktreeMakeTargetPath(name);
549
- if (existsSync(targetPath)) {
550
- throw new Error(`Target path already exists: ${targetPath}`);
551
- }
552
- mkdirSync(path.dirname(targetPath), { recursive: true });
553
- if (startPoint) {
554
- const [remote] = startPoint.split("/", 1);
555
- try {
556
- execFileSync("git", ["fetch", remote], {
557
- cwd: sourceCwd,
558
- stdio: ["ignore", "pipe", "pipe"],
559
- });
560
- }
561
- catch (error) {
562
- throw new Error(`Failed to fetch from remote "${remote}": ${extractExecSyncErrorMessage(error) ?? String(error)}`);
563
- }
564
- }
565
- const worktreeArgs = resolveGitWorktreeAddArgs({
566
- branchName: name,
567
- targetPath,
568
- branchExists: !startPoint && localBranchExists(sourceCwd, name),
569
- startPoint,
570
- });
571
- const spinner = p.spinner();
572
- spinner.start(`Creating git worktree at ${targetPath}...`);
573
- try {
574
- execFileSync("git", worktreeArgs, {
575
- cwd: sourceCwd,
576
- stdio: ["ignore", "pipe", "pipe"],
577
- });
578
- spinner.stop(`Created git worktree at ${targetPath}.`);
579
- }
580
- catch (error) {
581
- spinner.stop(pc.red("Failed to create git worktree."));
582
- throw new Error(extractExecSyncErrorMessage(error) ?? String(error));
583
- }
584
- const installSpinner = p.spinner();
585
- installSpinner.start("Installing dependencies...");
586
- try {
587
- execFileSync("pnpm", ["install"], {
588
- cwd: targetPath,
589
- stdio: ["ignore", "pipe", "pipe"],
590
- });
591
- installSpinner.stop("Installed dependencies.");
592
- }
593
- catch (error) {
594
- installSpinner.stop(pc.yellow("Failed to install dependencies (continuing anyway)."));
595
- p.log.warning(extractExecSyncErrorMessage(error) ?? String(error));
596
- }
597
- const originalCwd = process.cwd();
598
- try {
599
- process.chdir(targetPath);
600
- await runWorktreeInit({
601
- ...opts,
602
- name,
603
- sourceConfigPathOverride: sourceConfigPath,
604
- });
605
- }
606
- catch (error) {
607
- throw error;
608
- }
609
- finally {
610
- process.chdir(originalCwd);
611
- }
612
- // Run bootstrap to build linked packages and validate runtime readiness
613
- const bootstrapScript = path.resolve(sourceCwd, "scripts/worktree-bootstrap.mjs");
614
- if (existsSync(bootstrapScript)) {
615
- p.log.message(pc.dim(`Running worktree bootstrap in ${targetPath}...`));
616
- try {
617
- execFileSync("node", [bootstrapScript], { cwd: targetPath, stdio: "inherit" });
618
- }
619
- catch (error) {
620
- p.log.warning(`Bootstrap failed: ${extractExecSyncErrorMessage(error) ?? String(error)}`);
621
- }
622
- }
623
- }
624
- function parseGitWorktreeList(cwd) {
625
- const raw = execFileSync("git", ["worktree", "list", "--porcelain"], {
626
- cwd,
627
- encoding: "utf8",
628
- stdio: ["ignore", "pipe", "pipe"],
629
- });
630
- const entries = [];
631
- let current = {};
632
- for (const line of raw.split("\n")) {
633
- if (line.startsWith("worktree ")) {
634
- current = { worktree: line.slice("worktree ".length) };
635
- }
636
- else if (line.startsWith("branch ")) {
637
- current.branch = line.slice("branch ".length);
638
- }
639
- else if (line === "bare") {
640
- current.bare = true;
641
- }
642
- else if (line === "detached") {
643
- current.detached = true;
644
- }
645
- else if (line === "" && current.worktree) {
646
- entries.push({
647
- worktree: current.worktree,
648
- branch: current.branch ?? null,
649
- bare: current.bare ?? false,
650
- detached: current.detached ?? false,
651
- });
652
- current = {};
653
- }
654
- }
655
- if (current.worktree) {
656
- entries.push({
657
- worktree: current.worktree,
658
- branch: current.branch ?? null,
659
- bare: current.bare ?? false,
660
- detached: current.detached ?? false,
661
- });
662
- }
663
- return entries;
664
- }
665
- function branchHasUniqueCommits(cwd, branchName) {
666
- try {
667
- const output = execFileSync("git", ["log", "--oneline", branchName, "--not", "--remotes", "--exclude", `refs/heads/${branchName}`, "--branches"], { cwd, encoding: "utf8", stdio: ["ignore", "pipe", "pipe"] }).trim();
668
- return output.length > 0;
669
- }
670
- catch {
671
- return false;
672
- }
673
- }
674
- function branchExistsOnAnyRemote(cwd, branchName) {
675
- try {
676
- const output = execFileSync("git", ["branch", "-r", "--list", `*/${branchName}`], { cwd, encoding: "utf8", stdio: ["ignore", "pipe", "pipe"] }).trim();
677
- return output.length > 0;
678
- }
679
- catch {
680
- return false;
681
- }
682
- }
683
- function worktreePathHasUncommittedChanges(worktreePath) {
684
- try {
685
- const output = execFileSync("git", ["status", "--porcelain"], { cwd: worktreePath, encoding: "utf8", stdio: ["ignore", "pipe", "pipe"] }).trim();
686
- return output.length > 0;
687
- }
688
- catch {
689
- return false;
690
- }
691
- }
692
- export async function worktreeCleanupCommand(nameArg, opts) {
693
- printPaperclipCliBanner();
694
- p.intro(pc.bgCyan(pc.black(" paperclipai worktree:cleanup ")));
695
- const name = resolveWorktreeMakeName(nameArg);
696
- const sourceCwd = process.cwd();
697
- const targetPath = resolveWorktreeMakeTargetPath(name);
698
- const instanceId = sanitizeWorktreeInstanceId(opts.instance ?? name);
699
- const homeDir = path.resolve(expandHomePrefix(resolveWorktreeHome(opts.home)));
700
- const instanceRoot = path.resolve(homeDir, "instances", instanceId);
701
- // ── 1. Assess current state ──────────────────────────────────────────
702
- const hasBranch = localBranchExists(sourceCwd, name);
703
- const hasTargetDir = existsSync(targetPath);
704
- const hasInstanceData = existsSync(instanceRoot);
705
- const worktrees = parseGitWorktreeList(sourceCwd);
706
- const linkedWorktree = worktrees.find((wt) => wt.branch === `refs/heads/${name}` || path.resolve(wt.worktree) === path.resolve(targetPath));
707
- if (!hasBranch && !hasTargetDir && !hasInstanceData && !linkedWorktree) {
708
- p.log.info("Nothing to clean up — no branch, worktree directory, or instance data found.");
709
- p.outro(pc.green("Already clean."));
710
- return;
711
- }
712
- // ── 2. Safety checks ────────────────────────────────────────────────
713
- const problems = [];
714
- if (hasBranch && branchHasUniqueCommits(sourceCwd, name)) {
715
- const onRemote = branchExistsOnAnyRemote(sourceCwd, name);
716
- if (onRemote) {
717
- p.log.info(`Branch "${name}" has unique local commits, but the branch also exists on a remote — safe to delete locally.`);
718
- }
719
- else {
720
- problems.push(`Branch "${name}" has commits not found on any other branch or remote. ` +
721
- `Deleting it will lose work. Push it first, or use --force.`);
722
- }
723
- }
724
- if (hasTargetDir && worktreePathHasUncommittedChanges(targetPath)) {
725
- problems.push(`Worktree directory ${targetPath} has uncommitted changes. Commit or stash first, or use --force.`);
726
- }
727
- if (problems.length > 0 && !opts.force) {
728
- for (const problem of problems) {
729
- p.log.error(problem);
730
- }
731
- throw new Error("Safety checks failed. Resolve the issues above or re-run with --force.");
732
- }
733
- if (problems.length > 0 && opts.force) {
734
- for (const problem of problems) {
735
- p.log.warning(`Overridden by --force: ${problem}`);
736
- }
737
- }
738
- // ── 3. Clean up (idempotent steps) ──────────────────────────────────
739
- // 3a. Remove the git worktree registration
740
- if (linkedWorktree) {
741
- const worktreeDirExists = existsSync(linkedWorktree.worktree);
742
- const spinner = p.spinner();
743
- if (worktreeDirExists) {
744
- spinner.start(`Removing git worktree at ${linkedWorktree.worktree}...`);
745
- try {
746
- const removeArgs = ["worktree", "remove", linkedWorktree.worktree];
747
- if (opts.force)
748
- removeArgs.push("--force");
749
- execFileSync("git", removeArgs, {
750
- cwd: sourceCwd,
751
- stdio: ["ignore", "pipe", "pipe"],
752
- });
753
- spinner.stop(`Removed git worktree at ${linkedWorktree.worktree}.`);
754
- }
755
- catch (error) {
756
- spinner.stop(pc.yellow(`Could not remove worktree cleanly, will prune instead.`));
757
- p.log.warning(extractExecSyncErrorMessage(error) ?? String(error));
758
- }
759
- }
760
- else {
761
- spinner.start("Pruning stale worktree entry...");
762
- execFileSync("git", ["worktree", "prune"], {
763
- cwd: sourceCwd,
764
- stdio: ["ignore", "pipe", "pipe"],
765
- });
766
- spinner.stop("Pruned stale worktree entry.");
767
- }
768
- }
769
- else {
770
- // Even without a linked worktree, prune to clean up any orphaned entries
771
- execFileSync("git", ["worktree", "prune"], {
772
- cwd: sourceCwd,
773
- stdio: ["ignore", "pipe", "pipe"],
774
- });
775
- }
776
- // 3b. Remove the worktree directory if it still exists (e.g. partial creation)
777
- if (existsSync(targetPath)) {
778
- const spinner = p.spinner();
779
- spinner.start(`Removing worktree directory ${targetPath}...`);
780
- rmSync(targetPath, { recursive: true, force: true });
781
- spinner.stop(`Removed worktree directory ${targetPath}.`);
782
- }
783
- // 3c. Delete the local branch (now safe — worktree is gone)
784
- if (localBranchExists(sourceCwd, name)) {
785
- const spinner = p.spinner();
786
- spinner.start(`Deleting local branch "${name}"...`);
787
- try {
788
- const deleteFlag = opts.force ? "-D" : "-d";
789
- execFileSync("git", ["branch", deleteFlag, name], {
790
- cwd: sourceCwd,
791
- stdio: ["ignore", "pipe", "pipe"],
792
- });
793
- spinner.stop(`Deleted local branch "${name}".`);
794
- }
795
- catch (error) {
796
- spinner.stop(pc.yellow(`Could not delete branch "${name}".`));
797
- p.log.warning(extractExecSyncErrorMessage(error) ?? String(error));
798
- }
799
- }
800
- // 3d. Remove instance data
801
- if (existsSync(instanceRoot)) {
802
- const spinner = p.spinner();
803
- spinner.start(`Removing instance data at ${instanceRoot}...`);
804
- rmSync(instanceRoot, { recursive: true, force: true });
805
- spinner.stop(`Removed instance data at ${instanceRoot}.`);
806
- }
807
- p.outro(pc.green("Cleanup complete."));
808
- }
809
- export async function worktreeEnvCommand(opts) {
810
- const configPath = resolveConfigPath(opts.config);
811
- const envPath = resolvePaperclipEnvFile(configPath);
812
- const envEntries = readPaperclipEnvEntries(envPath);
813
- const out = {
814
- PAPERCLIP_CONFIG: configPath,
815
- ...(envEntries.PAPERCLIP_HOME ? { PAPERCLIP_HOME: envEntries.PAPERCLIP_HOME } : {}),
816
- ...(envEntries.PAPERCLIP_INSTANCE_ID ? { PAPERCLIP_INSTANCE_ID: envEntries.PAPERCLIP_INSTANCE_ID } : {}),
817
- ...(envEntries.PAPERCLIP_CONTEXT ? { PAPERCLIP_CONTEXT: envEntries.PAPERCLIP_CONTEXT } : {}),
818
- ...envEntries,
819
- };
820
- if (opts.json) {
821
- console.log(JSON.stringify(out, null, 2));
822
- return;
823
- }
824
- console.log(formatShellExports(out));
825
- }
826
- export function registerWorktreeCommands(program) {
827
- const worktree = program.command("worktree").description("Worktree-local Paperclip instance helpers");
828
- program
829
- .command("worktree:make")
830
- .description("Create ~/NAME as a git worktree, then initialize an isolated Paperclip instance inside it")
831
- .argument("<name>", "Worktree name — auto-prefixed with paperclip- if needed (created at ~/paperclip-NAME)")
832
- .option("--start-point <ref>", "Remote ref to base the new branch on (env: PAPERCLIP_WORKTREE_START_POINT)")
833
- .option("--instance <id>", "Explicit isolated instance id")
834
- .option("--home <path>", `Home root for worktree instances (env: PAPERCLIP_WORKTREES_DIR, default: ${DEFAULT_WORKTREE_HOME})`)
835
- .option("--from-config <path>", "Source config.json to seed from")
836
- .option("--from-data-dir <path>", "Source PAPERCLIP_HOME used when deriving the source config")
837
- .option("--from-instance <id>", "Source instance id when deriving the source config", "default")
838
- .option("--server-port <port>", "Preferred server port", (value) => Number(value))
839
- .option("--db-port <port>", "Preferred embedded Postgres port", (value) => Number(value))
840
- .option("--seed-mode <mode>", "Seed profile: minimal or full (default: minimal)", "minimal")
841
- .option("--no-seed", "Skip database seeding from the source instance")
842
- .option("--force", "Replace existing repo-local config and isolated instance data", false)
843
- .action(worktreeMakeCommand);
844
- worktree
845
- .command("init")
846
- .description("Create repo-local config/env and an isolated instance for this worktree")
847
- .option("--name <name>", "Display name used to derive the instance id")
848
- .option("--instance <id>", "Explicit isolated instance id")
849
- .option("--home <path>", `Home root for worktree instances (env: PAPERCLIP_WORKTREES_DIR, default: ${DEFAULT_WORKTREE_HOME})`)
850
- .option("--from-config <path>", "Source config.json to seed from")
851
- .option("--from-data-dir <path>", "Source PAPERCLIP_HOME used when deriving the source config")
852
- .option("--from-instance <id>", "Source instance id when deriving the source config", "default")
853
- .option("--server-port <port>", "Preferred server port", (value) => Number(value))
854
- .option("--db-port <port>", "Preferred embedded Postgres port", (value) => Number(value))
855
- .option("--seed-mode <mode>", "Seed profile: minimal or full (default: minimal)", "minimal")
856
- .option("--no-seed", "Skip database seeding from the source instance")
857
- .option("--force", "Replace existing repo-local config and isolated instance data", false)
858
- .action(worktreeInitCommand);
859
- worktree
860
- .command("env")
861
- .description("Print shell exports for the current worktree-local Paperclip instance")
862
- .option("-c, --config <path>", "Path to config file")
863
- .option("--json", "Print JSON instead of shell exports")
864
- .action(worktreeEnvCommand);
865
- program
866
- .command("worktree:cleanup")
867
- .description("Safely remove a worktree, its branch, and its isolated instance data")
868
- .argument("<name>", "Worktree name — auto-prefixed with paperclip- if needed")
869
- .option("--instance <id>", "Explicit instance id (if different from the worktree name)")
870
- .option("--home <path>", `Home root for worktree instances (env: PAPERCLIP_WORKTREES_DIR, default: ${DEFAULT_WORKTREE_HOME})`)
871
- .option("--force", "Bypass safety checks (uncommitted changes, unique commits)", false)
872
- .action(worktreeCleanupCommand);
873
- }
874
- //# sourceMappingURL=worktree.js.map