@lapis-notes/api 0.1.3 → 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.
- package/CHANGELOG.md +304 -13
- package/README.md +19 -0
- package/dist/__tests__/fixtures/indexed-mutations.json +6862 -0
- package/dist/__tests__/fixtures/memory-storage.json +309 -0
- package/dist/__tests__/fixtures/native-facade-contract.json +3224 -0
- package/dist/__tests__/fixtures/projection-query.json +195 -0
- package/dist/__tests__/fixtures/projection-values.json +60 -0
- package/dist/__tests__/fixtures/search-preparation.json +1513 -0
- package/dist/__tests__/fixtures/search-retrieval.json +15409 -0
- package/dist/__tests__/fixtures/search-semantic-model.json +3691 -0
- package/dist/__tests__/fixtures/search-semantic-retrieval.json +6603 -0
- package/dist/__tests__/fixtures/search-storage.json +409 -0
- package/dist/__tests__/fixtures/task-projection.json +428 -0
- package/dist/__tests__/indexed-mutation-support.js +262 -0
- package/dist/__tests__/projection-query-support.js +40 -0
- package/dist/__tests__/search-retrieval-support.js +47 -0
- package/dist/app-database-host.d.ts +1 -0
- package/dist/app-shell-plugin-persistence.d.ts +3 -2
- package/dist/app-shell-plugin-persistence.js +37 -3
- package/dist/cache.svelte.d.ts +8 -1
- package/dist/cache.svelte.js +103 -5
- package/dist/command.svelte.js +29 -2
- package/dist/components/editor/editor.css +4 -0
- package/dist/components/editor/editor.svelte +24 -11
- package/dist/components/editor/embedded-editor-surface.js +3 -1
- package/dist/components/editor/inline-title-alignment.d.ts +3 -0
- package/dist/components/editor/inline-title-alignment.js +57 -0
- package/dist/configuration.svelte.d.ts +270 -206
- package/dist/configuration.svelte.js +161 -86
- package/dist/context.svelte.d.ts +23 -3
- package/dist/context.svelte.js +68 -30
- package/dist/diagnostics.d.ts +8 -0
- package/dist/diagnostics.js +6 -0
- package/dist/editor-save-context.d.ts +35 -0
- package/dist/editor-save-context.js +132 -0
- package/dist/editor-view-registry.d.ts +10 -0
- package/dist/editor-view-registry.js +44 -4
- package/dist/editor.svelte.d.ts +19 -1
- package/dist/editor.svelte.js +528 -55
- package/dist/embed-registry.d.ts +10 -0
- package/dist/embed-registry.js +15 -0
- package/dist/file-editing-failures.d.ts +2 -0
- package/dist/file-editing-failures.js +29 -0
- package/dist/file-editing-native-issues.d.ts +19 -0
- package/dist/file-editing-native-issues.js +65 -0
- package/dist/file-editing-sessions.d.ts +76 -0
- package/dist/file-editing-sessions.js +367 -0
- package/dist/file-manager.d.ts +9 -1
- package/dist/file-manager.js +45 -3
- package/dist/file-state-store.d.ts +5 -0
- package/dist/file-state-store.js +34 -0
- package/dist/file-text-conflicts.d.ts +25 -0
- package/dist/file-text-conflicts.js +35 -0
- package/dist/file-text-mutation.d.ts +13 -0
- package/dist/file-text-mutation.js +100 -0
- package/dist/file-text-persistence.d.ts +36 -0
- package/dist/file-text-persistence.js +234 -0
- package/dist/file-text-state-writer.d.ts +34 -0
- package/dist/file-text-state-writer.js +183 -0
- package/dist/files-configuration.d.ts +20 -0
- package/dist/files-configuration.js +47 -0
- package/dist/generated/plugin-host-modules.schema.generated.d.ts +114 -34
- package/dist/generated/plugin-host-modules.schema.generated.js +132 -34
- package/dist/glob.d.ts +3 -0
- package/dist/glob.js +2 -1
- package/dist/icons/changes.d.ts +3 -0
- package/dist/icons/changes.js +16 -0
- package/dist/icons/index.d.ts +5 -1
- package/dist/icons/index.js +44 -3
- package/dist/icons/registry.d.ts +35 -0
- package/dist/icons/registry.js +154 -0
- package/dist/icons/safe-svg.d.ts +2 -0
- package/dist/icons/safe-svg.js +44 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.js +4 -1
- package/dist/lapis-extension.d.ts +6 -2
- package/dist/lapis-extension.js +2 -0
- package/dist/metadata-store.d.ts +23 -0
- package/dist/metadata-store.js +1 -0
- package/dist/metadata.svelte.js +45 -2
- package/dist/native-background-indexing.d.ts +48 -0
- package/dist/native-background-indexing.js +208 -0
- package/dist/native-database-protocol.d.ts +29 -0
- package/dist/native-database-protocol.js +1 -0
- package/dist/native-editing-intent-lease.d.ts +17 -0
- package/dist/native-editing-intent-lease.js +188 -0
- package/dist/native-editing-intents-protocol.d.ts +70 -0
- package/dist/native-editing-intents-protocol.js +1 -0
- package/dist/native-editing-intents.d.ts +8 -0
- package/dist/native-editing-intents.js +1 -0
- package/dist/native-editing-problems.d.ts +3 -0
- package/dist/native-editing-problems.js +180 -0
- package/dist/native-editing-recovery.d.ts +24 -0
- package/dist/native-editing-recovery.js +198 -0
- package/dist/native-editing-session.d.ts +51 -0
- package/dist/native-editing-session.js +251 -0
- package/dist/native-history-index-protocol.d.ts +80 -0
- package/dist/native-history-index-protocol.js +1 -0
- package/dist/native-history-index.d.ts +6 -0
- package/dist/native-history-index.js +1 -0
- package/dist/native-indexing-protocol.d.ts +63 -0
- package/dist/native-indexing-protocol.js +1 -0
- package/dist/native-participant-protocol.d.ts +67 -0
- package/dist/native-participant-protocol.js +3 -0
- package/dist/native-queue-protocol.d.ts +73 -0
- package/dist/native-queue-protocol.js +3 -0
- package/dist/native-tasks-protocol.d.ts +264 -0
- package/dist/native-tasks-protocol.js +1 -0
- package/dist/native-tasks.d.ts +35 -0
- package/dist/native-tasks.js +79 -0
- package/dist/native-turn-protocol.d.ts +81 -0
- package/dist/native-turn-protocol.js +1 -0
- package/dist/native-turns.d.ts +29 -0
- package/dist/native-turns.js +2 -0
- package/dist/plugin-asset-server.js +3 -2
- package/dist/plugin-dependency-resolver.d.ts +1 -1
- package/dist/plugin-distribution/compatibility.d.ts +1 -1
- package/dist/plugin-distribution/compatibility.js +10 -5
- package/dist/plugin-distribution/installed-plugin-state.js +2 -1
- package/dist/plugin-distribution/installer.d.ts +6 -0
- package/dist/plugin-distribution/installer.js +90 -37
- package/dist/plugin-distribution/manager.d.ts +4 -1
- package/dist/plugin-distribution/manager.js +12 -5
- package/dist/plugin-distribution/registry-cache.js +2 -1
- package/dist/plugin-distribution/registry-source-state.js +2 -1
- package/dist/plugin-distribution/schemas.d.ts +26 -8
- package/dist/plugin-distribution/schemas.js +2 -1
- package/dist/plugin-distribution/types.d.ts +4 -0
- package/dist/plugin-manager.d.ts +21 -5
- package/dist/plugin-manager.js +228 -64
- package/dist/plugin-runtime-entry.d.ts +1 -1
- package/dist/plugin-runtime-entry.js +16 -0
- package/dist/plugin.d.ts +19 -3
- package/dist/plugin.js +110 -44
- package/dist/registry-schema/catalog-v1.d.ts +60 -9
- package/dist/registry-schema/catalog-v1.js +2 -1
- package/dist/registry-schema/catalog-v2.d.ts +60 -9
- package/dist/registry-schema/catalog-v2.js +1 -1
- package/dist/search-result-provider.d.ts +95 -0
- package/dist/search-result-provider.js +42 -0
- package/dist/status-bar.svelte.d.ts +26 -20
- package/dist/status-bar.svelte.js +1 -0
- package/dist/storage/app-database.d.ts +9 -23
- package/dist/storage/app-database.js +41 -34
- package/dist/storage/desktop-native.d.ts +5 -3
- package/dist/storage/desktop-native.js +59 -6
- package/dist/storage/directory-watcher.d.ts +27 -0
- package/dist/storage/directory-watcher.js +201 -0
- package/dist/storage/fs.d.ts +14 -27
- package/dist/storage/fs.js +2 -168
- package/dist/storage/index-projection.js +33 -15
- package/dist/storage/memory-vault-adapter.d.ts +2 -0
- package/dist/storage/memory-vault-adapter.js +14 -1
- package/dist/storage/path.d.ts +6 -2
- package/dist/storage/path.js +8 -2
- package/dist/storage/projection-query-candidates.d.ts +3 -0
- package/dist/storage/projection-query-candidates.js +69 -0
- package/dist/storage/remote-app-database.d.ts +2 -2
- package/dist/storage/remote-app-database.js +1 -1
- package/dist/storage/runtime.d.ts +3 -0
- package/dist/storage/runtime.js +3 -0
- package/dist/storage/search-embedding-record.d.ts +3 -0
- package/dist/storage/search-embedding-record.js +18 -0
- package/dist/storage/turso-app-database.d.ts +2 -0
- package/dist/storage/turso-app-database.js +67 -30
- package/dist/storage/vault-listing.d.ts +3 -0
- package/dist/storage/vault-listing.js +36 -0
- package/dist/storage/vault-reconciliation.d.ts +19 -0
- package/dist/storage/vault-reconciliation.js +137 -0
- package/dist/storage/vault-session.d.ts +8 -0
- package/dist/storage/vault-session.js +10 -2
- package/dist/storage/vault.svelte.d.ts +53 -4
- package/dist/storage/vault.svelte.js +223 -87
- package/dist/sync-editor-flush.d.ts +6 -0
- package/dist/sync-editor-flush.js +22 -0
- package/dist/sync-host-local.d.ts +15 -0
- package/dist/sync-host-local.js +228 -0
- package/dist/sync-host-security.d.ts +24 -9
- package/dist/sync-host-security.js +47 -14
- package/dist/sync-host.d.ts +33 -4
- package/dist/sync-host.js +160 -10
- package/dist/sync-repository.d.ts +106 -0
- package/dist/sync-repository.js +18 -0
- package/dist/vault-change-views.d.ts +4 -0
- package/dist/vault-change-views.js +43 -0
- package/dist/vault-changes.d.ts +37 -0
- package/dist/vault-changes.js +228 -0
- package/dist/view.svelte.d.ts +182 -149
- package/dist/view.svelte.js +39 -21
- package/dist/workspace-close-guard.d.ts +3 -0
- package/dist/workspace-close-guard.js +35 -0
- package/dist/workspace-host-internal.js +10 -2
- package/dist/workspace-layout-normalizer.d.ts +4 -2
- package/dist/workspace-layout-normalizer.js +5 -5
- package/dist/workspace-view-document.d.ts +3 -0
- package/dist/workspace-view-document.js +12 -0
- package/dist/workspace.svelte.d.ts +13 -2
- package/dist/workspace.svelte.js +371 -82
- package/package.json +61 -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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
20
|
+
sequence: number;
|
|
20
21
|
}
|
|
21
22
|
export declare class StatusBarManager {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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 &&
|