@dxos/plugin-search 0.7.5-main.9d26e3a → 0.7.5-main.b19bfc8

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 (57) hide show
  1. package/dist/lib/browser/app-graph-builder-4C2ZPCED.mjs +41 -0
  2. package/dist/lib/browser/app-graph-builder-4C2ZPCED.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-4L4PWJYC.mjs → chunk-B532NWHM.mjs} +3 -3
  4. package/dist/lib/browser/chunk-B532NWHM.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-GGOOQO2C.mjs +133 -0
  6. package/dist/lib/browser/chunk-GGOOQO2C.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-Z745WIBH.mjs +21 -0
  8. package/dist/lib/browser/chunk-Z745WIBH.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +61 -557
  10. package/dist/lib/browser/index.mjs.map +4 -4
  11. package/dist/lib/browser/intent-resolver-MKBD2LPH.mjs +22 -0
  12. package/dist/lib/browser/intent-resolver-MKBD2LPH.mjs.map +7 -0
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/react-surface-ZFFHKFME.mjs +343 -0
  15. package/dist/lib/browser/react-surface-ZFFHKFME.mjs.map +7 -0
  16. package/dist/types/src/SearchPlugin.d.ts +1 -3
  17. package/dist/types/src/SearchPlugin.d.ts.map +1 -1
  18. package/dist/types/src/capabilities/app-graph-builder.d.ts +181 -0
  19. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  20. package/dist/types/src/capabilities/index.d.ts +180 -0
  21. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  22. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  23. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  24. package/dist/types/src/capabilities/react-surface.d.ts +4 -0
  25. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  26. package/dist/types/src/components/SearchDialog.d.ts +2 -4
  27. package/dist/types/src/components/SearchDialog.d.ts.map +1 -1
  28. package/dist/types/src/components/SearchResults/SearchResults.d.ts +4 -3
  29. package/dist/types/src/components/SearchResults/SearchResults.d.ts.map +1 -1
  30. package/dist/types/src/components/SearchResults/SearchResults.stories.d.ts +1 -1
  31. package/dist/types/src/components/Searchbar/Searchbar.d.ts +1 -2
  32. package/dist/types/src/components/Searchbar/Searchbar.d.ts.map +1 -1
  33. package/dist/types/src/context.d.ts +2 -2
  34. package/dist/types/src/context.d.ts.map +1 -1
  35. package/dist/types/src/index.d.ts +1 -2
  36. package/dist/types/src/index.d.ts.map +1 -1
  37. package/dist/types/src/meta.d.ts +1 -2
  38. package/dist/types/src/meta.d.ts.map +1 -1
  39. package/dist/types/src/types.d.ts +0 -2
  40. package/dist/types/src/types.d.ts.map +1 -1
  41. package/dist/types/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +20 -27
  43. package/src/SearchPlugin.tsx +35 -91
  44. package/src/capabilities/app-graph-builder.ts +36 -0
  45. package/src/capabilities/index.ts +9 -0
  46. package/src/capabilities/intent-resolver.ts +18 -0
  47. package/src/capabilities/react-surface.tsx +39 -0
  48. package/src/components/SearchDialog.tsx +20 -35
  49. package/src/components/SearchResults/SearchResults.tsx +30 -43
  50. package/src/index.ts +1 -4
  51. package/src/meta.ts +1 -1
  52. package/src/search-sync.ts +1 -1
  53. package/src/search.ts +1 -1
  54. package/src/types.tsx +0 -13
  55. package/dist/lib/browser/chunk-4L4PWJYC.mjs.map +0 -7
  56. package/dist/lib/browser/meta.mjs +0 -11
  57. package/dist/lib/browser/meta.mjs.map +0 -7
