@aligndottech/cli 0.49.0 → 0.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (622) hide show
  1. package/README.md +4 -3
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +26 -8
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/agents.d.ts.map +1 -1
  6. package/dist/commands/agents.js +4 -1
  7. package/dist/commands/agents.js.map +1 -1
  8. package/dist/commands/check.d.ts.map +1 -1
  9. package/dist/commands/check.js +18 -2
  10. package/dist/commands/check.js.map +1 -1
  11. package/dist/commands/connect.d.ts +5 -0
  12. package/dist/commands/connect.d.ts.map +1 -1
  13. package/dist/commands/connect.js +24 -0
  14. package/dist/commands/connect.js.map +1 -1
  15. package/dist/commands/import/confluence.d.ts.map +1 -1
  16. package/dist/commands/import/confluence.js +24 -5
  17. package/dist/commands/import/confluence.js.map +1 -1
  18. package/dist/commands/import/docs.js +2 -2
  19. package/dist/commands/import/git.d.ts.map +1 -1
  20. package/dist/commands/import/git.js +15 -5
  21. package/dist/commands/import/git.js.map +1 -1
  22. package/dist/commands/import/github.d.ts.map +1 -1
  23. package/dist/commands/import/github.js +34 -7
  24. package/dist/commands/import/github.js.map +1 -1
  25. package/dist/commands/import/gitlab.d.ts.map +1 -1
  26. package/dist/commands/import/gitlab.js +10 -5
  27. package/dist/commands/import/gitlab.js.map +1 -1
  28. package/dist/commands/import/jira.d.ts.map +1 -1
  29. package/dist/commands/import/jira.js +10 -5
  30. package/dist/commands/import/jira.js.map +1 -1
  31. package/dist/commands/import/linear.d.ts.map +1 -1
  32. package/dist/commands/import/linear.js +10 -5
  33. package/dist/commands/import/linear.js.map +1 -1
  34. package/dist/commands/import/notion.d.ts.map +1 -1
  35. package/dist/commands/import/notion.js +10 -5
  36. package/dist/commands/import/notion.js.map +1 -1
  37. package/dist/commands/import/sessions.js +2 -2
  38. package/dist/commands/import/slack.d.ts.map +1 -1
  39. package/dist/commands/import/slack.js +12 -7
  40. package/dist/commands/import/slack.js.map +1 -1
  41. package/dist/commands/import/teams.d.ts.map +1 -1
  42. package/dist/commands/import/teams.js +10 -5
  43. package/dist/commands/import/teams.js.map +1 -1
  44. package/dist/commands/import/zoom.d.ts.map +1 -1
  45. package/dist/commands/import/zoom.js +10 -5
  46. package/dist/commands/import/zoom.js.map +1 -1
  47. package/dist/commands/import.d.ts.map +1 -1
  48. package/dist/commands/import.js +43 -1
  49. package/dist/commands/import.js.map +1 -1
  50. package/dist/commands/local.d.ts.map +1 -1
  51. package/dist/commands/local.js +76 -4
  52. package/dist/commands/local.js.map +1 -1
  53. package/dist/commands/mark.d.ts +37 -0
  54. package/dist/commands/mark.d.ts.map +1 -0
  55. package/dist/commands/mark.js +105 -0
  56. package/dist/commands/mark.js.map +1 -0
  57. package/dist/commands/mcp.d.ts +141 -2
  58. package/dist/commands/mcp.d.ts.map +1 -1
  59. package/dist/commands/mcp.js +72 -14
  60. package/dist/commands/mcp.js.map +1 -1
  61. package/dist/commands/registry.d.ts.map +1 -1
  62. package/dist/commands/registry.js +8 -2
  63. package/dist/commands/registry.js.map +1 -1
  64. package/dist/commands/setup.d.ts +39 -0
  65. package/dist/commands/setup.d.ts.map +1 -1
  66. package/dist/commands/setup.js +65 -50
  67. package/dist/commands/setup.js.map +1 -1
  68. package/dist/commands/share.d.ts +7 -0
  69. package/dist/commands/share.d.ts.map +1 -0
  70. package/dist/commands/share.js +60 -0
  71. package/dist/commands/share.js.map +1 -0
  72. package/dist/commands/sync.d.ts +55 -0
  73. package/dist/commands/sync.d.ts.map +1 -0
  74. package/dist/commands/sync.js +278 -0
  75. package/dist/commands/sync.js.map +1 -0
  76. package/dist/commands/telemetry.d.ts +3 -3
  77. package/dist/commands/telemetry.js +6 -6
  78. package/dist/commands/telemetry.js.map +1 -1
  79. package/dist/commands/why.d.ts.map +1 -1
  80. package/dist/commands/why.js +6 -1
  81. package/dist/commands/why.js.map +1 -1
  82. package/dist/index.d.ts +2 -0
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +2 -0
  85. package/dist/index.js.map +1 -1
  86. package/dist/lib/backfill-state.d.ts +116 -0
  87. package/dist/lib/backfill-state.d.ts.map +1 -0
  88. package/dist/lib/backfill-state.js +342 -0
  89. package/dist/lib/backfill-state.js.map +1 -0
  90. package/dist/lib/backup-copy.d.ts +17 -0
  91. package/dist/lib/backup-copy.d.ts.map +1 -0
  92. package/dist/lib/backup-copy.js +13 -0
  93. package/dist/lib/backup-copy.js.map +1 -0
  94. package/dist/lib/capture-report.d.ts +22 -18
  95. package/dist/lib/capture-report.d.ts.map +1 -1
  96. package/dist/lib/capture-report.js +64 -2
  97. package/dist/lib/capture-report.js.map +1 -1
  98. package/dist/lib/config.d.ts +31 -0
  99. package/dist/lib/config.d.ts.map +1 -1
  100. package/dist/lib/config.js +139 -0
  101. package/dist/lib/config.js.map +1 -1
  102. package/dist/lib/confirm-timeout.d.ts +8 -0
  103. package/dist/lib/confirm-timeout.d.ts.map +1 -0
  104. package/dist/lib/confirm-timeout.js +18 -0
  105. package/dist/lib/confirm-timeout.js.map +1 -0
  106. package/dist/lib/curation/check-marks.d.ts +48 -0
  107. package/dist/lib/curation/check-marks.d.ts.map +1 -0
  108. package/dist/lib/curation/check-marks.js +81 -0
  109. package/dist/lib/curation/check-marks.js.map +1 -0
  110. package/dist/lib/curation/guardrail.d.ts +39 -0
  111. package/dist/lib/curation/guardrail.d.ts.map +1 -0
  112. package/dist/lib/curation/guardrail.js +93 -0
  113. package/dist/lib/curation/guardrail.js.map +1 -0
  114. package/dist/lib/curation/judge.d.ts +3 -0
  115. package/dist/lib/curation/judge.d.ts.map +1 -0
  116. package/dist/lib/curation/judge.js +9 -0
  117. package/dist/lib/curation/judge.js.map +1 -0
  118. package/dist/lib/curation/judgements-db.d.ts +96 -0
  119. package/dist/lib/curation/judgements-db.d.ts.map +1 -0
  120. package/dist/lib/curation/judgements-db.js +200 -0
  121. package/dist/lib/curation/judgements-db.js.map +1 -0
  122. package/dist/lib/curation/last-check.d.ts +32 -0
  123. package/dist/lib/curation/last-check.d.ts.map +1 -0
  124. package/dist/lib/curation/last-check.js +81 -0
  125. package/dist/lib/curation/last-check.js.map +1 -0
  126. package/dist/lib/curation/mark.d.ts +76 -0
  127. package/dist/lib/curation/mark.d.ts.map +1 -0
  128. package/dist/lib/curation/mark.js +359 -0
  129. package/dist/lib/curation/mark.js.map +1 -0
  130. package/dist/lib/curation/text.d.ts +6 -0
  131. package/dist/lib/curation/text.d.ts.map +1 -0
  132. package/dist/lib/curation/text.js +35 -0
  133. package/dist/lib/curation/text.js.map +1 -0
  134. package/dist/lib/fetchers/capture.d.ts +49 -2
  135. package/dist/lib/fetchers/capture.d.ts.map +1 -1
  136. package/dist/lib/fetchers/capture.js +7 -1
  137. package/dist/lib/fetchers/capture.js.map +1 -1
  138. package/dist/lib/fetchers/confluence.d.ts +2 -2
  139. package/dist/lib/fetchers/confluence.d.ts.map +1 -1
  140. package/dist/lib/fetchers/confluence.js.map +1 -1
  141. package/dist/lib/fetchers/git.d.ts +1 -0
  142. package/dist/lib/fetchers/git.d.ts.map +1 -1
  143. package/dist/lib/fetchers/git.js +3 -1
  144. package/dist/lib/fetchers/git.js.map +1 -1
  145. package/dist/lib/fetchers/github.d.ts +44 -5
  146. package/dist/lib/fetchers/github.d.ts.map +1 -1
  147. package/dist/lib/fetchers/github.js +122 -5
  148. package/dist/lib/fetchers/github.js.map +1 -1
  149. package/dist/lib/fetchers/gitlab.d.ts +2 -2
  150. package/dist/lib/fetchers/gitlab.d.ts.map +1 -1
  151. package/dist/lib/fetchers/gitlab.js.map +1 -1
  152. package/dist/lib/fetchers/jira.d.ts +2 -2
  153. package/dist/lib/fetchers/jira.d.ts.map +1 -1
  154. package/dist/lib/fetchers/jira.js.map +1 -1
  155. package/dist/lib/fetchers/linear.d.ts +2 -2
  156. package/dist/lib/fetchers/linear.d.ts.map +1 -1
  157. package/dist/lib/fetchers/linear.js.map +1 -1
  158. package/dist/lib/fetchers/notion.d.ts +2 -2
  159. package/dist/lib/fetchers/notion.d.ts.map +1 -1
  160. package/dist/lib/fetchers/notion.js.map +1 -1
  161. package/dist/lib/fetchers/slack.d.ts +2 -3
  162. package/dist/lib/fetchers/slack.d.ts.map +1 -1
  163. package/dist/lib/fetchers/slack.js.map +1 -1
  164. package/dist/lib/fetchers/teams.d.ts +2 -2
  165. package/dist/lib/fetchers/teams.d.ts.map +1 -1
  166. package/dist/lib/fetchers/teams.js.map +1 -1
  167. package/dist/lib/fetchers/zoom.d.ts +2 -2
  168. package/dist/lib/fetchers/zoom.d.ts.map +1 -1
  169. package/dist/lib/fetchers/zoom.js.map +1 -1
  170. package/dist/lib/gateway-client.d.ts +34 -0
  171. package/dist/lib/gateway-client.d.ts.map +1 -1
  172. package/dist/lib/gateway-client.js +19 -1
  173. package/dist/lib/gateway-client.js.map +1 -1
  174. package/dist/lib/github-text.d.ts +3 -0
  175. package/dist/lib/github-text.d.ts.map +1 -0
  176. package/dist/lib/github-text.js +18 -0
  177. package/dist/lib/github-text.js.map +1 -0
  178. package/dist/lib/hook-context.d.ts +10 -0
  179. package/dist/lib/hook-context.d.ts.map +1 -1
  180. package/dist/lib/hook-context.js +14 -0
  181. package/dist/lib/hook-context.js.map +1 -1
  182. package/dist/lib/import-defaults.d.ts +39 -23
  183. package/dist/lib/import-defaults.d.ts.map +1 -1
  184. package/dist/lib/import-defaults.js +28 -26
  185. package/dist/lib/import-defaults.js.map +1 -1
  186. package/dist/lib/launch/adapters/aider.d.ts +17 -0
  187. package/dist/lib/launch/adapters/aider.d.ts.map +1 -0
  188. package/dist/lib/launch/adapters/aider.js +30 -0
  189. package/dist/lib/launch/adapters/aider.js.map +1 -0
  190. package/dist/lib/launch/adapters/auggie.d.ts +18 -0
  191. package/dist/lib/launch/adapters/auggie.d.ts.map +1 -0
  192. package/dist/lib/launch/adapters/auggie.js +34 -0
  193. package/dist/lib/launch/adapters/auggie.js.map +1 -0
  194. package/dist/lib/launch/adapters/cline.d.ts +10 -0
  195. package/dist/lib/launch/adapters/cline.d.ts.map +1 -0
  196. package/dist/lib/launch/adapters/cline.js +41 -0
  197. package/dist/lib/launch/adapters/cline.js.map +1 -0
  198. package/dist/lib/launch/adapters/continue.d.ts +22 -0
  199. package/dist/lib/launch/adapters/continue.d.ts.map +1 -0
  200. package/dist/lib/launch/adapters/continue.js +46 -0
  201. package/dist/lib/launch/adapters/continue.js.map +1 -0
  202. package/dist/lib/launch/adapters/gemini-cli.d.ts +13 -14
  203. package/dist/lib/launch/adapters/gemini-cli.d.ts.map +1 -1
  204. package/dist/lib/launch/adapters/gemini-cli.js +38 -53
  205. package/dist/lib/launch/adapters/gemini-cli.js.map +1 -1
  206. package/dist/lib/launch/adapters/goose.d.ts +20 -0
  207. package/dist/lib/launch/adapters/goose.d.ts.map +1 -0
  208. package/dist/lib/launch/adapters/goose.js +47 -0
  209. package/dist/lib/launch/adapters/goose.js.map +1 -0
  210. package/dist/lib/launch/adapters/notes.d.ts +7 -0
  211. package/dist/lib/launch/adapters/notes.d.ts.map +1 -0
  212. package/dist/lib/launch/adapters/notes.js +5 -0
  213. package/dist/lib/launch/adapters/notes.js.map +1 -0
  214. package/dist/lib/launch/agents.d.ts +2 -0
  215. package/dist/lib/launch/agents.d.ts.map +1 -1
  216. package/dist/lib/launch/agents.js +3 -1
  217. package/dist/lib/launch/agents.js.map +1 -1
  218. package/dist/lib/launch/auggie-state.d.ts +25 -0
  219. package/dist/lib/launch/auggie-state.d.ts.map +1 -0
  220. package/dist/lib/launch/auggie-state.js +74 -0
  221. package/dist/lib/launch/auggie-state.js.map +1 -0
  222. package/dist/lib/launch/cline-state.d.ts +32 -0
  223. package/dist/lib/launch/cline-state.d.ts.map +1 -0
  224. package/dist/lib/launch/cline-state.js +108 -0
  225. package/dist/lib/launch/cline-state.js.map +1 -0
  226. package/dist/lib/launch/config-writes.d.ts +4 -0
  227. package/dist/lib/launch/config-writes.d.ts.map +1 -1
  228. package/dist/lib/launch/config-writes.js +8 -3
  229. package/dist/lib/launch/config-writes.js.map +1 -1
  230. package/dist/lib/launch/continue-state.d.ts +41 -0
  231. package/dist/lib/launch/continue-state.d.ts.map +1 -0
  232. package/dist/lib/launch/continue-state.js +142 -0
  233. package/dist/lib/launch/continue-state.js.map +1 -0
  234. package/dist/lib/launch/detect.d.ts.map +1 -1
  235. package/dist/lib/launch/detect.js +3 -1
  236. package/dist/lib/launch/detect.js.map +1 -1
  237. package/dist/lib/launch/gemini-state.d.ts +26 -20
  238. package/dist/lib/launch/gemini-state.d.ts.map +1 -1
  239. package/dist/lib/launch/gemini-state.js +95 -37
  240. package/dist/lib/launch/gemini-state.js.map +1 -1
  241. package/dist/lib/launch/gemini-system-file.d.ts +17 -0
  242. package/dist/lib/launch/gemini-system-file.d.ts.map +1 -0
  243. package/dist/lib/launch/gemini-system-file.js +55 -0
  244. package/dist/lib/launch/gemini-system-file.js.map +1 -0
  245. package/dist/lib/launch/gemini-trust.d.ts +3 -1
  246. package/dist/lib/launch/gemini-trust.d.ts.map +1 -1
  247. package/dist/lib/launch/gemini-trust.js +10 -3
  248. package/dist/lib/launch/gemini-trust.js.map +1 -1
  249. package/dist/lib/launch/goose-state.d.ts +53 -0
  250. package/dist/lib/launch/goose-state.d.ts.map +1 -0
  251. package/dist/lib/launch/goose-state.js +137 -0
  252. package/dist/lib/launch/goose-state.js.map +1 -0
  253. package/dist/lib/launch/launch-files.d.ts.map +1 -1
  254. package/dist/lib/launch/launch-files.js +3 -2
  255. package/dist/lib/launch/launch-files.js.map +1 -1
  256. package/dist/lib/launch/launch.d.ts +17 -2
  257. package/dist/lib/launch/launch.d.ts.map +1 -1
  258. package/dist/lib/launch/launch.js +36 -3
  259. package/dist/lib/launch/launch.js.map +1 -1
  260. package/dist/lib/launch/mcp-child-env.d.ts +30 -0
  261. package/dist/lib/launch/mcp-child-env.d.ts.map +1 -0
  262. package/dist/lib/launch/mcp-child-env.js +151 -0
  263. package/dist/lib/launch/mcp-child-env.js.map +1 -0
  264. package/dist/lib/launch/pick-agent.d.ts.map +1 -1
  265. package/dist/lib/launch/pick-agent.js +4 -4
  266. package/dist/lib/launch/pick-agent.js.map +1 -1
  267. package/dist/lib/launch/picker-options.d.ts.map +1 -1
  268. package/dist/lib/launch/picker-options.js +7 -2
  269. package/dist/lib/launch/picker-options.js.map +1 -1
  270. package/dist/lib/launch/registry/agents/aider.d.ts +3 -0
  271. package/dist/lib/launch/registry/agents/aider.d.ts.map +1 -0
  272. package/dist/lib/launch/registry/agents/aider.js +13 -0
  273. package/dist/lib/launch/registry/agents/aider.js.map +1 -0
  274. package/dist/lib/launch/registry/agents/auggie.d.ts +3 -0
  275. package/dist/lib/launch/registry/agents/auggie.d.ts.map +1 -0
  276. package/dist/lib/launch/registry/agents/auggie.js +11 -0
  277. package/dist/lib/launch/registry/agents/auggie.js.map +1 -0
  278. package/dist/lib/launch/registry/agents/cline.d.ts +3 -0
  279. package/dist/lib/launch/registry/agents/cline.d.ts.map +1 -0
  280. package/dist/lib/launch/registry/agents/cline.js +19 -0
  281. package/dist/lib/launch/registry/agents/cline.js.map +1 -0
  282. package/dist/lib/launch/registry/agents/continue.d.ts +3 -0
  283. package/dist/lib/launch/registry/agents/continue.d.ts.map +1 -0
  284. package/dist/lib/launch/registry/agents/continue.js +20 -0
  285. package/dist/lib/launch/registry/agents/continue.js.map +1 -0
  286. package/dist/lib/launch/registry/agents/gemini-cli.js +2 -2
  287. package/dist/lib/launch/registry/agents/gemini-cli.js.map +1 -1
  288. package/dist/lib/launch/registry/agents/goose.d.ts +3 -0
  289. package/dist/lib/launch/registry/agents/goose.d.ts.map +1 -0
  290. package/dist/lib/launch/registry/agents/goose.js +20 -0
  291. package/dist/lib/launch/registry/agents/goose.js.map +1 -0
  292. package/dist/lib/launch/registry/index.d.ts +1 -1
  293. package/dist/lib/launch/registry/index.d.ts.map +1 -1
  294. package/dist/lib/launch/registry/index.js +7 -2
  295. package/dist/lib/launch/registry/index.js.map +1 -1
  296. package/dist/lib/launch/registry/types.d.ts +12 -1
  297. package/dist/lib/launch/registry/types.d.ts.map +1 -1
  298. package/dist/lib/launch/strict-entry.d.ts +22 -2
  299. package/dist/lib/launch/strict-entry.d.ts.map +1 -1
  300. package/dist/lib/launch/strict-entry.js +80 -2
  301. package/dist/lib/launch/strict-entry.js.map +1 -1
  302. package/dist/lib/launch/yaml-scan.d.ts +59 -0
  303. package/dist/lib/launch/yaml-scan.d.ts.map +1 -0
  304. package/dist/lib/launch/yaml-scan.js +275 -0
  305. package/dist/lib/launch/yaml-scan.js.map +1 -0
  306. package/dist/lib/local-db-epoch.d.ts +4 -0
  307. package/dist/lib/local-db-epoch.d.ts.map +1 -0
  308. package/dist/lib/local-db-epoch.js +19 -0
  309. package/dist/lib/local-db-epoch.js.map +1 -0
  310. package/dist/lib/local-db-migrate.d.ts +85 -0
  311. package/dist/lib/local-db-migrate.d.ts.map +1 -0
  312. package/dist/lib/local-db-migrate.js +484 -0
  313. package/dist/lib/local-db-migrate.js.map +1 -0
  314. package/dist/lib/local-db-v10.d.ts +28 -0
  315. package/dist/lib/local-db-v10.d.ts.map +1 -0
  316. package/dist/lib/local-db-v10.js +49 -0
  317. package/dist/lib/local-db-v10.js.map +1 -0
  318. package/dist/lib/local-db-v11.d.ts +24 -0
  319. package/dist/lib/local-db-v11.d.ts.map +1 -0
  320. package/dist/lib/local-db-v11.js +25 -0
  321. package/dist/lib/local-db-v11.js.map +1 -0
  322. package/dist/lib/local-db-v7.d.ts +30 -0
  323. package/dist/lib/local-db-v7.d.ts.map +1 -0
  324. package/dist/lib/local-db-v7.js +285 -0
  325. package/dist/lib/local-db-v7.js.map +1 -0
  326. package/dist/lib/local-db-v8.d.ts +22 -0
  327. package/dist/lib/local-db-v8.d.ts.map +1 -0
  328. package/dist/lib/local-db-v8.js +33 -0
  329. package/dist/lib/local-db-v8.js.map +1 -0
  330. package/dist/lib/local-db-v9.d.ts +10 -0
  331. package/dist/lib/local-db-v9.d.ts.map +1 -0
  332. package/dist/lib/local-db-v9.js +8 -0
  333. package/dist/lib/local-db-v9.js.map +1 -0
  334. package/dist/lib/local-db.d.ts +61 -11
  335. package/dist/lib/local-db.d.ts.map +1 -1
  336. package/dist/lib/local-db.js +186 -371
  337. package/dist/lib/local-db.js.map +1 -1
  338. package/dist/lib/local-embeddings.d.ts.map +1 -1
  339. package/dist/lib/local-embeddings.js +2 -2
  340. package/dist/lib/local-embeddings.js.map +1 -1
  341. package/dist/lib/local-gateway-client.d.ts +30 -87
  342. package/dist/lib/local-gateway-client.d.ts.map +1 -1
  343. package/dist/lib/local-gateway-client.js +182 -171
  344. package/dist/lib/local-gateway-client.js.map +1 -1
  345. package/dist/lib/local-ingest.d.ts +129 -0
  346. package/dist/lib/local-ingest.d.ts.map +1 -0
  347. package/dist/lib/local-ingest.js +81 -0
  348. package/dist/lib/local-ingest.js.map +1 -0
  349. package/dist/lib/local-link-pass.d.ts +15 -0
  350. package/dist/lib/local-link-pass.d.ts.map +1 -0
  351. package/dist/lib/local-link-pass.js +61 -0
  352. package/dist/lib/local-link-pass.js.map +1 -0
  353. package/dist/lib/local-mode.d.ts +4 -1
  354. package/dist/lib/local-mode.d.ts.map +1 -1
  355. package/dist/lib/local-mode.js +16 -1
  356. package/dist/lib/local-mode.js.map +1 -1
  357. package/dist/lib/local-provenance.d.ts +14 -0
  358. package/dist/lib/local-provenance.d.ts.map +1 -0
  359. package/dist/lib/local-provenance.js +14 -0
  360. package/dist/lib/local-provenance.js.map +1 -0
  361. package/dist/lib/local-thresholds.d.ts +70 -0
  362. package/dist/lib/local-thresholds.d.ts.map +1 -0
  363. package/dist/lib/local-thresholds.js +79 -0
  364. package/dist/lib/local-thresholds.js.map +1 -0
  365. package/dist/lib/mcp/mark-tool.d.ts +27 -0
  366. package/dist/lib/mcp/mark-tool.d.ts.map +1 -0
  367. package/dist/lib/mcp/mark-tool.js +103 -0
  368. package/dist/lib/mcp/mark-tool.js.map +1 -0
  369. package/dist/lib/mcp/share-tool.d.ts +46 -0
  370. package/dist/lib/mcp/share-tool.d.ts.map +1 -0
  371. package/dist/lib/mcp/share-tool.js +68 -0
  372. package/dist/lib/mcp/share-tool.js.map +1 -0
  373. package/dist/lib/mcp/tool-rules.d.ts +30 -0
  374. package/dist/lib/mcp/tool-rules.d.ts.map +1 -0
  375. package/dist/lib/mcp/tool-rules.js +84 -0
  376. package/dist/lib/mcp/tool-rules.js.map +1 -0
  377. package/dist/lib/mcp-backfill.d.ts +89 -0
  378. package/dist/lib/mcp-backfill.d.ts.map +1 -0
  379. package/dist/lib/mcp-backfill.js +194 -0
  380. package/dist/lib/mcp-backfill.js.map +1 -0
  381. package/dist/lib/mcp-scope.d.ts +90 -0
  382. package/dist/lib/mcp-scope.d.ts.map +1 -0
  383. package/dist/lib/mcp-scope.js +125 -0
  384. package/dist/lib/mcp-scope.js.map +1 -0
  385. package/dist/lib/mcp-sync.d.ts +64 -0
  386. package/dist/lib/mcp-sync.d.ts.map +1 -0
  387. package/dist/lib/mcp-sync.js +183 -0
  388. package/dist/lib/mcp-sync.js.map +1 -0
  389. package/dist/lib/personal-import.d.ts +7 -0
  390. package/dist/lib/personal-import.d.ts.map +1 -1
  391. package/dist/lib/personal-import.js +13 -1
  392. package/dist/lib/personal-import.js.map +1 -1
  393. package/dist/lib/safe-config-write.d.ts.map +1 -1
  394. package/dist/lib/safe-config-write.js +39 -2
  395. package/dist/lib/safe-config-write.js.map +1 -1
  396. package/dist/lib/scope-choices.d.ts +51 -0
  397. package/dist/lib/scope-choices.d.ts.map +1 -0
  398. package/dist/lib/scope-choices.js +193 -0
  399. package/dist/lib/scope-choices.js.map +1 -0
  400. package/dist/lib/scope-connect.d.ts +82 -0
  401. package/dist/lib/scope-connect.d.ts.map +1 -0
  402. package/dist/lib/scope-connect.js +258 -0
  403. package/dist/lib/scope-connect.js.map +1 -0
  404. package/dist/lib/scope-defaults.d.ts +3 -0
  405. package/dist/lib/scope-defaults.d.ts.map +1 -0
  406. package/dist/lib/scope-defaults.js +42 -0
  407. package/dist/lib/scope-defaults.js.map +1 -0
  408. package/dist/lib/scope-real.d.ts +223 -0
  409. package/dist/lib/scope-real.d.ts.map +1 -0
  410. package/dist/lib/scope-real.js +58 -0
  411. package/dist/lib/scope-real.js.map +1 -0
  412. package/dist/lib/scope-values.d.ts +76 -0
  413. package/dist/lib/scope-values.d.ts.map +1 -0
  414. package/dist/lib/scope-values.js +169 -0
  415. package/dist/lib/scope-values.js.map +1 -0
  416. package/dist/lib/scope.d.ts +161 -0
  417. package/dist/lib/scope.d.ts.map +1 -0
  418. package/dist/lib/scope.js +323 -0
  419. package/dist/lib/scope.js.map +1 -0
  420. package/dist/lib/share/command.d.ts +32 -0
  421. package/dist/lib/share/command.d.ts.map +1 -0
  422. package/dist/lib/share/command.js +136 -0
  423. package/dist/lib/share/command.js.map +1 -0
  424. package/dist/lib/share/ledger.d.ts +59 -0
  425. package/dist/lib/share/ledger.d.ts.map +1 -0
  426. package/dist/lib/share/ledger.js +135 -0
  427. package/dist/lib/share/ledger.js.map +1 -0
  428. package/dist/lib/share/payload.d.ts +92 -0
  429. package/dist/lib/share/payload.d.ts.map +1 -0
  430. package/dist/lib/share/payload.js +138 -0
  431. package/dist/lib/share/payload.js.map +1 -0
  432. package/dist/lib/share/pending.d.ts +48 -0
  433. package/dist/lib/share/pending.d.ts.map +1 -0
  434. package/dist/lib/share/pending.js +130 -0
  435. package/dist/lib/share/pending.js.map +1 -0
  436. package/dist/lib/share/preview.d.ts +18 -0
  437. package/dist/lib/share/preview.d.ts.map +1 -0
  438. package/dist/lib/share/preview.js +72 -0
  439. package/dist/lib/share/preview.js.map +1 -0
  440. package/dist/lib/share/run.d.ts +115 -0
  441. package/dist/lib/share/run.d.ts.map +1 -0
  442. package/dist/lib/share/run.js +261 -0
  443. package/dist/lib/share/run.js.map +1 -0
  444. package/dist/lib/share/salt.d.ts +2 -0
  445. package/dist/lib/share/salt.d.ts.map +1 -0
  446. package/dist/lib/share/salt.js +44 -0
  447. package/dist/lib/share/salt.js.map +1 -0
  448. package/dist/lib/share/secret-patterns.json +100 -0
  449. package/dist/lib/share/secret-scan.d.ts +19 -0
  450. package/dist/lib/share/secret-scan.d.ts.map +1 -0
  451. package/dist/lib/share/secret-scan.js +75 -0
  452. package/dist/lib/share/secret-scan.js.map +1 -0
  453. package/dist/lib/share/tty.d.ts +4 -0
  454. package/dist/lib/share/tty.d.ts.map +1 -0
  455. package/dist/lib/share/tty.js +57 -0
  456. package/dist/lib/share/tty.js.map +1 -0
  457. package/dist/lib/share/visible.d.ts +4 -0
  458. package/dist/lib/share/visible.d.ts.map +1 -0
  459. package/dist/lib/share/visible.js +30 -0
  460. package/dist/lib/share/visible.js.map +1 -0
  461. package/dist/lib/share/wire.d.ts +98 -0
  462. package/dist/lib/share/wire.d.ts.map +1 -0
  463. package/dist/lib/share/wire.js +43 -0
  464. package/dist/lib/share/wire.js.map +1 -0
  465. package/dist/lib/similarity/embedding-matrix.d.ts +64 -0
  466. package/dist/lib/similarity/embedding-matrix.d.ts.map +1 -0
  467. package/dist/lib/similarity/embedding-matrix.js +119 -0
  468. package/dist/lib/similarity/embedding-matrix.js.map +1 -0
  469. package/dist/lib/since-flag.d.ts +11 -0
  470. package/dist/lib/since-flag.d.ts.map +1 -0
  471. package/dist/lib/since-flag.js +24 -0
  472. package/dist/lib/since-flag.js.map +1 -0
  473. package/dist/lib/since.d.ts +59 -0
  474. package/dist/lib/since.d.ts.map +1 -0
  475. package/dist/lib/since.js +86 -0
  476. package/dist/lib/since.js.map +1 -0
  477. package/dist/lib/source-key.d.ts +13 -0
  478. package/dist/lib/source-key.d.ts.map +1 -0
  479. package/dist/lib/source-key.js +60 -0
  480. package/dist/lib/source-key.js.map +1 -0
  481. package/dist/lib/source-sync-state.d.ts +12 -0
  482. package/dist/lib/source-sync-state.d.ts.map +1 -0
  483. package/dist/lib/source-sync-state.js +43 -0
  484. package/dist/lib/source-sync-state.js.map +1 -0
  485. package/dist/lib/startup-backfill-track.d.ts +2 -0
  486. package/dist/lib/startup-backfill-track.d.ts.map +1 -0
  487. package/dist/lib/startup-backfill-track.js +6 -0
  488. package/dist/lib/startup-backfill-track.js.map +1 -0
  489. package/dist/lib/startup-xdg.d.ts +2 -0
  490. package/dist/lib/startup-xdg.d.ts.map +1 -0
  491. package/dist/lib/startup-xdg.js +9 -0
  492. package/dist/lib/startup-xdg.js.map +1 -0
  493. package/dist/lib/sync/after-connect.d.ts +2 -0
  494. package/dist/lib/sync/after-connect.d.ts.map +1 -0
  495. package/dist/lib/sync/after-connect.js +18 -0
  496. package/dist/lib/sync/after-connect.js.map +1 -0
  497. package/dist/lib/sync/bg-claim.d.ts +14 -0
  498. package/dist/lib/sync/bg-claim.d.ts.map +1 -0
  499. package/dist/lib/sync/bg-claim.js +97 -0
  500. package/dist/lib/sync/bg-claim.js.map +1 -0
  501. package/dist/lib/sync/blocked.d.ts +8 -0
  502. package/dist/lib/sync/blocked.d.ts.map +1 -0
  503. package/dist/lib/sync/blocked.js +44 -0
  504. package/dist/lib/sync/blocked.js.map +1 -0
  505. package/dist/lib/sync/classify.d.ts +34 -0
  506. package/dist/lib/sync/classify.d.ts.map +1 -0
  507. package/dist/lib/sync/classify.js +91 -0
  508. package/dist/lib/sync/classify.js.map +1 -0
  509. package/dist/lib/sync/drain.d.ts +16 -0
  510. package/dist/lib/sync/drain.d.ts.map +1 -0
  511. package/dist/lib/sync/drain.js +33 -0
  512. package/dist/lib/sync/drain.js.map +1 -0
  513. package/dist/lib/sync/forget.d.ts +12 -0
  514. package/dist/lib/sync/forget.d.ts.map +1 -0
  515. package/dist/lib/sync/forget.js +32 -0
  516. package/dist/lib/sync/forget.js.map +1 -0
  517. package/dist/lib/sync/launch-hook.d.ts +42 -0
  518. package/dist/lib/sync/launch-hook.d.ts.map +1 -0
  519. package/dist/lib/sync/launch-hook.js +117 -0
  520. package/dist/lib/sync/launch-hook.js.map +1 -0
  521. package/dist/lib/sync/lock.d.ts +35 -0
  522. package/dist/lib/sync/lock.d.ts.map +1 -0
  523. package/dist/lib/sync/lock.js +175 -0
  524. package/dist/lib/sync/lock.js.map +1 -0
  525. package/dist/lib/sync/purge.d.ts +38 -0
  526. package/dist/lib/sync/purge.d.ts.map +1 -0
  527. package/dist/lib/sync/purge.js +61 -0
  528. package/dist/lib/sync/purge.js.map +1 -0
  529. package/dist/lib/sync/real-env.d.ts +208 -0
  530. package/dist/lib/sync/real-env.d.ts.map +1 -0
  531. package/dist/lib/sync/real-env.js +47 -0
  532. package/dist/lib/sync/real-env.js.map +1 -0
  533. package/dist/lib/sync/relink.d.ts +14 -0
  534. package/dist/lib/sync/relink.d.ts.map +1 -0
  535. package/dist/lib/sync/relink.js +36 -0
  536. package/dist/lib/sync/relink.js.map +1 -0
  537. package/dist/lib/sync/report.d.ts +3 -0
  538. package/dist/lib/sync/report.d.ts.map +1 -0
  539. package/dist/lib/sync/report.js +54 -0
  540. package/dist/lib/sync/report.js.map +1 -0
  541. package/dist/lib/sync/run-all.d.ts +23 -0
  542. package/dist/lib/sync/run-all.d.ts.map +1 -0
  543. package/dist/lib/sync/run-all.js +30 -0
  544. package/dist/lib/sync/run-all.js.map +1 -0
  545. package/dist/lib/sync/run-source.d.ts +73 -0
  546. package/dist/lib/sync/run-source.d.ts.map +1 -0
  547. package/dist/lib/sync/run-source.js +262 -0
  548. package/dist/lib/sync/run-source.js.map +1 -0
  549. package/dist/lib/sync/safe-read.d.ts +4 -0
  550. package/dist/lib/sync/safe-read.d.ts.map +1 -0
  551. package/dist/lib/sync/safe-read.js +40 -0
  552. package/dist/lib/sync/safe-read.js.map +1 -0
  553. package/dist/lib/sync/should-background-sync.d.ts +31 -0
  554. package/dist/lib/sync/should-background-sync.d.ts.map +1 -0
  555. package/dist/lib/sync/should-background-sync.js +69 -0
  556. package/dist/lib/sync/should-background-sync.js.map +1 -0
  557. package/dist/lib/sync/source-ids.d.ts +10 -0
  558. package/dist/lib/sync/source-ids.d.ts.map +1 -0
  559. package/dist/lib/sync/source-ids.js +9 -0
  560. package/dist/lib/sync/source-ids.js.map +1 -0
  561. package/dist/lib/sync/sources.d.ts +33 -0
  562. package/dist/lib/sync/sources.d.ts.map +1 -0
  563. package/dist/lib/sync/sources.js +37 -0
  564. package/dist/lib/sync/sources.js.map +1 -0
  565. package/dist/lib/sync/spawn-background.d.ts +27 -0
  566. package/dist/lib/sync/spawn-background.d.ts.map +1 -0
  567. package/dist/lib/sync/spawn-background.js +66 -0
  568. package/dist/lib/sync/spawn-background.js.map +1 -0
  569. package/dist/lib/sync/status.d.ts +57 -0
  570. package/dist/lib/sync/status.d.ts.map +1 -0
  571. package/dist/lib/sync/status.js +166 -0
  572. package/dist/lib/sync/status.js.map +1 -0
  573. package/dist/lib/sync/summary-read.d.ts +19 -0
  574. package/dist/lib/sync/summary-read.d.ts.map +1 -0
  575. package/dist/lib/sync/summary-read.js +39 -0
  576. package/dist/lib/sync/summary-read.js.map +1 -0
  577. package/dist/lib/sync/summary.d.ts +10 -0
  578. package/dist/lib/sync/summary.d.ts.map +1 -0
  579. package/dist/lib/sync/summary.js +80 -0
  580. package/dist/lib/sync/summary.js.map +1 -0
  581. package/dist/lib/sync/sync-state.d.ts +128 -0
  582. package/dist/lib/sync/sync-state.d.ts.map +1 -0
  583. package/dist/lib/sync/sync-state.js +253 -0
  584. package/dist/lib/sync/sync-state.js.map +1 -0
  585. package/dist/lib/sync/telemetry.d.ts +20 -0
  586. package/dist/lib/sync/telemetry.d.ts.map +1 -0
  587. package/dist/lib/sync/telemetry.js +31 -0
  588. package/dist/lib/sync/telemetry.js.map +1 -0
  589. package/dist/lib/sync/threads.d.ts +48 -0
  590. package/dist/lib/sync/threads.d.ts.map +1 -0
  591. package/dist/lib/sync/threads.js +82 -0
  592. package/dist/lib/sync/threads.js.map +1 -0
  593. package/dist/lib/sync/window.d.ts +72 -0
  594. package/dist/lib/sync/window.d.ts.map +1 -0
  595. package/dist/lib/sync/window.js +112 -0
  596. package/dist/lib/sync/window.js.map +1 -0
  597. package/dist/lib/team-cta.d.ts +11 -0
  598. package/dist/lib/team-cta.d.ts.map +1 -0
  599. package/dist/lib/team-cta.js +16 -0
  600. package/dist/lib/team-cta.js.map +1 -0
  601. package/dist/lib/telemetry-ci.d.ts +2 -0
  602. package/dist/lib/telemetry-ci.d.ts.map +1 -0
  603. package/dist/lib/telemetry-ci.js +21 -0
  604. package/dist/lib/telemetry-ci.js.map +1 -0
  605. package/dist/lib/telemetry-consent.d.ts +44 -23
  606. package/dist/lib/telemetry-consent.d.ts.map +1 -1
  607. package/dist/lib/telemetry-consent.js +74 -35
  608. package/dist/lib/telemetry-consent.js.map +1 -1
  609. package/dist/lib/telemetry-env.d.ts +1 -1
  610. package/dist/lib/usage-telemetry.d.ts +87 -22
  611. package/dist/lib/usage-telemetry.d.ts.map +1 -1
  612. package/dist/lib/usage-telemetry.js +263 -74
  613. package/dist/lib/usage-telemetry.js.map +1 -1
  614. package/dist/lib/xdg.d.ts +27 -0
  615. package/dist/lib/xdg.d.ts.map +1 -0
  616. package/dist/lib/xdg.js +56 -0
  617. package/dist/lib/xdg.js.map +1 -0
  618. package/package.json +3 -2
  619. package/dist/commands/push.d.ts +0 -25
  620. package/dist/commands/push.d.ts.map +0 -1
  621. package/dist/commands/push.js +0 -98
  622. package/dist/commands/push.js.map +0 -1
