wiki-viewer 1.14.1 → 1.14.2

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 (384) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  4. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  11. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  18. package/.next/standalone/.next/server/app/api/agent/activity/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/agent/events/[...path]/route.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/agent/fs/move/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/agent/fs/search/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/agent/internal/span/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/agent/settings/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/agent/sidecar/[...path]/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/assets/[...path]/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/share/[token]/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/share/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/system/reveal/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/system/set-root/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/open/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/refresh/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/system/workspaces/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/upload/[...path]/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/wiki/app/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/wiki/backlinks/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/wiki/content/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/wiki/download/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/wiki/file/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/wiki/folder/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/wiki/git-branches/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/wiki/git-checkout/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/wiki/git-diff/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/wiki/git-file-info/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/wiki/git-history/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/wiki/git-pull/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/wiki/move/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/wiki/new-file/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/wiki/outlinks/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/wiki/page/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/wiki/presence/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/wiki/route.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/api/wiki/search/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/wiki/slugs/route.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/api/wiki/upload/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/wiki/watch/route.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/index.html +1 -1
  61. package/.next/standalone/.next/server/app/index.rsc +1 -1
  62. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  63. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  64. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  65. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  66. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  68. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  69. package/.next/standalone/.next/server/pages/404.html +1 -1
  70. package/.next/standalone/.next/server/pages/500.html +1 -1
  71. package/.next/standalone/package.json +1 -1
  72. package/bin/postbuild.js +21 -0
  73. package/package.json +1 -1
  74. package/.next/standalone/.github/workflows/publish.yml +0 -37
  75. package/.next/standalone/.handoffs/archive/handoff-20260612-113332.md +0 -98
  76. package/.next/standalone/.handoffs/archive/handoff-20260612-141032.md +0 -73
  77. package/.next/standalone/.pi/ownership.json +0 -3
  78. package/.next/standalone/AGENTS.md +0 -114
  79. package/.next/standalone/DESIGN.md +0 -521
  80. package/.next/standalone/README.md +0 -821
  81. package/.next/standalone/TODO.md +0 -20
  82. package/.next/standalone/agents/bootstrap-prompt.md +0 -14
  83. package/.next/standalone/agents/wiki-viewer-skill/SKILL.md +0 -456
  84. package/.next/standalone/bin/postbuild.js +0 -78
  85. package/.next/standalone/bin/wiki-viewer.js +0 -922
  86. package/.next/standalone/certificates/localhost-key.pem +0 -28
  87. package/.next/standalone/certificates/localhost.pem +0 -24
  88. package/.next/standalone/docs/agent-collab-plan.md +0 -1615
  89. package/.next/standalone/docs/agent-collab-v2-plan.md +0 -771
  90. package/.next/standalone/docs/agent-fs-plan.md +0 -232
  91. package/.next/standalone/docs/editorial-skin-spec.md +0 -242
  92. package/.next/standalone/docs/file-vs-collab-authority.md +0 -124
  93. package/.next/standalone/docs/mobile-readiness-spec.md +0 -229
  94. package/.next/standalone/docs/workspacing-plan.md +0 -364
  95. package/.next/standalone/packages/wiki-viewer-mcp/README.md +0 -195
  96. package/.next/standalone/packages/wiki-viewer-mcp/bench-e2e.mjs +0 -166
  97. package/.next/standalone/packages/wiki-viewer-mcp/bench-latency.mjs +0 -87
  98. package/.next/standalone/packages/wiki-viewer-mcp/bench-payload.mjs +0 -45
  99. package/.next/standalone/packages/wiki-viewer-mcp/dist/http-client.js +0 -331
  100. package/.next/standalone/packages/wiki-viewer-mcp/dist/index.js +0 -531
  101. package/.next/standalone/packages/wiki-viewer-mcp/dist/register.js +0 -94
  102. package/.next/standalone/packages/wiki-viewer-mcp/dist/state-cache.js +0 -28
  103. package/.next/standalone/packages/wiki-viewer-mcp/package-lock.json +0 -1716
  104. package/.next/standalone/packages/wiki-viewer-mcp/package.json +0 -41
  105. package/.next/standalone/packages/wiki-viewer-mcp/src/http-client.ts +0 -459
  106. package/.next/standalone/packages/wiki-viewer-mcp/src/index.ts +0 -638
  107. package/.next/standalone/packages/wiki-viewer-mcp/src/register.ts +0 -144
  108. package/.next/standalone/packages/wiki-viewer-mcp/src/state-cache.ts +0 -55
  109. package/.next/standalone/packages/wiki-viewer-mcp/tsconfig.json +0 -19
  110. package/.next/standalone/pnpm-lock.yaml +0 -6697
  111. package/.next/standalone/pnpm-workspace.yaml +0 -8
  112. package/.next/standalone/postcss.config.mjs +0 -2
  113. package/.next/standalone/src/app/api/agent/activity/route.ts +0 -59
  114. package/.next/standalone/src/app/api/agent/admin/agents/[agentId]/revoke/route.ts +0 -40
  115. package/.next/standalone/src/app/api/agent/admin/agents/route.ts +0 -33
  116. package/.next/standalone/src/app/api/agent/admin/registrations/[regId]/approve/route.ts +0 -83
  117. package/.next/standalone/src/app/api/agent/admin/registrations/[regId]/deny/route.ts +0 -36
  118. package/.next/standalone/src/app/api/agent/admin/registrations/route.ts +0 -27
  119. package/.next/standalone/src/app/api/agent/events/[...path]/route.ts +0 -148
  120. package/.next/standalone/src/app/api/agent/files/[...path]/route.ts +0 -219
  121. package/.next/standalone/src/app/api/agent/fs/file/[...path]/route.ts +0 -446
  122. package/.next/standalone/src/app/api/agent/fs/ls/[[...path]]/route.ts +0 -152
  123. package/.next/standalone/src/app/api/agent/fs/move/route.ts +0 -130
  124. package/.next/standalone/src/app/api/agent/fs/search/route.ts +0 -272
  125. package/.next/standalone/src/app/api/agent/internal/span/route.ts +0 -121
  126. package/.next/standalone/src/app/api/agent/register/[regId]/route.ts +0 -50
  127. package/.next/standalone/src/app/api/agent/register/route.ts +0 -118
  128. package/.next/standalone/src/app/api/agent/settings/route.ts +0 -34
  129. package/.next/standalone/src/app/api/agent/settings/token/regenerate/route.ts +0 -20
  130. package/.next/standalone/src/app/api/agent/sidecar/[...path]/route.ts +0 -53
  131. package/.next/standalone/src/app/api/agents/install/route.ts +0 -143
  132. package/.next/standalone/src/app/api/agents/skill/route.ts +0 -20
  133. package/.next/standalone/src/app/api/agents/skill.tar.gz/route.ts +0 -87
  134. package/.next/standalone/src/app/api/app-proxy/[...path]/route.ts +0 -247
  135. package/.next/standalone/src/app/api/assets/[...path]/route.ts +0 -75
  136. package/.next/standalone/src/app/api/auth/[...all]/route.ts +0 -7
  137. package/.next/standalone/src/app/api/owner/init/route.ts +0 -14
  138. package/.next/standalone/src/app/api/share/[token]/route.ts +0 -269
  139. package/.next/standalone/src/app/api/share/route.ts +0 -127
  140. package/.next/standalone/src/app/api/system/admins/route.ts +0 -103
  141. package/.next/standalone/src/app/api/system/auth-config/route.ts +0 -22
  142. package/.next/standalone/src/app/api/system/auth-settings/route.ts +0 -86
  143. package/.next/standalone/src/app/api/system/browse/route.ts +0 -82
  144. package/.next/standalone/src/app/api/system/clear-root/route.ts +0 -16
  145. package/.next/standalone/src/app/api/system/config/route.ts +0 -14
  146. package/.next/standalone/src/app/api/system/pins/route.ts +0 -38
  147. package/.next/standalone/src/app/api/system/reveal/route.ts +0 -36
  148. package/.next/standalone/src/app/api/system/root-status/route.ts +0 -13
  149. package/.next/standalone/src/app/api/system/set-root/route.ts +0 -53
  150. package/.next/standalone/src/app/api/system/users/route.ts +0 -120
  151. package/.next/standalone/src/app/api/system/workspaces/[id]/open/route.ts +0 -34
  152. package/.next/standalone/src/app/api/system/workspaces/[id]/refresh/route.ts +0 -32
  153. package/.next/standalone/src/app/api/system/workspaces/[id]/route.ts +0 -78
  154. package/.next/standalone/src/app/api/system/workspaces/route.ts +0 -128
  155. package/.next/standalone/src/app/api/upload/[...path]/route.ts +0 -85
  156. package/.next/standalone/src/app/api/wiki/app/route.ts +0 -60
  157. package/.next/standalone/src/app/api/wiki/backlinks/route.ts +0 -29
  158. package/.next/standalone/src/app/api/wiki/content/route.ts +0 -159
  159. package/.next/standalone/src/app/api/wiki/download/route.ts +0 -100
  160. package/.next/standalone/src/app/api/wiki/file/route.ts +0 -57
  161. package/.next/standalone/src/app/api/wiki/folder/route.ts +0 -34
  162. package/.next/standalone/src/app/api/wiki/git-branches/route.ts +0 -32
  163. package/.next/standalone/src/app/api/wiki/git-checkout/route.ts +0 -45
  164. package/.next/standalone/src/app/api/wiki/git-diff/route.ts +0 -33
  165. package/.next/standalone/src/app/api/wiki/git-file-info/route.ts +0 -27
  166. package/.next/standalone/src/app/api/wiki/git-history/route.ts +0 -27
  167. package/.next/standalone/src/app/api/wiki/git-pull/route.ts +0 -48
  168. package/.next/standalone/src/app/api/wiki/move/route.ts +0 -61
  169. package/.next/standalone/src/app/api/wiki/new-file/route.ts +0 -56
  170. package/.next/standalone/src/app/api/wiki/outlinks/route.ts +0 -76
  171. package/.next/standalone/src/app/api/wiki/page/route.ts +0 -92
  172. package/.next/standalone/src/app/api/wiki/presence/route.ts +0 -56
  173. package/.next/standalone/src/app/api/wiki/route.ts +0 -116
  174. package/.next/standalone/src/app/api/wiki/search/route.ts +0 -44
  175. package/.next/standalone/src/app/api/wiki/slugs/route.ts +0 -54
  176. package/.next/standalone/src/app/api/wiki/upload/route.ts +0 -95
  177. package/.next/standalone/src/app/api/wiki/watch/route.ts +0 -67
  178. package/.next/standalone/src/app/globals.css +0 -1249
  179. package/.next/standalone/src/app/icon.svg +0 -11
  180. package/.next/standalone/src/app/layout.tsx +0 -78
  181. package/.next/standalone/src/app/manifest.ts +0 -30
  182. package/.next/standalone/src/app/page.tsx +0 -3260
  183. package/.next/standalone/src/app/s/[token]/page.tsx +0 -357
  184. package/.next/standalone/src/app/signin/page.tsx +0 -16
  185. package/.next/standalone/src/app/signin/signin-form.tsx +0 -238
  186. package/.next/standalone/src/components/ai-panel/activity-row.tsx +0 -284
  187. package/.next/standalone/src/components/ai-panel/ai-panel.tsx +0 -311
  188. package/.next/standalone/src/components/ai-panel/token-section.tsx +0 -313
  189. package/.next/standalone/src/components/auth-settings-sheet.tsx +0 -474
  190. package/.next/standalone/src/components/confirm-dialog.tsx +0 -56
  191. package/.next/standalone/src/components/dir-picker.tsx +0 -606
  192. package/.next/standalone/src/components/editor/backlinks-panel.tsx +0 -139
  193. package/.next/standalone/src/components/editor/bubble-menu.tsx +0 -346
  194. package/.next/standalone/src/components/editor/callout-extension.ts +0 -36
  195. package/.next/standalone/src/components/editor/comment-pip.tsx +0 -56
  196. package/.next/standalone/src/components/editor/comment-thread.tsx +0 -254
  197. package/.next/standalone/src/components/editor/csv-viewer.tsx +0 -379
  198. package/.next/standalone/src/components/editor/document-outline.tsx +0 -230
  199. package/.next/standalone/src/components/editor/editor-toolbar.tsx +0 -564
  200. package/.next/standalone/src/components/editor/editor.tsx +0 -1327
  201. package/.next/standalone/src/components/editor/extensions/drag-handle.ts +0 -325
  202. package/.next/standalone/src/components/editor/extensions/heading-anchors.ts +0 -55
  203. package/.next/standalone/src/components/editor/extensions/proof-span.ts +0 -60
  204. package/.next/standalone/src/components/editor/extensions/resizable-image.tsx +0 -159
  205. package/.next/standalone/src/components/editor/extensions.ts +0 -150
  206. package/.next/standalone/src/components/editor/file-fallback-viewer.tsx +0 -75
  207. package/.next/standalone/src/components/editor/folder-index.tsx +0 -236
  208. package/.next/standalone/src/components/editor/google-doc-viewer.tsx +0 -73
  209. package/.next/standalone/src/components/editor/image-viewer.tsx +0 -57
  210. package/.next/standalone/src/components/editor/large-file-gate.tsx +0 -108
  211. package/.next/standalone/src/components/editor/link-popover.tsx +0 -111
  212. package/.next/standalone/src/components/editor/media-popover.tsx +0 -212
  213. package/.next/standalone/src/components/editor/media-viewer.tsx +0 -70
  214. package/.next/standalone/src/components/editor/mermaid-viewer.tsx +0 -286
  215. package/.next/standalone/src/components/editor/node-app-viewer.tsx +0 -328
  216. package/.next/standalone/src/components/editor/notebook-viewer.tsx +0 -371
  217. package/.next/standalone/src/components/editor/office/docx-viewer.tsx +0 -93
  218. package/.next/standalone/src/components/editor/office/office-chrome.tsx +0 -83
  219. package/.next/standalone/src/components/editor/office/pptx-viewer.tsx +0 -104
  220. package/.next/standalone/src/components/editor/office/xlsx-viewer.tsx +0 -192
  221. package/.next/standalone/src/components/editor/pdf-viewer.tsx +0 -32
  222. package/.next/standalone/src/components/editor/proof-span-popover.tsx +0 -162
  223. package/.next/standalone/src/components/editor/slash-commands.tsx +0 -629
  224. package/.next/standalone/src/components/editor/source-viewer.tsx +0 -289
  225. package/.next/standalone/src/components/editor/suggest-edit-popover.tsx +0 -229
  226. package/.next/standalone/src/components/editor/suggestion-card.tsx +0 -206
  227. package/.next/standalone/src/components/editor/table-menu.tsx +0 -232
  228. package/.next/standalone/src/components/editor/view-mode-comment-button.tsx +0 -77
  229. package/.next/standalone/src/components/editor/website-viewer.tsx +0 -75
  230. package/.next/standalone/src/components/editor/wiki-link-create-dialog.tsx +0 -189
  231. package/.next/standalone/src/components/editor/wiki-link-decorator.ts +0 -79
  232. package/.next/standalone/src/components/editor/wiki-link-extension.ts +0 -120
  233. package/.next/standalone/src/components/editor/wiki-link-picker.tsx +0 -250
  234. package/.next/standalone/src/components/layout/viewer-toolbar.tsx +0 -54
  235. package/.next/standalone/src/components/search/search-command-dialog.tsx +0 -246
  236. package/.next/standalone/src/components/search/sidebar-search-box.tsx +0 -121
  237. package/.next/standalone/src/components/search/snippet-text.tsx +0 -48
  238. package/.next/standalone/src/components/share-dialog.tsx +0 -307
  239. package/.next/standalone/src/components/theme-provider.tsx +0 -16
  240. package/.next/standalone/src/components/theme-toggle.tsx +0 -24
  241. package/.next/standalone/src/components/ui/badge.tsx +0 -35
  242. package/.next/standalone/src/components/ui/button.tsx +0 -56
  243. package/.next/standalone/src/components/ui/card.tsx +0 -63
  244. package/.next/standalone/src/components/ui/collapsible.tsx +0 -9
  245. package/.next/standalone/src/components/ui/command.tsx +0 -151
  246. package/.next/standalone/src/components/ui/context-menu.tsx +0 -191
  247. package/.next/standalone/src/components/ui/dialog.tsx +0 -119
  248. package/.next/standalone/src/components/ui/dropdown-menu.tsx +0 -194
  249. package/.next/standalone/src/components/ui/input.tsx +0 -22
  250. package/.next/standalone/src/components/ui/label.tsx +0 -25
  251. package/.next/standalone/src/components/ui/popover.tsx +0 -33
  252. package/.next/standalone/src/components/ui/scroll-area.tsx +0 -47
  253. package/.next/standalone/src/components/ui/select.tsx +0 -156
  254. package/.next/standalone/src/components/ui/separator.tsx +0 -30
  255. package/.next/standalone/src/components/ui/sheet.tsx +0 -140
  256. package/.next/standalone/src/components/ui/skeleton.tsx +0 -15
  257. package/.next/standalone/src/components/ui/switch.tsx +0 -28
  258. package/.next/standalone/src/components/ui/tabs.tsx +0 -54
  259. package/.next/standalone/src/components/ui/textarea.tsx +0 -21
  260. package/.next/standalone/src/components/ui/tip.tsx +0 -23
  261. package/.next/standalone/src/components/ui/toggle-group.tsx +0 -41
  262. package/.next/standalone/src/components/ui/tooltip.tsx +0 -27
  263. package/.next/standalone/src/components/view-width-toggle.tsx +0 -70
  264. package/.next/standalone/src/components/wiki/frontmatter-header.tsx +0 -164
  265. package/.next/standalone/src/hooks/use-is-mobile.ts +0 -14
  266. package/.next/standalone/src/lib/app-runner.ts +0 -272
  267. package/.next/standalone/src/lib/auth/admin.ts +0 -120
  268. package/.next/standalone/src/lib/auth/allowlist.ts +0 -50
  269. package/.next/standalone/src/lib/auth/client.ts +0 -4
  270. package/.next/standalone/src/lib/auth/csrf.ts +0 -68
  271. package/.next/standalone/src/lib/auth/server.ts +0 -215
  272. package/.next/standalone/src/lib/cabinets/tree.ts +0 -75
  273. package/.next/standalone/src/lib/config.ts +0 -114
  274. package/.next/standalone/src/lib/embeds/detect.ts +0 -142
  275. package/.next/standalone/src/lib/git-secrets.ts +0 -65
  276. package/.next/standalone/src/lib/git.ts +0 -503
  277. package/.next/standalone/src/lib/google/detect.ts +0 -107
  278. package/.next/standalone/src/lib/markdown/parse-frontmatter.ts +0 -104
  279. package/.next/standalone/src/lib/markdown/remark-wikilinks.ts +0 -100
  280. package/.next/standalone/src/lib/markdown/sanitize-schema.ts +0 -106
  281. package/.next/standalone/src/lib/markdown/to-html.ts +0 -282
  282. package/.next/standalone/src/lib/markdown/to-markdown.ts +0 -252
  283. package/.next/standalone/src/lib/proof/activity-shared.ts +0 -31
  284. package/.next/standalone/src/lib/proof/activity.ts +0 -74
  285. package/.next/standalone/src/lib/proof/audit.ts +0 -88
  286. package/.next/standalone/src/lib/proof/auth.ts +0 -143
  287. package/.next/standalone/src/lib/proof/block-refs.ts +0 -133
  288. package/.next/standalone/src/lib/proof/blocks.ts +0 -73
  289. package/.next/standalone/src/lib/proof/client-auth.ts +0 -23
  290. package/.next/standalone/src/lib/proof/collab-state.ts +0 -81
  291. package/.next/standalone/src/lib/proof/event-bus.ts +0 -47
  292. package/.next/standalone/src/lib/proof/file-lock.ts +0 -43
  293. package/.next/standalone/src/lib/proof/glob.ts +0 -51
  294. package/.next/standalone/src/lib/proof/idempotency.ts +0 -37
  295. package/.next/standalone/src/lib/proof/lease.ts +0 -117
  296. package/.next/standalone/src/lib/proof/mutex.ts +0 -36
  297. package/.next/standalone/src/lib/proof/ops-applier.ts +0 -727
  298. package/.next/standalone/src/lib/proof/owner-auth.ts +0 -2
  299. package/.next/standalone/src/lib/proof/pending.ts +0 -97
  300. package/.next/standalone/src/lib/proof/proof-span.ts +0 -141
  301. package/.next/standalone/src/lib/proof/rate-limit.ts +0 -53
  302. package/.next/standalone/src/lib/proof/raw-fs.ts +0 -197
  303. package/.next/standalone/src/lib/proof/register-rate-limit.ts +0 -53
  304. package/.next/standalone/src/lib/proof/registry.ts +0 -195
  305. package/.next/standalone/src/lib/proof/sidecar.ts +0 -103
  306. package/.next/standalone/src/lib/proof/suggest-capture.ts +0 -69
  307. package/.next/standalone/src/lib/proof/types.ts +0 -182
  308. package/.next/standalone/src/lib/proof-config.ts +0 -14
  309. package/.next/standalone/src/lib/root-dir.ts +0 -35
  310. package/.next/standalone/src/lib/search/indexable-exts.ts +0 -25
  311. package/.next/standalone/src/lib/search/indexer.ts +0 -634
  312. package/.next/standalone/src/lib/search/sanitize.ts +0 -35
  313. package/.next/standalone/src/lib/search/search-db.ts +0 -57
  314. package/.next/standalone/src/lib/search/watcher-pool.ts +0 -79
  315. package/.next/standalone/src/lib/shared-docs/db.ts +0 -177
  316. package/.next/standalone/src/lib/toast.ts +0 -9
  317. package/.next/standalone/src/lib/utils.ts +0 -6
  318. package/.next/standalone/src/lib/wiki-helpers.ts +0 -36
  319. package/.next/standalone/src/lib/workspace-client.ts +0 -82
  320. package/.next/standalone/src/lib/workspace-context.ts +0 -173
  321. package/.next/standalone/src/lib/workspaces.ts +0 -400
  322. package/.next/standalone/src/middleware.ts +0 -44
  323. package/.next/standalone/src/stores/ai-panel-store.ts +0 -79
  324. package/.next/standalone/src/stores/editor-store.ts +0 -439
  325. package/.next/standalone/src/stores/pin-store.ts +0 -56
  326. package/.next/standalone/src/stores/proof-store.ts +0 -124
  327. package/.next/standalone/src/stores/recent-store.ts +0 -51
  328. package/.next/standalone/src/stores/search-store.ts +0 -104
  329. package/.next/standalone/src/stores/show-hidden-store.ts +0 -26
  330. package/.next/standalone/src/stores/sidebar-width-store.ts +0 -39
  331. package/.next/standalone/src/stores/skin-store.ts +0 -42
  332. package/.next/standalone/src/stores/tree-store.ts +0 -52
  333. package/.next/standalone/src/stores/view-width-store.ts +0 -101
  334. package/.next/standalone/src/stores/wiki-slugs-store.ts +0 -75
  335. package/.next/standalone/src/tests/proof/activity-aggregator.test.ts +0 -146
  336. package/.next/standalone/src/tests/proof/admin-create-user.test.ts +0 -43
  337. package/.next/standalone/src/tests/proof/agent-fs.test.ts +0 -973
  338. package/.next/standalone/src/tests/proof/agent-ownership.test.ts +0 -140
  339. package/.next/standalone/src/tests/proof/agent-workspace-scope.test.ts +0 -134
  340. package/.next/standalone/src/tests/proof/agents-install.test.ts +0 -110
  341. package/.next/standalone/src/tests/proof/bench-write.ts +0 -179
  342. package/.next/standalone/src/tests/proof/better-auth.test.ts +0 -68
  343. package/.next/standalone/src/tests/proof/block-refs.test.ts +0 -108
  344. package/.next/standalone/src/tests/proof/blocks.test.ts +0 -92
  345. package/.next/standalone/src/tests/proof/collab-state.test.ts +0 -501
  346. package/.next/standalone/src/tests/proof/comments-ops.test.ts +0 -177
  347. package/.next/standalone/src/tests/proof/editor-roundtrip.test.ts +0 -85
  348. package/.next/standalone/src/tests/proof/external-edit.test.ts +0 -58
  349. package/.next/standalone/src/tests/proof/file-lock.test.ts +0 -80
  350. package/.next/standalone/src/tests/proof/git-branches-checkout.test.ts +0 -136
  351. package/.next/standalone/src/tests/proof/git-read-features.test.ts +0 -473
  352. package/.next/standalone/src/tests/proof/git-secrets.test.ts +0 -138
  353. package/.next/standalone/src/tests/proof/git-sparse.test.ts +0 -257
  354. package/.next/standalone/src/tests/proof/git-workspace.test.ts +0 -135
  355. package/.next/standalone/src/tests/proof/git.test.ts +0 -243
  356. package/.next/standalone/src/tests/proof/glob.test.ts +0 -82
  357. package/.next/standalone/src/tests/proof/helpers/auth-session.ts +0 -27
  358. package/.next/standalone/src/tests/proof/markdown-to-html.test.ts +0 -46
  359. package/.next/standalone/src/tests/proof/ops-applier.test.ts +0 -368
  360. package/.next/standalone/src/tests/proof/owner-init.test.ts +0 -2
  361. package/.next/standalone/src/tests/proof/parse-frontmatter.test.ts +0 -60
  362. package/.next/standalone/src/tests/proof/preload.ts +0 -21
  363. package/.next/standalone/src/tests/proof/proof-span.test.ts +0 -98
  364. package/.next/standalone/src/tests/proof/rate-limit.test.ts +0 -54
  365. package/.next/standalone/src/tests/proof/readonly-enforcement.test.ts +0 -161
  366. package/.next/standalone/src/tests/proof/reconcile-sidecar.test.ts +0 -195
  367. package/.next/standalone/src/tests/proof/registration-flow.test.ts +0 -330
  368. package/.next/standalone/src/tests/proof/registry.test.ts +0 -169
  369. package/.next/standalone/src/tests/proof/routes.test.ts +0 -516
  370. package/.next/standalone/src/tests/proof/search-index.test.ts +0 -376
  371. package/.next/standalone/src/tests/proof/sidecar-lifecycle.test.ts +0 -177
  372. package/.next/standalone/src/tests/proof/sidecar-trim.test.ts +0 -58
  373. package/.next/standalone/src/tests/proof/suggestion-ops.test.ts +0 -280
  374. package/.next/standalone/src/tests/proof/wiki-content-put.test.ts +0 -140
  375. package/.next/standalone/src/tests/proof/wiki-routes-auth.test.ts +0 -208
  376. package/.next/standalone/src/tests/proof/workspace-isolation.test.ts +0 -87
  377. package/.next/standalone/src/tests/proof/workspaces-api.test.ts +0 -227
  378. package/.next/standalone/src/types/index.ts +0 -47
  379. package/.next/standalone/tailwind.config.ts +0 -191
  380. package/.next/standalone/tsconfig.json +0 -41
  381. package/.next/standalone/tsconfig.tsbuildinfo +0 -1
  382. /package/.next/standalone/.next/static/{WMOTgfV82apmdovxzgbMx → rRyvFORvJoc5OWbCR2A_P}/_buildManifest.js +0 -0
  383. /package/.next/standalone/.next/static/{WMOTgfV82apmdovxzgbMx → rRyvFORvJoc5OWbCR2A_P}/_clientMiddlewareManifest.js +0 -0
  384. /package/.next/standalone/.next/static/{WMOTgfV82apmdovxzgbMx → rRyvFORvJoc5OWbCR2A_P}/_ssgManifest.js +0 -0
