@lapis-notes/api 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/CHANGELOG.md +193 -0
  2. package/README.md +19 -0
  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
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { registryCatalogStatusSchema, registryImageReferenceSchema, registryReleaseChangelogSchema } from "./catalog-v1.js";
3
3
  export { registryCatalogStatusSchema, registryImageReferenceSchema, registryReleaseChangelogSchema, };
4
4
  /** Authored variants remain optional; display fallbacks never rewrite metadata. */
@@ -1466,42 +1466,51 @@ export declare const registryCatalogV2EntrySchema: z.ZodObject<{
1466
1466
  contributes: z.ZodOptional<z.ZodObject<{
1467
1467
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
1468
1468
  id: z.ZodString;
1469
+ fileIcon: z.ZodOptional<z.ZodString>;
1469
1470
  label: z.ZodOptional<z.ZodString>;
1470
1471
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1471
1472
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1472
1473
  id: z.ZodString;
1474
+ fileIcon: z.ZodOptional<z.ZodString>;
1473
1475
  label: z.ZodOptional<z.ZodString>;
1474
1476
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1475
1477
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1476
1478
  id: z.ZodString;
1479
+ fileIcon: z.ZodOptional<z.ZodString>;
1477
1480
  label: z.ZodOptional<z.ZodString>;
1478
1481
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1479
1482
  }, z.ZodTypeAny, "passthrough">>, "many">>;
1480
1483
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1481
1484
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
1482
1485
  id: z.ZodString;
1486
+ fileIcon: z.ZodOptional<z.ZodString>;
1483
1487
  label: z.ZodOptional<z.ZodString>;
1484
1488
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1485
1489
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1486
1490
  id: z.ZodString;
1491
+ fileIcon: z.ZodOptional<z.ZodString>;
1487
1492
  label: z.ZodOptional<z.ZodString>;
1488
1493
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1489
1494
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1490
1495
  id: z.ZodString;
1496
+ fileIcon: z.ZodOptional<z.ZodString>;
1491
1497
  label: z.ZodOptional<z.ZodString>;
1492
1498
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1493
1499
  }, z.ZodTypeAny, "passthrough">>, "many">>;
1494
1500
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1495
1501
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
1496
1502
  id: z.ZodString;
1503
+ fileIcon: z.ZodOptional<z.ZodString>;
1497
1504
  label: z.ZodOptional<z.ZodString>;
1498
1505
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1499
1506
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1500
1507
  id: z.ZodString;
1508
+ fileIcon: z.ZodOptional<z.ZodString>;
1501
1509
  label: z.ZodOptional<z.ZodString>;
1502
1510
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1503
1511
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1504
1512
  id: z.ZodString;
1513
+ fileIcon: z.ZodOptional<z.ZodString>;
1505
1514
  label: z.ZodOptional<z.ZodString>;
1506
1515
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1507
1516
  }, z.ZodTypeAny, "passthrough">>, "many">>;