@@ -10,12 +10,15 @@ import { renderCaptureReport, toCaptureSource } from '../../lib/capture-report.j
10
10
  import { CAPTURE_SOURCES } from '../../lib/capture-sources.js';
11
11
  import { gitCaptureReport } from '../../lib/fetchers/git.js';
12
12
  import { commandIntro } from '../../lib/brand.js';
13
- import { IMPORT_LIMITS } from '../../lib/import-defaults.js';
13
+ import { GIT_DEFAULT_LIMIT, SYNC_CEILINGS } from '../../lib/import-defaults.js';
14
+ import { windowLabel } from '../../lib/since.js';
15
+ import { sinceFromFlag } from '../../lib/since-flag.js';
14
16
  export function registerImportGitCommand(importCmd) {
15
17
  importCmd
16
18
  .command('git')
17
19
  .description('Import local git commit history (no auth required)')
18
- .option('--limit <n>', 'Max commits to import', String(IMPORT_LIMITS.git))
20
+ .option('--limit <n>', 'Max commits to import', String(GIT_DEFAULT_LIMIT))
21
+ .option('--since <when>', 'Read only this far back (30d, 2w, 6m, 1y or all). Without it git reads the newest commits however old. --from wins')
19
22
  .option('--from <date>', 'Start date (ISO e.g. 2025-01-01)')
20
23
  .option('--to <date>', 'End date (ISO)')
21
24
  .option('--branch <name>', 'Branch to scan (default: current)')
@@ -23,6 +26,8 @@ export function registerImportGitCommand(importCmd) {
23
26
  .option('--env <env>', 'Environment')
24
27
  .action(async (_opts, cmd) => {
25
28
  const opts = subcommandOpts(cmd);
29
+ // Opt-in: no --since means the newest commits however old, exactly as before the window.
30
+ const window = opts.since === undefined ? undefined : sinceFromFlag(opts.since);
26
31
  if (!(await isGitRepo())) {
27
32
  p.log.error('Not in a git repository. Run from inside your project directory.');
28
33
  process.exit(1);
@@ -34,10 +39,13 @@ export function registerImportGitCommand(importCmd) {
34
39
  p.intro(commandIntro('align connect git'));
35
40
  const spinner = p.spinner();
36
41
  spinner.start('Reading git history...');
37
- const requested = parseInt(opts.limit, 10);
42
+ // An untouched --limit (by option SOURCE, so an explicit `--limit 500` is not mistaken for it)
43
+ // becomes the ceiling once a window bounds the read.
44
+ const requested = window !== undefined && cmd.getOptionValueSource('limit') === 'default' ? SYNC_CEILINGS.git : parseInt(opts.limit, 10);
38
45
  const { commits, scanned, rejectedByRationale } = await getCommitHistoryDetailed({
39
46
  limit: requested,
40
- from: opts.from,
47
+ // An explicit --from is a date the user picked; the shared window only fills the gap.
48
+ from: opts.from ?? window?.since,
41
49
  to: opts.to,
42
50
  branch: opts.branch,
43
51
  });
@@ -69,7 +77,9 @@ export function registerImportGitCommand(importCmd) {
69
77
  ...(c.date ? { created_at: c.date } : {}),
70
78
  };
71
79
  });
80
+ const importResult = {};
72
81
  await runPersonalImport(items, client, {
82
+ result: importResult,
73
83
  label: 'git history',
74
84
  approve: opts.approve,
75
85
  appUrl: resolveAppUrl(env),
@@ -79,7 +89,7 @@ export function registerImportGitCommand(importCmd) {
79
89
  // import ends with. Derived by gitCaptureReport so this command and `align setup`
80
90
  // cannot disagree on what "mechanical" means or when the cap is worth naming.
81
91
  const report = gitCaptureReport({ scanned, kept: commits.length, rejectedByRationale, limit: requested });
82
- console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.git, { items, report })])}\n`);
92
+ console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.git, { items, report }, window !== undefined && opts.from === undefined ? windowLabel(window.days) : undefined, importResult)])}\n`);
83
93
  });
