@lapis-notes/api 0.1.4 → 0.2.1

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 (188) hide show
  1. package/CHANGELOG.md +206 -0
  2. package/README.md +21 -2
  3. package/dist/__tests__/fixtures/indexed-mutations.json +6862 -0
  4. package/dist/__tests__/fixtures/memory-storage.json +309 -0
  5. package/dist/__tests__/fixtures/native-facade-contract.json +3224 -0
  6. package/dist/__tests__/fixtures/projection-query.json +195 -0
  7. package/dist/__tests__/fixtures/projection-values.json +60 -0
  8. package/dist/__tests__/fixtures/search-preparation.json +1513 -0
  9. package/dist/__tests__/fixtures/search-retrieval.json +15409 -0
  10. package/dist/__tests__/fixtures/search-semantic-model.json +3691 -0
  11. package/dist/__tests__/fixtures/search-semantic-retrieval.json +6603 -0
  12. package/dist/__tests__/fixtures/search-storage.json +409 -0
  13. package/dist/__tests__/fixtures/task-projection.json +428 -0
  14. package/dist/__tests__/indexed-mutation-support.js +262 -0
  15. package/dist/__tests__/projection-query-support.js +40 -0
  16. package/dist/__tests__/search-retrieval-support.js +47 -0
  17. package/dist/app-database-host.d.ts +1 -0
  18. package/dist/app-shell-plugin-persistence.d.ts +3 -2
  19. package/dist/app-shell-plugin-persistence.js +37 -3
  20. package/dist/cache.svelte.d.ts +8 -1
  21. package/dist/cache.svelte.js +103 -5
  22. package/dist/command.svelte.js +29 -2
  23. package/dist/components/editor/editor.css +4 -0
  24. package/dist/components/editor/editor.svelte +21 -9
  25. package/dist/components/editor/embedded-editor-surface.js +3 -1
  26. package/dist/components/editor/inline-title-alignment.d.ts +3 -0
  27. package/dist/components/editor/inline-title-alignment.js +57 -0
  28. package/dist/configuration.svelte.d.ts +270 -206
  29. package/dist/configuration.svelte.js +161 -86
  30. package/dist/context.svelte.d.ts +21 -3
  31. package/dist/context.svelte.js +63 -20
  32. package/dist/diagnostics.d.ts +8 -0
  33. package/dist/diagnostics.js +6 -0
  34. package/dist/editor-save-context.d.ts +12 -1
  35. package/dist/editor-save-context.js +32 -1
  36. package/dist/editor-view-registry.d.ts +10 -0
  37. package/dist/editor-view-registry.js +44 -4
  38. package/dist/editor.svelte.js +128 -37
  39. package/dist/embed-registry.d.ts +10 -0
  40. package/dist/embed-registry.js +15 -0
  41. package/dist/file-editing-failures.d.ts +2 -0
  42. package/dist/file-editing-failures.js +29 -0
  43. package/dist/file-editing-native-issues.d.ts +19 -0
  44. package/dist/file-editing-native-issues.js +65 -0
  45. package/dist/file-editing-sessions.d.ts +56 -8
  46. package/dist/file-editing-sessions.js +185 -15
  47. package/dist/file-manager.d.ts +8 -1
  48. package/dist/file-manager.js +37 -3
  49. package/dist/file-state-store.d.ts +5 -0
  50. package/dist/file-state-store.js +34 -0
  51. package/dist/file-text-conflicts.d.ts +25 -0
  52. package/dist/file-text-conflicts.js +35 -0
  53. package/dist/file-text-mutation.d.ts +13 -0
  54. package/dist/file-text-mutation.js +100 -0
  55. package/dist/file-text-persistence.d.ts +36 -0
  56. package/dist/file-text-persistence.js +234 -0
  57. package/dist/file-text-state-writer.d.ts +34 -0
  58. package/dist/file-text-state-writer.js +183 -0
  59. package/dist/files-configuration.d.ts +20 -0
  60. package/dist/files-configuration.js +47 -0
  61. package/dist/generated/plugin-host-modules.schema.generated.d.ts +87 -37
  62. package/dist/generated/plugin-host-modules.schema.generated.js +102 -37
  63. package/dist/glob.d.ts +3 -0
  64. package/dist/glob.js +2 -1
  65. package/dist/icons/changes.d.ts +3 -0
  66. package/dist/icons/changes.js +16 -0
  67. package/dist/icons/index.d.ts +5 -1
  68. package/dist/icons/index.js +44 -3
  69. package/dist/icons/registry.d.ts +35 -0
  70. package/dist/icons/registry.js +154 -0
  71. package/dist/icons/safe-svg.d.ts +2 -0
  72. package/dist/icons/safe-svg.js +44 -0
  73. package/dist/index.d.ts +5 -1
  74. package/dist/index.js +3 -1
  75. package/dist/lapis-extension.d.ts +6 -2
  76. package/dist/lapis-extension.js +2 -0
  77. package/dist/metadata.svelte.js +45 -2
  78. package/dist/native-background-indexing.d.ts +48 -0
  79. package/dist/native-background-indexing.js +208 -0
  80. package/dist/native-database-protocol.d.ts +29 -0
  81. package/dist/native-database-protocol.js +1 -0
  82. package/dist/native-editing-intent-lease.d.ts +17 -0
  83. package/dist/native-editing-intent-lease.js +188 -0
  84. package/dist/native-editing-intents-protocol.d.ts +70 -0
  85. package/dist/native-editing-intents-protocol.js +1 -0
  86. package/dist/native-editing-intents.d.ts +8 -0
  87. package/dist/native-editing-intents.js +1 -0
  88. package/dist/native-editing-problems.d.ts +3 -0
  89. package/dist/native-editing-problems.js +180 -0
  90. package/dist/native-editing-recovery.d.ts +24 -0
  91. package/dist/native-editing-recovery.js +198 -0
  92. package/dist/native-editing-session.d.ts +51 -0
  93. package/dist/native-editing-session.js +251 -0
  94. package/dist/native-history-index-protocol.d.ts +80 -0
  95. package/dist/native-history-index-protocol.js +1 -0
  96. package/dist/native-history-index.d.ts +6 -0
  97. package/dist/native-history-index.js +1 -0
  98. package/dist/native-indexing-protocol.d.ts +63 -0
  99. package/dist/native-indexing-protocol.js +1 -0
  100. package/dist/native-participant-protocol.d.ts +67 -0
  101. package/dist/native-participant-protocol.js +3 -0
  102. package/dist/native-queue-protocol.d.ts +73 -0
  103. package/dist/native-queue-protocol.js +3 -0
  104. package/dist/native-tasks-protocol.d.ts +264 -0
  105. package/dist/native-tasks-protocol.js +1 -0
  106. package/dist/native-tasks.d.ts +35 -0
  107. package/dist/native-tasks.js +79 -0
  108. package/dist/native-turn-protocol.d.ts +81 -0
  109. package/dist/native-turn-protocol.js +1 -0
  110. package/dist/native-turns.d.ts +29 -0
  111. package/dist/native-turns.js +2 -0
  112. package/dist/plugin-asset-server.js +3 -2
  113. package/dist/plugin-dependency-resolver.d.ts +1 -1
  114. package/dist/plugin-distribution/compatibility.d.ts +1 -1
  115. package/dist/plugin-distribution/compatibility.js +10 -5
  116. package/dist/plugin-distribution/installed-plugin-state.js +2 -1
  117. package/dist/plugin-distribution/installer.d.ts +6 -0
  118. package/dist/plugin-distribution/installer.js +90 -37
  119. package/dist/plugin-distribution/manager.d.ts +4 -1
  120. package/dist/plugin-distribution/manager.js +12 -5
  121. package/dist/plugin-distribution/registry-cache.js +2 -1
  122. package/dist/plugin-distribution/registry-source-state.js +2 -1
  123. package/dist/plugin-distribution/schemas.d.ts +26 -8
  124. package/dist/plugin-distribution/schemas.js +2 -1
  125. package/dist/plugin-distribution/types.d.ts +4 -0
  126. package/dist/plugin-manager.d.ts +20 -4
  127. package/dist/plugin-manager.js +228 -64
  128. package/dist/plugin-runtime-entry.d.ts +1 -1
  129. package/dist/plugin-runtime-entry.js +16 -0
  130. package/dist/plugin.d.ts +18 -2
  131. package/dist/plugin.js +93 -39
  132. package/dist/registry-schema/catalog-v1.d.ts +60 -9
  133. package/dist/registry-schema/catalog-v1.js +2 -1
  134. package/dist/registry-schema/catalog-v2.d.ts +60 -9
  135. package/dist/registry-schema/catalog-v2.js +1 -1
  136. package/dist/search-result-provider.d.ts +95 -0
  137. package/dist/search-result-provider.js +42 -0
  138. package/dist/status-bar.svelte.d.ts +26 -20
  139. package/dist/status-bar.svelte.js +1 -0
  140. package/dist/storage/app-database.d.ts +6 -2
  141. package/dist/storage/app-database.js +41 -34
  142. package/dist/storage/desktop-native.d.ts +5 -3
  143. package/dist/storage/desktop-native.js +59 -6
  144. package/dist/storage/directory-watcher.d.ts +27 -0
  145. package/dist/storage/directory-watcher.js +201 -0
  146. package/dist/storage/fs.d.ts +14 -27
  147. package/dist/storage/fs.js +2 -168
  148. package/dist/storage/index-projection.js +33 -15
  149. package/dist/storage/memory-vault-adapter.d.ts +2 -0
  150. package/dist/storage/memory-vault-adapter.js +14 -1
  151. package/dist/storage/path.d.ts +6 -2
  152. package/dist/storage/path.js +8 -2
  153. package/dist/storage/projection-query-candidates.d.ts +3 -0
  154. package/dist/storage/projection-query-candidates.js +69 -0
  155. package/dist/storage/remote-app-database.d.ts +2 -2
  156. package/dist/storage/remote-app-database.js +1 -1
  157. package/dist/storage/runtime.d.ts +3 -0
  158. package/dist/storage/runtime.js +3 -0
  159. package/dist/storage/search-embedding-record.d.ts +3 -0
  160. package/dist/storage/search-embedding-record.js +18 -0
  161. package/dist/storage/turso-app-database.d.ts +2 -0
  162. package/dist/storage/turso-app-database.js +67 -30
  163. package/dist/storage/vault-listing.d.ts +3 -0
  164. package/dist/storage/vault-listing.js +36 -0
  165. package/dist/storage/vault-reconciliation.d.ts +19 -0
  166. package/dist/storage/vault-reconciliation.js +137 -0
  167. package/dist/storage/vault-session.d.ts +8 -0
  168. package/dist/storage/vault-session.js +10 -2
  169. package/dist/storage/vault.svelte.d.ts +53 -4
  170. package/dist/storage/vault.svelte.js +223 -87
  171. package/dist/sync-host.d.ts +12 -3
  172. package/dist/sync-host.js +5 -1
  173. package/dist/vault-change-views.d.ts +4 -0
  174. package/dist/vault-change-views.js +43 -0
  175. package/dist/vault-changes.d.ts +37 -0
  176. package/dist/vault-changes.js +228 -0
  177. package/dist/view.svelte.d.ts +182 -149
  178. package/dist/view.svelte.js +11 -2
  179. package/dist/workspace-close-guard.d.ts +3 -0
  180. package/dist/workspace-close-guard.js +35 -0
  181. package/dist/workspace-host-internal.js +10 -2
  182. package/dist/workspace-layout-normalizer.d.ts +4 -2
  183. package/dist/workspace-layout-normalizer.js +5 -5
  184. package/dist/workspace-view-document.d.ts +3 -0
  185. package/dist/workspace-view-document.js +12 -0
  186. package/dist/workspace.svelte.d.ts +13 -2
  187. package/dist/workspace.svelte.js +371 -82
  188. package/package.json +45 -8