@@ -0,0 +1,41 @@
1
+ import {
2
+ SearchAction
3
+ } from "./chunk-Z745WIBH.mjs";
4
+ import {
5
+ SEARCH_PLUGIN
6
+ } from "./chunk-B532NWHM.mjs";
7
+
8
+ // packages/plugins/experimental/plugin-search/src/capabilities/app-graph-builder.ts
9
+ import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
10
+ import { createExtension } from "@dxos/plugin-graph";
11
+ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, createExtension({
12
+ id: SEARCH_PLUGIN,
13
+ filter: (node) => node.id === "root",
14
+ actions: () => [
15
+ {
16
+ id: SearchAction.OpenSearch._tag,
17
+ data: async () => {
18
+ const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
19
+ await dispatch(createIntent(SearchAction.OpenSearch));
20
+ },
21
+ properties: {
22
+ label: [
23
+ "search action label",
24
+ {
25
+ ns: SEARCH_PLUGIN
26
+ }
27
+ ],
28
+ icon: "ph--magnifying-glass--regular",
29
+ keyBinding: {
30
+ macos: "shift+meta+f",
31
+ windows: "shift+alt+f"
32
+ },
33
+ testId: "searchPlugin.search"
34
+ }
35
+ }
36
+ ]
37
+ }));
38
+ export {
39
+ app_graph_builder_default as default
40
+ };
41
+ //# sourceMappingURL=app-graph-builder-4C2ZPCED.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginsContext } from '@dxos/app-framework';\nimport { createExtension, type Node } from '@dxos/plugin-graph';\n\nimport { SEARCH_PLUGIN } from '../meta';\nimport { SearchAction } from '../types';\n\nexport default (context: PluginsContext) =>\n contributes(\n Capabilities.AppGraphBuilder,\n createExtension({\n id: SEARCH_PLUGIN,\n filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: SearchAction.OpenSearch._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SearchAction.OpenSearch));\n },\n properties: {\n label: ['search action label', { ns: SEARCH_PLUGIN }],\n icon: 'ph--magnifying-glass--regular',\n keyBinding: {\n macos: 'shift+meta+f',\n windows: 'shift+alt+f',\n },\n testId: 'searchPlugin.search',\n },\n },\n ],\n }),\n );\n"],
5
+ "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,aAAaC,oBAAyC;AAC7E,SAASC,uBAAkC;AAK3C,IAAA,4BAAe,CAACC,YACdC,YACEC,aAAaC,iBACbC,gBAAgB;EACdC,IAAIC;EACJC,QAAQ,CAACC,SAA6BA,KAAKH,OAAO;EAClDI,SAAS,MAAM;IACb;MACEJ,IAAIK,aAAaC,WAAWC;MAC5BC,MAAM,YAAA;AACJ,cAAM,EAAEC,iBAAiBC,SAAQ,IAAKf,QAAQgB,kBAAkBd,aAAae,gBAAgB;AAC7F,cAAMF,SAASG,aAAaR,aAAaC,UAAU,CAAA;MACrD;MACAQ,YAAY;QACVC,OAAO;UAAC;UAAuB;YAAEC,IAAIf;UAAc;;QACnDgB,MAAM;QACNC,YAAY;UACVC,OAAO;UACPC,SAAS;QACX;QACAC,QAAQ;MACV;IACF;;AAEJ,CAAA,CAAA;",
6
+ "names": ["Capabilities", "contributes", "createIntent", "createExtension", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "SEARCH_PLUGIN", "filter", "node", "actions", "SearchAction", "OpenSearch", "_tag", "data", "dispatchPromise", "dispatch", "requestCapability", "IntentDispatcher", "createIntent", "properties", "label", "ns", "icon", "keyBinding", "macos", "windows", "testId"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  // packages/plugins/experimental/plugin-search/src/meta.ts
2
2
  var SEARCH_PLUGIN = "dxos.org/plugin/search";
3
3
  var SEARCH_RESULT = `${SEARCH_PLUGIN}/result`;
4
- var meta_default = {
4
+ var meta = {
5
5
  id: SEARCH_PLUGIN,
6
6
  name: "Search",
7
7
  description: "Search ECHO spaces for content.",
@@ -15,6 +15,6 @@ var meta_default = {
15
15
  export {
16
16
  SEARCH_PLUGIN,
17
17
  SEARCH_RESULT,
18
- meta_default
18
+ meta
19
19
  };
20
- //# sourceMappingURL=chunk-4L4PWJYC.mjs.map
20
+ //# sourceMappingURL=chunk-B532NWHM.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const SEARCH_PLUGIN = 'dxos.org/plugin/search';\nexport const SEARCH_RESULT = `${SEARCH_PLUGIN}/result`;\n\nexport const meta = {\n id: SEARCH_PLUGIN,\n name: 'Search',\n description: 'Search ECHO spaces for content.',\n icon: 'ph--magnifying-glass--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/experimental/plugin-search',\n tags: ['experimental'],\n} satisfies PluginMeta;\n"],
5
+ "mappings": ";AAMO,IAAMA,gBAAgB;AACtB,IAAMC,gBAAgB,GAAGD,aAAAA;AAEzB,IAAME,OAAO;EAClBC,IAAIH;EACJI,MAAM;EACNC,aAAa;EACbC,MAAM;EACNC,QAAQ;EACRC,MAAM;IAAC;;AACT;",
6
+ "names": ["SEARCH_PLUGIN", "SEARCH_RESULT", "meta", "id", "name", "description", "icon", "source", "tags"]
7
+ }
@@ -0,0 +1,133 @@
1
+ // packages/plugins/experimental/plugin-search/src/search-sync.ts
2
+ import { AST } from "@dxos/echo-schema";
3
+ import { getSchema } from "@dxos/live-object";
4
+ import { TextType } from "@dxos/schema";
5
+ var queryStringToMatch = (queryString) => {
6
+ const trimmed = queryString?.trim();
7
+ return trimmed ? new RegExp(trimmed, "i") : void 0;
8
+ };
9
+ var getIcon = (schema) => {
10
+ if (!(schema && AST.isTypeLiteral(schema.ast))) {
11
+ return void 0;
12
+ }
13
+ const keys = schema.ast.propertySignatures.map((p) => p.name);
14
+ if (keys.indexOf("email") !== -1) {
15
+ return "user";
16
+ }
17
+ if (keys.indexOf("website") !== -1) {
18
+ return "organization";
19
+ }
20
+ if (keys.indexOf("repo") !== -1) {
21
+ return "project";
22
+ }
23
+ return void 0;
24
+ };
25
+ var filterObjectsSync = (objects, match) => {
26
+ if (!match) {
27
+ return [];
28
+ }
29
+ return objects.reduce((results, object) => {
30
+ if (object instanceof TextType) {
31
+ return results;
32
+ }
33
+ const fields = mapObjectToTextFields(object);
34
+ Object.entries(fields).some(([, value]) => {
35
+ const result = value.match(match);
36
+ if (result) {
37
+ const label = getStringProperty(object, [
38
+ "label",
39
+ "name",
40
+ "title"
41
+ ]);
42
+ results.push({
43
+ id: object.id,
44
+ type: getIcon(getSchema(object)),
45
+ label,
46
+ match,
47
+ // TODO(burdon): Truncate.
48
+ // TODO(burdon): Issue with sketch documents.
49
+ snippet: value !== label ? value : fields.content ?? fields.description ?? void 0,
50
+ object
51
+ });
52
+ return true;
53
+ }
54
+ return false;
55
+ });
56
+ return results;
57
+ }, []);
58
+ };
59
+ var getStringProperty = (object, keys) => {
60
+ let label;
61
+ keys.some((key) => {
62
+ const value = object[key];
63
+ if (typeof value === "string") {
64
+ label = value;
65
+ return true;
66
+ }
67
+ return false;
68
+ });
69
+ return label;
70
+ };
71
+ var getKeys = (object) => {
72
+ try {
73
+ const obj = JSON.parse(JSON.stringify(object));
74
+ return Object.keys(obj).filter((key) => key !== "id" && key !== "identityKey" && key[0] !== "_" && key[0] !== "@");
75
+ } catch (err) {
76
+ return [];
77
+ }
78
+ };
79
+ var mapObjectToTextFields = (object) => {
80
+ return getKeys(object).reduce((fields, key) => {
81
+ const value = object[key];
82
+ if (typeof value === "string" || value instanceof TextType) {
83
+ try {
84
+ fields[key] = String(value);
85
+ } catch (err) {
86
+ }
87
+ }
88
+ return fields;
89
+ }, {});
90
+ };
91
+
92
+ // packages/plugins/experimental/plugin-search/src/context.tsx
93
+ import React, { createContext, useContext, useMemo, useState } from "react";
94
+ import { raise } from "@dxos/debug";
95
+ var SearchContext = /* @__PURE__ */ createContext({});
96
+ var SearchContextProvider = ({ children }) => {
97
+ const [match, setMatch] = useState();
98
+ const handleMatch = (text) => setMatch(queryStringToMatch(text));
99
+ return /* @__PURE__ */ React.createElement(SearchContext.Provider, {
100
+ value: {
101
+ match,
102
+ setMatch: handleMatch
103
+ }
104
+ }, children);
105
+ };
106
+ var useGlobalSearch = () => {
107
+ return useContext(SearchContext) ?? raise(new Error("Missing SearchContext."));
108
+ };
109
+ var useGlobalSearchResults = (objects) => {
110
+ const { match } = useGlobalSearch();
111
+ return objects && match ? filterObjectsSync(objects, match) : [];
112
+ };
113
+ var useGlobalFilteredObjects = (objects) => {
114
+ const { match } = useGlobalSearch();
115
+ if (!match || !objects) {
116
+ return objects ?? [];
117
+ }
118
+ return useMemo(() => filterObjectsSync(objects, match).map((result) => result.object), [
119
+ objects,
120
+ match
121
+ ]);
122
+ };
123
+
124
+ export {
125
+ queryStringToMatch,
126
+ filterObjectsSync,
127
+ mapObjectToTextFields,
128
+ SearchContextProvider,
129
+ useGlobalSearch,
130
+ useGlobalSearchResults,
131
+ useGlobalFilteredObjects
132
+ };
133
+ //# sourceMappingURL=chunk-GGOOQO2C.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/search-sync.ts", "../../../src/context.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { AST, type S } from '@dxos/echo-schema';\nimport { getSchema } from '@dxos/live-object';\nimport { TextType } from '@dxos/schema';\n\nexport const queryStringToMatch = (queryString?: string): RegExp | undefined => {\n const trimmed = queryString?.trim();\n return trimmed ? new RegExp(trimmed, 'i') : undefined;\n};\n\n// TODO(burdon): Type name registry linked to schema?\nconst getIcon = (schema: S.Schema<any> | undefined): string | undefined => {\n if (!(schema && AST.isTypeLiteral(schema.ast))) {\n return undefined;\n }\n const keys = schema.ast.propertySignatures.map((p) => p.name);\n if (keys.indexOf('email') !== -1) {\n return 'user';\n }\n if (keys.indexOf('website') !== -1) {\n return 'organization';\n }\n if (keys.indexOf('repo') !== -1) {\n return 'project';\n }\n\n return undefined;\n};\n\n// Plain text fields.\n// TODO(burdon): Reconcile with agent index.\nexport type TextFields = Record<string, string>;\n\nexport type SearchResult = {\n id: string;\n type?: string;\n label?: string;\n match?: RegExp;\n snippet?: string;\n object?: any;\n};\n\n// TODO(thure): This returns `SearchResult[]` which is not just a narrower set of objects as the name implies.\nexport const filterObjectsSync = <T extends Record<string, any>>(objects: T[], match?: RegExp): SearchResult[] => {\n if (!match) {\n return [];\n }\n\n return objects.reduce<SearchResult[]>((results, object) => {\n // TODO(burdon): Hack to ignore Text objects.\n if (object instanceof TextType) {\n return results;\n }\n\n const fields = mapObjectToTextFields(object);\n Object.entries(fields).some(([, value]) => {\n const result = value.match(match);\n if (result) {\n // TODO(burdon): Use schema.\n const label = getStringProperty(object, ['label', 'name', 'title']);\n\n results.push({\n id: object.id,\n type: getIcon(getSchema(object)),\n label,\n match,\n // TODO(burdon): Truncate.\n // TODO(burdon): Issue with sketch documents.\n snippet: value !== label ? value : fields.content ?? fields.description ?? undefined,\n object,\n });\n\n return true;\n }\n\n return false;\n });\n\n return results;\n }, []);\n};\n\n// TODO(burdon): Use schema?\nconst getStringProperty = (object: Record<string, unknown>, keys: string[]): string | undefined => {\n let label;\n keys.some((key) => {\n const value = object[key];\n if (typeof value === 'string') {\n label = value;\n return true;\n }\n\n return false;\n });\n\n return label;\n};\n\n// TODO(burdon): Filter system fields.\nconst getKeys = (object: Record<string, unknown>): string[] => {\n try {\n const obj = JSON.parse(JSON.stringify(object));\n return Object.keys(obj).filter(\n (key) => key !== 'id' && key !== 'identityKey' && key[0] !== '_' && key[0] !== '@',\n ) as string[];\n } catch (err) {\n // TODO(burdon): Error with TLDraw sketch.\n // Uncaught Error: Type with the name content has already been defined with a different constructor\n return [];\n }\n};\n\n// TODO(burdon): Use ECHO schema.\nexport const mapObjectToTextFields = <T extends Record<string, unknown>>(object: T): TextFields => {\n return getKeys(object).reduce<TextFields>((fields, key) => {\n const value = object[key] as any;\n if (typeof value === 'string' || value instanceof TextType) {\n try {\n fields[key] = String(value);\n } catch (err) {\n // TODO(burdon): Exception when parsing sketch document.\n }\n }\n\n return fields;\n }, {});\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { createContext, type PropsWithChildren, useContext, useMemo, useState } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { filterObjectsSync, queryStringToMatch, type SearchResult } from './search-sync';\n\ntype SearchContextType = {\n match?: RegExp;\n setMatch?: (text?: string) => void;\n};\n\nconst SearchContext = createContext<SearchContextType>({});\n\nexport const SearchContextProvider = ({ children }: PropsWithChildren) => {\n const [match, setMatch] = useState<RegExp>();\n const handleMatch = (text?: string) => setMatch(queryStringToMatch(text));\n return <SearchContext.Provider value={{ match, setMatch: handleMatch }}>{children}</SearchContext.Provider>;\n};\n\nexport const useGlobalSearch = () => {\n return useContext(SearchContext) ?? raise(new Error('Missing SearchContext.'));\n};\n\nexport const useGlobalSearchResults = <T extends Record<string, any>>(objects?: T[]): SearchResult[] => {\n const { match } = useGlobalSearch();\n return objects && match ? filterObjectsSync(objects, match) : [];\n};\n\nexport const useGlobalFilteredObjects = <T extends Record<string, any>>(objects?: T[]): T[] => {\n const { match } = useGlobalSearch();\n if (!match || !objects) {\n return objects ?? [];\n }\n\n return useMemo(() => filterObjectsSync(objects, match).map((result) => result.object), [objects, match]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["AST", "getSchema", "TextType", "queryStringToMatch", "queryString", "trimmed", "trim", "RegExp", "undefined", "getIcon", "schema", "AST", "isTypeLiteral", "ast", "keys", "propertySignatures", "map", "p", "name", "indexOf", "filterObjectsSync", "objects", "match", "reduce", "results", "object", "TextType", "fields", "mapObjectToTextFields", "Object", "entries", "some", "value", "result", "label", "getStringProperty", "push", "id", "type", "getSchema", "snippet", "content", "description", "key", "getKeys", "obj", "JSON", "parse", "stringify", "filter", "err", "String", "React", "createContext", "useContext", "useMemo", "useState", "raise", "SearchContext", "createContext", "SearchContextProvider", "children", "match", "setMatch", "useState", "handleMatch", "text", "queryStringToMatch", "Provider", "value", "useGlobalSearch", "useContext", "raise", "Error", "useGlobalSearchResults", "objects", "filterObjectsSync", "useGlobalFilteredObjects", "useMemo", "map", "result", "object"]
7
+ }
@@ -0,0 +1,21 @@
1
+ import {
2
+ SEARCH_PLUGIN
3
+ } from "./chunk-B532NWHM.mjs";
4
+
5
+ // packages/plugins/experimental/plugin-search/src/types.tsx
6
+ import { S } from "@dxos/echo-schema";
7
+ var SearchAction;
8
+ (function(SearchAction2) {
9
+ const SEARCH_ACTION = `${SEARCH_PLUGIN}/action`;
10
+ class OpenSearch extends S.TaggedClass()(`${SEARCH_ACTION}/open-search`, {
11
+ input: S.Void,
12
+ output: S.Void
13
+ }) {
14
+ }
15
+ SearchAction2.OpenSearch = OpenSearch;
16
+ })(SearchAction || (SearchAction = {}));
17
+
18
+ export {
19
+ SearchAction
20
+ };
21
+ //# sourceMappingURL=chunk-Z745WIBH.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { S } from '@dxos/echo-schema';\n\nimport { SEARCH_PLUGIN } from './meta';\n\nexport namespace SearchAction {\n const SEARCH_ACTION = `${SEARCH_PLUGIN}/action`;\n\n export class OpenSearch extends S.TaggedClass<OpenSearch>()(`${SEARCH_ACTION}/open-search`, {\n input: S.Void,\n output: S.Void,\n }) {}\n}\n"],
5
+ "mappings": ";;;;;AAIA,SAASA,SAAS;;UAIDC,eAAAA;AACf,QAAMC,gBAAgB,GAAGC,aAAAA;EAElB,MAAMC,mBAAmBC,EAAEC,YAAW,EAAe,GAAGJ,aAAAA,gBAA6B;IAC1FK,OAAOF,EAAEG;IACTC,QAAQJ,EAAEG;EACZ,CAAA,EAAA;EAAI;gBAHSJ,aAAAA;AAIf,GAPiBH,iBAAAA,eAAAA,CAAAA,EAAAA;",
6
+ "names": ["S", "SearchAction", "SEARCH_ACTION", "SEARCH_PLUGIN", "OpenSearch", "S", "TaggedClass", "input", "Void", "output"]
7
+ }