84
94
  }
85
95
  //# sourceMappingURL=git.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/commands/import/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/commands/import/git.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/commands/import/github.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBzC,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAyDpE"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/commands/import/github.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BzC,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CA+EpE"}
@@ -10,20 +10,26 @@ import { renderCaptureReport, toCaptureSource } from '../../lib/capture-report.j
10
10
  import { CAPTURE_SOURCES } from '../../lib/capture-sources.js';
11
11
  import { personalCredsForImport } from '../../lib/personal-oauth.js';
12
12
  import { commandIntro } from '../../lib/brand.js';
13
- import { IMPORT_LIMITS } from '../../lib/import-defaults.js';
13
+ import { SYNC_CEILINGS } from '../../lib/import-defaults.js';
14
+ import { fetchWindow, windowLabel } from '../../lib/since.js';
15
+ import { SINCE_HELP, sinceFromFlag } from '../../lib/since-flag.js';
16
+ import { discloseTeamScope, scopeKeyOf } from '../../lib/scope-values.js';
17
+ import { activeStoredScope } from '../../lib/scope-real.js';
14
18
  export function registerImportGitHubCommand(importCmd) {
15
19
  importCmd
16
20
  .command('github')
17
21
  .description('Import your GitHub PRs and issues')
18
22
  .option('--token <token>', 'GitHub personal access token (ghp_...)')
19
23
  .option('--personal', 'Connect your own GitHub via browser OAuth (Align personal app) instead of a token')
20
- .option('--limit <n>', 'Max items to import', String(IMPORT_LIMITS.github))
24
+ .option('--limit <n>', 'Max items to import', String(SYNC_CEILINGS.github))
25
+ .option('--since <when>', SINCE_HELP)
21
26
  .option('--repo <owner/repo>', 'Scope to one GitHub repo - the literal owner/repo (not the fuzzy short name `search`/`why` accept; default: the repo you are in, if it is a GitHub remote)')
22
27
  .option('--all', 'Every repo your token can see, not just the current one')
23
28
  .option('--approve', 'Skip confirmation prompt')
24
29
  .option('--env <env>', 'Environment')
25
30
  .action(async (_opts, cmd) => {
26
31
  const opts = subcommandOpts(cmd);
32
+ const window = sinceFromFlag(opts.since);
27
33
  const config = createConfigStore();
28
34
  const envName = resolveImportEnv(opts.env);
29
35
  const env = config.getEnvironment(envName);
@@ -50,15 +56,36 @@ export function registerImportGitHubCommand(importCmd) {
50
56
  // execa calls each swallow their own error) - but that is an invariant of THAT
51
57
  // file, not this one, and this call must not be the one thing standing outside
52
58
  // the safety net if it ever changes.
53
- const repo = await resolveGitHubRepoScope(opts);
59
+ const flagged = await resolveGitHubRepoScope(opts);
60
+ // L4: on the local graph the choice already made (`align connect --source github --scope ...`, or `align_scope`) is honoured here too,
61
+ // unless --repo/--all says otherwise: a stored "yours" is not widened by the folder, and a stored repo is read wherever this runs.
62
+ const chosen = env.mode === 'local-embedded' && opts.repo === undefined && !opts.all ? activeStoredScope('github', config) : null;
63
+ // Nobody at a terminal (a script, an agent's shell) is not a person who can be told: the FOLDER does not widen for it. It reads team only
64
+ // for an explicit --repo, a stored choice, or a folder scope already told for that repo, and it never marks anything told.
65
+ const attended = Boolean(process.stdin.isTTY && process.stdout.isTTY);
66
+ const folderOk = env.mode !== 'local-embedded' || opts.repo !== undefined || attended || (flagged !== undefined && config.isTeamScopeDisclosed('github', scopeKeyOf('github', [flagged])));
67
+ const repo = chosen?.kind === 'team' ? chosen.values[0] : chosen?.kind === 'yours' ? undefined : folderOk ? flagged : undefined;
68
+ // Team scope only on the LOCAL graph, and only inside a repo; a hosted env keeps `yours`.
69
+ // The status text says what is read, because it is not "your" items.
70
+ const team = Boolean(repo) && env.mode === 'local-embedded';
71
+ // L4: the person is told what a team read covers before it happens, once. A hosted env never reads team scope.
72
+ if (team && attended)
73
+ discloseTeamScope(config, 'github', [repo], (line) => p.log.info(line));
54
74
  spinner.start(repo
55
- ? `Fetching your GitHub PRs and issues in ${repo}...`
75
+ ? team
76
+ ? `Fetching everyone's PRs and issues in ${repo}, as far as your token can see...`
77
+ : `Fetching your GitHub PRs and issues in ${repo}...`
56
78
  : 'Fetching your GitHub PRs and issues everywhere your token can see (pass --repo to narrow)...');
57
- const fetched = await fetchGitHubItems({ token, limit: parseInt(opts.limit, 10), ...(repo ? { repo } : {}) });
79
+ // L3: items first, then discussion inline up to a request budget (fetchGitHubItems); inside a repo, everyone's items in it.
80
+ const fetched = await fetchGitHubItems({
81
+ token, ...fetchWindow('github', window), limit: parseInt(opts.limit, 10),
82
+ ...(repo ? { repo, ...(team ? { scope: 'team' } : {}) } : {}),
83
+ });
58
84
  const { items } = fetched;
59
85
  spinner.stop(`Found ${items.length} items`);
60
- await runPersonalImport(items, client, { label: 'GitHub', approve: opts.approve, appUrl: resolveAppUrl(env), funnel: { env, source: 'github' } });
61
- console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.github, fetched)])}\n`);
86
+ const importResult = {};
87
+ await runPersonalImport(items, client, { result: importResult, label: 'GitHub', approve: opts.approve, appUrl: resolveAppUrl(env), funnel: { env, source: 'github' } });
88
+ console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.github, fetched, windowLabel(window.days), importResult)])}\n`);
62
89
  }
