@lapis-notes/search 0.1.2 → 0.1.3

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Search changelog
2
2
 
3
+ ## 0.1.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Rebuild Search after its accepted metadata inputs or parsers change, including
8
+ when metadata reconciliation clears derived documents. Retain warm checkpoints
9
+ for metadata files without a registered Search provider.
10
+
11
+ - Add official author avatars and deterministic split, light, and dark registry media for plugin banners, overviews, and galleries.
12
+
3
13
  ## 0.1.2
4
14
 
5
15
  - Initial independent public package extracted from Lapis Notes without changing
package/LICENSE.md CHANGED
@@ -1,8 +1,4 @@
1
- # License
1
+ Apache-2.0
2
2
 
3
- Copyright (c) LapisMD contributors.
4
-
5
- This software is licensed under the GNU Affero General Public License, version
6
- 3 or (at your option) any later version (`AGPL-3.0-or-later`). The complete
7
- license text is available from the
8
- [GNU Project](https://www.gnu.org/licenses/agpl-3.0.html).
3
+ This project is licensed under the Apache License 2.0.
4
+ See <https://www.apache.org/licenses/LICENSE-2.0>.
package/README.md CHANGED
@@ -13,7 +13,7 @@ Register the exported plugin class in the application's `PluginProfile`. Import
13
13
  registration so the host owns its lifecycle.
14
14
 
15
15
  The runtime plugin ID is `search`. A matching signed
16
- `search-0.1.2.lapis-plugin` archive is attached to the
16
+ `search-0.1.3.lapis-plugin` archive is attached to the
17
17
  package-scoped GitHub release for manual or registry installation.
18
18
 
19
19
  See the [repository README](https://github.com/lapismd/lapis-plugins#readme) for
@@ -409,6 +409,10 @@ export class SearchManager {
409
409
  }
410
410
  currentReconcileFingerprint() {
411
411
  const fingerprint = new StreamingManifestFingerprint();
412
+ fingerprint.add([
413
+ "metadata",
414
+ this.app.metadataCache.getReconciliationFingerprint((file) => Boolean(this.app.searchDocumentProviders.resolve(file))),
415
+ ].join("\u0000"));
412
416
  const providers = this.app.searchDocumentProviders
413
417
  .getAll()
414
418
  .sort((left, right) => left.id.localeCompare(right.id));
package/manifest.json CHANGED
@@ -1,10 +1,12 @@
1
1
  {
2
2
  "id": "search",
3
3
  "name": "Search",
4
- "version": "0.1.2",
4
+ "version": "0.1.3",
5
5
  "minAppVersion": "0.1.0",
6
6
  "description": "Search files, metadata, tags, and note content.",
7
7
  "author": "Lapis Notes",
8
+ "authorAvatarUrl": "https://www.gravatar.com/avatar/1df68d9ff087b0dd72fd8626056fca7f?s=128&d=404",
9
+ "isDesktopOnly": false,
8
10
  "lapis": {
9
11
  "manifestVersion": 1,
10
12
  "source": "official",
@@ -18,7 +20,22 @@
18
20
  "sharedDependencies": [
19
21
  "@lapis-notes/api",
20
22
  "@lapis-notes/api/agent-skills",
21
- "@lapis-notes/api/agent-tools"
23
+ "@lapis-notes/api/agent-tools",
24
+ "@codemirror/autocomplete",
25
+ "@codemirror/commands",
26
+ "@codemirror/language",
27
+ "@codemirror/state",
28
+ "@codemirror/view",
29
+ "@lezer/common",
30
+ "@lezer/highlight",
31
+ "@lezer/lr",
32
+ "svelte/renderer/5.56.10",
33
+ "svelte/renderer/5.56.10/attachments",
34
+ "svelte/renderer/5.56.10/events",
35
+ "svelte/renderer/5.56.10/internal/client",
36
+ "svelte/renderer/5.56.10/internal/disclose-version",
37
+ "svelte/renderer/5.56.10/internal/flags/legacy",
38
+ "svelte/renderer/5.56.10/reactivity"
22
39
  ],
23
40
  "requiresReloadOnUpdate": false
24
41
  }
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@lapis-notes/search",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Lapis Notes vault search plugin",
5
- "license": "AGPL-3.0-or-later",
5
+ "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "files": [
8
8
  "dist",
9
9
  "manifest.json",
10
10
  "registry.json",
11
+ "registry-content",
11
12
  "styles.css",
12
13
  "README.md",
13
14
  "CHANGELOG.md",
@@ -37,14 +38,19 @@
37
38
  "./registry.json": "./registry.json"
38
39
  },
39
40
  "dependencies": {
40
- "@lapismd/design-core": "^0.1.0",
41
+ "@lapismd/design-core": "^0.3.2",
41
42
  "@lucide/svelte": "^0.523.0"
42
43
  },
43
44
  "peerDependencies": {
44
- "@codemirror/language": "^6.11.1",
45
- "@codemirror/state": "^6.4.1",
46
- "@codemirror/view": "^6.35.0",
47
- "@lapis-notes/api": "^0.1.0",
45
+ "@codemirror/autocomplete": "^6.18.6",
46
+ "@codemirror/commands": "^6.8.1",
47
+ "@codemirror/language": "^6.11.3",
48
+ "@codemirror/state": "^6.6.0",
49
+ "@codemirror/view": "^6.42.1",
50
+ "@lapis-notes/api": "^0.1.2",
51
+ "@lezer/common": "^1.5.2",
52
+ "@lezer/highlight": "^1.2.3",
53
+ "@lezer/lr": "^1.4.2",
48
54
  "svelte": "^5.0.0"
49
55
  },
50
56
  "devDependencies": {
@@ -0,0 +1,8 @@
1
+ # Search
2
+
3
+ Search finds files by name, path, metadata, tags, and note content. Results open
4
+ through the normal workspace, making the panel a reusable navigation surface as
5
+ well as a way to explore the vault index.
6
+
7
+ Compatible agent tools can use the same scoped search boundary, while Lapis
8
+ continues to own the index and result navigation.
package/registry.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://registry.lapis.md/schemas/plugin-source.schema.json",
3
- "schemaVersion": 1,
3
+ "schemaVersion": 2,
4
4
  "categories": ["navigation", "search"],
5
5
  "highlights": [
6
6
  "Search file names, metadata, tags, and note content.",
@@ -8,5 +8,154 @@
8
8
  "Expose scoped search capabilities to compatible agent tools."
9
9
  ],
10
10
  "documentationUrl": "https://github.com/lapismd/lapis-plugins/tree/main/packages/search#readme",
11
- "content": { "overview": "README.md", "changelog": "CHANGELOG.md" }
11
+ "appearance": {
12
+ "icon": "search",
13
+ "accent": "#F59E0B"
14
+ },
15
+ "media": {
16
+ "banner": {
17
+ "alt": "Lapis Search with populated indexed results in the primary left sidebar beside an empty main workspace.",
18
+ "images": {
19
+ "preview": {
20
+ "path": "registry-assets/banner.preview.webp"
21
+ },
22
+ "full": {
23
+ "path": "registry-assets/banner.full.webp"
24
+ },
25
+ "light": {
26
+ "path": "registry-assets/banner.light.webp"
27
+ },
28
+ "dark": {
29
+ "path": "registry-assets/banner.dark.webp"
30
+ }
31
+ },
32
+ "capture": {
33
+ "storyId": "plugins-search-registry-screenshots--overview",
34
+ "focus": "left-sidebar"
35
+ }
36
+ },
37
+ "overview": {
38
+ "alt": "Lapis Search with populated results and its filter and view settings open.",
39
+ "images": {
40
+ "preview": {
41
+ "path": "registry-assets/overview.preview.webp"
42
+ },
43
+ "full": {
44
+ "path": "registry-assets/overview.full.webp"
45
+ },
46
+ "light": {
47
+ "path": "registry-assets/overview.light.webp"
48
+ },
49
+ "dark": {
50
+ "path": "registry-assets/overview.dark.webp"
51
+ }
52
+ },
53
+ "capture": {
54
+ "storyId": "plugins-search-registry-screenshots--search-filters",
55
+ "focus": "full-shell"
56
+ }
57
+ }
58
+ },
59
+ "gallery": [
60
+ {
61
+ "id": "search-sidebar",
62
+ "alt": "Left Search sidebar showing populated indexed results and expanded match context from notes and metadata.",
63
+ "images": {
64
+ "preview": {
65
+ "path": "registry-assets/gallery/search-sidebar.preview.webp"
66
+ },
67
+ "full": {
68
+ "path": "registry-assets/gallery/search-sidebar.full.webp"
69
+ },
70
+ "light": {
71
+ "path": "registry-assets/gallery/search-sidebar.light.webp"
72
+ },
73
+ "dark": {
74
+ "path": "registry-assets/gallery/search-sidebar.dark.webp"
75
+ }
76
+ },
77
+ "capture": {
78
+ "storyId": "plugins-search-registry-screenshots--search-sidebar",
79
+ "focus": "left-sidebar"
80
+ },
81
+ "card": {
82
+ "headline": [
83
+ {
84
+ "text": "Find the right note",
85
+ "tone": "neutral"
86
+ },
87
+ {
88
+ "text": "from one query",
89
+ "tone": "amber"
90
+ }
91
+ ],
92
+ "description": [
93
+ {
94
+ "text": "Search",
95
+ "tone": "neutral"
96
+ },
97
+ {
98
+ "text": "filenames, properties, tags, and content",
99
+ "tone": "amber"
100
+ },
101
+ {
102
+ "text": "from a reusable indexed sidebar.",
103
+ "tone": "neutral"
104
+ }
105
+ ]
106
+ }
107
+ },
108
+ {
109
+ "id": "search-filters",
110
+ "alt": "Left Search sidebar with populated results and its file type, retrieval, and view settings open.",
111
+ "images": {
112
+ "preview": {
113
+ "path": "registry-assets/gallery/search-filters.preview.webp"
114
+ },
115
+ "full": {
116
+ "path": "registry-assets/gallery/search-filters.full.webp"
117
+ },
118
+ "light": {
119
+ "path": "registry-assets/gallery/search-filters.light.webp"
120
+ },
121
+ "dark": {
122
+ "path": "registry-assets/gallery/search-filters.dark.webp"
123
+ }
124
+ },
125
+ "capture": {
126
+ "storyId": "plugins-search-registry-screenshots--search-filters",
127
+ "focus": "left-sidebar"
128
+ },
129
+ "card": {
130
+ "headline": [
131
+ {
132
+ "text": "Shape every query",
133
+ "tone": "neutral"
134
+ },
135
+ {
136
+ "text": "without leaving Search",
137
+ "tone": "cyan"
138
+ }
139
+ ],
140
+ "description": [
141
+ {
142
+ "text": "Tune",
143
+ "tone": "neutral"
144
+ },
145
+ {
146
+ "text": "file type, retrieval, case, context,",
147
+ "tone": "amber"
148
+ },
149
+ {
150
+ "text": "and structured semantic matching",
151
+ "tone": "violet"
152
+ },
153
+ {
154
+ "text": "from one compact panel.",
155
+ "tone": "neutral"
156
+ }
157
+ ]
158
+ }
159
+ }
160
+ ]
12
161
  }