@lapis-notes/history 0.1.2 → 0.2.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 (334) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/LICENSE.md +3 -7
  3. package/README.md +2 -2
  4. package/dist/history-compare-panel.css +28 -6
  5. package/dist/history-compare-panel.svelte +115 -108
  6. package/dist/repository/NOTICE.md +11 -0
  7. package/dist/repository/components/RepositoryAuthorAvatar.svelte +77 -0
  8. package/dist/repository/components/RepositoryAuthorAvatar.svelte.d.ts +11 -0
  9. package/dist/repository/components/RepositoryBackupStatus.svelte +236 -0
  10. package/dist/repository/components/RepositoryBackupStatus.svelte.d.ts +11 -0
  11. package/dist/repository/components/RepositoryChangedFiles.svelte +104 -0
  12. package/dist/repository/components/RepositoryChangedFiles.svelte.d.ts +13 -0
  13. package/dist/repository/components/RepositoryCommitMessage.svelte +93 -0
  14. package/dist/repository/components/RepositoryCommitMessage.svelte.d.ts +6 -0
  15. package/dist/repository/components/RepositoryCommitPicker.svelte +205 -0
  16. package/dist/repository/components/RepositoryCommitPicker.svelte.d.ts +17 -0
  17. package/dist/repository/components/RepositoryComparisonBar.svelte +71 -0
  18. package/dist/repository/components/RepositoryComparisonBar.svelte.d.ts +9 -0
  19. package/dist/repository/components/RepositoryComparisonTime.svelte +32 -0
  20. package/dist/repository/components/RepositoryComparisonTime.svelte.d.ts +6 -0
  21. package/dist/repository/components/RepositoryDiff.svelte +56 -0
  22. package/dist/repository/components/RepositoryDiff.svelte.d.ts +11 -0
  23. package/dist/repository/components/RepositoryDiffColumn.svelte +78 -0
  24. package/dist/repository/components/RepositoryDiffColumn.svelte.d.ts +14 -0
  25. package/dist/repository/components/RepositoryDiffControls.svelte +117 -0
  26. package/dist/repository/components/RepositoryDiffControls.svelte.d.ts +8 -0
  27. package/dist/repository/components/RepositoryFileHistory.svelte +170 -0
  28. package/dist/repository/components/RepositoryFileHistory.svelte.d.ts +10 -0
  29. package/dist/repository/components/RepositoryFileTitle.svelte +30 -0
  30. package/dist/repository/components/RepositoryFileTitle.svelte.d.ts +6 -0
  31. package/dist/repository/components/RepositoryGraph.svelte +216 -0
  32. package/dist/repository/components/RepositoryGraph.svelte.d.ts +19 -0
  33. package/dist/repository/components/RepositoryGraphSvg.svelte +110 -0
  34. package/dist/repository/components/RepositoryGraphSvg.svelte.d.ts +11 -0
  35. package/dist/repository/components/RepositoryIdentifiers.svelte +221 -0
  36. package/dist/repository/components/RepositoryIdentifiers.svelte.d.ts +15 -0
  37. package/dist/repository/components/RepositoryLogHeader.svelte +90 -0
  38. package/dist/repository/components/RepositoryLogHeader.svelte.d.ts +23 -0
  39. package/dist/repository/components/RepositoryOperationArguments.svelte +52 -0
  40. package/dist/repository/components/RepositoryOperationArguments.svelte.d.ts +6 -0
  41. package/dist/repository/components/RepositoryOperationColumn.svelte +163 -0
  42. package/dist/repository/components/RepositoryOperationColumn.svelte.d.ts +11 -0
  43. package/dist/repository/components/RepositoryOperationFiles.svelte +245 -0
  44. package/dist/repository/components/RepositoryOperationFiles.svelte.d.ts +14 -0
  45. package/dist/repository/components/RepositoryOperationMessage.svelte +169 -0
  46. package/dist/repository/components/RepositoryOperationMessage.svelte.d.ts +10 -0
  47. package/dist/repository/components/RepositoryOperationOption.svelte +183 -0
  48. package/dist/repository/components/RepositoryOperationOption.svelte.d.ts +10 -0
  49. package/dist/repository/components/RepositoryOperationParentPicker.svelte +188 -0
  50. package/dist/repository/components/RepositoryOperationParentPicker.svelte.d.ts +14 -0
  51. package/dist/repository/components/RepositoryOperationPinPicker.svelte +170 -0
  52. package/dist/repository/components/RepositoryOperationPinPicker.svelte.d.ts +13 -0
  53. package/dist/repository/components/RepositoryOperationRail.svelte +136 -0
  54. package/dist/repository/components/RepositoryOperationRail.svelte.d.ts +9 -0
  55. package/dist/repository/components/RepositoryOperationTarget.svelte +99 -0
  56. package/dist/repository/components/RepositoryOperationTarget.svelte.d.ts +8 -0
  57. package/dist/repository/components/RepositoryOperations.svelte +199 -0
  58. package/dist/repository/components/RepositoryOperations.svelte.d.ts +12 -0
  59. package/dist/repository/components/RepositoryPanel.svelte +207 -0
  60. package/dist/repository/components/RepositoryPanel.svelte.d.ts +15 -0
  61. package/dist/repository/components/RepositoryParentSummary.svelte +52 -0
  62. package/dist/repository/components/RepositoryParentSummary.svelte.d.ts +10 -0
  63. package/dist/repository/components/RepositoryPickerSearch.svelte +51 -0
  64. package/dist/repository/components/RepositoryPickerSearch.svelte.d.ts +11 -0
  65. package/dist/repository/components/RepositoryRestoreDialog.svelte +81 -0
  66. package/dist/repository/components/RepositoryRestoreDialog.svelte.d.ts +7 -0
  67. package/dist/repository/components/RepositoryRevisionActions.svelte +53 -0
  68. package/dist/repository/components/RepositoryRevisionActions.svelte.d.ts +9 -0
  69. package/dist/repository/components/RepositoryRevisionFiles.svelte +110 -0
  70. package/dist/repository/components/RepositoryRevisionFiles.svelte.d.ts +14 -0
  71. package/dist/repository/components/RepositoryRevisionOption.svelte +60 -0
  72. package/dist/repository/components/RepositoryRevisionOption.svelte.d.ts +9 -0
  73. package/dist/repository/components/RepositoryRevisionPicker.svelte +165 -0
  74. package/dist/repository/components/RepositoryRevisionPicker.svelte.d.ts +14 -0
  75. package/dist/repository/components/RepositoryRevisions.svelte +115 -0
  76. package/dist/repository/components/RepositoryRevisions.svelte.d.ts +20 -0
  77. package/dist/repository/components/RepositoryShell.svelte +44 -0
  78. package/dist/repository/components/RepositoryShell.svelte.d.ts +11 -0
  79. package/dist/repository/components/RepositorySkeleton.svelte +138 -0
  80. package/dist/repository/components/RepositorySkeleton.svelte.d.ts +7 -0
  81. package/dist/repository/components/RepositorySourcePicker.svelte +114 -0
  82. package/dist/repository/components/RepositorySourcePicker.svelte.d.ts +7 -0
  83. package/dist/repository/components/RepositoryUpstreamActions.svelte +125 -0
  84. package/dist/repository/components/RepositoryUpstreamActions.svelte.d.ts +8 -0
  85. package/dist/repository/components/RepositoryWorkingCopyStatus.svelte +290 -0
  86. package/dist/repository/components/RepositoryWorkingCopyStatus.svelte.d.ts +11 -0
  87. package/dist/repository/components/RepositoryWorkspacePicker.svelte +158 -0
  88. package/dist/repository/components/RepositoryWorkspacePicker.svelte.d.ts +11 -0
  89. package/dist/repository/components/backup/AdoptionSettings.svelte +95 -0
  90. package/dist/repository/components/backup/AdoptionSettings.svelte.d.ts +7 -0
  91. package/dist/repository/components/backup/BackupCard.svelte +79 -0
  92. package/dist/repository/components/backup/BackupCard.svelte.d.ts +14 -0
  93. package/dist/repository/components/backup/BackupField.svelte +45 -0
  94. package/dist/repository/components/backup/BackupField.svelte.d.ts +10 -0
  95. package/dist/repository/components/backup/BackupSelect.svelte +71 -0
  96. package/dist/repository/components/backup/BackupSelect.svelte.d.ts +35 -0
  97. package/dist/repository/components/backup/BackupSettings.svelte +122 -0
  98. package/dist/repository/components/backup/BackupSettings.svelte.d.ts +18 -0
  99. package/dist/repository/components/backup/BackupSettingsField.svelte +13 -0
  100. package/dist/repository/components/backup/BackupSettingsField.svelte.d.ts +4 -0
  101. package/dist/repository/components/backup/ForgeAccounts.svelte +231 -0
  102. package/dist/repository/components/backup/ForgeAccounts.svelte.d.ts +9 -0
  103. package/dist/repository/components/backup/ForgeAuthorization.svelte +267 -0
  104. package/dist/repository/components/backup/ForgeAuthorization.svelte.d.ts +9 -0
  105. package/dist/repository/components/backup/ForgeIcon.svelte +21 -0
  106. package/dist/repository/components/backup/ForgeIcon.svelte.d.ts +7 -0
  107. package/dist/repository/components/backup/PublicationRecovery.svelte +129 -0
  108. package/dist/repository/components/backup/PublicationRecovery.svelte.d.ts +11 -0
  109. package/dist/repository/components/backup/RemoteSettings.svelte +288 -0
  110. package/dist/repository/components/backup/RemoteSettings.svelte.d.ts +11 -0
  111. package/dist/repository/components/backup/RepositorySettingsPage.svelte +51 -0
  112. package/dist/repository/components/backup/RepositorySettingsPage.svelte.d.ts +4 -0
  113. package/dist/repository/components/backup/StorageSettings.svelte +158 -0
  114. package/dist/repository/components/backup/StorageSettings.svelte.d.ts +7 -0
  115. package/dist/repository/components/backup/SyncConflictEditor.svelte +158 -0
  116. package/dist/repository/components/backup/SyncConflictEditor.svelte.d.ts +9 -0
  117. package/dist/repository/components/backup/SyncSettings.svelte +97 -0
  118. package/dist/repository/components/backup/SyncSettings.svelte.d.ts +9 -0
  119. package/dist/repository/components/backup/adoption-settings.d.ts +7 -0
  120. package/dist/repository/components/backup/adoption-settings.js +42 -0
  121. package/dist/repository/components/backup/backup-settings.d.ts +35 -0
  122. package/dist/repository/components/backup/backup-settings.js +96 -0
  123. package/dist/repository/components/backup/forge-icons.d.ts +10 -0
  124. package/dist/repository/components/backup/forge-icons.js +11 -0
  125. package/dist/repository/components/backup/remote-restore.d.ts +3 -0
  126. package/dist/repository/components/backup/remote-restore.js +17 -0
  127. package/dist/repository/components/backup/storage-settings.d.ts +8 -0
  128. package/dist/repository/components/backup/storage-settings.js +23 -0
  129. package/dist/repository/components/blame/RepositoryBlameCommitTitle.svelte +212 -0
  130. package/dist/repository/components/blame/RepositoryBlameCommitTitle.svelte.d.ts +14 -0
  131. package/dist/repository/components/blame/RepositoryBlameGroup.svelte +189 -0
  132. package/dist/repository/components/blame/RepositoryBlameGroup.svelte.d.ts +20 -0
  133. package/dist/repository/components/blame/RepositoryBlamePanel.svelte +148 -0
  134. package/dist/repository/components/blame/RepositoryBlamePanel.svelte.d.ts +13 -0
  135. package/dist/repository/components/blame/RepositoryBlameRows.svelte +137 -0
  136. package/dist/repository/components/blame/RepositoryBlameRows.svelte.d.ts +32 -0
  137. package/dist/repository/components/blame/RepositoryBlameView.svelte +121 -0
  138. package/dist/repository/components/blame/RepositoryBlameView.svelte.d.ts +16 -0
  139. package/dist/repository/components/blame/blame-view.d.ts +16 -0
  140. package/dist/repository/components/blame/blame-view.js +73 -0
  141. package/dist/repository/components/blame/editor-actions.d.ts +3 -0
  142. package/dist/repository/components/blame/editor-actions.js +53 -0
  143. package/dist/repository/components/conflicts/RepositoryConflictActions.svelte +83 -0
  144. package/dist/repository/components/conflicts/RepositoryConflictActions.svelte.d.ts +13 -0
  145. package/dist/repository/components/conflicts/RepositoryConflictBody.svelte +93 -0
  146. package/dist/repository/components/conflicts/RepositoryConflictBody.svelte.d.ts +16 -0
  147. package/dist/repository/components/conflicts/RepositoryConflictFileTree.svelte +84 -0
  148. package/dist/repository/components/conflicts/RepositoryConflictFileTree.svelte.d.ts +21 -0
  149. package/dist/repository/components/conflicts/RepositoryConflictPath.svelte +35 -0
  150. package/dist/repository/components/conflicts/RepositoryConflictPath.svelte.d.ts +9 -0
  151. package/dist/repository/components/conflicts/RepositoryConflictResolution.svelte +133 -0
  152. package/dist/repository/components/conflicts/RepositoryConflictResolution.svelte.d.ts +12 -0
  153. package/dist/repository/components/conflicts/RepositoryConflictSurface.svelte +105 -0
  154. package/dist/repository/components/conflicts/RepositoryConflictSurface.svelte.d.ts +23 -0
  155. package/dist/repository/components/conflicts/RepositoryConflictText.svelte +104 -0
  156. package/dist/repository/components/conflicts/RepositoryConflictText.svelte.d.ts +26 -0
  157. package/dist/repository/components/conflicts/RepositorySidebarToggleIcon.svelte +52 -0
  158. package/dist/repository/components/conflicts/RepositorySidebarToggleIcon.svelte.d.ts +7 -0
  159. package/dist/repository/components/conflicts/repository-conflict-file-tree.css +73 -0
  160. package/dist/repository/components/conflicts/repository-conflicts.css +125 -0
  161. package/dist/repository/components/file-history-view.d.ts +15 -0
  162. package/dist/repository/components/file-history-view.js +110 -0
  163. package/dist/repository/components/operation-view.d.ts +16 -0
  164. package/dist/repository/components/operation-view.js +95 -0
  165. package/dist/repository/components/repository-backup.d.ts +22 -0
  166. package/dist/repository/components/repository-backup.js +75 -0
  167. package/dist/repository/components/repository-column-chrome.css +35 -0
  168. package/dist/repository/components/repository-commit-picker.css +55 -0
  169. package/dist/repository/components/repository-feedback.d.ts +7 -0
  170. package/dist/repository/components/repository-feedback.js +40 -0
  171. package/dist/repository/components/repository-identifiers.css +199 -0
  172. package/dist/repository/components/repository-navigation.d.ts +4 -0
  173. package/dist/repository/components/repository-navigation.js +16 -0
  174. package/dist/repository/components/repository-operation-column.css +112 -0
  175. package/dist/repository/components/repository-picker-options.css +11 -0
  176. package/dist/repository/components/repository-plugin.d.ts +33 -0
  177. package/dist/repository/components/repository-plugin.js +191 -0
  178. package/dist/repository/components/repository-review-identifiers.css +50 -0
  179. package/dist/repository/components/repository-status.d.ts +13 -0
  180. package/dist/repository/components/repository-status.js +227 -0
  181. package/dist/repository/components/repository-sync.d.ts +13 -0
  182. package/dist/repository/components/repository-sync.js +93 -0
  183. package/dist/repository/components/repository-tools.d.ts +3 -0
  184. package/dist/repository/components/repository-tools.js +13 -0
  185. package/dist/repository/components/repository-view.d.ts +16 -0
  186. package/dist/repository/components/repository-view.js +140 -0
  187. package/dist/repository/components/restore-controller.d.ts +9 -0
  188. package/dist/repository/components/restore-controller.js +44 -0
  189. package/dist/repository/components/search/search-provider.d.ts +3 -0
  190. package/dist/repository/components/search/search-provider.js +185 -0
  191. package/dist/repository/controllers/adoption-controller.d.ts +29 -0
  192. package/dist/repository/controllers/adoption-controller.js +145 -0
  193. package/dist/repository/controllers/adoption.d.ts +30 -0
  194. package/dist/repository/controllers/adoption.js +21 -0
  195. package/dist/repository/controllers/ai-history.d.ts +57 -0
  196. package/dist/repository/controllers/ai-history.js +51 -0
  197. package/dist/repository/controllers/author.d.ts +2 -0
  198. package/dist/repository/controllers/author.js +11 -0
  199. package/dist/repository/controllers/background-work.d.ts +14 -0
  200. package/dist/repository/controllers/background-work.js +57 -0
  201. package/dist/repository/controllers/backup-follow.d.ts +5 -0
  202. package/dist/repository/controllers/backup-follow.js +29 -0
  203. package/dist/repository/controllers/backup.d.ts +39 -0
  204. package/dist/repository/controllers/backup.js +129 -0
  205. package/dist/repository/controllers/blame-chunks.d.ts +13 -0
  206. package/dist/repository/controllers/blame-chunks.js +51 -0
  207. package/dist/repository/controllers/blame-controller.d.ts +17 -0
  208. package/dist/repository/controllers/blame-controller.js +148 -0
  209. package/dist/repository/controllers/blame-model.d.ts +25 -0
  210. package/dist/repository/controllers/blame-model.js +31 -0
  211. package/dist/repository/controllers/blame-preferences.d.ts +3 -0
  212. package/dist/repository/controllers/blame-preferences.js +18 -0
  213. package/dist/repository/controllers/commit-cards.d.ts +4 -0
  214. package/dist/repository/controllers/commit-cards.js +38 -0
  215. package/dist/repository/controllers/conflict-menu.d.ts +2 -0
  216. package/dist/repository/controllers/conflict-menu.js +1 -0
  217. package/dist/repository/controllers/file-history-controller.d.ts +29 -0
  218. package/dist/repository/controllers/file-history-controller.js +182 -0
  219. package/dist/repository/controllers/forge-accounts.d.ts +48 -0
  220. package/dist/repository/controllers/forge-accounts.js +1 -0
  221. package/dist/repository/controllers/forge-controller.d.ts +24 -0
  222. package/dist/repository/controllers/forge-controller.js +168 -0
  223. package/dist/repository/controllers/graph/model.d.ts +20 -0
  224. package/dist/repository/controllers/graph/model.js +33 -0
  225. package/dist/repository/controllers/graph/repository-log-graph.d.ts +44 -0
  226. package/dist/repository/controllers/graph/repository-log-graph.js +182 -0
  227. package/dist/repository/controllers/graph/repository-log-lanes.d.ts +7 -0
  228. package/dist/repository/controllers/graph/repository-log-lanes.js +19 -0
  229. package/dist/repository/controllers/graph/revision-id.d.ts +3 -0
  230. package/dist/repository/controllers/graph/revision-id.js +10 -0
  231. package/dist/repository/controllers/history-canvas.d.ts +2 -0
  232. package/dist/repository/controllers/history-canvas.js +45 -0
  233. package/dist/repository/controllers/history-controller.d.ts +31 -0
  234. package/dist/repository/controllers/history-controller.js +238 -0
  235. package/dist/repository/controllers/history-files.d.ts +7 -0
  236. package/dist/repository/controllers/history-files.js +18 -0
  237. package/dist/repository/controllers/history-graph.d.ts +20 -0
  238. package/dist/repository/controllers/history-graph.js +89 -0
  239. package/dist/repository/controllers/history-index-controller.d.ts +22 -0
  240. package/dist/repository/controllers/history-index-controller.js +77 -0
  241. package/dist/repository/controllers/history-lifetime.d.ts +13 -0
  242. package/dist/repository/controllers/history-lifetime.js +40 -0
  243. package/dist/repository/controllers/history-reader.d.ts +22 -0
  244. package/dist/repository/controllers/history-reader.js +1 -0
  245. package/dist/repository/controllers/history-search-expression.d.ts +9 -0
  246. package/dist/repository/controllers/history-search-expression.js +86 -0
  247. package/dist/repository/controllers/history-selection.d.ts +5 -0
  248. package/dist/repository/controllers/history-selection.js +32 -0
  249. package/dist/repository/controllers/history-source.d.ts +10 -0
  250. package/dist/repository/controllers/history-source.js +7 -0
  251. package/dist/repository/controllers/history-state.d.ts +34 -0
  252. package/dist/repository/controllers/history-state.js +55 -0
  253. package/dist/repository/controllers/indexed-search-validation.d.ts +4 -0
  254. package/dist/repository/controllers/indexed-search-validation.js +64 -0
  255. package/dist/repository/controllers/indexed-search.d.ts +11 -0
  256. package/dist/repository/controllers/indexed-search.js +1 -0
  257. package/dist/repository/controllers/log-canvas.d.ts +2 -0
  258. package/dist/repository/controllers/log-canvas.js +25 -0
  259. package/dist/repository/controllers/native-indexed-search.d.ts +4 -0
  260. package/dist/repository/controllers/native-indexed-search.js +10 -0
  261. package/dist/repository/controllers/open-history-revision.d.ts +3 -0
  262. package/dist/repository/controllers/open-history-revision.js +8 -0
  263. package/dist/repository/controllers/operation-command.d.ts +2 -0
  264. package/dist/repository/controllers/operation-command.js +55 -0
  265. package/dist/repository/controllers/operation-controller.d.ts +33 -0
  266. package/dist/repository/controllers/operation-controller.js +267 -0
  267. package/dist/repository/controllers/operation-files.d.ts +33 -0
  268. package/dist/repository/controllers/operation-files.js +182 -0
  269. package/dist/repository/controllers/operation-graph.d.ts +17 -0
  270. package/dist/repository/controllers/operation-graph.js +50 -0
  271. package/dist/repository/controllers/operation-message.d.ts +5 -0
  272. package/dist/repository/controllers/operation-message.js +18 -0
  273. package/dist/repository/controllers/operation-metadata.d.ts +5 -0
  274. package/dist/repository/controllers/operation-metadata.js +26 -0
  275. package/dist/repository/controllers/operation-parent.d.ts +5 -0
  276. package/dist/repository/controllers/operation-parent.js +46 -0
  277. package/dist/repository/controllers/operation-state.d.ts +28 -0
  278. package/dist/repository/controllers/operation-state.js +26 -0
  279. package/dist/repository/controllers/parent-candidates.d.ts +4 -0
  280. package/dist/repository/controllers/parent-candidates.js +27 -0
  281. package/dist/repository/controllers/plugin-data.d.ts +9 -0
  282. package/dist/repository/controllers/plugin-data.js +33 -0
  283. package/dist/repository/controllers/preparation-queue.d.ts +9 -0
  284. package/dist/repository/controllers/preparation-queue.js +55 -0
  285. package/dist/repository/controllers/remote-controller.d.ts +23 -0
  286. package/dist/repository/controllers/remote-controller.js +98 -0
  287. package/dist/repository/controllers/remote.d.ts +48 -0
  288. package/dist/repository/controllers/remote.js +13 -0
  289. package/dist/repository/controllers/restore-recovery.d.ts +3 -0
  290. package/dist/repository/controllers/restore-recovery.js +32 -0
  291. package/dist/repository/controllers/restore.d.ts +66 -0
  292. package/dist/repository/controllers/restore.js +201 -0
  293. package/dist/repository/controllers/revision-comparison.d.ts +20 -0
  294. package/dist/repository/controllers/revision-comparison.js +89 -0
  295. package/dist/repository/controllers/search-controller.d.ts +19 -0
  296. package/dist/repository/controllers/search-controller.js +105 -0
  297. package/dist/repository/controllers/search-page.d.ts +2 -0
  298. package/dist/repository/controllers/search-page.js +39 -0
  299. package/dist/repository/controllers/search.d.ts +51 -0
  300. package/dist/repository/controllers/search.js +8 -0
  301. package/dist/repository/controllers/services.d.ts +7 -0
  302. package/dist/repository/controllers/services.js +24 -0
  303. package/dist/repository/controllers/storage-controller.d.ts +30 -0
  304. package/dist/repository/controllers/storage-controller.js +130 -0
  305. package/dist/repository/controllers/storage.d.ts +26 -0
  306. package/dist/repository/controllers/storage.js +1 -0
  307. package/dist/repository/controllers/sync-application.d.ts +17 -0
  308. package/dist/repository/controllers/sync-application.js +45 -0
  309. package/dist/repository/controllers/sync-controller.d.ts +31 -0
  310. package/dist/repository/controllers/sync-controller.js +300 -0
  311. package/dist/repository/controllers/sync-publication.d.ts +7 -0
  312. package/dist/repository/controllers/sync-publication.js +29 -0
  313. package/dist/repository/controllers/sync-recovery.d.ts +7 -0
  314. package/dist/repository/controllers/sync-recovery.js +27 -0
  315. package/dist/repository/controllers/sync.d.ts +62 -0
  316. package/dist/repository/controllers/sync.js +38 -0
  317. package/dist/repository/controllers/tags.d.ts +7 -0
  318. package/dist/repository/controllers/tags.js +71 -0
  319. package/dist/repository/controllers/transcript-paths.d.ts +2 -0
  320. package/dist/repository/controllers/transcript-paths.js +17 -0
  321. package/dist/repository/controllers/transcript-writers.d.ts +9 -0
  322. package/dist/repository/controllers/transcript-writers.js +37 -0
  323. package/dist/repository/controllers/working-copy-controller.d.ts +22 -0
  324. package/dist/repository/controllers/working-copy-controller.js +58 -0
  325. package/dist/repository/controllers/working-copy-status.d.ts +16 -0
  326. package/dist/repository/controllers/working-copy-status.js +57 -0
  327. package/dist/repository/controllers/workspaces.d.ts +7 -0
  328. package/dist/repository/controllers/workspaces.js +4 -0
  329. package/dist/repository/index.d.ts +9 -0
  330. package/dist/repository/index.js +6 -0
  331. package/manifest.json +12 -3
  332. package/package.json +43 -10
  333. package/registry-content/overview.md +10 -0
  334. package/registry.json +131 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # History changelog
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#28](https://github.com/lapismd/lapis-plugins/pull/28) [`d27467e`](https://github.com/lapismd/lapis-plugins/commit/d27467ee80c273011b7eb6ae792fa8e0330a11c1) Thanks [@stevejuma](https://github.com/stevejuma)! - Share the existing repository-history views and controllers through injected host services. Preserve the legacy file-history plugin and provide public repository entrypoints for desktop and hosted applications.
8
+
9
+ ### Patch Changes
10
+
11
+ - [#28](https://github.com/lapismd/lapis-plugins/pull/28) [`9c21eb6`](https://github.com/lapismd/lapis-plugins/commit/9c21eb6038363c2398231e04b318c1d5ff9568f7) Thanks [@stevejuma](https://github.com/stevejuma)! - Expose an App-owned observer for acquired replacement guards so hosted services can coordinate existing protection without reacquiring the same guard.
12
+
13
+ - [#28](https://github.com/lapismd/lapis-plugins/pull/28) [`b1cdd70`](https://github.com/lapismd/lapis-plugins/commit/b1cdd70ae9444cb8de28c46bbba23b3b0eb54534) Thanks [@stevejuma](https://github.com/stevejuma)! - Separate explicit persisted backup selection from passive native observation
14
+ while preserving legacy backup-service behavior and retained settings/status UI.
15
+
16
+ - [#28](https://github.com/lapismd/lapis-plugins/pull/28) [`56b5d6c`](https://github.com/lapismd/lapis-plugins/commit/56b5d6c1a016ef9bca43703b5fecf57f8234d1af) Thanks [@stevejuma](https://github.com/stevejuma)! - Consume published Design Core 0.4.0 with prepared browser CSS and bundled font assets through normal npm ranges.
17
+
18
+ Restore Bases picker input/list accessibility relationships and name property actions.
19
+
20
+ - [#28](https://github.com/lapismd/lapis-plugins/pull/28) [`c9febb1`](https://github.com/lapismd/lapis-plugins/commit/c9febb1c8b431db30ecdcf7507cfff8f727bc4ed) Thanks [@stevejuma](https://github.com/stevejuma)! - Consume the published Notes next packages, Mira 0.1.4, and Design Core 0.7.4. The semver floors require those published versions. Markdown dependents accept ^0.2.0. History keeps its public repository entrypoints, and Bases keeps the file-icon contract on API 0.2.0.
21
+
22
+ ## 0.1.4
23
+
24
+ ### Patch Changes
25
+
26
+ - [#6](https://github.com/lapismd/lapis-plugins/pull/6) [`03b483c`](https://github.com/lapismd/lapis-plugins/commit/03b483c89f4e3d9b8ce9af2919903ad42e9b66ad) Thanks [@stevejuma](https://github.com/stevejuma)! - Center comparison actions between revision timestamps and diff statistics on one
27
+ row, wrapping the actions below on narrow workspace panes.
28
+
29
+ ## 0.1.3
30
+
31
+ ### Patch Changes
32
+
33
+ - Add official author avatars and deterministic split, light, and dark registry media for plugin banners, overviews, and galleries.
34
+
3
35
  ## 0.1.2
4
36
 
5
37
  - Initial independent public package extracted from Lapis Notes without changing
package/LICENSE.md CHANGED
@@ -1,8 +1,4 @@
1
- # License
1
+ Apache-2.0
2
2
 
3
- Copyright (c) LapisMD contributors.
4
-
5
- This software is licensed under the GNU Affero General Public License, version
6
- 3 or (at your option) any later version (`AGPL-3.0-or-later`). The complete
7
- license text is available from the
8
- [GNU Project](https://www.gnu.org/licenses/agpl-3.0.html).
3
+ This project is licensed under the Apache License 2.0.
4
+ See <https://www.apache.org/licenses/LICENSE-2.0>.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # History
2
2
 
3
- File history
3
+ Browse, compare, and restore saved file revisions
4
4
 
5
5
  ## Install for static composition
6
6
 
@@ -13,7 +13,7 @@ Register the exported plugin class in the application's `PluginProfile`. Import
13
13
  registration so the host owns its lifecycle.
14
14
 
15
15
  The runtime plugin ID is `history`. A matching signed
16
- `history-0.1.2.lapis-plugin` archive is attached to the
16
+ `history-0.2.0.lapis-plugin` archive is attached to the
17
17
  package-scoped GitHub release for manual or registry installation.
18
18
 
19
19
  See the [repository README](https://github.com/lapismd/lapis-plugins#readme) for
@@ -15,6 +15,7 @@
15
15
  "Liberation Mono",
16
16
  monospace
17
17
  );
18
+ container: history-compare / inline-size;
18
19
  display: flex;
19
20
  box-sizing: border-box;
20
21
  width: 100%;
@@ -33,19 +34,23 @@
33
34
  flex-direction: column;
34
35
  align-items: stretch;
35
36
  gap: 0;
36
- padding: 0.25rem 0.25rem 0;
37
+ padding: 0.25rem;
37
38
  border-bottom: 1px solid
38
- var(--ui-workspace-border, color-mix(in srgb, currentColor 14%, transparent));
39
+ var(
40
+ --ui-workspace-border,
41
+ color-mix(in srgb, currentColor 14%, transparent)
42
+ );
39
43
  background: var(--ui-workspace-view-background, transparent);
40
44
  }
41
45
 
42
46
  .history-compare__revision {
43
- display: flex;
47
+ display: grid;
48
+ grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
44
49
  min-width: 0;
45
50
  align-items: center;
46
51
  justify-content: space-between;
47
52
  gap: 0.5rem;
48
- padding: 0.35rem 0.5rem 0.15rem;
53
+ padding: 0.15rem 0.5rem;
49
54
  color: var(--ui-workspace-muted-foreground, var(--muted-foreground));
50
55
  font-size: 0.75rem;
51
56
  }
@@ -58,7 +63,7 @@
58
63
  }
59
64
 
60
65
  .history-compare__revision [data-ui-component="file-change-stats"] {
61
- flex: 0 0 auto;
66
+ justify-self: end;
62
67
  }
63
68
 
64
69
  .history-compare__toolbar {
@@ -66,7 +71,7 @@
66
71
  align-items: center;
67
72
  justify-content: center;
68
73
  gap: 0.125rem;
69
- padding: 0.15rem 0 0.25rem;
74
+ padding: 0;
70
75
  }
71
76
 
72
77
  .history-compare__toolbar
@@ -124,3 +129,20 @@
124
129
  padding: 0.75rem;
125
130
  color: var(--ui-workspace-muted-foreground, var(--muted-foreground));
126
131
  }
132
+
133
+ @container history-compare (max-width: 40rem) {
134
+ .history-compare__revision {
135
+ grid-template-columns: minmax(0, 1fr) auto;
136
+ }
137
+
138
+ .history-compare__toolbar {
139
+ grid-column: 1 / -1;
140
+ grid-row: 2;
141
+ flex-wrap: wrap;
142
+ }
143
+
144
+ .history-compare__revision [data-ui-component="file-change-stats"] {
145
+ grid-column: 2;
146
+ grid-row: 1;
147
+ }
148
+ }
@@ -148,56 +148,31 @@
148
148
  aria-label="File history comparison"
149
149
  >
150
150
  <div class="history-compare__chrome" data-ui-part="chrome">
151
- {#if model}
152
- <div class="history-compare__revision">
153
- <span>{model.beforeLabel} → {model.afterLabel}</span>
154
- <FileChangeStats
155
- additions={stats.additions}
156
- deletions={stats.deletions}
157
- showZero
158
- />
159
- </div>
160
- {/if}
161
- <Tooltip.Provider delayDuration={0}>
162
- <div class="history-compare__toolbar" data-ui-part="toolbar">
163
- <Tooltip.Root>
164
- <Tooltip.Trigger>
165
- {#snippet child({ props })}
166
- <Button
167
- {...props}
168
- variant="ghost"
169
- size="icon-sm"
170
- class="history-compare__toolbar-action"
171
- aria-label="Compare with current"
172
- aria-pressed={model?.compareMode === "current"}
173
- onclick={() => openMode("current")}
174
- >
175
- <GitCompare aria-hidden="true" />
176
- </Button>
177
- {/snippet}
178
- </Tooltip.Trigger>
179
- <Tooltip.Content side="bottom">Compare with current</Tooltip.Content>
180
- </Tooltip.Root>
181
- <Tooltip.Root>
182
- <Tooltip.Trigger>
183
- {#snippet child({ props })}
184
- <Button
185
- {...props}
186
- variant="ghost"
187
- size="icon-sm"
188
- class="history-compare__toolbar-action"
189
- aria-label="Compare with previous"
190
- aria-pressed={model?.compareMode === "previous"}
191
- disabled={!model?.previousRevision}
192
- onclick={() => openMode("previous")}
193
- >
194
- <GitCompareArrows aria-hidden="true" />
195
- </Button>
196
- {/snippet}
197
- </Tooltip.Trigger>
198
- <Tooltip.Content side="bottom">Compare with previous</Tooltip.Content>
199
- </Tooltip.Root>
200
- {#if model?.compareMode !== "current"}
151
+ <div class="history-compare__revision">
152
+ <span
153
+ >{#if model}{model.beforeLabel} → {model.afterLabel}{/if}</span
154
+ >
155
+ <Tooltip.Provider delayDuration={0}>
156
+ <div class="history-compare__toolbar" data-ui-part="toolbar">
157
+ <Tooltip.Root>
158
+ <Tooltip.Trigger>
159
+ {#snippet child({ props })}
160
+ <Button
161
+ {...props}
162
+ variant="ghost"
163
+ size="icon-sm"
164
+ class="history-compare__toolbar-action"
165
+ aria-label="Compare with current"
166
+ aria-pressed={model?.compareMode === "current"}
167
+ onclick={() => openMode("current")}
168
+ >
169
+ <GitCompare aria-hidden="true" />
170
+ </Button>
171
+ {/snippet}
172
+ </Tooltip.Trigger>
173
+ <Tooltip.Content side="bottom">Compare with current</Tooltip.Content
174
+ >
175
+ </Tooltip.Root>
201
176
  <Tooltip.Root>
202
177
  <Tooltip.Trigger>
203
178
  {#snippet child({ props })}
@@ -206,43 +181,45 @@
206
181
  variant="ghost"
207
182
  size="icon-sm"
208
183
  class="history-compare__toolbar-action"
209
- data-testid="history-compare-view-mode"
210
- data-view-mode={viewMode}
211
- aria-label={viewModeLabel}
212
- onclick={() =>
213
- (viewMode = viewMode === "split" ? "unified" : "split")}
184
+ aria-label="Compare with previous"
185
+ aria-pressed={model?.compareMode === "previous"}
186
+ disabled={!model?.previousRevision}
187
+ onclick={() => openMode("previous")}
214
188
  >
215
- {#if viewMode === "split"}
216
- <Columns2 aria-hidden="true" />
217
- {:else}
218
- <Rows2 aria-hidden="true" />
219
- {/if}
189
+ <GitCompareArrows aria-hidden="true" />
220
190
  </Button>
221
191
  {/snippet}
222
192
  </Tooltip.Trigger>
223
- <Tooltip.Content side="bottom">{viewModeLabel}</Tooltip.Content>
193
+ <Tooltip.Content side="bottom"
194
+ >Compare with previous</Tooltip.Content
195
+ >
224
196
  </Tooltip.Root>
225
- {/if}
226
- <Tooltip.Root>
227
- <Tooltip.Trigger>
228
- {#snippet child({ props })}
229
- <Button
230
- {...props}
231
- variant="ghost"
232
- size="icon-sm"
233
- class="history-compare__toolbar-action"
234
- data-testid="history-compare-wrap"
235
- aria-label="Wrap text"
236
- aria-pressed={wrap ? "true" : "false"}
237
- onclick={() => (wrap = !wrap)}
238
- >
239
- <WrapText aria-hidden="true" />
240
- </Button>
241
- {/snippet}
242
- </Tooltip.Trigger>
243
- <Tooltip.Content side="bottom">Wrap text</Tooltip.Content>
244
- </Tooltip.Root>
245
- {#if model?.compareMode === "current"}
197
+ {#if model?.compareMode !== "current"}
198
+ <Tooltip.Root>
199
+ <Tooltip.Trigger>
200
+ {#snippet child({ props })}
201
+ <Button
202
+ {...props}
203
+ variant="ghost"
204
+ size="icon-sm"
205
+ class="history-compare__toolbar-action"
206
+ data-testid="history-compare-view-mode"
207
+ data-view-mode={viewMode}
208
+ aria-label={viewModeLabel}
209
+ onclick={() =>
210
+ (viewMode = viewMode === "split" ? "unified" : "split")}
211
+ >
212
+ {#if viewMode === "split"}
213
+ <Columns2 aria-hidden="true" />
214
+ {:else}
215
+ <Rows2 aria-hidden="true" />
216
+ {/if}
217
+ </Button>
218
+ {/snippet}
219
+ </Tooltip.Trigger>
220
+ <Tooltip.Content side="bottom">{viewModeLabel}</Tooltip.Content>
221
+ </Tooltip.Root>
222
+ {/if}
246
223
  <Tooltip.Root>
247
224
  <Tooltip.Trigger>
248
225
  {#snippet child({ props })}
@@ -251,36 +228,66 @@
251
228
  variant="ghost"
252
229
  size="icon-sm"
253
230
  class="history-compare__toolbar-action"
254
- aria-label="Apply"
255
- disabled={pendingContent == null}
256
- onclick={() => void applyMerged()}
231
+ data-testid="history-compare-wrap"
232
+ aria-label="Wrap text"
233
+ aria-pressed={wrap ? "true" : "false"}
234
+ onclick={() => (wrap = !wrap)}
257
235
  >
258
- <Check aria-hidden="true" />
236
+ <WrapText aria-hidden="true" />
259
237
  </Button>
260
238
  {/snippet}
261
239
  </Tooltip.Trigger>
262
- <Tooltip.Content side="bottom">Apply</Tooltip.Content>
240
+ <Tooltip.Content side="bottom">Wrap text</Tooltip.Content>
263
241
  </Tooltip.Root>
264
- {/if}
265
- <Tooltip.Root>
266
- <Tooltip.Trigger>
267
- {#snippet child({ props })}
268
- <Button
269
- {...props}
270
- variant="ghost"
271
- size="icon-sm"
272
- class="history-compare__toolbar-action"
273
- aria-label="Restore this revision"
274
- onclick={() => void restoreSelected()}
275
- >
276
- <ArchiveRestore aria-hidden="true" />
277
- </Button>
278
- {/snippet}
279
- </Tooltip.Trigger>
280
- <Tooltip.Content side="bottom">Restore this revision</Tooltip.Content>
281
- </Tooltip.Root>
282
- </div>
283
- </Tooltip.Provider>
242
+ {#if model?.compareMode === "current"}
243
+ <Tooltip.Root>
244
+ <Tooltip.Trigger>
245
+ {#snippet child({ props })}
246
+ <Button
247
+ {...props}
248
+ variant="ghost"
249
+ size="icon-sm"
250
+ class="history-compare__toolbar-action"
251
+ aria-label="Apply"
252
+ disabled={pendingContent == null}
253
+ onclick={() => void applyMerged()}
254
+ >
255
+ <Check aria-hidden="true" />
256
+ </Button>
257
+ {/snippet}
258
+ </Tooltip.Trigger>
259
+ <Tooltip.Content side="bottom">Apply</Tooltip.Content>
260
+ </Tooltip.Root>
261
+ {/if}
262
+ <Tooltip.Root>
263
+ <Tooltip.Trigger>
264
+ {#snippet child({ props })}
265
+ <Button
266
+ {...props}
267
+ variant="ghost"
268
+ size="icon-sm"
269
+ class="history-compare__toolbar-action"
270
+ aria-label="Restore this revision"
271
+ onclick={() => void restoreSelected()}
272
+ >
273
+ <ArchiveRestore aria-hidden="true" />
274
+ </Button>
275
+ {/snippet}
276
+ </Tooltip.Trigger>
277
+ <Tooltip.Content side="bottom"
278
+ >Restore this revision</Tooltip.Content
279
+ >
280
+ </Tooltip.Root>
281
+ </div>
282
+ </Tooltip.Provider>
283
+ {#if model}
284
+ <FileChangeStats
285
+ additions={stats.additions}
286
+ deletions={stats.deletions}
287
+ showZero
288
+ />
289
+ {/if}
290
+ </div>
284
291
  </div>
285
292
  <div class="history-compare__body">
286
293
  {#if error}
@@ -299,7 +306,7 @@
299
306
  path={model.filePath}
300
307
  syncHorizontalScroll
301
308
  {wrap}
302
- onResolvedChange={onResolvedChange}
309
+ {onResolvedChange}
303
310
  />
304
311
  {:else}
305
312
  <FileDiff
@@ -0,0 +1,11 @@
1
+ # Repository History notices
2
+
3
+ Repository presentation and controllers were extracted from Lapis Desktop
4
+ (52516ae9) under Apache-2.0. Maintained adaptations of JJ Store repository
5
+ presentation and graph geometry retain their original Apache-2.0 attribution,
6
+ including upstream Lapis Community graph attribution. GitHub and Forgejo brand
7
+ paths in components/backup/forge-icons.ts derive from Simple Icons under CC0-1.0.
8
+
9
+ Exact source revisions, source paths, destinations and licenses are retained in
10
+ https://github.com/lapismd/lapis-plugins/blob/main/docs/repository-history-provenance.json.
11
+ Application/native admission, credential custody and persistence remain host-owned.
@@ -0,0 +1,77 @@
1
+ <script lang="ts">
2
+ import { AuthorCard } from "@lapismd/design-core/shadcn/author-card";
3
+ import { avatarInitials } from "@lapismd/design-core/shadcn/avatar";
4
+ import type {
5
+ AvatarIdentity,
6
+ AvatarSize,
7
+ } from "@lapismd/design-core/shadcn/avatar";
8
+ import { reviewGravatar } from "../controllers/author.js";
9
+ let {
10
+ name,
11
+ email = "",
12
+ avatarUrl,
13
+ handle,
14
+ size = "xs",
15
+ }: {
16
+ name: string;
17
+ email?: string;
18
+ avatarUrl?: string;
19
+ handle?: string;
20
+ size?: AvatarSize;
21
+ } = $props();
22
+ let gravatar = $state<{ email: string; src: string }>();
23
+ const normalizedEmail = $derived(email.trim().toLowerCase());
24
+ const author = $derived<AvatarIdentity>({
25
+ id: normalizedEmail || handle || name.trim() || "unknown-author",
26
+ name: name.trim() || email.trim() || "Unknown author",
27
+ src:
28
+ avatarUrl ||
29
+ (gravatar?.email === normalizedEmail ? gravatar.src : undefined),
30
+ });
31
+ $effect(() => {
32
+ const requested = normalizedEmail;
33
+ let live = true;
34
+ if (!avatarUrl) {
35
+ void reviewGravatar(requested)
36
+ .then((src) => {
37
+ if (live) gravatar = src ? { email: requested, src } : undefined;
38
+ })
39
+ .catch(() => {
40
+ // Image enrichment is optional; the shared Avatar retains name fallback.
41
+ if (live) gravatar = undefined;
42
+ });
43
+ }
44
+ return () => {
45
+ live = false;
46
+ };
47
+ });
48
+ </script>
49
+
50
+ <!-- Keep profile activation separate from graph and command-item activation. -->
51
+ <span
52
+ class="repository-review-author-avatar"
53
+ onpointerdown={(event) => event.stopPropagation()}
54
+ onclick={(event) => event.stopPropagation()}
55
+ onkeydown={(event) => {
56
+ if (event.key === "Enter" || event.key === " ") event.stopPropagation();
57
+ }}
58
+ role="presentation"
59
+ >
60
+ <AuthorCard
61
+ {author}
62
+ label={`${avatarInitials(author.name)} · About ${author.name}`}
63
+ {size}
64
+ handle={email.trim() || handle}
65
+ interaction="hover"
66
+ />
67
+ </span>
68
+
69
+ <style>
70
+ .repository-review-author-avatar {
71
+ display: inline-flex;
72
+ flex: none;
73
+ align-items: center;
74
+ pointer-events: auto;
75
+ --ui-author-card-avatar-size: 1.75rem;
76
+ }
77
+ </style>
@@ -0,0 +1,11 @@
1
+ import type { AvatarSize } from "@lapismd/design-core/shadcn/avatar";
2
+ type $$ComponentProps = {
3
+ name: string;
4
+ email?: string;
5
+ avatarUrl?: string;
6
+ handle?: string;
7
+ size?: AvatarSize;
8
+ };
9
+ declare const RepositoryAuthorAvatar: import("svelte").Component<$$ComponentProps, {}, "">;
10
+ type RepositoryAuthorAvatar = ReturnType<typeof RepositoryAuthorAvatar>;
11
+ export default RepositoryAuthorAvatar;