package/CHANGELOG.md CHANGED
@@ -1,5 +1,211 @@
1
1
  # @lapis-notes/api
2
2
 
3
+ ## 0.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#44](https://github.com/lapismd/lapis-notes/pull/44)
8
+ [`f2373ba`](https://github.com/lapismd/lapis-notes/commit/f2373baf79db19267f3422895ce321ef1fa3c78d)
9
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Point package
10
+ documentation to the canonical specification and remove stale package-local
11
+ and pre-consolidation specification links.
12
+ - Updated dependencies
13
+ [[`f2373ba`](https://github.com/lapismd/lapis-notes/commit/f2373baf79db19267f3422895ce321ef1fa3c78d)]:
14
+ - @lapis-notes/ui@0.1.5
15
+
16
+ ## 0.2.0
17
+
18
+ ### Minor Changes
19
+
20
+ - [`bdd4923`](https://github.com/lapismd/lapis-notes/commit/bdd492357135de2cc0175fa42413709b2a38cd63)
21
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Expose optional native
22
+ watch registration readiness and preserve it through DirectoryWatcher and
23
+ array subscriptions, allowing an initial reconciliation to run after native
24
+ observation is established.
25
+
26
+ - [`86e85f6`](https://github.com/lapismd/lapis-notes/commit/86e85f6e814430c1755147c913eb91090a439bf4)
27
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Expose
28
+ `Workspace.flushLayout()` for hosts to await the latest serialized layout
29
+ write before closing or reloading. Retain normal debounced persistence, report
30
+ and retry failures, and drain accepted writes before disposing the host.
31
+
32
+ - [`fdee7e4`](https://github.com/lapismd/lapis-notes/commit/fdee7e4defde17a1009e16138d78c93c3ead8e2f)
33
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Expose an optional
34
+ conditional text-write port and an explicit native capability. Supporting
35
+ native hosts receive the caller's exact text snapshot or expected absence.
36
+ Unsupported hosts reject without falling back to an ordinary write.
37
+
38
+ - [`d8946b9`](https://github.com/lapismd/lapis-notes/commit/d8946b941569484b813eb0c1e8b1c5729fffc1a7)
39
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Add owned
40
+ diagnostic-resource navigation and themed recovery-banner actions. Accept
41
+ Design Core 0.5.1 alongside the existing 0.4 range.
42
+
43
+ - [`ebf033a`](https://github.com/lapismd/lapis-notes/commit/ebf033af0fc0752be5ce5ffa7d55784163d291b4)
44
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Retain document-owned
45
+ conditional save baselines and expose App-owned text conflicts with explicit,
46
+ snapshot-checked recovery for supporting vaults.
47
+
48
+ - [`978b987`](https://github.com/lapismd/lapis-notes/commit/978b987ba4c95408a63e49fad11bc44bab020758)
49
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Expose an explicit
50
+ AppDatabase provider runtime and retain the deprecated runtime value for
51
+ existing consumers.
52
+
53
+ - [`ad4490c`](https://github.com/lapismd/lapis-notes/commit/ad4490ca1cd808002765582a17a5c81fa5335e0d)
54
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Expose optional rename
55
+ hints and awaitable native watch cleanup. Retire replaced or closed
56
+ DirectoryWatcher generations before awaiting cleanup, retain failures for
57
+ retry, and preserve complete polling state after read failures.
58
+
59
+ - [`55be8dc`](https://github.com/lapismd/lapis-notes/commit/55be8dce6f7b19b0e8036be86a3cf5305db25317)
60
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Let file-view plugins
61
+ contribute a fileIcon ID for their filename patterns or registered extensions.
62
+ Add App-owned SVG and icon-pack registration with plugin lifecycle cleanup,
63
+ preserve legacy icon registrations, and refresh Explorer artwork on editor,
64
+ plugin and file changes.
65
+
66
+ Release the scoped Design Core resolver first and raise the dependent minimum
67
+ ranges to the releases containing these contracts before publishing consumers.
68
+
69
+ Upgrade API-owned Zod to the patched package while retaining its public v3
70
+ schema entry for compatibility.
71
+
72
+ - [`8a27bc3`](https://github.com/lapismd/lapis-notes/commit/8a27bc36a7a7fa81594e517908a6f5ed8ca77313)
73
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Expose captured, guarded
74
+ merged-text conflict recovery for desktop review.
75
+
76
+ - [`1e64589`](https://github.com/lapismd/lapis-notes/commit/1e6458922b486c07f36a5bc7d85d020b5805cd49)
77
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Use `.lapis` as the
78
+ shared application-state default and recognize the Tauri desktop runtime.
79
+ Tauri database sessions require an injected native provider. Expose runtime
80
+ classification independently of database and model services. Unreleased state
81
+ is not imported from the old directory.
82
+
83
+ ### Patch Changes
84
+
85
+ - [`631aeec`](https://github.com/lapismd/lapis-notes/commit/631aeec539e2fb061dc80c5c3a30a248ee15c529)
86
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Preserve newer plugin
87
+ views and activation when an older workspace controller snapshot is still
88
+ queued.
89
+
90
+ - [`a91d5e2`](https://github.com/lapismd/lapis-notes/commit/a91d5e2eb5ec037029f6a7a2df316a9bd9440af7)
91
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Attach controller-opened
92
+ views after their API workspace projection completes, and cancel deferred
93
+ attachment when the view host closes.
94
+
95
+ - [`fbba8d4`](https://github.com/lapismd/lapis-notes/commit/fbba8d48498c34939fec475e6bed67a682045820)
96
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Retain plugin-state and
97
+ compatibility-file drafts through close and conflict recovery, drain admitted
98
+ plugin/file operations before teardown, and preserve Properties mutations
99
+ after initial read failures.
100
+
101
+ - [`023259d`](https://github.com/lapismd/lapis-notes/commit/023259d96d4ff0414fec6427924ed917f89405a3)
102
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Add an optional exclusive
103
+ file-creation transport and route Explorer new-note actions through the
104
+ FileManager creation intent. Preserve existing destinations on collisions and
105
+ keep legacy Vault creation semantics explicit.
106
+
107
+ - Require released Design Core 0.6 for the close-guard, plugin-flush and
108
+ centered panel contracts used by current source. Retain portable registry
109
+ dependency ranges for the shared application runtime.
110
+
111
+ - [`63a5e7f`](https://github.com/lapismd/lapis-notes/commit/63a5e7fe40eea45762b5842b588c742076c7dd1d)
112
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Rebind clean file views
113
+ after their rename or move releases editing protection, so the open editor
114
+ continues saving to the new path. Preserve ordered App-owned projection and
115
+ dirty external-file recovery.
116
+
117
+ - [`2bffe48`](https://github.com/lapismd/lapis-notes/commit/2bffe484b38761af197afe7ab9b0d7b3affb50d7)
118
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Serialize configuration
119
+ changes and retain pending or failed settings and hotkey drafts in the owning
120
+ App's conditional persistence lifecycle. Admit shared Workspace Settings
121
+ changes before presentation debounce so immediate close cannot lose them.
122
+
123
+ - [`86f6316`](https://github.com/lapismd/lapis-notes/commit/86f63166c3d5be648c595ef4e230ea6c4081bc48)
124
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Protect frontmatter and
125
+ metadata type mutations with the App-owned writer lifecycle, authoritative
126
+ conditional baselines and retained text-conflict recovery.
127
+
128
+ - [`edf1d76`](https://github.com/lapismd/lapis-notes/commit/edf1d76f4f3aa0442c1d9153d812f29b7d14e5c2)
129
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Allow read-only
130
+ configuration baseline reconciliation after a guarded native mutation without
131
+ materializing defaults or adding another persistence operation.
132
+
133
+ - [`b3be91d`](https://github.com/lapismd/lapis-notes/commit/b3be91daecbd43187bacf8cfdc39f8311d700720)
134
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Reconcile a clean
135
+ interactive producer's drifted authoritative saved bytes under held protection
136
+ before the guarded native-yield saved-baseline comparison (LN-CORE-028). An
137
+ external file change that a lagging watch projection has not acknowledged no
138
+ longer aborts an admitted frontmatter/state mutation with a bare ECONFLICT
139
+ notice; producers that cannot acknowledge, and dirty writers, keep the
140
+ fail-closed handoff fence with its observable explicit retry.
141
+
142
+ - [`5ef0a63`](https://github.com/lapismd/lapis-notes/commit/5ef0a6331c1b846b70357f990d919977a561112c)
143
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Qualify the shared editor
144
+ against Mira 0.0.5 so native hosts can consume the source-owned accessible
145
+ block-control repair through verified local archives during migration.
146
+
147
+ Retain direct Turso connection ownership after a failed close, drain accepted
148
+ mutations, and share concurrent close completion so native teardown can be
149
+ retried safely.
150
+
151
+ - [`bac3e5e`](https://github.com/lapismd/lapis-notes/commit/bac3e5eda6f467dbc86ec88c9f27a275f2b27953)
152
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Expose optional
153
+ implemented system trash through the neutral native adapter with explicit
154
+ unsupported fallback and validated acknowledgements. Attribute Explorer
155
+ native/copy feedback to its owning App and reject unavailable clipboard
156
+ support without reporting success.
157
+
158
+ - [`74f544e`](https://github.com/lapismd/lapis-notes/commit/74f544e2aa8a967524c0c218f3db7e1a495a1a17)
159
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Add an explicitly started
160
+ App-owned watch service with bounded reconciliation and awaitable
161
+ stop/restart. Project external changes through existing workspace/editor
162
+ lifecycles, preserving dirty views and retained writers while clean views
163
+ follow file moves and removals.
164
+
165
+ - [`501c50e`](https://github.com/lapismd/lapis-notes/commit/501c50e049264560e13e29c75a74c089922c7297)
166
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Project owned App notices
167
+ through the existing workspace notification UI and retire their subscription
168
+ on host disposal. Pass the explicit Explorer App when reporting file-action
169
+ failures.
170
+
171
+ - [`98b333f`](https://github.com/lapismd/lapis-notes/commit/98b333f73ff5ba8d5f28c52e4e3a2ceaa5ade0fb)
172
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Protect and flush
173
+ registered file writers before FileManager trash or deletion, including folder
174
+ descendants. Route Explorer deletion through that guard so failed writes
175
+ retain the file and dirty draft until explicit recovery.
176
+
177
+ - [`535a6cc`](https://github.com/lapismd/lapis-notes/commit/535a6cc7b39f397cf8761a06db7b831386121928)
178
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Expose document-owned
179
+ conditional text persistence with asynchronous, operation-owned recovery
180
+ leases for independent file writers.
181
+
182
+ - [`109e208`](https://github.com/lapismd/lapis-notes/commit/109e208a63253dcc1a7abad3fd5a9b13c39d3def)
183
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Reconcile complete
184
+ bounded disk snapshots while preserving canonical Vault resource identities,
185
+ descendant lifecycle events and filename indexes. Serialize mutations through
186
+ projection and keep existing binary/text writes coherent with cached content
187
+ and tree children.
188
+
189
+ - [`f828eae`](https://github.com/lapismd/lapis-notes/commit/f828eaeba8411aa342d7ab4954393e84612af2f3)
190
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Expose core file
191
+ discovery exclusions as an editable list under Workspace settings.
192
+ - Updated dependencies
193
+ [[`d8946b9`](https://github.com/lapismd/lapis-notes/commit/d8946b941569484b813eb0c1e8b1c5729fffc1a7)]:
194
+ - @lapis-notes/ui@0.1.4
195
+
196
+ ## 0.1.5
197
+
198
+ ### Patch Changes
199
+
200
+ - [#36](https://github.com/lapismd/lapis-notes/pull/36)
201
+ [`17060a1`](https://github.com/lapismd/lapis-notes/commit/17060a1df152c9fc2302c93767cd7172868ff030)
202
+ Thanks [@stevejuma](https://github.com/stevejuma)! - Consume published Design
203
+ Core 0.5.0 with prepared browser CSS and bundled font assets through normal
204
+ npm ranges.
205
+ - Updated dependencies
206
+ [[`17060a1`](https://github.com/lapismd/lapis-notes/commit/17060a1df152c9fc2302c93767cd7172868ff030)]:
207
+ - @lapis-notes/ui@0.1.4
208
+
3
209
  ## 0.1.4
4
210
 
5
211
  ### Patch Changes
package/README.md CHANGED
@@ -44,5 +44,24 @@ pnpm --filter @lapis-notes/api test
44
44
  ## References
45
45
 
46
46
  - [Package spec](spec.md)
47
- - [Canonical spec](../../spec/src/20-packages/api/index.md)
48
- - [App state model](../../spec/src/20-packages/api/app-state-and-workspace-model.md)
47
+ - [Canonical spec](../../spec/src/packages.md)
48
+ - [App state model](../../spec/src/packages/workspace-apis.md)
49
+
50
+ ### Plugin file icons
51
+
52
+ File-view plugins may set `fileIcon` on `registerEditorView` contributions, or
53
+ pass `{ fileIcon }` as the third `registerExtensions` argument. The value is an
54
+ icon ID: built-in Lucide names, existing `addIcon` IDs, and registered icon-pack
55
+ entries work through the same resolver.
56
+
57
+ Use `const fileIcon = this.registerIcon("diagram", diagramSvg)` to register
58
+ custom SVG artwork in the owning App. The returned ID is namespaced and the
59
+ plugin automatically releases it on unload. `this.registerIconPack({ name,
60
+ icons })` or an asynchronous `loader` returns the owned pack prefix; reference
61
+ its entries as `prefix:icon`. Legacy global registrations retain their existing
62
+ shared-name behavior and caller-owned cleanup.
63
+
64
+ Explorer uses editor associations and pattern priority to choose the
65
+ contribution, then resolves artwork through `app.icons`. Pending, missing or
66
+ failed artwork retains the filename icon. Changes repaint existing rows;
67
+ rendering an icon never activates a plugin or constructs its file view.