@dev.fast/whiteboard 0.0.0-stage → 0.2.1-preview.20261005.98

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 (247) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +146 -2
  3. package/THIRD_PARTY_NOTICES.md +93 -0
  4. package/dist/account-alias-DOHN1RSH.js +973 -0
  5. package/dist/agent-cli-ChOq0ZuO.js +117 -0
  6. package/dist/agent-cli-DzWfZr6G.js +2 -0
  7. package/dist/agent-client-CPQo7iTI.js +305 -0
  8. package/dist/authoring-tools-Cr6Kpjsx.js +234 -0
  9. package/dist/build-info.json +1 -0
  10. package/dist/cli-hVgHcdsv.js +47 -0
  11. package/dist/cli-runner-D8y2_luU.js +5095 -0
  12. package/dist/cli.d.ts +1 -0
  13. package/dist/cli.js +128 -0
  14. package/dist/client-DFoh50W3.js +950 -0
  15. package/dist/desktop-discovery-DBO-PM2V.js +164 -0
  16. package/dist/error-message-OtiDonty.js +6 -0
  17. package/dist/fs-utils-BMPLt0cr.js +22 -0
  18. package/dist/fuzzy-match-BoAmcyak.js +30 -0
  19. package/dist/headless-host-BJxf4dUU.js +94 -0
  20. package/dist/input-error-OLgB_h31.js +11 -0
  21. package/dist/local-data-CxLk75rx.js +4491 -0
  22. package/dist/mcp-QeF8vkdf.js +140 -0
  23. package/dist/package-paths-B6-zxvIO.js +47 -0
  24. package/dist/process-error-telemetry-v9e5h6D7.js +3952 -0
  25. package/dist/profile-4ry2f3AM.js +76 -0
  26. package/dist/profile-Bh5FIrmf.js +2 -0
  27. package/dist/request-origin-D_4QIdoN.js +811 -0
  28. package/dist/review-agent-traces-DNJFYzc8.js +3866 -0
  29. package/dist/review-home-paths-6zZH-1c9.js +2560 -0
  30. package/dist/review-telemetry-DEFnQsQ2.js +1195 -0
  31. package/dist/runtime-CKiWhGrf.js +52 -0
  32. package/dist/runtime.d.ts +9 -0
  33. package/dist/runtime.js +2 -0
  34. package/dist/s3-SzLpeCG6.js +345 -0
  35. package/dist/s3-config-BgxkSoOy.js +2 -0
  36. package/dist/s3-config-CAxhO9u_.js +676 -0
  37. package/dist/server/desktop-host.d.ts +4 -0
  38. package/dist/server/desktop-host.js +1702 -0
  39. package/dist/server-discovery-Dbzn3w6Z.js +66 -0
  40. package/dist/sharing/index.d.ts +1977 -0
  41. package/dist/sharing/index.js +2 -0
  42. package/dist/src-CGP5ytbV.js +283 -0
  43. package/dist/src-CmdiBL20.js +3676 -0
  44. package/dist/src-DnwdaQ2r.js +865 -0
  45. package/dist/src-X9phtB2j.js +68 -0
  46. package/dist/stored-document-migration-DHeMpLMb.js +2671 -0
  47. package/dist/tool-failure-C8zB73HV.js +98 -0
  48. package/dist/tutorial-trace-DrBvkaeL.js +43 -0
  49. package/instructions/authoring.md +36 -0
  50. package/instructions/file-lenses.md +13 -0
  51. package/instructions/scratchpad.md +23 -0
  52. package/instructions/trace-archaeology.md +113 -0
  53. package/onboarding.md +8 -0
  54. package/package.json +106 -3
  55. package/src/agent-selection.ts +100 -0
  56. package/src/agent-session-ref.ts +80 -0
  57. package/src/ask/agents.ts +351 -0
  58. package/src/ask/checkout-files.ts +47 -0
  59. package/src/ask/file-refs.ts +111 -0
  60. package/src/ask/pi-mcp.ts +154 -0
  61. package/src/ask/protocol.ts +244 -0
  62. package/src/ask/thread-state.ts +350 -0
  63. package/src/ask/thread.ts +1400 -0
  64. package/src/ask/threads.ts +219 -0
  65. package/src/ask/watch.ts +79 -0
  66. package/src/cli-install.ts +1041 -0
  67. package/src/cli-runner.ts +1461 -0
  68. package/src/cli-runtime-info.ts +35 -0
  69. package/src/cli.ts +222 -0
  70. package/src/connect-prompts.ts +248 -0
  71. package/src/cursor-deeplink.ts +11 -0
  72. package/src/desktop-discovery.ts +355 -0
  73. package/src/diff-selection-migration.ts +63 -0
  74. package/src/embedded-posthog-key.ts +6 -0
  75. package/src/error-telemetry.ts +247 -0
  76. package/src/evidence.ts +14 -0
  77. package/src/exception-telemetry.ts +126 -0
  78. package/src/fixtures/blocks/call_stack_diff.json +27 -0
  79. package/src/fixtures/blocks/callout.json +11 -0
  80. package/src/fixtures/blocks/code.json +9 -0
  81. package/src/fixtures/blocks/code_peek.json +8 -0
  82. package/src/fixtures/blocks/database_lens.json +51 -0
  83. package/src/fixtures/blocks/divider.json +1 -0
  84. package/src/fixtures/blocks/fixtures.ts +33 -0
  85. package/src/fixtures/blocks/flow_diagram.json +36 -0
  86. package/src/fixtures/blocks/ids.ts +8 -0
  87. package/src/fixtures/blocks/image.json +9 -0
  88. package/src/fixtures/blocks/markdown.json +7 -0
  89. package/src/fixtures/blocks/section.json +11 -0
  90. package/src/fixtures/blocks/sequence.json +31 -0
  91. package/src/fixtures/blocks/software_map.json +7 -0
  92. package/src/fixtures/blocks/trace_quote.json +9 -0
  93. package/src/fixtures/blocks/tutorial.json +51 -0
  94. package/src/fs-utils.ts +32 -0
  95. package/src/fuzzy-match.ts +94 -0
  96. package/src/install.ts +29 -0
  97. package/src/legacy-skills.ts +133 -0
  98. package/src/lens-selection.ts +230 -0
  99. package/src/markdown-latex-math.ts +230 -0
  100. package/src/markdown.ts +81 -0
  101. package/src/package-paths.ts +53 -0
  102. package/src/posthog-capture-client.ts +610 -0
  103. package/src/review-api/README.md +295 -0
  104. package/src/review-api/activity.ts +340 -0
  105. package/src/review-api/agent-cli.ts +219 -0
  106. package/src/review-api/agent-client.ts +188 -0
  107. package/src/review-api/anchor-quotes.ts +88 -0
  108. package/src/review-api/ask-history.ts +242 -0
  109. package/src/review-api/authoring-tools.ts +211 -0
  110. package/src/review-api/blocks/call_stack_diff.ts +75 -0
  111. package/src/review-api/blocks/callout.ts +24 -0
  112. package/src/review-api/blocks/code.ts +9 -0
  113. package/src/review-api/blocks/code_peek.ts +13 -0
  114. package/src/review-api/blocks/database_lens.ts +150 -0
  115. package/src/review-api/blocks/definition.ts +40 -0
  116. package/src/review-api/blocks/divider.ts +6 -0
  117. package/src/review-api/blocks/flow_diagram.ts +111 -0
  118. package/src/review-api/blocks/image.ts +10 -0
  119. package/src/review-api/blocks/index.ts +90 -0
  120. package/src/review-api/blocks/markdown.ts +17 -0
  121. package/src/review-api/blocks/section.ts +24 -0
  122. package/src/review-api/blocks/sequence.ts +56 -0
  123. package/src/review-api/blocks/software_map.ts +9 -0
  124. package/src/review-api/blocks/trace_quote.ts +10 -0
  125. package/src/review-api/blocks/tutorial.ts +39 -0
  126. package/src/review-api/checkout-fs.ts +14 -0
  127. package/src/review-api/client.ts +1 -0
  128. package/src/review-api/comparison-coverage.ts +304 -0
  129. package/src/review-api/component-reference.ts +30 -0
  130. package/src/review-api/diff-lenses.ts +175 -0
  131. package/src/review-api/document-headings.ts +51 -0
  132. package/src/review-api/document-text.ts +200 -0
  133. package/src/review-api/document.ts +906 -0
  134. package/src/review-api/file-lenses.ts +100 -0
  135. package/src/review-api/http.ts +1877 -0
  136. package/src/review-api/image-decode.ts +29 -0
  137. package/src/review-api/input-error.ts +9 -0
  138. package/src/review-api/instructions.ts +89 -0
  139. package/src/review-api/lens-alignment.ts +52 -0
  140. package/src/review-api/local-data.ts +1837 -0
  141. package/src/review-api/map-input.ts +154 -0
  142. package/src/review-api/mcp-client-agent.ts +32 -0
  143. package/src/review-api/mcp.ts +240 -0
  144. package/src/review-api/origin.ts +43 -0
  145. package/src/review-api/profile.ts +146 -0
  146. package/src/review-api/public-tools.ts +102 -0
  147. package/src/review-api/pull-request.ts +389 -0
  148. package/src/review-api/read-schemas.ts +85 -0
  149. package/src/review-api/recovery.ts +2 -0
  150. package/src/review-api/request-origin.ts +33 -0
  151. package/src/review-api/review-progress.ts +382 -0
  152. package/src/review-api/status-tool.ts +10 -0
  153. package/src/review-api/store-schema.ts +22 -0
  154. package/src/review-api/store.ts +1647 -0
  155. package/src/review-api/tool-failure.ts +64 -0
  156. package/src/review-api/trace-schema.ts +13 -0
  157. package/src/review-api/traces.ts +119 -0
  158. package/src/review-api/unsupported-files.integration.ts +91 -0
  159. package/src/review-api/workspaces.ts +692 -0
  160. package/src/review-api/worktree-source.ts +170 -0
  161. package/src/review-api/worktree-structural.integration.ts +320 -0
  162. package/src/review-app-launcher.ts +432 -0
  163. package/src/review-app-picker.ts +168 -0
  164. package/src/review-app.ts +134 -0
  165. package/src/review-bundled-tools.ts +249 -0
  166. package/src/review-checkout-paths.ts +37 -0
  167. package/src/review-diff-files.ts +89 -0
  168. package/src/review-head-checkout.ts +300 -0
  169. package/src/review-home-paths.ts +73 -0
  170. package/src/review-info.ts +59 -0
  171. package/src/review-instances.ts +113 -0
  172. package/src/review-logger.ts +183 -0
  173. package/src/review-preferences.ts +88 -0
  174. package/src/review-prepare.ts +291 -0
  175. package/src/review-stack.ts +112 -0
  176. package/src/review-telemetry.ts +1066 -0
  177. package/src/runtime.ts +74 -0
  178. package/src/server/account-alias.ts +30 -0
  179. package/src/server/bounded-stream.ts +34 -0
  180. package/src/server/bug-report.ts +301 -0
  181. package/src/server/client-error-budget.ts +45 -0
  182. package/src/server/crash-report.ts +273 -0
  183. package/src/server/desktop-host-shutdown.ts +64 -0
  184. package/src/server/desktop-host.ts +190 -0
  185. package/src/server/desktop-server.ts +703 -0
  186. package/src/server/diffr-config.ts +509 -0
  187. package/src/server/diffr-languages.ts +97 -0
  188. package/src/server/global-verb-relay.ts +190 -0
  189. package/src/server/headless-host.ts +149 -0
  190. package/src/server/hono-http.ts +162 -0
  191. package/src/server/http-json.ts +24 -0
  192. package/src/server/json-review-reporting.ts +174 -0
  193. package/src/server/process-error-telemetry.ts +174 -0
  194. package/src/server/review-api-parsers.ts +90 -0
  195. package/src/server/review-lifecycle-telemetry.ts +73 -0
  196. package/src/server/review-open-watchdog.ts +46 -0
  197. package/src/server/review-server-core.ts +290 -0
  198. package/src/server/structural-comparisons.ts +153 -0
  199. package/src/server/structural-diff.ts +186 -0
  200. package/src/server/tutorial-service.ts +241 -0
  201. package/src/server/ui-telemetry.ts +198 -0
  202. package/src/server-discovery.ts +95 -0
  203. package/src/session-markers.ts +132 -0
  204. package/src/sharing/auth.ts +41 -0
  205. package/src/sharing/cli.ts +83 -0
  206. package/src/sharing/client.ts +334 -0
  207. package/src/sharing/export.ts +195 -0
  208. package/src/sharing/host.ts +316 -0
  209. package/src/sharing/import.ts +787 -0
  210. package/src/sharing/index.ts +16 -0
  211. package/src/sharing/repository.ts +145 -0
  212. package/src/sharing/routes.ts +34 -0
  213. package/src/slug.ts +23 -0
  214. package/src/software-map-diff-counts.ts +517 -0
  215. package/src/software-map-model.ts +1147 -0
  216. package/src/software-map-topology-diff.ts +260 -0
  217. package/src/source.ts +92 -0
  218. package/src/startup-trace.ts +232 -0
  219. package/src/stored-document-migration.ts +151 -0
  220. package/src/telemetry-clean-text.ts +257 -0
  221. package/src/telemetry-config.ts +298 -0
  222. package/src/telemetry-debug-sink.ts +38 -0
  223. package/src/telemetry.ts +13 -0
  224. package/src/trace-cli.ts +156 -0
  225. package/src/trace-storage-cli.ts +509 -0
  226. package/src/tutorial-conversation.ts +18 -0
  227. package/src/ui-telemetry-events.ts +765 -0
  228. package/src/unified-diff.ts +71 -0
  229. package/src/viewed-coverage.ts +259 -0
  230. package/src/windows-cli.ts +125 -0
  231. package/tutorial/document.json +275 -0
  232. package/tutorial/runtime-manifest.json +12 -0
  233. package/tutorial/sample-service/package.json +9 -0
  234. package/tutorial/sample-service/src/api/checkout-api.ts +17 -0
  235. package/tutorial/sample-service/src/app.ts +26 -0
  236. package/tutorial/sample-service/src/database/schema.ts +10 -0
  237. package/tutorial/sample-service/src/fulfillment/fulfillment-queue.ts +15 -0
  238. package/tutorial/sample-service/src/fulfillment/fulfillment-worker.ts +24 -0
  239. package/tutorial/sample-service/src/inventory/inventory-service.ts +11 -0
  240. package/tutorial/sample-service/src/orders/order-service.ts +34 -0
  241. package/tutorial/sample-service/src/orders/order.ts +21 -0
  242. package/tutorial/sample-service/src/orders/orders-repository.ts +24 -0
  243. package/tutorial/sample-service/src/payments/payment-gateway.ts +12 -0
  244. package/tutorial/sample-service/src/shipping/shipping-gateway.ts +15 -0
  245. package/tutorial/sample-service/tsconfig.json +12 -0
  246. package/tutorial/software-map.json +139 -0
  247. package/tutorial/trace.json +20 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 dev.fast
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,147 @@
1
- # Temporary Holding Version
1
+ # dev.fast Whiteboard
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ The `@dev.fast/whiteboard` package provides the `whiteboard` CLI for headless review
4
+ authoring, sharing, and agent trace capture. It requires Node 24. An npm install
5
+ also provides `review` as an alias for `whiteboard`.
6
+ `whiteboard server` and `whiteboard trace` run without installing or starting Desktop.
7
+ Whiteboard Desktop displays the review canvas; its server owns review
8
+ discovery, session state, and presentation. Legacy reviews
9
+ published with the removed MDX toolchain have a durable UUID directory under
10
+ `${DEV_REVIEW_HOME:-~/.dev}/reviews/<uuid>/` and are imported into the JSON
11
+ store when Home lists them or when they are opened.
12
+
13
+ ## Workspace packages
14
+
15
+ - `@dev.fast/whiteboard`: Node runtime, CLI, and authoring tools. Its
16
+ production dependencies are the external libraries used by the compiled Node
17
+ code; workspace libraries bundled by tsdown are development dependencies.
18
+ - `@dev.fast/review-canvas` ([app](app/README.md)): private browser UI, layout
19
+ libraries, and browser tests. It builds separately and is not included in npm.
20
+ - `@dev.fast/review-desktop`: installs the Node runtime and copies the built canvas.
21
+
22
+ ### Imports
23
+
24
+ Import through `@review/*` (`src`) and `@canvas/*` (`app/src`) instead of
25
+ `../` paths; keep `./` for siblings. `pnpm lint` enforces this. tsx reads the
26
+ aliases from its working directory's tsconfig, so run it from this package or
27
+ set `TSX_TSCONFIG_PATH`. `node scripts/rewrite-relative-imports.mjs` (from the
28
+ repository root) converts a branch that predates the aliases.
29
+
30
+ ## Migration
31
+
32
+ To migrate stored reviews with a compatible `whiteboard` command, run:
33
+
34
+ ```sh
35
+ whiteboard migrate apply
36
+ ```
37
+
38
+ The command normalizes stored review schema versions, regenerates presented
39
+ artifacts, converts Jujutsu repositories and Whiteboard-managed checkouts, and
40
+ removes legacy global CLI installs and catalog entries. It reports blockers
41
+ for items that need manual correction; fix each one and run the command
42
+ again. Use `--force` to restart interrupted state.
43
+
44
+ ## Usage
45
+
46
+ Start or activate Whiteboard Desktop. You can run this command outside a
47
+ repository and without a terminal:
48
+
49
+ ```sh
50
+ whiteboard app launch --json
51
+ ```
52
+
53
+ Reviews are authored through the JSON API: `whiteboard api` calls a tool
54
+ directly, and `whiteboard mcp` serves the same catalog over stdio MCP for a
55
+ connected agent.
56
+
57
+ To select a review, run:
58
+
59
+ ```sh
60
+ whiteboard app pick
61
+ ```
62
+
63
+ Use `whiteboard app pick --session <uuid>` to select a specific review. Bare
64
+ `whiteboard app` is an alias for `whiteboard app launch`.
65
+
66
+ `whiteboard info` is read-only: it lists active reviews bound to the current
67
+ worktree, or every worktree in the repository with `--all`.
68
+
69
+ Whiteboard Desktop is the primary install path for Claude Code, Codex, Cursor,
70
+ Pi, and other coding agents. On startup it detects installed agents, offers to
71
+ install the CLI and connect them over MCP, and re-syncs after each app
72
+ update. It also writes a `whiteboard` shim to `~/.local/bin` that always resolves
73
+ to the app's bundled CLI. A standalone CLI defers to the app's bundled copy
74
+ whenever Whiteboard Desktop is running.
75
+
76
+ Agent setup installs only the Whiteboard CLI and the MCP connection. Enabling
77
+ Trace capture in Settings ▸ Experimental Features also installs FFF: it
78
+ registers the standard `fff` MCP server for Claude and Codex, and installs
79
+ `npm:@ff-labs/pi-fff` for Pi. The MCP registration points FFF at
80
+ `$DEV_REVIEW_HOME/trace-search` (default `~/.dev/trace-search`). Whiteboard
81
+ accepts existing FFF integrations without changes. Silent app-update
82
+ synchronization never runs an FFF installer.
83
+
84
+ The experimental setup configures S3/R2 and enables trace capture for the machine.
85
+ Traces go to one selected store: a S3/R2 bucket, or the hosted store
86
+ selected explicitly with `whiteboard trace storage use hosted` after `whiteboard
87
+ login` and `whiteboard trace allow`. The selection, the store settings, and the
88
+ hosted consent list live in `$DEV_REVIEW_HOME/trace/config.json`; an existing
89
+ `~/.config/dev-trace` setup keeps selecting the bucket without any change.
90
+ Each agent session activates its current repository. Git receives a managed
91
+ hook dispatcher that chains the repository's prior hooks. Jujutsu receives a
92
+ repository commit-trailer template. A target repository needs no Whiteboard
93
+ files.
94
+
95
+ Trace capture hooks each agent's session lifecycle: Claude Code and Codex
96
+ through their hook settings, Pi through a managed extension, and OpenCode
97
+ through a managed `~/.config/opencode/plugins/review-trace.ts` plugin. OpenCode
98
+ keeps sessions in its own database, so `whiteboard trace sync` renders one with
99
+ `opencode export` before upload.
100
+
101
+ Use `whiteboard trace status` to inspect the machine, current repository, and your
102
+ recent hosted uploads. Use `whiteboard trace status --agent-session <id>` for one
103
+ session. Repository writers can upload and check their own upload status.
104
+ Repository admins can read transcript content. Download links expire after
105
+ five minutes. Status reports the store's publication record; it does not
106
+ repeat object integrity checks. If the server is unavailable, status reports
107
+ "not checked".
108
+ Use
109
+ `whiteboard trace enable`, `whiteboard trace disable`, or `whiteboard trace repair` only
110
+ when you need to manage the current repository manually.
111
+
112
+ For a missing registration, setup runs the equivalent commands:
113
+
114
+ ```sh
115
+ curl -fsSL https://raw.githubusercontent.com/dmtrKovalenko/fff/v0.11.0/install-mcp.sh | bash
116
+ claude mcp add -s user fff -- "$HOME/.local/bin/fff-mcp" "$HOME/.dev/trace-search"
117
+ codex mcp add fff -- "$HOME/.local/bin/fff-mcp" "$HOME/.dev/trace-search"
118
+ pi install npm:@ff-labs/pi-fff
119
+ ```
120
+
121
+ Trace search uses this local flow:
122
+
123
+ ```text
124
+ S3/R2 or hosted raw trace
125
+ → temporary download (hosted copies are checksum-verified)
126
+ → normalized JSONL in ~/.dev/trace-search, scoped per store
127
+ → FFF, whiteboard trace show, Whiteboard UI, and quote validation
128
+ ```
129
+
130
+ The app-managed command starts the exact macOS bundle that installed it. The
131
+ bundle does not need to be under `/Applications`. A repository or standalone
132
+ CLI uses the `dev.fast.review` macOS bundle identifier.
133
+
134
+ If `whiteboard` opens a browser or reports old options, another command shadows
135
+ the current CLI. Run `command -v whiteboard`, `whiteboard version`, and
136
+ `whiteboard --help`. Remove the legacy PATH entry, or put the app-managed
137
+ `~/.local/bin/whiteboard` command first on `PATH`.
138
+
139
+ To connect an agent by hand, run:
140
+
141
+ ```sh
142
+ whiteboard connect <target>
143
+ ```
144
+
145
+ for `claude`, `claude-code`, `codex`, `cursor`, `opencode`, `pi`, `omp`, or
146
+ `all`. It prints the plugin-install or MCP-registration steps for that agent;
147
+ Whiteboard Desktop runs the same steps automatically during agent setup.
@@ -0,0 +1,93 @@
1
+ # Third-Party Notices
2
+
3
+ This file records third-party license considerations for
4
+ `@dev.fast/whiteboard`. Before publishing to npm, distributing as source, or
5
+ shipping as a built app, refresh this file from the current lockfile:
6
+
7
+ ```sh
8
+ pnpm --filter @dev.fast/whiteboard licenses list --json
9
+ pnpm --filter @dev.fast/whiteboard audit --json
10
+ pnpm --filter @dev.fast/whiteboard audit signatures --json
11
+ ```
12
+
13
+ ## License Summary
14
+
15
+ The dependency inventory currently includes these license families:
16
+
17
+ - `MIT`
18
+ - `Apache-2.0`
19
+ - `BSD-3-Clause`
20
+ - `CC0-1.0`
21
+ - `EPL-2.0`
22
+ - `ISC`
23
+ - `LGPL-2.1-or-later`
24
+ - `MPL-2.0`
25
+
26
+ Most dependencies are permissive (`MIT`, `Apache-2.0`, `BSD-3-Clause`,
27
+ `CC0-1.0`, or `ISC`). The non-permissive/copyleft-adjacent entries that need
28
+ explicit release attention are listed below.
29
+
30
+ ## LGPL Notice
31
+
32
+ ### `libavoid-js`
33
+
34
+ - Package: `libavoid-js`
35
+ - Version observed: `0.5.0-beta.5`
36
+ - License: `LGPL-2.1-or-later`
37
+ - Source: `https://github.com/Aksem/libavoid-js`
38
+ - npm: `https://www.npmjs.com/package/libavoid-js`
39
+
40
+ `libavoid-js` is pulled in transitively through `@mr_mint/elkjs-libavoid`,
41
+ which is used by the Review software map edge routing code. The review server
42
+ serves the dependency's `libavoid.wasm` asset for the local review app.
43
+
44
+ Before distributing a built app or package that contains `libavoid-js` or
45
+ `libavoid.wasm`, include the LGPL license text or a clear license reference,
46
+ preserve copyright notices, and provide the corresponding upstream source link.
47
+ If this dependency is modified or vendored, publish those modifications in the
48
+ form required by the LGPL.
49
+
50
+ ## EPL Notice
51
+
52
+ ### `elkjs`
53
+
54
+ - Package: `elkjs`
55
+ - Version observed: `0.11.1`
56
+ - License: `EPL-2.0`
57
+ - Source: `https://github.com/kieler/elkjs`
58
+ - npm: `https://www.npmjs.com/package/elkjs`
59
+
60
+ `elkjs` is used for graph layout in the review UI. Preserve its license and
61
+ copyright notices when distributing source or built artifacts that include it.
62
+
63
+ ## MPL Notice
64
+
65
+ ### `lightningcss`
66
+
67
+ - Package: `lightningcss`
68
+ - Version observed: `1.32.0`
69
+ - License: `MPL-2.0`
70
+ - Source: `https://github.com/parcel-bundler/lightningcss`
71
+ - npm: `https://www.npmjs.com/package/lightningcss`
72
+
73
+ `lightningcss` is present in the resolved dependency tree through build tooling.
74
+ If distributed as part of a binary/tooling bundle, preserve its license notices
75
+ and source reference.
76
+
77
+ ## Direct Dependency Notes
78
+
79
+ Direct third-party runtime/UI dependencies currently include:
80
+
81
+ - `@hono/node-server` and `hono` (`MIT`)
82
+ - `@mr_mint/elkjs-libavoid` (`MIT`, with transitive `libavoid-js` under
83
+ `LGPL-2.1-or-later`)
84
+ - `@speed-highlight/core` (`CC0-1.0`)
85
+ - `@vitejs/plugin-react` and `vite` (`MIT`, build-time only)
86
+ - `@xyflow/react` (`MIT`)
87
+ - `elkjs` (`EPL-2.0`)
88
+ - `fuzzysort` (`MIT`)
89
+ - `katex` (`MIT`, fonts `OFL-1.1`)
90
+ - `react` and `react-dom` (`MIT`)
91
+ - `semver` (`ISC`)
92
+ - `zod` (`MIT`)
93
+ - `zustand` (`MIT`)