63
90
  catch (err) {
64
91
  spinner.stop('');
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/commands/import/github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/commands/import/github.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../../src/commands/import/gitlab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBzC,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAqDpE"}
1
+ {"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../../src/commands/import/gitlab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BzC,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAwDpE"}
@@ -10,7 +10,9 @@ import { renderCaptureReport, toCaptureSource } from '../../lib/capture-report.j
10
10
  import { CAPTURE_SOURCES } from '../../lib/capture-sources.js';
11
11
  import { personalCredsForImport } from '../../lib/personal-oauth.js';
12
12
  import { commandIntro } from '../../lib/brand.js';
13
- import { IMPORT_LIMITS } from '../../lib/import-defaults.js';
13
+ import { SYNC_CEILINGS } from '../../lib/import-defaults.js';
14
+ import { fetchWindow, windowLabel } from '../../lib/since.js';
15
+ import { SINCE_HELP, sinceFromFlag } from '../../lib/since-flag.js';
14
16
  export function registerImportGitLabCommand(importCmd) {
15
17
  importCmd
16
18
  .command('gitlab')
@@ -18,11 +20,13 @@ export function registerImportGitLabCommand(importCmd) {
18
20
  .option('--token <token>', 'GitLab personal access token (glpat-...)')
19
21
  .option('--personal', 'Connect your own GitLab via browser OAuth (gitlab.com only)')
20
22
  .option('--domain <domain>', 'GitLab domain for self-hosted (default: gitlab.com)')
21
- .option('--limit <n>', 'Max items to import', String(IMPORT_LIMITS.gitlab))
23
+ .option('--limit <n>', 'Max items to import', String(SYNC_CEILINGS.gitlab))
24
+ .option('--since <when>', SINCE_HELP)
22
25
  .option('--approve', 'Skip confirmation prompt')
23
26
  .option('--env <env>', 'Environment')
24
27
  .action(async (_opts, cmd) => {
25
28
  const opts = subcommandOpts(cmd);
29
+ const window = sinceFromFlag(opts.since);
26
30
  const config = createConfigStore();
27
31
  const envName = resolveImportEnv(opts.env);
28
32
  const env = config.getEnvironment(envName);
@@ -51,11 +55,12 @@ export function registerImportGitLabCommand(importCmd) {
51
55
  const spinner = p.spinner();
52
56
  spinner.start('Fetching your GitLab merge requests...');
53
57
  try {
54
- const fetched = await fetchGitLabItems({ token, domain: opts.domain, limit: parseInt(opts.limit, 10) });
58
+ const fetched = await fetchGitLabItems({ token, domain: opts.domain, ...fetchWindow('gitlab', window), limit: parseInt(opts.limit, 10) });
55
59
  const { items } = fetched;
56
60
  spinner.stop(`Found ${items.length} items`);
57
- await runPersonalImport(items, client, { label: 'GitLab', approve: opts.approve, appUrl: resolveAppUrl(env), funnel: { env, source: 'gitlab' } });
58
- console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.gitlab, fetched)])}\n`);
61
+ const importResult = {};
62
+ await runPersonalImport(items, client, { result: importResult, label: 'GitLab', approve: opts.approve, appUrl: resolveAppUrl(env), funnel: { env, source: 'gitlab' } });
63
+ console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.gitlab, fetched, windowLabel(window.days), importResult)])}\n`);
59
64
  }
60
65
  catch (err) {
61
66
  spinner.stop('');
@@ -1 +1 @@
1
- {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../../src/commands/import/gitlab.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../../src/commands/import/gitlab.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAgB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAYpE,MAAM,UAAU,2BAA2B,CAAC,SAAkB;IAC5D,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,iBAAiB,EAAE,0CAA0C,CAAC;SACrE,MAAM,CAAC,YAAY,EAAE,6DAA6D,CAAC;SACnF,MAAM,CAAC,mBAAmB,EAAE,qDAAqD,CAAC;SAClF,MAAM,CAAC,aAAa,EAAE,qBAAqB,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SAC1E,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC;SACpC,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;SACpC,MAAM,CAAC,KAAK,EAAE,KAAuB,EAAE,GAAY,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,cAAc,CAAmB,GAAG,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAExC,qFAAqF;QACrF,uEAAuE;QACvE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,4HAA4H,CAAC,CAAC;YAC1I,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACnG,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,CAAC,CAAC,GAAG,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,kGAAkG,CAAC,CAAC;YAChH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1I,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAgD,EAAE,CAAC;YACrE,MAAM,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACxK,OAAO,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtI,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"jira.d.ts","sourceRoot":"","sources":["../../../src/commands/import/jira.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BzC,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CA6ElE"}
1
+ {"version":3,"file":"jira.d.ts","sourceRoot":"","sources":["../../../src/commands/import/jira.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BzC,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAgFlE"}
@@ -11,7 +11,9 @@ import { CAPTURE_SOURCES } from '../../lib/capture-sources.js';
11
11
  import { PERSONAL_OAUTH_KEYS, personalCredsForImport } from '../../lib/personal-oauth.js';
12
12
  import { AuthExpiredError } from '../../lib/errors.js';
13
13
  import { commandIntro } from '../../lib/brand.js';
14
- import { IMPORT_LIMITS } from '../../lib/import-defaults.js';
14
+ import { SYNC_CEILINGS } from '../../lib/import-defaults.js';
15
+ import { fetchWindow, windowLabel } from '../../lib/since.js';
16
+ import { SINCE_HELP, sinceFromFlag } from '../../lib/since-flag.js';
15
17
  export function registerImportJiraCommand(importCmd) {
16
18
  importCmd
17
19
  .command('jira')
@@ -20,11 +22,13 @@ export function registerImportJiraCommand(importCmd) {
20
22
  .option('--token <token>', 'Atlassian API token (or uses cached OAuth token from align setup)')
21
23
  .option('--personal', 'Connect via browser OAuth (Align personal Atlassian app) instead of a token')
22
24
  .option('--domain <domain>', 'Jira domain, e.g. company.atlassian.net (for API token auth)')
23
- .option('--limit <n>', 'Max items to import', String(IMPORT_LIMITS.jira))
25
+ .option('--limit <n>', 'Max items to import', String(SYNC_CEILINGS.jira))
26
+ .option('--since <when>', SINCE_HELP)
24
27
  .option('--approve', 'Skip confirmation prompt')
25
28
  .option('--env <env>', 'Environment')
26
29
  .action(async (_opts, cmd) => {
27
30
  const opts = subcommandOpts(cmd);
31
+ const window = sinceFromFlag(opts.since);
28
32
  const config = createConfigStore();
29
33
  const envName = resolveImportEnv(opts.env);
30
34
  const env = config.getEnvironment(envName);
@@ -71,12 +75,13 @@ export function registerImportJiraCommand(importCmd) {
71
75
  siteBase,
72
76
  email: opts.email,
73
77
  domain: opts.domain,
74
- limit: parseInt(opts.limit, 10),
78
+ ...fetchWindow('jira', window), limit: parseInt(opts.limit, 10),
75
79
  });
76
80
  const { items } = fetched;
77
81
  spinner.stop(`Found ${items.length} items`);
78
- await runPersonalImport(items, client, { label: 'Jira', approve: opts.approve, appUrl: resolveAppUrl(env), funnel: { env, source: 'jira' } });
79
- console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.jira, fetched)])}\n`);
82
+ const importResult = {};
83
+ await runPersonalImport(items, client, { result: importResult, label: 'Jira', approve: opts.approve, appUrl: resolveAppUrl(env), funnel: { env, source: 'jira' } });
84
+ console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.jira, fetched, windowLabel(window.days), importResult)])}\n`);
80
85
  }
81
86
  catch (err) {
82
87
  spinner.stop('');
@@ -1 +1 @@
1
- {"version":3,"file":"jira.js","sourceRoot":"","sources":["../../../src/commands/import/jira.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jira.js","sourceRoot":"","sources":["../../../src/commands/import/jira.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../../src/commands/import/linear.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CA6CpE"}
1
+ {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../../src/commands/import/linear.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BzC,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAgDpE"}
@@ -10,18 +10,22 @@ import { renderCaptureReport, toCaptureSource } from '../../lib/capture-report.j
10
10
  import { CAPTURE_SOURCES } from '../../lib/capture-sources.js';
11
11
  import { personalCredsForImport } from '../../lib/personal-oauth.js';
12
12
  import { commandIntro } from '../../lib/brand.js';
13
- import { IMPORT_LIMITS } from '../../lib/import-defaults.js';
13
+ import { SYNC_CEILINGS } from '../../lib/import-defaults.js';
14
+ import { fetchWindow, windowLabel } from '../../lib/since.js';
15
+ import { SINCE_HELP, sinceFromFlag } from '../../lib/since-flag.js';
14
16
  export function registerImportLinearCommand(importCmd) {
15
17
  importCmd
16
18
  .command('linear')
17
19
  .description('Import your Linear issues (personal API token)')
18
20
  .option('--token <token>', 'Linear personal API token (lin_api_...)')
19
21
  .option('--personal', 'Connect your own Linear via browser OAuth (Align personal app) instead of a token')
20
- .option('--limit <n>', 'Max items to import', String(IMPORT_LIMITS.linear))
22
+ .option('--limit <n>', 'Max items to import', String(SYNC_CEILINGS.linear))
23
+ .option('--since <when>', SINCE_HELP)
21
24
  .option('--approve', 'Skip confirmation prompt')
22
25
  .option('--env <env>', 'Environment')
23
26
  .action(async (_opts, cmd) => {
24
27
  const opts = subcommandOpts(cmd);
28
+ const window = sinceFromFlag(opts.since);
25
29
  const config = createConfigStore();
26
30
  const envName = resolveImportEnv(opts.env);
27
31
  const env = config.getEnvironment(envName);
@@ -44,11 +48,12 @@ export function registerImportLinearCommand(importCmd) {
44
48
  const spinner = p.spinner();
45
49
  spinner.start('Fetching your Linear issues...');
46
50
  try {
47
- const fetched = await fetchLinearItems({ token, limit: parseInt(opts.limit, 10) });
51
+ const fetched = await fetchLinearItems({ token, ...fetchWindow('linear', window), limit: parseInt(opts.limit, 10) });
48
52
  const { items } = fetched;
49
53
  spinner.stop(`Found ${items.length} items`);
50
- await runPersonalImport(items, client, { label: 'Linear', approve: opts.approve, appUrl: resolveAppUrl(env), funnel: { env, source: 'linear' } });
51
- console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.linear, fetched)])}\n`);
54
+ const importResult = {};
55
+ await runPersonalImport(items, client, { result: importResult, label: 'Linear', approve: opts.approve, appUrl: resolveAppUrl(env), funnel: { env, source: 'linear' } });
56
+ console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.linear, fetched, windowLabel(window.days), importResult)])}\n`);
52
57
  }
53
58
  catch (err) {
54
59
  spinner.stop('');
@@ -1 +1 @@
1
- {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../src/commands/import/linear.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../src/commands/import/linear.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"notion.d.ts","sourceRoot":"","sources":["../../../src/commands/import/notion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAmDpE"}
1
+ {"version":3,"file":"notion.d.ts","sourceRoot":"","sources":["../../../src/commands/import/notion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BzC,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAsDpE"}
@@ -10,14 +10,17 @@ import { renderCaptureReport, toCaptureSource } from '../../lib/capture-report.j
10
10
  import { CAPTURE_SOURCES } from '../../lib/capture-sources.js';
11
11
  import { personalCredsForImport } from '../../lib/personal-oauth.js';
12
12
  import { commandIntro } from '../../lib/brand.js';
13
- import { IMPORT_LIMITS } from '../../lib/import-defaults.js';
13
+ import { SYNC_CEILINGS } from '../../lib/import-defaults.js';
14
+ import { fetchWindow, windowLabel } from '../../lib/since.js';
15
+ import { SINCE_HELP, sinceFromFlag } from '../../lib/since-flag.js';
14
16
  export function registerImportNotionCommand(importCmd) {
15
17
  importCmd
16
18
  .command('notion')
17
19
  .description('Import your Notion pages (internal integration token)')
18
20
  .option('--token <token>', 'Notion integration token (ntn_...)')
19
21
  .option('--personal', 'Connect your own Notion via browser OAuth (Align personal app) instead of a token')
20
- .option('--limit <n>', 'Max pages to import', String(IMPORT_LIMITS.notion))
22
+ .option('--limit <n>', 'Max pages to import', String(SYNC_CEILINGS.notion))
23
+ .option('--since <when>', SINCE_HELP)
21
24
  .option('--approve', 'Skip confirmation prompt')
22
25
  .option('--env <env>', 'Environment')
23
26
  .addHelpText('after', `
@@ -26,6 +29,7 @@ To share a page: open it in Notion → ... menu → Add connections → select y
26
29
  Create an integration at: https://app.notion.com/developers/tokens`)
27
30
  .action(async (_opts, cmd) => {
28
31
  const opts = subcommandOpts(cmd);
32
+ const window = sinceFromFlag(opts.since);
29
33
  const config = createConfigStore();
30
34
  const envName = resolveImportEnv(opts.env);
31
35
  const env = config.getEnvironment(envName);
@@ -49,11 +53,12 @@ Create an integration at: https://app.notion.com/developers/tokens`)
49
53
  const spinner = p.spinner();
50
54
  spinner.start('Fetching your Notion pages...');
51
55
  try {
52
- const fetched = await fetchNotionItems({ token, limit: parseInt(opts.limit, 10) });
56
+ const fetched = await fetchNotionItems({ token, ...fetchWindow('notion', window), limit: parseInt(opts.limit, 10) });
53
57
  const { items } = fetched;
54
58
  spinner.stop(`Found ${items.length} pages`);
55
- await runPersonalImport(items, client, { label: 'Notion', approve: opts.approve, appUrl: resolveAppUrl(env), funnel: { env, source: 'notion' } });
56
- console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.notion, fetched)])}\n`);
59
+ const importResult = {};
60
+ await runPersonalImport(items, client, { result: importResult, label: 'Notion', approve: opts.approve, appUrl: resolveAppUrl(env), funnel: { env, source: 'notion' } });
61
+ console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.notion, fetched, windowLabel(window.days), importResult)])}\n`);
57
62
  }
58
63
  catch (err) {
59
64
  spinner.stop('');
@@ -1 +1 @@
1
- {"version":3,"file":"notion.js","sourceRoot":"","sources":["../../../src/commands/import/notion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notion.js","sourceRoot":"","sources":["../../../src/commands/import/notion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAgB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAWpE,MAAM,UAAU,2BAA2B,CAAC,SAAkB;IAC5D,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;SAC/D,MAAM,CAAC,YAAY,EAAE,mFAAmF,CAAC;SACzG,MAAM,CAAC,aAAa,EAAE,qBAAqB,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SAC1E,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC;SACpC,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;SACpC,WAAW,CAAC,OAAO,EAAE;;;mEAGyC,CAAC;SAC/D,MAAM,CAAC,KAAK,EAAE,KAAuB,EAAE,GAAY,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,cAAc,CAAmB,GAAG,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACnG,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,CAAC,CAAC,GAAG,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;YACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;QAEtG,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACrH,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAgD,EAAE,CAAC;YACrE,MAAM,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACxK,OAAO,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtI,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -2,7 +2,7 @@ import os from 'node:os';
2
2
  import chalk from 'chalk';
3
3
  import { createConfigStore } from '../../lib/config.js';
4
4
  import { getGitIdentity } from '../../lib/git.js';
5
- import { IMPORT_LIMITS } from '../../lib/import-defaults.js';
5
+ import { SYNC_CEILINGS } from '../../lib/import-defaults.js';
6
6
  import { createLocalGatewayClient } from '../../lib/local-gateway-client.js';
7
7
  import { runConfirmEachImport, runWithConcurrency } from '../../lib/personal-import.js';
8
8
  import { resolveImportEnv } from '../../lib/resolve-env.js';
@@ -129,7 +129,7 @@ export function registerImportSessionsCommand(importCmd) {
129
129
  importCmd
130
130
  .command('sessions')
131
131
  .description('Review decision-shaped moments from local coding-agent sessions (Claude Code, pi, Codex CLI, opencode) one by one')
132
- .option('--limit <n>', 'Max candidates to review', String(IMPORT_LIMITS.sessions))
132
+ .option('--limit <n>', 'Max candidates to review', String(SYNC_CEILINGS.sessions))
133
133
  .option('--env <env>', 'Environment (must be local)')
134
134
  .action(async (opts) => {
135
135
  const config = createConfigStore();
@@ -1 +1 @@
1
- {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../../src/commands/import/slack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBzC,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAyDnE"}
1
+ {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../../src/commands/import/slack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4BzC,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CA4DnE"}
@@ -11,19 +11,24 @@ import { renderCaptureReport, toCaptureSource } from '../../lib/capture-report.j
11
11
  import { CAPTURE_SOURCES } from '../../lib/capture-sources.js';
12
12
  import { personalCredsForImport } from '../../lib/personal-oauth.js';
13
13
  import { commandIntro } from '../../lib/brand.js';
14
- import { IMPORT_LIMITS, SLACK_DAYS_BACK } from '../../lib/import-defaults.js';
14
+ import { SYNC_CEILINGS } from '../../lib/import-defaults.js';
15
+ import { fetchWindow, windowLabel } from '../../lib/since.js';
16
+ import { SINCE_HELP, sinceFromFlag } from '../../lib/since-flag.js';
15
17
  export function registerImportSlackCommand(importCmd) {
16
18
  importCmd
17
19
  .command('slack')
18
20
  .description('Import decision threads from Slack (xoxp- user token) [experimental]')
19
21
  .option('--token <token>', 'Slack user OAuth token (xoxp-...)')
20
22
  .option('--personal', 'Connect your own Slack via browser OAuth (Align personal app) instead of a token')
21
- .option('--limit <n>', 'Max threads to import', String(IMPORT_LIMITS.slack))
22
- .option('--days-back <n>', 'How many days back to scan', String(SLACK_DAYS_BACK))
23
+ .option('--limit <n>', 'Max threads to import', String(SYNC_CEILINGS.slack))
24
+ .option('--since <when>', SINCE_HELP)
25
+ .option('--days-back <n>', 'Deprecated: use --since. How many days back to scan')
23
26
  .option('--approve', 'Skip confirmation prompt')
24
27
  .option('--env <env>', 'Environment')
25
28
  .action(async (_opts, cmd) => {
26
29
  const opts = subcommandOpts(cmd);
30
+ // --days-back is the old spelling of the same window; --since wins when both are given.
31
+ const window = sinceFromFlag(opts.since ?? (opts.daysBack !== undefined ? `${opts.daysBack}d` : undefined));
27
32
  p.log.warn(chalk.yellow('Experimental: requires a Slack app with xoxp- token installed in your workspace.\n' +
28
33
  ' To get a token: api.slack.com/apps → New App → OAuth & Permissions → User Token Scopes:\n' +
29
34
  ' channels:read, channels:history, groups:read, groups:history → Install to Workspace\n' +
@@ -52,13 +57,13 @@ export function registerImportSlackCommand(importCmd) {
52
57
  try {
53
58
  const fetched = await fetchSlackItems({
54
59
  token,
55
- limit: parseInt(opts.limit, 10),
56
- daysBack: parseInt(opts.daysBack, 10),
60
+ ...fetchWindow('slack', window), limit: parseInt(opts.limit, 10),
57
61
  });
58
62
  const { items } = fetched;
59
63
  spinner.stop(`Found ${items.length} threads`);
60
- await runPersonalImport(items, client, { label: 'Slack', approve: opts.approve, appUrl: resolveAppUrl(env), funnel: { env, source: 'slack' } });
61
- console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.slack, fetched)])}\n`);
64
+ const importResult = {};
65
+ await runPersonalImport(items, client, { result: importResult, label: 'Slack', approve: opts.approve, appUrl: resolveAppUrl(env), funnel: { env, source: 'slack' } });
66
+ console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.slack, fetched, windowLabel(window.days), importResult)])}\n`);
62
67
  }
63
68
  catch (err) {
64
69
  spinner.stop('');
@@ -1 +1 @@
1
- {"version":3,"file":"slack.js","sourceRoot":"","sources":["../../../src/commands/import/slack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slack.js","sourceRoot":"","sources":["../../../src/commands/import/slack.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../../src/commands/import/teams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAsDnE"}
1
+ {"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../../src/commands/import/teams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BzC,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAyDnE"}
@@ -10,18 +10,22 @@ import { renderCaptureReport, toCaptureSource } from '../../lib/capture-report.j
10
10
  import { CAPTURE_SOURCES } from '../../lib/capture-sources.js';
11
11
  import { personalCredsForImport } from '../../lib/personal-oauth.js';
12
12
  import { commandIntro } from '../../lib/brand.js';
13
- import { IMPORT_LIMITS } from '../../lib/import-defaults.js';
13
+ import { SYNC_CEILINGS } from '../../lib/import-defaults.js';
14
+ import { fetchWindow, windowLabel } from '../../lib/since.js';
15
+ import { SINCE_HELP, sinceFromFlag } from '../../lib/since-flag.js';
14
16
  export function registerImportTeamsCommand(importCmd) {
15
17
  importCmd
16
18
  .command('teams')
17
19
  .description('Import channel messages from Microsoft Teams')
18
20
  .option('--token <token>', 'Microsoft Graph API delegated access token')
19
21
  .option('--personal', 'Connect via browser OAuth (Align Teams app) instead of pasting a Graph token')
20
- .option('--limit <n>', 'Max messages to import', String(IMPORT_LIMITS.teams))
22
+ .option('--limit <n>', 'Max messages to import', String(SYNC_CEILINGS.teams))
23
+ .option('--since <when>', SINCE_HELP)
21
24
  .option('--approve', 'Skip confirmation prompt')
22
25
  .option('--env <env>', 'Environment')
23
26
  .action(async (_opts, cmd) => {
24
27
  const opts = subcommandOpts(cmd);
28
+ const window = sinceFromFlag(opts.since);
25
29
  p.log.warn('Requires a delegated Graph API token with ChannelMessage.Read.All scope.\n' +
26
30
  ' This permission requires admin consent in most Microsoft 365 tenants.\n' +
27
31
  ' Ask your admin to grant consent before running this command.');
@@ -49,12 +53,13 @@ export function registerImportTeamsCommand(importCmd) {
49
53
  try {
50
54
  const fetched = await fetchTeamsItems({
51
55
  token,
52
- limit: parseInt(opts.limit, 10),
56
+ ...fetchWindow('teams', window), limit: parseInt(opts.limit, 10),
53
57
  });
54
58
  const { items } = fetched;
55
59
  spinner.stop(`Found ${items.length} messages`);
56
- await runPersonalImport(items, client, { label: 'Teams', approve: opts.approve, appUrl: resolveAppUrl(env), funnel: { env, source: 'teams' } });
57
- console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.teams, fetched)])}\n`);
60
+ const importResult = {};
61
+ await runPersonalImport(items, client, { result: importResult, label: 'Teams', approve: opts.approve, appUrl: resolveAppUrl(env), funnel: { env, source: 'teams' } });
62
+ console.log(`${renderCaptureReport([toCaptureSource(CAPTURE_SOURCES.teams, fetched, windowLabel(window.days), importResult)])}\n`);
58
63
  }
59
64
  catch (err) {
60
65
  spinner.stop('');