@@ -1953,12 +1962,12 @@ export declare const registryCatalogV2EntrySchema: z.ZodObject<{
1953
1962
  description: string;
1954
1963
  name: string;
1955
1964
  status: "active" | "pending" | "disabled" | "deprecated" | "revoked";
1965
+ id: string;
1956
1966
  owner: {
1957
1967
  name: string;
1958
1968
  verified: boolean;
1959
1969
  url?: string | undefined;
1960
1970
  };
1961
- id: string;
1962
1971
  author: string;
1963
1972
  badges: string[];
1964
1973
  minAppVersion: string;
@@ -2022,14 +2031,17 @@ export declare const registryCatalogV2EntrySchema: z.ZodObject<{
2022
2031
  contributes?: z.objectOutputType<{
2023
2032
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
2024
2033
  id: z.ZodString;
2034
+ fileIcon: z.ZodOptional<z.ZodString>;
2025
2035
  label: z.ZodOptional<z.ZodString>;
2026
2036
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2027
2037
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2028
2038
  id: z.ZodString;
2039
+ fileIcon: z.ZodOptional<z.ZodString>;
2029
2040
  label: z.ZodOptional<z.ZodString>;
2030
2041
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2031
2042
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2032
2043
  id: z.ZodString;
2044
+ fileIcon: z.ZodOptional<z.ZodString>;
2033
2045
  label: z.ZodOptional<z.ZodString>;
2034
2046
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2035
2047
  }, z.ZodTypeAny, "passthrough">>, "many">>;
@@ -2044,12 +2056,12 @@ export declare const registryCatalogV2EntrySchema: z.ZodObject<{
2044
2056
  description: string;
2045
2057
  name: string;
2046
2058
  status: "active" | "pending" | "disabled" | "deprecated" | "revoked";
2059
+ id: string;
2047
2060
  owner: {
2048
2061
  name: string;
2049
2062
  verified: boolean;
2050
2063
  url?: string | undefined;
2051
2064
  };
2052
- id: string;
2053
2065
  author: string;
2054
2066
  minAppVersion: string;
2055
2067
  platforms: string[];
@@ -2113,14 +2125,17 @@ export declare const registryCatalogV2EntrySchema: z.ZodObject<{
2113
2125
  contributes?: z.objectInputType<{
2114
2126
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
2115
2127
  id: z.ZodString;
2128
+ fileIcon: z.ZodOptional<z.ZodString>;
2116
2129
  label: z.ZodOptional<z.ZodString>;
2117
2130
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2118
2131
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2119
2132
  id: z.ZodString;
2133
+ fileIcon: z.ZodOptional<z.ZodString>;
2120
2134
  label: z.ZodOptional<z.ZodString>;
2121
2135
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2122
2136
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2123
2137
  id: z.ZodString;
2138
+ fileIcon: z.ZodOptional<z.ZodString>;
2124
2139
  label: z.ZodOptional<z.ZodString>;
2125
2140
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2126
2141
  }, z.ZodTypeAny, "passthrough">>, "many">>;
@@ -2176,42 +2191,51 @@ export declare const registryCatalogV2IndexSchema: z.ZodObject<{
2176
2191
  contributes: z.ZodOptional<z.ZodObject<{
2177
2192
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
2178
2193
  id: z.ZodString;
2194
+ fileIcon: z.ZodOptional<z.ZodString>;
2179
2195
  label: z.ZodOptional<z.ZodString>;
2180
2196
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2181
2197
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2182
2198
  id: z.ZodString;
2199
+ fileIcon: z.ZodOptional<z.ZodString>;
2183
2200
  label: z.ZodOptional<z.ZodString>;
2184
2201
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2185
2202
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2186
2203
  id: z.ZodString;
2204
+ fileIcon: z.ZodOptional<z.ZodString>;
2187
2205
  label: z.ZodOptional<z.ZodString>;
2188
2206
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2189
2207
  }, z.ZodTypeAny, "passthrough">>, "many">>;
2190
2208
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2191
2209
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
2192
2210
  id: z.ZodString;
2211
+ fileIcon: z.ZodOptional<z.ZodString>;
2193
2212
  label: z.ZodOptional<z.ZodString>;
2194
2213
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2195
2214
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2196
2215
  id: z.ZodString;
2216
+ fileIcon: z.ZodOptional<z.ZodString>;
2197
2217
  label: z.ZodOptional<z.ZodString>;
2198
2218
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2199
2219
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2200
2220
  id: z.ZodString;
2221
+ fileIcon: z.ZodOptional<z.ZodString>;
2201
2222
  label: z.ZodOptional<z.ZodString>;
2202
2223
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2203
2224
  }, z.ZodTypeAny, "passthrough">>, "many">>;
2204
2225
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2205
2226
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
2206
2227
  id: z.ZodString;
2228
+ fileIcon: z.ZodOptional<z.ZodString>;
2207
2229
  label: z.ZodOptional<z.ZodString>;
2208
2230
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2209
2231
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2210
2232
  id: z.ZodString;
2233
+ fileIcon: z.ZodOptional<z.ZodString>;
2211
2234
  label: z.ZodOptional<z.ZodString>;
2212
2235
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2213
2236
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2214
2237
  id: z.ZodString;
2238
+ fileIcon: z.ZodOptional<z.ZodString>;
2215
2239
  label: z.ZodOptional<z.ZodString>;
2216
2240
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2217
2241
  }, z.ZodTypeAny, "passthrough">>, "many">>;
@@ -2663,12 +2687,12 @@ export declare const registryCatalogV2IndexSchema: z.ZodObject<{
2663
2687
  description: string;
2664
2688
  name: string;
2665
2689
  status: "active" | "pending" | "disabled" | "deprecated" | "revoked";
2690
+ id: string;
2666
2691
  owner: {
2667
2692
  name: string;
2668
2693
  verified: boolean;
2669
2694
  url?: string | undefined;
2670
2695
  };
2671
- id: string;
2672
2696
  author: string;
2673
2697
  badges: string[];
2674
2698
  minAppVersion: string;
@@ -2732,14 +2756,17 @@ export declare const registryCatalogV2IndexSchema: z.ZodObject<{
2732
2756
  contributes?: z.objectOutputType<{
2733
2757
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
2734
2758
  id: z.ZodString;
2759
+ fileIcon: z.ZodOptional<z.ZodString>;
2735
2760
  label: z.ZodOptional<z.ZodString>;
2736
2761
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2737
2762
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2738
2763
  id: z.ZodString;
2764
+ fileIcon: z.ZodOptional<z.ZodString>;
2739
2765
  label: z.ZodOptional<z.ZodString>;
2740
2766
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2741
2767
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2742
2768
  id: z.ZodString;
2769
+ fileIcon: z.ZodOptional<z.ZodString>;
2743
2770
  label: z.ZodOptional<z.ZodString>;
2744
2771
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2745
2772
  }, z.ZodTypeAny, "passthrough">>, "many">>;
@@ -2754,12 +2781,12 @@ export declare const registryCatalogV2IndexSchema: z.ZodObject<{
2754
2781
  description: string;
2755
2782
  name: string;
2756
2783
  status: "active" | "pending" | "disabled" | "deprecated" | "revoked";
2784
+ id: string;
2757
2785
  owner: {
2758
2786
  name: string;
2759
2787
  verified: boolean;
2760
2788
  url?: string | undefined;
2761
2789
  };
2762
- id: string;
2763
2790
  author: string;
2764
2791
  minAppVersion: string;
2765
2792
  platforms: string[];
@@ -2823,14 +2850,17 @@ export declare const registryCatalogV2IndexSchema: z.ZodObject<{
2823
2850
  contributes?: z.objectInputType<{
2824
2851
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
2825
2852
  id: z.ZodString;
2853
+ fileIcon: z.ZodOptional<z.ZodString>;
2826
2854
  label: z.ZodOptional<z.ZodString>;
2827
2855
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2828
2856
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2829
2857
  id: z.ZodString;
2858
+ fileIcon: z.ZodOptional<z.ZodString>;
2830
2859
  label: z.ZodOptional<z.ZodString>;
2831
2860
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2832
2861
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2833
2862
  id: z.ZodString;
2863
+ fileIcon: z.ZodOptional<z.ZodString>;
2834
2864
  label: z.ZodOptional<z.ZodString>;
2835
2865
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2836
2866
  }, z.ZodTypeAny, "passthrough">>, "many">>;
@@ -2849,12 +2879,12 @@ export declare const registryCatalogV2IndexSchema: z.ZodObject<{
2849
2879
  description: string;
2850
2880
  name: string;
2851
2881
  status: "active" | "pending" | "disabled" | "deprecated" | "revoked";
2882
+ id: string;
2852
2883
  owner: {
2853
2884
  name: string;
2854
2885
  verified: boolean;
2855
2886
  url?: string | undefined;
2856
2887
  };
2857
- id: string;
2858
2888
  author: string;
2859
2889
  badges: string[];
2860
2890
  minAppVersion: string;
@@ -2918,14 +2948,17 @@ export declare const registryCatalogV2IndexSchema: z.ZodObject<{
2918
2948
  contributes?: z.objectOutputType<{
2919
2949
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
2920
2950
  id: z.ZodString;
2951
+ fileIcon: z.ZodOptional<z.ZodString>;
2921
2952
  label: z.ZodOptional<z.ZodString>;
2922
2953
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2923
2954
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2924
2955
  id: z.ZodString;
2956
+ fileIcon: z.ZodOptional<z.ZodString>;
2925
2957
  label: z.ZodOptional<z.ZodString>;
2926
2958
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2927
2959
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2928
2960
  id: z.ZodString;
2961
+ fileIcon: z.ZodOptional<z.ZodString>;
2929
2962
  label: z.ZodOptional<z.ZodString>;
2930
2963
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2931
2964
  }, z.ZodTypeAny, "passthrough">>, "many">>;
@@ -2944,12 +2977,12 @@ export declare const registryCatalogV2IndexSchema: z.ZodObject<{
2944
2977
  description: string;
2945
2978
  name: string;
2946
2979
  status: "active" | "pending" | "disabled" | "deprecated" | "revoked";
2980
+ id: string;
2947
2981
  owner: {
2948
2982
  name: string;
2949
2983
  verified: boolean;
2950
2984
  url?: string | undefined;
2951
2985
  };
2952
- id: string;
2953
2986
  author: string;
2954
2987
  minAppVersion: string;
2955
2988
  platforms: string[];
@@ -3013,14 +3046,17 @@ export declare const registryCatalogV2IndexSchema: z.ZodObject<{
3013
3046
  contributes?: z.objectInputType<{
3014
3047
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
3015
3048
  id: z.ZodString;
3049
+ fileIcon: z.ZodOptional<z.ZodString>;
3016
3050
  label: z.ZodOptional<z.ZodString>;
3017
3051
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3018
3052
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
3019
3053
  id: z.ZodString;
3054
+ fileIcon: z.ZodOptional<z.ZodString>;
3020
3055
  label: z.ZodOptional<z.ZodString>;
3021
3056
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3022
3057
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
3023
3058
  id: z.ZodString;
3059
+ fileIcon: z.ZodOptional<z.ZodString>;
3024
3060
  label: z.ZodOptional<z.ZodString>;
3025
3061
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3026
3062
  }, z.ZodTypeAny, "passthrough">>, "many">>;
@@ -3077,42 +3113,51 @@ export declare const registryCatalogV2DetailSchema: z.ZodObject<{
3077
3113
  contributes: z.ZodOptional<z.ZodObject<{
3078
3114
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
3079
3115
  id: z.ZodString;
3116
+ fileIcon: z.ZodOptional<z.ZodString>;
3080
3117
  label: z.ZodOptional<z.ZodString>;
3081
3118
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3082
3119
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
3083
3120
  id: z.ZodString;
3121
+ fileIcon: z.ZodOptional<z.ZodString>;
3084
3122
  label: z.ZodOptional<z.ZodString>;
3085
3123
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3086
3124
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
3087
3125
  id: z.ZodString;
3126
+ fileIcon: z.ZodOptional<z.ZodString>;
3088
3127
  label: z.ZodOptional<z.ZodString>;
3089
3128
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3090
3129
  }, z.ZodTypeAny, "passthrough">>, "many">>;
3091
3130
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
3092
3131
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
3093
3132
  id: z.ZodString;
3133
+ fileIcon: z.ZodOptional<z.ZodString>;
3094
3134
  label: z.ZodOptional<z.ZodString>;
3095
3135
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3096
3136
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
3097
3137
  id: z.ZodString;
3138
+ fileIcon: z.ZodOptional<z.ZodString>;
3098
3139
  label: z.ZodOptional<z.ZodString>;
3099
3140
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3100
3141
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
3101
3142
  id: z.ZodString;
3143
+ fileIcon: z.ZodOptional<z.ZodString>;
3102
3144
  label: z.ZodOptional<z.ZodString>;
3103
3145
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3104
3146
  }, z.ZodTypeAny, "passthrough">>, "many">>;
3105
3147
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
3106
3148
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
3107
3149
  id: z.ZodString;
3150
+ fileIcon: z.ZodOptional<z.ZodString>;
3108
3151
  label: z.ZodOptional<z.ZodString>;
3109
3152
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3110
3153
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
3111
3154
  id: z.ZodString;
3155
+ fileIcon: z.ZodOptional<z.ZodString>;
3112
3156
  label: z.ZodOptional<z.ZodString>;
3113
3157
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3114
3158
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
3115
3159
  id: z.ZodString;
3160
+ fileIcon: z.ZodOptional<z.ZodString>;
3116
3161
  label: z.ZodOptional<z.ZodString>;
3117
3162
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3118
3163
  }, z.ZodTypeAny, "passthrough">>, "many">>;
@@ -4797,6 +4842,7 @@ export declare const registryCatalogV2DetailSchema: z.ZodObject<{
4797
4842
  description: string;
4798
4843
  name: string;
4799
4844
  status: "active" | "pending" | "disabled" | "deprecated" | "revoked";
4845
+ id: string;
4800
4846
  versions: Record<string, {
4801
4847
  version: string;
4802
4848
  bundle: {
@@ -4821,7 +4867,6 @@ export declare const registryCatalogV2DetailSchema: z.ZodObject<{
4821
4867
  verified: boolean;
4822
4868
  url?: string | undefined;
4823
4869
  };
4824
- id: string;
4825
4870
  schemaVersion: 2;
4826
4871
  author: string;
4827
4872
  channel: "community" | "official";
@@ -5007,14 +5052,17 @@ export declare const registryCatalogV2DetailSchema: z.ZodObject<{
5007
5052
  contributes?: z.objectOutputType<{
5008
5053
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
5009
5054
  id: z.ZodString;
5055
+ fileIcon: z.ZodOptional<z.ZodString>;
5010
5056
  label: z.ZodOptional<z.ZodString>;
5011
5057
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5012
5058
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
5013
5059
  id: z.ZodString;
5060
+ fileIcon: z.ZodOptional<z.ZodString>;
5014
5061
  label: z.ZodOptional<z.ZodString>;
5015
5062
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5016
5063
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
5017
5064
  id: z.ZodString;
5065
+ fileIcon: z.ZodOptional<z.ZodString>;
5018
5066
  label: z.ZodOptional<z.ZodString>;
5019
5067
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5020
5068
  }, z.ZodTypeAny, "passthrough">>, "many">>;
@@ -5026,6 +5074,7 @@ export declare const registryCatalogV2DetailSchema: z.ZodObject<{
5026
5074
  description: string;
5027
5075
  name: string;
5028
5076
  status: "active" | "pending" | "disabled" | "deprecated" | "revoked";
5077
+ id: string;
5029
5078
  versions: Record<string, {
5030
5079
  version: string;
5031
5080
  bundle: {
@@ -5050,7 +5099,6 @@ export declare const registryCatalogV2DetailSchema: z.ZodObject<{
5050
5099
  verified: boolean;
5051
5100
  url?: string | undefined;
5052
5101
  };
5053
- id: string;
5054
5102
  schemaVersion: 2;
5055
5103
  author: string;
5056
5104
  channel: "community" | "official";
@@ -5236,14 +5284,17 @@ export declare const registryCatalogV2DetailSchema: z.ZodObject<{
5236
5284
  contributes?: z.objectInputType<{
5237
5285
  editorViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
5238
5286
  id: z.ZodString;
5287
+ fileIcon: z.ZodOptional<z.ZodString>;
5239
5288
  label: z.ZodOptional<z.ZodString>;
5240
5289
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5241
5290
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
5242
5291
  id: z.ZodString;
5292
+ fileIcon: z.ZodOptional<z.ZodString>;
5243
5293
  label: z.ZodOptional<z.ZodString>;
5244
5294
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5245
5295
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
5246
5296
  id: z.ZodString;
5297
+ fileIcon: z.ZodOptional<z.ZodString>;
5247
5298
  label: z.ZodOptional<z.ZodString>;
5248
5299
  filenamePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5249
5300
  }, z.ZodTypeAny, "passthrough">>, "many">>;
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v3";
2
2
  import { registryCatalogEntrySchema, registryCatalogDetailSchema, registryCatalogStatusSchema, registryImageReferenceSchema, registryReleaseSchema, registryReleaseChangelogSchema, } from "./catalog-v1.js";
3
3
  export { registryCatalogStatusSchema, registryImageReferenceSchema, registryReleaseChangelogSchema, };
4
4
  /** Authored variants remain optional; display fallbacks never rewrite metadata. */
@@ -0,0 +1,95 @@
1
+ import { EventDispatcher } from "./events";
2
+ import type { SearchQueryAst } from "./search-query";
3
+ export type SearchResultScope = "files" | "history" | "all";
4
+ export type SearchResultRange = {
5
+ start: number;
6
+ end: number;
7
+ };
8
+ export type SearchProviderMatch = {
9
+ id: string;
10
+ field: string;
11
+ text: string;
12
+ ranges: SearchResultRange[];
13
+ line?: number;
14
+ context?: string;
15
+ };
16
+ export type SearchProviderHit = {
17
+ /** Stable within the provider, independently of paging and index generation. */
18
+ id: string;
19
+ groupId: string;
20
+ title: string;
21
+ path?: string;
22
+ extension?: string;
23
+ timestamp?: number;
24
+ version?: {
25
+ /** Domain-independent identity for deduplicating identical saved contents. */
26
+ contentId?: string;
27
+ references?: Array<{
28
+ id: string;
29
+ label: string;
30
+ author: string;
31
+ timestamp: number;
32
+ target: Readonly<Record<string, string>>;
33
+ }>;
34
+ id: string;
35
+ label: string;
36
+ author: string;
37
+ timestamp: number;
38
+ occurrences?: number;
39
+ };
40
+ badges?: string[];
41
+ matches: SearchProviderMatch[];
42
+ /** Opaque to Search; only the contributing provider interprets this target. */
43
+ target: Readonly<Record<string, string>>;
44
+ };
45
+ export type SearchProviderStatus = {
46
+ phase: "ready" | "indexing" | "paused";
47
+ indexed: number;
48
+ complete: boolean;
49
+ omitted?: number;
50
+ description?: string;
51
+ };
52
+ export type SearchResultRequest = {
53
+ text: string;
54
+ query: SearchQueryAst;
55
+ caseSensitive: boolean;
56
+ mode: "auto" | "lexical" | "vector" | "hybrid";
57
+ limit: number;
58
+ cursor?: string;
59
+ signal: AbortSignal;
60
+ };
61
+ export type SearchResultPage = {
62
+ generation: string;
63
+ hits: SearchProviderHit[];
64
+ next?: string;
65
+ status?: SearchProviderStatus;
66
+ };
67
+ export type SearchResultProvider = {
68
+ id: string;
69
+ label: string;
70
+ scope: Exclude<SearchResultScope, "all" | "files">;
71
+ fields: readonly string[];
72
+ modes: readonly SearchResultRequest["mode"][];
73
+ search(request: SearchResultRequest): Promise<SearchResultPage>;
74
+ activate(hit: SearchProviderHit, match?: SearchProviderMatch): Promise<void>;
75
+ expand?(hit: SearchProviderHit, match: SearchProviderMatch, direction: "before" | "after", signal: AbortSignal): Promise<SearchProviderMatch>;
76
+ subscribe?(invalidate: () => void): () => void;
77
+ };
78
+ export type SearchResultProviderRegistration = {
79
+ readonly id: string;
80
+ dispose(): void;
81
+ };
82
+ /** App-owned result sources. Registration grants no file or restore authority. */
83
+ export declare class SearchResultProviderRegistry extends EventDispatcher<{
84
+ changed: [
85
+ change: {
86
+ providerId: string;
87
+ reason: "registered" | "unregistered" | "invalidated";
88
+ }
89
+ ];
90
+ }> {
91
+ private readonly providers;
92
+ register(provider: SearchResultProvider): SearchResultProviderRegistration;
93
+ getAll(): SearchResultProvider[];
94
+ get(id: string): SearchResultProvider | undefined;
95
+ }
@@ -0,0 +1,42 @@
1
+ import { EventDispatcher } from "./events";
2
+ /** App-owned result sources. Registration grants no file or restore authority. */
3
+ export class SearchResultProviderRegistry extends EventDispatcher {
4
+ providers = new Map();
5
+ register(provider) {
6
+ const id = provider.id.trim();
7
+ if (!id || !provider.label.trim())
8
+ throw new Error("Search result provider requires an id and label.");
9
+ if (this.providers.has(id))
10
+ throw new Error(`Search result provider already registered: ${id}`);
11
+ const registered = { ...provider, id };
12
+ this.providers.set(id, registered);
13
+ let unsubscribe;
14
+ try {
15
+ unsubscribe = registered.subscribe?.(() => {
16
+ if (this.providers.get(id) === registered)
17
+ this.emit("changed", { providerId: id, reason: "invalidated" });
18
+ });
19
+ }
20
+ catch (error) {
21
+ this.providers.delete(id);
22
+ throw error;
23
+ }
24
+ this.emit("changed", { providerId: id, reason: "registered" });
25
+ return {
26
+ id,
27
+ dispose: () => {
28
+ if (this.providers.get(id) !== registered)
29
+ return;
30
+ this.providers.delete(id);
31
+ unsubscribe?.();
32
+ this.emit("changed", { providerId: id, reason: "unregistered" });
33
+ },
34
+ };
35
+ }
36
+ getAll() {
37
+ return [...this.providers.values()];
38
+ }
39
+ get(id) {
40
+ return this.providers.get(id);
41
+ }
42
+ }
@@ -1,29 +1,35 @@
1
1
  import type { ContextKeyService } from "./context-keys.svelte";
2
2
  import type { Menu } from "./menu.svelte";
3
- export type StatusBarAlignment = "left" | "right";
3
+ export type StatusBarAlignment = "left" | "center" | "right";
4
4
  export interface StatusBarItemDescriptor {
5
- id: string;
6
- text?: string;
7
- segments?: string[];
8
- icon?: string;
9
- spin?: boolean;
10
- tooltip?: string;
11
- command?: string;
12
- buildMenu?: (menu: Menu) => void;
13
- when?: string;
14
- alignment?: StatusBarAlignment;
15
- priority?: number;
16
- sourcePlugin?: string;
5
+ id: string;
6
+ mount?: (host: HTMLElement) => () => void;
7
+ text?: string;
8
+ segments?: string[];
9
+ icon?: string;
10
+ spin?: boolean;
11
+ tooltip?: string;
12
+ command?: string;
13
+ buildMenu?: (menu: Menu) => void;
14
+ when?: string;
15
+ alignment?: StatusBarAlignment;
16
+ priority?: number;
17
+ sourcePlugin?: string;
17
18
  }
18
19
  interface RegisteredStatusBarItem extends StatusBarItemDescriptor {
19
- sequence: number;
20
+ sequence: number;
20
21
  }
21
22
  export declare class StatusBarManager {
22
- #private;
23
- readonly items: Record<string, RegisteredStatusBarItem>;
24
- registerItem(item: StatusBarItemDescriptor): () => void;
25
- upsertItem(item: StatusBarItemDescriptor): void;
26
- unregisterItem(id: string): void;
27
- getVisibleItems(alignment: StatusBarAlignment, contextKeys: ContextKeyService): StatusBarItemDescriptor[];
23
+ #private;
24
+ readonly items: Record<string, RegisteredStatusBarItem>;
25
+ registerItem(item: StatusBarItemDescriptor): () => void;
26
+ upsertItem(item: StatusBarItemDescriptor): void;
27
+ unregisterItem(id: string): void;
28
+ subscribe(listener: () => void): () => void;
29
+ private notify;
30
+ getVisibleItems(
31
+ alignment: StatusBarAlignment,
32
+ contextKeys: ContextKeyService,
33
+ ): StatusBarItemDescriptor[];
28
34
  }
29
35
  export {};
@@ -7,6 +7,7 @@ function sameSegments(left, right) {
7
7
  }
8
8
  function sameVisibleStatusBarItem(left, right) {
9
9
  return (left.id === right.id &&
10
+ left.mount === right.mount &&
10
11
  left.text === right.text &&
11
12
  sameSegments(left.segments, right.segments) &&
12
13
  left.icon === right.icon &&
@@ -5,7 +5,8 @@ import { type SearchQueryEvaluationOptions, type SearchQueryTextRangeOptions } f
5
5
  import { type IndexProjectionDefinitionRecord, type IndexProjectionEdgeRecord, type IndexQuery, type IndexQueryResult, type IndexRelatedQuery, type IndexProjectionRowRecord, type IndexProjectionSourceRecord, type IndexProjectionValueRecord, type MarkProjectionSourceErrorInput, type ReplaceProjectionSourceInput } from "./index-projection";
6
6
  import { type AppDatabaseLinkKind, type AppDatabaseTaskChildQuery, type AppDatabaseTaskQuery, type AppDatabaseTaskRecord } from "./task-projection";
7
7
  export type { SearchEmbeddingProviderConfig, SearchEmbeddingRuntimeStatus, } from "./search-embedding-provider";
8
- export type RuntimeTarget = "web-pwa" | "deno-desktop" | "deno-server" | "test";
8
+ import type { RuntimeTarget } from "./runtime";
9
+ export { isNativeDesktopRuntime, type RuntimeTarget } from "./runtime";
9
10
  export interface LocalSearchQueryEnhancementProviderConfig {
10
11
  kind: "local-model";
11
12
  queryExpansionModelId: string;
@@ -117,7 +118,10 @@ export interface AppDatabaseFileRecord {
117
118
  mtime: number;
118
119
  size: number;
119
120
  hash: string;
120
- /** Parser signature from the indexed metadata row when requested as a manifest. */
121
+ /**
122
+ * Parser signature from the indexed metadata row when requested as a
123
+ * manifest.
124
+ */
121
125
  parserVersion?: string;
122
126
  indexed: boolean;
123
127
  deleted?: boolean;