@@ -1,85 +0,0 @@
1
- /**
2
- * §7.6 Roundtrip fidelity: proof-span survives markdownToHtml → htmlToMarkdown.
3
- */
4
- import assert from "node:assert/strict";
5
- import { describe, it, test } from "node:test";
6
- import { markdownToHtml } from "@/lib/markdown/to-html";
7
- import { htmlToMarkdown } from "@/lib/markdown/to-markdown";
8
- import { ProofSpan } from "@/components/editor/extensions/proof-span";
9
-
10
- const SPAN_TAG = "proof-span";
11
-
12
- /** Collect all attribute key=value pairs from a proof-span tag in a string. */
13
- function extractSpanAttrs(src: string): Map<string, string> {
14
- const match = src.match(/<proof-span\b([^>]*)>/);
15
- if (!match) return new Map();
16
- const attrsRaw = match[1];
17
- const map = new Map<string, string>();
18
- const attrRe = /([a-z-]+)="([^"]*)"/g;
19
- let m: RegExpExecArray | null;
20
- while ((m = attrRe.exec(attrsRaw)) !== null) {
21
- map.set(m[1], m[2]);
22
- }
23
- return map;
24
- }
25
-
26
- describe("editor-roundtrip proof-span", () => {
27
- it("preserves proof-span tag and inner content through html roundtrip", async () => {
28
- const md =
29
- 'Hello <proof-span id="p123" origin="ai" by="ai:claude" at="2026-01-01T00:00:00Z" basis="described">hello world</proof-span> end.';
30
-
31
- const html = await markdownToHtml(md);
32
-
33
- // The HTML should contain a proof-span element (TipTap schema is client-side;
34
- // here we verify the remark pipeline preserves raw HTML passthrough).
35
- assert.ok(html.includes(SPAN_TAG), `HTML should contain <${SPAN_TAG}> tag:\n${html}`);
36
- assert.ok(html.includes("hello world"), "HTML should contain inner text");
37
-
38
- const roundtripped = htmlToMarkdown(html);
39
-
40
- assert.ok(
41
- roundtripped.includes(`<${SPAN_TAG}`),
42
- `Roundtripped markdown should contain <${SPAN_TAG}> tag:\n${roundtripped}`,
43
- );
44
- assert.ok(
45
- roundtripped.includes("hello world"),
46
- "Roundtripped markdown should contain inner text",
47
- );
48
-
49
- const origAttrs = extractSpanAttrs(md);
50
- const rtAttrs = extractSpanAttrs(roundtripped);
51
-
52
- // Every attr in the original must survive the roundtrip.
53
- for (const [key, value] of origAttrs) {
54
- assert.equal(
55
- rtAttrs.get(key),
56
- value,
57
- `Attribute '${key}' should survive roundtrip. Expected '${value}', got '${rtAttrs.get(key)}'`,
58
- );
59
- }
60
- });
61
-
62
- it("TipTap ProofSpan mark schema matches spec", () => {
63
- const inst = ProofSpan.configure({});
64
- assert.equal(inst.name, "proofSpan");
65
- const spec = (inst as { config: { parseHTML?: () => unknown[] } }).config;
66
- assert.ok(spec.parseHTML, "parseHTML defined");
67
- const parseRules = (spec.parseHTML as () => Array<{ tag: string }>)();
68
- assert.equal(parseRules[0].tag, "proof-span");
69
- });
70
-
71
- it("preserves proof-span with wiki-link child", async () => {
72
- const md =
73
- 'Text <proof-span id="p456" origin="ai" by="ai:cursor" at="2026-01-01T00:00:00Z" basis="inferred">see [[my-page]]</proof-span>.';
74
-
75
- const html = await markdownToHtml(md);
76
- const roundtripped = htmlToMarkdown(html);
77
-
78
- assert.ok(roundtripped.includes(`<${SPAN_TAG}`), "span tag preserved");
79
- // Wiki-link should be preserved (either as [[my-page]] or as anchor markup)
80
- assert.ok(
81
- roundtripped.includes("my-page"),
82
- "wiki-link slug preserved inside span",
83
- );
84
- });
85
- });
@@ -1,58 +0,0 @@
1
- import { test, before, after } from "node:test";
2
- import assert from "node:assert/strict";
3
- import { mkdtemp, writeFile, rm } from "node:fs/promises";
4
- import { tmpdir } from "node:os";
5
- import path from "node:path";
6
- import { readSnapshot } from "../../lib/proof/ops-applier.js";
7
- import { setRootDir } from "../../lib/root-dir.js";
8
-
9
- let tmpRoot: string;
10
-
11
- before(async () => {
12
- tmpRoot = await mkdtemp(path.join(tmpdir(), "wiki-ext-edit-test-"));
13
- setRootDir(tmpRoot);
14
- });
15
-
16
- after(async () => {
17
- await rm(tmpRoot, { recursive: true, force: true });
18
- });
19
-
20
- test("readSnapshot: detects external edit and emits file.externallyEdited event", async () => {
21
- const mdFile = path.join(tmpRoot, "ext-edit.md");
22
- const original = "# Title\n\nOriginal content.\n";
23
-
24
- // Write initial content
25
- await writeFile(mdFile, original, "utf-8");
26
-
27
- // Take first snapshot — establishes fingerprint in sidecar
28
- const snap0 = await readSnapshot(tmpRoot, "ext-edit.md");
29
- assert.ok(snap0 !== null);
30
- assert.equal(snap0!.revision, 0);
31
-
32
- // Externally modify the file on disk (bypass ops-applier)
33
- const modified = "# Title\n\nExternally modified content.\n";
34
- await writeFile(mdFile, modified, "utf-8");
35
-
36
- // readSnapshot should detect the mismatch and bump revision + emit event
37
- const snap1 = await readSnapshot(tmpRoot, "ext-edit.md");
38
- assert.ok(snap1 !== null);
39
- assert.equal(snap1!.revision, 1, "revision should be bumped after external edit");
40
-
41
- // The last event in the sidecar should be file.externallyEdited
42
- // We verify via the lastEventId being > the initial snap
43
- assert.ok(snap1!.lastEventId >= 0, "lastEventId should be set");
44
- });
45
-
46
- test("readSnapshot: no false positive when file unchanged", async () => {
47
- const mdFile = path.join(tmpRoot, "no-change.md");
48
- await writeFile(mdFile, "# Stable\n\nContent.\n", "utf-8");
49
-
50
- const snap0 = await readSnapshot(tmpRoot, "no-change.md");
51
- assert.ok(snap0 !== null);
52
- assert.equal(snap0!.revision, 0);
53
-
54
- // Read again without any external change
55
- const snap1 = await readSnapshot(tmpRoot, "no-change.md");
56
- assert.ok(snap1 !== null);
57
- assert.equal(snap1!.revision, 0, "revision must not change when file is unmodified");
58
- });
@@ -1,80 +0,0 @@
1
- /**
2
- * Basic tests for withFileLock / withFileMutex cross-process safety layer.
3
- */
4
- import { test, before, after } from "node:test";
5
- import assert from "node:assert/strict";
6
- import { mkdtemp, rm } from "node:fs/promises";
7
- import { tmpdir } from "node:os";
8
- import path from "node:path";
9
-
10
- let tmpHome: string;
11
-
12
- before(async () => {
13
- tmpHome = await mkdtemp(path.join(tmpdir(), "file-lock-test-"));
14
- process.env.HOME = tmpHome;
15
- });
16
-
17
- after(async () => {
18
- await rm(tmpHome, { recursive: true, force: true });
19
- });
20
-
21
- import { withFileLock } from "../../lib/proof/file-lock.js";
22
- import { withFileMutex } from "../../lib/proof/mutex.js";
23
-
24
- test("withFileLock: acquires and releases without deadlock", async () => {
25
- const result = await withFileLock("test-key-1", async () => {
26
- return 42;
27
- });
28
- assert.equal(result, 42);
29
- });
30
-
31
- test("withFileLock: sequential calls on same key succeed", async () => {
32
- const r1 = await withFileLock("test-key-seq", async () => "first");
33
- const r2 = await withFileLock("test-key-seq", async () => "second");
34
- assert.equal(r1, "first");
35
- assert.equal(r2, "second");
36
- });
37
-
38
- test("withFileLock: propagates errors and releases lock", async () => {
39
- await assert.rejects(
40
- () => withFileLock("test-key-err", async () => { throw new Error("boom"); }),
41
- /boom/,
42
- );
43
- // Should be releasable again
44
- const r = await withFileLock("test-key-err", async () => "ok");
45
- assert.equal(r, "ok");
46
- });
47
-
48
- test("withFileMutex: serialises concurrent in-process callers", async () => {
49
- const results: number[] = [];
50
- await Promise.all([
51
- withFileMutex("mutex-concurrent-key", async () => {
52
- results.push(1);
53
- await new Promise((r) => setTimeout(r, 10));
54
- results.push(2);
55
- }),
56
- withFileMutex("mutex-concurrent-key", async () => {
57
- results.push(3);
58
- }),
59
- ]);
60
- // Serialised: 1, 2 must appear before 3.
61
- assert.deepEqual(results, [1, 2, 3]);
62
- });
63
-
64
- test("withFileMutex: different keys run concurrently", async () => {
65
- const log: string[] = [];
66
- await Promise.all([
67
- withFileMutex("key-A", async () => {
68
- log.push("A-start");
69
- await new Promise((r) => setTimeout(r, 20));
70
- log.push("A-end");
71
- }),
72
- withFileMutex("key-B", async () => {
73
- log.push("B-start");
74
- log.push("B-end");
75
- }),
76
- ]);
77
- // B can start before A ends (different keys = no contention).
78
- assert.ok(log.includes("B-start"));
79
- assert.ok(log.includes("A-end"));
80
- });
@@ -1,136 +0,0 @@
1
- /**
2
- * Focused tests for gitBranches and gitCheckout lib functions.
3
- * Skips silently if git binary is not available.
4
- */
5
- import { test, before, after, describe } from "node:test";
6
- import assert from "node:assert/strict";
7
- import { mkdtemp, rm, writeFile, mkdir } from "node:fs/promises";
8
- import { execFileSync } from "node:child_process";
9
- import { tmpdir } from "node:os";
10
- import path from "node:path";
11
-
12
- import {
13
- assertGitAvailable,
14
- gitBranches,
15
- gitCheckout,
16
- } from "../../lib/git.js";
17
-
18
- const gitEnv = {
19
- ...process.env,
20
- GIT_AUTHOR_NAME: "Test User",
21
- GIT_AUTHOR_EMAIL: "test@example.com",
22
- GIT_COMMITTER_NAME: "Test User",
23
- GIT_COMMITTER_EMAIL: "test@example.com",
24
- };
25
-
26
- let gitOk = false;
27
- let tempRoot: string;
28
- let repoDir: string;
29
- let featureBranch: string;
30
-
31
- before(async () => {
32
- try {
33
- await assertGitAvailable();
34
- gitOk = true;
35
- } catch {
36
- return;
37
- }
38
-
39
- tempRoot = await mkdtemp(path.join(tmpdir(), "wiki-branches-ck-"));
40
- repoDir = path.join(tempRoot, "repo");
41
- await mkdir(repoDir, { recursive: true });
42
-
43
- execFileSync("git", ["init"], { cwd: repoDir, env: gitEnv });
44
- execFileSync("git", ["config", "user.email", "test@example.com"], { cwd: repoDir, env: gitEnv });
45
- execFileSync("git", ["config", "user.name", "Test User"], { cwd: repoDir, env: gitEnv });
46
-
47
- await writeFile(path.join(repoDir, "README.md"), "# Hello\n");
48
- execFileSync("git", ["add", "."], { cwd: repoDir, env: gitEnv });
49
- execFileSync("git", ["commit", "-m", "Initial commit"], { cwd: repoDir, env: gitEnv });
50
-
51
- // Create a second branch for checkout tests
52
- featureBranch = "feature-branch-test";
53
- execFileSync("git", ["checkout", "-b", featureBranch], { cwd: repoDir, env: gitEnv });
54
- // Switch back to main/master so we can checkout feature-branch-test
55
- execFileSync("git", ["checkout", "-"], { cwd: repoDir, env: gitEnv });
56
- });
57
-
58
- after(async () => {
59
- if (tempRoot) await rm(tempRoot, { recursive: true, force: true });
60
- });
61
-
62
- // ---------------------------------------------------------------------------
63
- // gitBranches
64
- // ---------------------------------------------------------------------------
65
-
66
- describe("gitBranches", () => {
67
- test("returns array with at least one branch", async () => {
68
- if (!gitOk) return;
69
- const branches = await gitBranches(repoDir);
70
- assert.ok(Array.isArray(branches));
71
- assert.ok(branches.length >= 1, `expected branches, got ${JSON.stringify(branches)}`);
72
- });
73
-
74
- test("marks exactly one branch as current", async () => {
75
- if (!gitOk) return;
76
- const branches = await gitBranches(repoDir);
77
- const current = branches.filter((b) => b.current);
78
- assert.equal(current.length, 1, "exactly one branch should be current");
79
- assert.ok(current[0].name.length > 0, "current branch has non-empty name");
80
- });
81
-
82
- test("lists all local branches including feature branch", async () => {
83
- if (!gitOk) return;
84
- const branches = await gitBranches(repoDir);
85
- const names = branches.map((b) => b.name);
86
- assert.ok(names.includes(featureBranch), `expected ${featureBranch} in ${JSON.stringify(names)}`);
87
- });
88
- });
89
-
90
- // ---------------------------------------------------------------------------
91
- // gitCheckout
92
- // ---------------------------------------------------------------------------
93
-
94
- describe("gitCheckout", () => {
95
- test("throws with invalidBranch=true for invalid branch name format", async () => {
96
- if (!gitOk) return;
97
- const err = await gitCheckout(repoDir, "../../evil").catch((e) => e);
98
- assert.ok(err instanceof Error, "should throw Error");
99
- assert.equal((err as Error & { invalidBranch?: boolean }).invalidBranch, true);
100
- });
101
-
102
- test("throws with invalidBranch=true for branch name with semicolon", async () => {
103
- if (!gitOk) return;
104
- const err = await gitCheckout(repoDir, "main;evil").catch((e) => e);
105
- assert.ok(err instanceof Error, "should throw Error");
106
- assert.equal((err as Error & { invalidBranch?: boolean }).invalidBranch, true);
107
- });
108
-
109
- test("succeeds on clean repo when checking out existing branch", async () => {
110
- if (!gitOk) return;
111
- const result = await gitCheckout(repoDir, featureBranch);
112
- assert.equal(result.branch, featureBranch);
113
- assert.match(result.sha, /^[0-9a-f]{40}$/);
114
- // Switch back
115
- execFileSync("git", ["checkout", "-"], { cwd: repoDir, env: gitEnv });
116
- });
117
-
118
- test("throws with dirty=true when working tree has uncommitted changes", async () => {
119
- if (!gitOk) return;
120
- // Create an untracked file to make repo dirty
121
- await writeFile(path.join(repoDir, "untracked.txt"), "dirty\n");
122
- // Stage it to make it appear in porcelain status
123
- execFileSync("git", ["add", "untracked.txt"], { cwd: repoDir, env: gitEnv });
124
-
125
- try {
126
- const err = await gitCheckout(repoDir, featureBranch).catch((e) => e);
127
- assert.ok(err instanceof Error, "should throw Error");
128
- assert.equal((err as Error & { dirty?: boolean }).dirty, true);
129
- } finally {
130
- // Clean up the staged file
131
- execFileSync("git", ["restore", "--staged", "untracked.txt"], { cwd: repoDir, env: gitEnv });
132
- const { rm: rmFile } = await import("node:fs/promises");
133
- await rmFile(path.join(repoDir, "untracked.txt"));
134
- }
135
- });
136
- });