@dxos/plugin-search 0.8.1-staging.5be625a → 0.8.1-staging.97aedb1

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 (89) hide show
  1. package/dist/lib/browser/app-graph-builder-RHZORTY2.mjs +76 -0
  2. package/dist/lib/browser/app-graph-builder-RHZORTY2.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-2QDXE2SP.mjs → chunk-J6YWSQTW.mjs} +2 -2
  4. package/dist/lib/browser/{chunk-RJRPR6BG.mjs → chunk-LXHJVTYG.mjs} +3 -3
  5. package/dist/lib/browser/{chunk-RJRPR6BG.mjs.map → chunk-LXHJVTYG.mjs.map} +2 -2
  6. package/dist/lib/browser/{chunk-2G5TBIJT.mjs → chunk-NFZSXZMP.mjs} +55 -4
  7. package/dist/lib/browser/chunk-NFZSXZMP.mjs.map +7 -0
  8. package/dist/lib/browser/index.mjs +29 -18
  9. package/dist/lib/browser/index.mjs.map +3 -3
  10. package/dist/lib/browser/{intent-resolver-M3EJMBGZ.mjs → intent-resolver-G76A35DX.mjs} +4 -4
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/react-surface-QBBLEI2Q.mjs +609 -0
  13. package/dist/lib/browser/react-surface-QBBLEI2Q.mjs.map +7 -0
  14. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  15. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  16. package/dist/types/src/components/SearchMain.d.ts +3 -2
  17. package/dist/types/src/components/SearchMain.d.ts.map +1 -1
  18. package/dist/types/src/components/SearchResults/SearchResults.d.ts +1 -1
  19. package/dist/types/src/components/SearchResults/SearchResults.d.ts.map +1 -1
  20. package/dist/types/src/components/Searchbar/Searchbar.d.ts +2 -1
  21. package/dist/types/src/components/Searchbar/Searchbar.d.ts.map +1 -1
  22. package/dist/types/src/components/Searchbar/Searchbar.stories.d.ts +1 -1
  23. package/dist/types/src/components/Searchbar/Searchbar.stories.d.ts.map +1 -1
  24. package/dist/types/src/hooks/index.d.ts +4 -0
  25. package/dist/types/src/hooks/index.d.ts.map +1 -0
  26. package/dist/types/src/{search-sync.d.ts → hooks/sync.d.ts} +3 -9
  27. package/dist/types/src/hooks/sync.d.ts.map +1 -0
  28. package/dist/types/src/hooks/sync.test.d.ts +2 -0
  29. package/dist/types/src/hooks/sync.test.d.ts.map +1 -0
  30. package/dist/types/src/{context.d.ts → hooks/useGlobalSearch.d.ts} +2 -2
  31. package/dist/types/src/hooks/useGlobalSearch.d.ts.map +1 -0
  32. package/dist/types/src/{search.d.ts → hooks/useSearchResults.d.ts} +1 -1
  33. package/dist/types/src/hooks/useSearchResults.d.ts.map +1 -0
  34. package/dist/types/src/hooks/useWebSearch.d.ts +10 -0
  35. package/dist/types/src/hooks/useWebSearch.d.ts.map +1 -0
  36. package/dist/types/src/index.d.ts +2 -2
  37. package/dist/types/src/index.d.ts.map +1 -1
  38. package/dist/types/src/search/exa.d.ts +19 -0
  39. package/dist/types/src/search/exa.d.ts.map +1 -0
  40. package/dist/types/src/search/exa.test.d.ts +2 -0
  41. package/dist/types/src/search/exa.test.d.ts.map +1 -0
  42. package/dist/types/src/search/index.d.ts +2 -0
  43. package/dist/types/src/search/index.d.ts.map +1 -0
  44. package/dist/types/src/translations.d.ts +1 -0
  45. package/dist/types/src/translations.d.ts.map +1 -1
  46. package/dist/types/src/{types.d.ts → types/action.d.ts} +1 -1
  47. package/dist/types/src/types/action.d.ts.map +1 -0
  48. package/dist/types/src/types/index.d.ts +3 -0
  49. package/dist/types/src/types/index.d.ts.map +1 -0
  50. package/dist/types/src/types/search.d.ts +21 -0
  51. package/dist/types/src/types/search.d.ts.map +1 -0
  52. package/package.json +29 -18
  53. package/src/SearchPlugin.tsx +7 -7
  54. package/src/capabilities/app-graph-builder.ts +28 -3
  55. package/src/capabilities/react-surface.tsx +26 -3
  56. package/src/components/Search.stories.tsx +1 -1
  57. package/src/components/SearchDialog.tsx +1 -1
  58. package/src/components/SearchMain.tsx +30 -11
  59. package/src/components/SearchResults/SearchResults.stories.tsx +1 -1
  60. package/src/components/SearchResults/SearchResults.tsx +16 -30
  61. package/src/components/Searchbar/Searchbar.stories.tsx +5 -2
  62. package/src/components/Searchbar/Searchbar.tsx +15 -3
  63. package/src/hooks/index.ts +7 -0
  64. package/src/{search.test.ts → hooks/sync.test.ts} +1 -1
  65. package/src/{search-sync.ts → hooks/sync.ts} +3 -10
  66. package/src/{context.tsx → hooks/useGlobalSearch.tsx} +2 -1
  67. package/src/{search.ts → hooks/useSearchResults.ts} +1 -1
  68. package/src/hooks/useWebSearch.ts +60 -0
  69. package/src/index.ts +2 -2
  70. package/src/search/exa.test.ts +237 -0
  71. package/src/search/exa.ts +250 -0
  72. package/src/search/index.ts +5 -0
  73. package/src/translations.ts +1 -0
  74. package/src/{types.tsx → types/action.tsx} +1 -1
  75. package/src/types/index.ts +6 -0
  76. package/src/types/search.ts +29 -0
  77. package/dist/lib/browser/app-graph-builder-SKWILENV.mjs +0 -41
  78. package/dist/lib/browser/app-graph-builder-SKWILENV.mjs.map +0 -7
  79. package/dist/lib/browser/chunk-2G5TBIJT.mjs.map +0 -7
  80. package/dist/lib/browser/react-surface-NAYLAW2V.mjs +0 -343
  81. package/dist/lib/browser/react-surface-NAYLAW2V.mjs.map +0 -7
  82. package/dist/types/src/context.d.ts.map +0 -1
  83. package/dist/types/src/search-sync.d.ts.map +0 -1
  84. package/dist/types/src/search.d.ts.map +0 -1
  85. package/dist/types/src/search.test.d.ts +0 -2
  86. package/dist/types/src/search.test.d.ts.map +0 -1
  87. package/dist/types/src/types.d.ts.map +0 -1
  88. /package/dist/lib/browser/{chunk-2QDXE2SP.mjs.map → chunk-J6YWSQTW.mjs.map} +0 -0
  89. /package/dist/lib/browser/{intent-resolver-M3EJMBGZ.mjs.map → intent-resolver-G76A35DX.mjs.map} +0 -0
@@ -0,0 +1,76 @@
1
+ import {
2
+ SearchAction
3
+ } from "./chunk-LXHJVTYG.mjs";
4
+ import {
5
+ SEARCH_PLUGIN
6
+ } from "./chunk-J6YWSQTW.mjs";
7
+
8
+ // packages/plugins/plugin-search/src/capabilities/app-graph-builder.ts
9
+ import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
10
+ import { ClientCapabilities } from "@dxos/plugin-client";
11
+ import { ATTENDABLE_PATH_SEPARATOR, DECK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
12
+ import { createExtension } from "@dxos/plugin-graph";
13
+ import { parseId } from "@dxos/react-client/echo";
14
+ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, [
15
+ createExtension({
16
+ id: `${SEARCH_PLUGIN}/space-search`,
17
+ filter: (node) => node.id === "root",
18
+ connector: ({ node }) => {
19
+ const layout = context.requestCapability(Capabilities.Layout);
20
+ const client = context.requestCapability(ClientCapabilities.Client);
21
+ const { spaceId } = parseId(layout.workspace);
22
+ const space = spaceId ? client.spaces.get(spaceId) : null;
23
+ return [
24
+ {
25
+ id: [
26
+ node.id,
27
+ "search"
28
+ ].join(ATTENDABLE_PATH_SEPARATOR),
29
+ type: DECK_COMPANION_TYPE,
30
+ data: space,
31
+ properties: {
32
+ label: [
33
+ "search label",
34
+ {
35
+ ns: SEARCH_PLUGIN
36
+ }
37
+ ],
38
+ icon: "ph--magnifying-glass--regular",
39
+ disposition: "hidden"
40
+ }
41
+ }
42
+ ];
43
+ }
44
+ }),
45
+ createExtension({
46
+ id: SEARCH_PLUGIN,
47
+ filter: (node) => node.id === "root",
48
+ actions: () => [
49
+ {
50
+ id: SearchAction.OpenSearch._tag,
51
+ data: async () => {
52
+ const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
53
+ await dispatch(createIntent(SearchAction.OpenSearch));
54
+ },
55
+ properties: {
56
+ label: [
57
+ "search action label",
58
+ {
59
+ ns: SEARCH_PLUGIN
60
+ }
61
+ ],
62
+ icon: "ph--magnifying-glass--regular",
63
+ keyBinding: {
64
+ macos: "shift+meta+f",
65
+ windows: "shift+alt+f"
66
+ },
67
+ testId: "searchPlugin.search"
68
+ }
69
+ }
70
+ ]
71
+ })
72
+ ]);
73
+ export {
74
+ app_graph_builder_default as default
75
+ };
76
+ //# sourceMappingURL=app-graph-builder-RHZORTY2.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 { ClientCapabilities } from '@dxos/plugin-client';\nimport { ATTENDABLE_PATH_SEPARATOR, DECK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { createExtension, type Node } from '@dxos/plugin-graph';\nimport { parseId } from '@dxos/react-client/echo';\n\nimport { SEARCH_PLUGIN } from '../meta';\nimport { SearchAction } from '../types';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${SEARCH_PLUGIN}/space-search`,\n filter: (node): node is Node<null> => node.id === 'root',\n connector: ({ node }) => {\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = spaceId ? client.spaces.get(spaceId) : null;\n\n return [\n {\n id: [node.id, 'search'].join(ATTENDABLE_PATH_SEPARATOR),\n type: DECK_COMPANION_TYPE,\n data: space,\n properties: {\n label: ['search label', { ns: SEARCH_PLUGIN }],\n icon: 'ph--magnifying-glass--regular',\n disposition: 'hidden',\n },\n },\n ];\n },\n }),\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,0BAA0B;AACnC,SAASC,2BAA2BC,2BAA2B;AAC/D,SAASC,uBAAkC;AAC3C,SAASC,eAAe;AAKxB,IAAA,4BAAe,CAACC,YACdC,YAAYC,aAAaC,iBAAiB;EACxCC,gBAAgB;IACdC,IAAI,GAAGC,aAAAA;IACPC,QAAQ,CAACC,SAA6BA,KAAKH,OAAO;IAClDI,WAAW,CAAC,EAAED,KAAI,MAAE;AAClB,YAAME,SAASV,QAAQW,kBAAkBT,aAAaU,MAAM;AAC5D,YAAMC,SAASb,QAAQW,kBAAkBG,mBAAmBC,MAAM;AAClE,YAAM,EAAEC,QAAO,IAAKC,QAAQP,OAAOQ,SAAS;AAC5C,YAAMC,QAAQH,UAAUH,OAAOO,OAAOC,IAAIL,OAAAA,IAAW;AAErD,aAAO;QACL;UACEX,IAAI;YAACG,KAAKH;YAAI;YAAUiB,KAAKC,yBAAAA;UAC7BC,MAAMC;UACNC,MAAMP;UACNQ,YAAY;YACVC,OAAO;cAAC;cAAgB;gBAAEC,IAAIvB;cAAc;;YAC5CwB,MAAM;YACNC,aAAa;UACf;QACF;;IAEJ;EACF,CAAA;EACA3B,gBAAgB;IACdC,IAAIC;IACJC,QAAQ,CAACC,SAA6BA,KAAKH,OAAO;IAClD2B,SAAS,MAAM;MACb;QACE3B,IAAI4B,aAAaC,WAAWC;QAC5BT,MAAM,YAAA;AACJ,gBAAM,EAAEU,iBAAiBC,SAAQ,IAAKrC,QAAQW,kBAAkBT,aAAaoC,gBAAgB;AAC7F,gBAAMD,SAASE,aAAaN,aAAaC,UAAU,CAAA;QACrD;QACAP,YAAY;UACVC,OAAO;YAAC;YAAuB;cAAEC,IAAIvB;YAAc;;UACnDwB,MAAM;UACNU,YAAY;YACVC,OAAO;YACPC,SAAS;UACX;UACAC,QAAQ;QACV;MACF;;EAEJ,CAAA;CACD;",
6
+ "names": ["Capabilities", "contributes", "createIntent", "ClientCapabilities", "ATTENDABLE_PATH_SEPARATOR", "DECK_COMPANION_TYPE", "createExtension", "parseId", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "SEARCH_PLUGIN", "filter", "node", "connector", "layout", "requestCapability", "Layout", "client", "ClientCapabilities", "Client", "spaceId", "parseId", "workspace", "space", "spaces", "get", "join", "ATTENDABLE_PATH_SEPARATOR", "type", "DECK_COMPANION_TYPE", "data", "properties", "label", "ns", "icon", "disposition", "actions", "SearchAction", "OpenSearch", "_tag", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "keyBinding", "macos", "windows", "testId"]
7
+ }
@@ -1,4 +1,4 @@
1
- // packages/plugins/experimental/plugin-search/src/meta.ts
1
+ // packages/plugins/plugin-search/src/meta.ts
2
2
  var SEARCH_PLUGIN = "dxos.org/plugin/search";
3
3
  var SEARCH_RESULT = `${SEARCH_PLUGIN}/result`;
4
4
  var meta = {
@@ -17,4 +17,4 @@ export {
17
17
  SEARCH_RESULT,
18
18
  meta
19
19
  };
20
- //# sourceMappingURL=chunk-2QDXE2SP.mjs.map
20
+ //# sourceMappingURL=chunk-J6YWSQTW.mjs.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  SEARCH_PLUGIN
3
- } from "./chunk-2QDXE2SP.mjs";
3
+ } from "./chunk-J6YWSQTW.mjs";
4
4
 
5
- // packages/plugins/experimental/plugin-search/src/types.tsx
5
+ // packages/plugins/plugin-search/src/types/action.tsx
6
6
  import { S } from "@dxos/echo-schema";
7
7
  var SearchAction;
8
8
  (function(SearchAction2) {
@@ -18,4 +18,4 @@ var SearchAction;
18
18
  export {
19
19
  SearchAction
20
20
  };
21
- //# sourceMappingURL=chunk-RJRPR6BG.mjs.map
21
+ //# sourceMappingURL=chunk-LXHJVTYG.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
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"],
3
+ "sources": ["../../../src/types/action.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
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
6
  "names": ["S", "SearchAction", "SEARCH_ACTION", "SEARCH_PLUGIN", "OpenSearch", "S", "TaggedClass", "input", "Void", "output"]
7
7
  }
@@ -1,4 +1,4 @@
1
- // packages/plugins/experimental/plugin-search/src/search-sync.ts
1
+ // packages/plugins/plugin-search/src/hooks/sync.ts
2
2
  import { AST } from "@dxos/echo-schema";
3
3
  import { getSchema } from "@dxos/live-object";
4
4
  import { TextType } from "@dxos/schema";
@@ -89,7 +89,7 @@ var mapObjectToTextFields = (object) => {
89
89
  }, {});
90
90
  };
91
91
 
92
- // packages/plugins/experimental/plugin-search/src/context.tsx
92
+ // packages/plugins/plugin-search/src/hooks/useGlobalSearch.tsx
93
93
  import React, { createContext, useContext, useMemo, useState } from "react";
94
94
  import { raise } from "@dxos/debug";
95
95
  var SearchContext = /* @__PURE__ */ createContext({});
@@ -121,13 +121,64 @@ var useGlobalFilteredObjects = (objects) => {
121
121
  ]);
122
122
  };
123
123
 
124
+ // packages/plugins/plugin-search/src/hooks/useSearchResults.ts
125
+ import { yieldOrContinue } from "main-thread-scheduling";
126
+ import { useEffect, useState as useState2 } from "react";
127
+ import { TextType as TextType2 } from "@dxos/schema";
128
+ var filterObjects = async (objects, match) => {
129
+ const result = /* @__PURE__ */ new Map();
130
+ if (!match) {
131
+ return result;
132
+ }
133
+ await Promise.all(objects.filter((object) => !(object instanceof TextType2)).map(async (object) => {
134
+ await yieldOrContinue("interactive");
135
+ const fields = mapObjectToTextFields(object);
136
+ Object.entries(fields).filter(([_, value]) => value.match(match)).forEach(([key, value]) => {
137
+ if (!result.has(object)) {
138
+ result.set(object, []);
139
+ }
140
+ result.set(object, [
141
+ ...result.get(object),
142
+ [
143
+ key,
144
+ value
145
+ ]
146
+ ]);
147
+ });
148
+ }));
149
+ return result;
150
+ };
151
+ var useSearchResults = (queryString, objects, delay = 400) => {
152
+ const [results, setResults] = useState2(/* @__PURE__ */ new Map());
153
+ const [pending, setPending] = useState2(false);
154
+ useEffect(() => {
155
+ setPending(!!(objects && queryString));
156
+ const timeoutId = setTimeout(async () => {
157
+ const nextResults = objects && queryString ? await filterObjects(objects, queryStringToMatch(queryString)) : /* @__PURE__ */ new Map();
158
+ setResults(nextResults);
159
+ setPending(false);
160
+ }, delay);
161
+ return () => clearTimeout(timeoutId);
162
+ }, [
163
+ queryString,
164
+ objects
165
+ ]);
166
+ return [
167
+ pending,
168
+ results
169
+ ];
170
+ };
171
+
124
172
  export {
125
173
  queryStringToMatch,
126
174
  filterObjectsSync,
175
+ getStringProperty,
127
176
  mapObjectToTextFields,
128
177
  SearchContextProvider,
129
178
  useGlobalSearch,
130
179
  useGlobalSearchResults,
131
- useGlobalFilteredObjects
180
+ useGlobalFilteredObjects,
181
+ filterObjects,
182
+ useSearchResults
132
183
  };
133
- //# sourceMappingURL=chunk-2G5TBIJT.mjs.map
184
+ //# sourceMappingURL=chunk-NFZSXZMP.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/sync.ts", "../../../src/hooks/useGlobalSearch.tsx", "../../../src/hooks/useSearchResults.ts"],
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\nimport { type SearchResult } from '../types';\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.AnyNoContext | 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\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?\nexport const 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 } from './sync';\nimport { type SearchResult } from '../types';\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", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { yieldOrContinue } from 'main-thread-scheduling';\nimport { useEffect, useState } from 'react';\n\nimport { TextType } from '@dxos/schema';\n\n// TODO(thure): Deprecate search-sync, move still-relevant utilities elsewhere (here, probably).\nimport { mapObjectToTextFields, queryStringToMatch } from './sync';\n\nexport const filterObjects = async <T extends Record<string, any>>(\n objects: T[],\n match?: RegExp,\n): Promise<Map<T, string[][]>> => {\n const result = new Map<T, string[][]>();\n if (!match) {\n return result;\n }\n await Promise.all(\n objects\n .filter((object) => !(object instanceof TextType))\n .map(async (object) => {\n await yieldOrContinue('interactive');\n const fields = mapObjectToTextFields<T>(object);\n Object.entries(fields)\n .filter(([_, value]) => value.match(match))\n .forEach(([key, value]) => {\n if (!result.has(object)) {\n result.set(object, []);\n }\n result.set(object, [...result.get(object)!, [key, value]]);\n });\n }),\n );\n return result;\n};\n\nexport const useSearchResults = <T extends Record<string, any>>(\n queryString?: string,\n objects?: T[],\n delay: number = 400,\n): [boolean, Map<T, string[][]>] => {\n const [results, setResults] = useState<Map<T, string[][]>>(new Map());\n const [pending, setPending] = useState(false);\n\n useEffect(() => {\n setPending(!!(objects && queryString));\n const timeoutId = setTimeout(async () => {\n const nextResults =\n objects && queryString ? await filterObjects(objects, queryStringToMatch(queryString)) : new Map();\n setResults(nextResults);\n setPending(false);\n }, delay);\n\n return () => clearTimeout(timeoutId);\n }, [queryString, objects]);\n\n return [pending, results];\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", "yieldOrContinue", "useEffect", "useState", "TextType", "filterObjects", "objects", "match", "result", "Map", "Promise", "all", "filter", "object", "TextType", "map", "yieldOrContinue", "fields", "mapObjectToTextFields", "Object", "entries", "_", "value", "forEach", "key", "has", "set", "get", "useSearchResults", "queryString", "delay", "results", "setResults", "useState", "pending", "setPending", "useEffect", "timeoutId", "setTimeout", "nextResults", "queryStringToMatch", "clearTimeout"]
7
+ }
@@ -1,28 +1,34 @@
1
+ import {
2
+ SearchAction
3
+ } from "./chunk-LXHJVTYG.mjs";
1
4
  import {
2
5
  SearchContextProvider,
6
+ filterObjects,
3
7
  filterObjectsSync,
8
+ getStringProperty,
4
9
  mapObjectToTextFields,
5
10
  queryStringToMatch,
6
11
  useGlobalFilteredObjects,
7
12
  useGlobalSearch,
8
- useGlobalSearchResults
9
- } from "./chunk-2G5TBIJT.mjs";
13
+ useGlobalSearchResults,
14
+ useSearchResults
15
+ } from "./chunk-NFZSXZMP.mjs";
10
16
  import {
11
17
  SEARCH_PLUGIN,
12
18
  SEARCH_RESULT,
13
19
  meta
14
- } from "./chunk-2QDXE2SP.mjs";
20
+ } from "./chunk-J6YWSQTW.mjs";
15
21
 
16
- // packages/plugins/experimental/plugin-search/src/SearchPlugin.tsx
22
+ // packages/plugins/plugin-search/src/SearchPlugin.tsx
17
23
  import { contributes, Events, defineModule, definePlugin, Capabilities } from "@dxos/app-framework";
18
24
 
19
- // packages/plugins/experimental/plugin-search/src/capabilities/index.ts
25
+ // packages/plugins/plugin-search/src/capabilities/index.ts
20
26
  import { lazy } from "@dxos/app-framework";
21
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-SKWILENV.mjs"));
22
- var IntentResolver = lazy(() => import("./intent-resolver-M3EJMBGZ.mjs"));
23
- var ReactSurface = lazy(() => import("./react-surface-NAYLAW2V.mjs"));
27
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-RHZORTY2.mjs"));
28
+ var IntentResolver = lazy(() => import("./intent-resolver-G76A35DX.mjs"));
29
+ var ReactSurface = lazy(() => import("./react-surface-QBBLEI2Q.mjs"));
24
30
 
25
- // packages/plugins/experimental/plugin-search/src/translations.ts
31
+ // packages/plugins/plugin-search/src/translations.ts
26
32
  var translations_default = [
27
33
  {
28
34
  "en-US": {
@@ -33,13 +39,14 @@ var translations_default = [
33
39
  "search dialog title": "Open",
34
40
  "recently closed heading": "Recently closed",
35
41
  "pending results message": "Searching\u2026",
36
- "empty results message": "No matching items in your spaces"
42
+ "empty results message": "No matching items in your spaces",
43
+ "search label": "Search"
37
44
  }
38
45
  }
39
46
  }
40
47
  ];
41
48
 
42
- // packages/plugins/experimental/plugin-search/src/SearchPlugin.tsx
49
+ // packages/plugins/plugin-search/src/SearchPlugin.tsx
43
50
  var SearchPlugin = () => definePlugin(meta, [
44
51
  defineModule({
45
52
  id: `${meta.id}/module/translations`,
@@ -70,9 +77,9 @@ var SearchPlugin = () => definePlugin(meta, [
70
77
  })
71
78
  }),
72
79
  defineModule({
73
- id: `${meta.id}/module/react-surface`,
74
- activatesOn: Events.SetupReactSurface,
75
- activate: ReactSurface
80
+ id: `${meta.id}/module/app-graph-builder`,
81
+ activatesOn: Events.SetupAppGraph,
82
+ activate: AppGraphBuilder
76
83
  }),
77
84
  defineModule({
78
85
  id: `${meta.id}/module/intent-resolver`,
@@ -80,22 +87,26 @@ var SearchPlugin = () => definePlugin(meta, [
80
87
  activate: IntentResolver
81
88
  }),
82
89
  defineModule({
83
- id: `${meta.id}/module/app-graph-builder`,
84
- activatesOn: Events.SetupAppGraph,
85
- activate: AppGraphBuilder
90
+ id: `${meta.id}/module/react-surface`,
91
+ activatesOn: Events.SetupReactSurface,
92
+ activate: ReactSurface
86
93
  })
87
94
  ]);
88
95
  export {
89
96
  SEARCH_PLUGIN,
90
97
  SEARCH_RESULT,
98
+ SearchAction,
91
99
  SearchContextProvider,
92
100
  SearchPlugin,
101
+ filterObjects,
93
102
  filterObjectsSync,
103
+ getStringProperty,
94
104
  mapObjectToTextFields,
95
105
  meta,
96
106
  queryStringToMatch,
97
107
  useGlobalFilteredObjects,
98
108
  useGlobalSearch,
99
- useGlobalSearchResults
109
+ useGlobalSearchResults,
110
+ useSearchResults
100
111
  };
101
112
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/SearchPlugin.tsx", "../../../src/capabilities/index.ts", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { contributes, Events, defineModule, definePlugin, Capabilities } from '@dxos/app-framework';\n\nimport { AppGraphBuilder, IntentResolver, ReactSurface } from './capabilities';\nimport { meta, SEARCH_RESULT } from './meta';\nimport type { SearchResult } from './search-sync';\nimport translations from './translations';\n\nexport const SearchPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: SEARCH_RESULT,\n metadata: {\n parse: (item: SearchResult, type: string) => {\n switch (type) {\n case 'node':\n return { id: item.id, label: item.label, data: item.object };\n case 'object':\n return item.object;\n case 'view-object':\n return item;\n }\n },\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SEARCH_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [SEARCH_PLUGIN]: {\n 'plugin name': 'Search',\n 'search action label': 'Search spaces',\n 'search placeholder': 'Search…',\n 'search dialog title': 'Open',\n 'recently closed heading': 'Recently closed',\n 'pending results message': 'Searching…',\n 'empty results message': 'No matching items in your spaces',\n },\n },\n },\n];\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;AAIA,SAASA,aAAaC,QAAQC,cAAcC,cAAcC,oBAAoB;;;ACA9E,SAASC,YAAY;AAEd,IAAMC,kBAAkBC,KAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAMC,iBAAiBD,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAME,eAAeF,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACF9C,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACG,aAAAA,GAAgB;QACf,eAAe;QACf,uBAAuB;QACvB,sBAAsB;QACtB,uBAAuB;QACvB,2BAA2B;QAC3B,2BAA2B;QAC3B,yBAAyB;MAC3B;IACF;EACF;;;;AFRK,IAAMC,eAAe,MAC1BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAcC,oBAAAA;EACzD,CAAA;EACAT,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOO;IACpBL,UAAU,MACRC,YAAYC,aAAaI,UAAU;MACjCV,IAAIW;MACJC,UAAU;QACRC,OAAO,CAACC,MAAoBC,SAAAA;AAC1B,kBAAQA,MAAAA;YACN,KAAK;AACH,qBAAO;gBAAEf,IAAIc,KAAKd;gBAAIgB,OAAOF,KAAKE;gBAAOC,MAAMH,KAAKI;cAAO;YAC7D,KAAK;AACH,qBAAOJ,KAAKI;YACd,KAAK;AACH,qBAAOJ;UACX;QACF;MACF;IACF,CAAA;EACJ,CAAA;EACAf,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOiB;IACpBf,UAAUgB;EACZ,CAAA;EACArB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOmB;IACpBjB,UAAUkB;EACZ,CAAA;EACAvB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOqB;IACpBnB,UAAUoB;EACZ,CAAA;CACD;",
6
- "names": ["contributes", "Events", "defineModule", "definePlugin", "Capabilities", "lazy", "AppGraphBuilder", "lazy", "IntentResolver", "ReactSurface", "SEARCH_PLUGIN", "SearchPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "SetupMetadata", "Metadata", "SEARCH_RESULT", "metadata", "parse", "item", "type", "label", "data", "object", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupAppGraph", "AppGraphBuilder"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { contributes, Events, defineModule, definePlugin, Capabilities } from '@dxos/app-framework';\n\nimport { AppGraphBuilder, IntentResolver, ReactSurface } from './capabilities';\nimport { meta, SEARCH_RESULT } from './meta';\nimport translations from './translations';\nimport { type SearchResult } from './types';\n\nexport const SearchPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: SEARCH_RESULT,\n metadata: {\n parse: (item: SearchResult, type: string) => {\n switch (type) {\n case 'node':\n return { id: item.id, label: item.label, data: item.object };\n case 'object':\n return item.object;\n case 'view-object':\n return item;\n }\n },\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SEARCH_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [SEARCH_PLUGIN]: {\n 'plugin name': 'Search',\n 'search action label': 'Search spaces',\n 'search placeholder': 'Search…',\n 'search dialog title': 'Open',\n 'recently closed heading': 'Recently closed',\n 'pending results message': 'Searching…',\n 'empty results message': 'No matching items in your spaces',\n 'search label': 'Search',\n },\n },\n },\n];\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,aAAaC,QAAQC,cAAcC,cAAcC,oBAAoB;;;ACA9E,SAASC,YAAY;AAEd,IAAMC,kBAAkBC,KAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAMC,iBAAiBD,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAME,eAAeF,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACF9C,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACG,aAAAA,GAAgB;QACf,eAAe;QACf,uBAAuB;QACvB,sBAAsB;QACtB,uBAAuB;QACvB,2BAA2B;QAC3B,2BAA2B;QAC3B,yBAAyB;QACzB,gBAAgB;MAClB;IACF;EACF;;;;AFTK,IAAMC,eAAe,MAC1BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAcC,oBAAAA;EACzD,CAAA;EACAT,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOO;IACpBL,UAAU,MACRC,YAAYC,aAAaI,UAAU;MACjCV,IAAIW;MACJC,UAAU;QACRC,OAAO,CAACC,MAAoBC,SAAAA;AAC1B,kBAAQA,MAAAA;YACN,KAAK;AACH,qBAAO;gBAAEf,IAAIc,KAAKd;gBAAIgB,OAAOF,KAAKE;gBAAOC,MAAMH,KAAKI;cAAO;YAC7D,KAAK;AACH,qBAAOJ,KAAKI;YACd,KAAK;AACH,qBAAOJ;UACX;QACF;MACF;IACF,CAAA;EACJ,CAAA;EACAf,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOiB;IACpBf,UAAUgB;EACZ,CAAA;EACArB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOmB;IACpBjB,UAAUkB;EACZ,CAAA;EACAvB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOqB;IACpBnB,UAAUoB;EACZ,CAAA;CACD;",
6
+ "names": ["contributes", "Events", "defineModule", "definePlugin", "Capabilities", "lazy", "AppGraphBuilder", "lazy", "IntentResolver", "ReactSurface", "SEARCH_PLUGIN", "SearchPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "SetupMetadata", "Metadata", "SEARCH_RESULT", "metadata", "parse", "item", "type", "label", "data", "object", "SetupAppGraph", "AppGraphBuilder", "SetupIntentResolver", "IntentResolver", "SetupReactSurface", "ReactSurface"]
7
7
  }
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  SearchAction
3
- } from "./chunk-RJRPR6BG.mjs";
4
- import "./chunk-2QDXE2SP.mjs";
3
+ } from "./chunk-LXHJVTYG.mjs";
4
+ import "./chunk-J6YWSQTW.mjs";
5
5
 
6
- // packages/plugins/experimental/plugin-search/src/capabilities/intent-resolver.ts
6
+ // packages/plugins/plugin-search/src/capabilities/intent-resolver.ts
7
7
  import { contributes, Capabilities, createResolver, LayoutAction, createIntent } from "@dxos/app-framework";
8
8
  var intent_resolver_default = () => contributes(Capabilities.IntentResolver, createResolver({
9
9
  intent: SearchAction.OpenSearch,
@@ -19,4 +19,4 @@ var intent_resolver_default = () => contributes(Capabilities.IntentResolver, cre
19
19
  export {
20
20
  intent_resolver_default as default
21
21
  };
22
- //# sourceMappingURL=intent-resolver-M3EJMBGZ.mjs.map
22
+ //# sourceMappingURL=intent-resolver-G76A35DX.mjs.map
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/experimental/plugin-search/src/search-sync.ts":{"bytes":12167,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/context.tsx":{"bytes":4983,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-search/src/search-sync.ts","kind":"import-statement","original":"./search-sync"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/meta.ts":{"bytes":1859,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-search/src/types.tsx":{"bytes":1766,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-search/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/capabilities/app-graph-builder.ts":{"bytes":4567,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-search/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/experimental/plugin-search/src/types.tsx","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/capabilities/intent-resolver.ts":{"bytes":2282,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-search/src/types.tsx","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/components/Searchbar/Searchbar.tsx":{"bytes":5649,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/components/Searchbar/index.ts":{"bytes":537,"imports":[{"path":"packages/plugins/experimental/plugin-search/src/components/Searchbar/Searchbar.tsx","kind":"import-statement","original":"./Searchbar"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/components/SearchResults/SearchResults.tsx":{"bytes":11211,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-card","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-search/src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/components/SearchResults/index.ts":{"bytes":553,"imports":[{"path":"packages/plugins/experimental/plugin-search/src/components/SearchResults/SearchResults.tsx","kind":"import-statement","original":"./SearchResults"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/components/SearchMain.tsx":{"bytes":6406,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-search/src/components/SearchResults/index.ts","kind":"import-statement","original":"./SearchResults"},{"path":"packages/plugins/experimental/plugin-search/src/components/Searchbar/index.ts","kind":"import-statement","original":"./Searchbar"},{"path":"packages/plugins/experimental/plugin-search/src/context.tsx","kind":"import-statement","original":"../context"},{"path":"packages/plugins/experimental/plugin-search/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/search.ts":{"bytes":6756,"imports":[{"path":"main-thread-scheduling","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-search/src/search-sync.ts","kind":"import-statement","original":"./search-sync"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/components/SearchDialog.tsx":{"bytes":16610,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-search/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/experimental/plugin-search/src/search.ts","kind":"import-statement","original":"../search"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/components/index.ts":{"bytes":725,"imports":[{"path":"packages/plugins/experimental/plugin-search/src/components/Searchbar/index.ts","kind":"import-statement","original":"./Searchbar"},{"path":"packages/plugins/experimental/plugin-search/src/components/SearchMain.tsx","kind":"import-statement","original":"./SearchMain"},{"path":"packages/plugins/experimental/plugin-search/src/components/SearchDialog.tsx","kind":"import-statement","original":"./SearchDialog"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/capabilities/react-surface.tsx":{"bytes":4539,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-search/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/experimental/plugin-search/src/context.tsx","kind":"import-statement","original":"../context"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/capabilities/index.ts":{"bytes":1362,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-search/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/experimental/plugin-search/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/experimental/plugin-search/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/translations.ts":{"bytes":1920,"imports":[{"path":"packages/plugins/experimental/plugin-search/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/SearchPlugin.tsx":{"bytes":6716,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-search/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/experimental/plugin-search/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/experimental/plugin-search/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/experimental/plugin-search/src/index.ts":{"bytes":797,"imports":[{"path":"packages/plugins/experimental/plugin-search/src/context.tsx","kind":"import-statement","original":"./context"},{"path":"packages/plugins/experimental/plugin-search/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/experimental/plugin-search/src/search-sync.ts","kind":"import-statement","original":"./search-sync"},{"path":"packages/plugins/experimental/plugin-search/src/SearchPlugin.tsx","kind":"import-statement","original":"./SearchPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/experimental/plugin-search/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4429},"packages/plugins/experimental/plugin-search/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-2G5TBIJT.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-2QDXE2SP.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-search/dist/lib/browser/app-graph-builder-SKWILENV.mjs","kind":"dynamic-import"},{"path":"packages/plugins/experimental/plugin-search/dist/lib/browser/intent-resolver-M3EJMBGZ.mjs","kind":"dynamic-import"},{"path":"packages/plugins/experimental/plugin-search/dist/lib/browser/react-surface-NAYLAW2V.mjs","kind":"dynamic-import"}],"exports":["SEARCH_PLUGIN","SEARCH_RESULT","SearchContextProvider","SearchPlugin","filterObjectsSync","mapObjectToTextFields","meta","queryStringToMatch","useGlobalFilteredObjects","useGlobalSearch","useGlobalSearchResults"],"entryPoint":"packages/plugins/experimental/plugin-search/src/index.ts","inputs":{"packages/plugins/experimental/plugin-search/src/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-search/src/SearchPlugin.tsx":{"bytesInOutput":1335},"packages/plugins/experimental/plugin-search/src/capabilities/index.ts":{"bytesInOutput":268},"packages/plugins/experimental/plugin-search/src/translations.ts":{"bytesInOutput":436}},"bytes":2875},"packages/plugins/experimental/plugin-search/dist/lib/browser/app-graph-builder-SKWILENV.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2189},"packages/plugins/experimental/plugin-search/dist/lib/browser/app-graph-builder-SKWILENV.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-RJRPR6BG.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-2QDXE2SP.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/experimental/plugin-search/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/experimental/plugin-search/src/capabilities/app-graph-builder.ts":{"bytesInOutput":908}},"bytes":1212},"packages/plugins/experimental/plugin-search/dist/lib/browser/intent-resolver-M3EJMBGZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1139},"packages/plugins/experimental/plugin-search/dist/lib/browser/intent-resolver-M3EJMBGZ.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-RJRPR6BG.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-2QDXE2SP.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/experimental/plugin-search/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/experimental/plugin-search/src/capabilities/intent-resolver.ts":{"bytesInOutput":410}},"bytes":683},"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-RJRPR6BG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":819},"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-RJRPR6BG.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-2QDXE2SP.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["SearchAction"],"inputs":{"packages/plugins/experimental/plugin-search/src/types.tsx":{"bytesInOutput":343}},"bytes":533},"packages/plugins/experimental/plugin-search/dist/lib/browser/react-surface-NAYLAW2V.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":26971},"packages/plugins/experimental/plugin-search/dist/lib/browser/react-surface-NAYLAW2V.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-2G5TBIJT.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-2QDXE2SP.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-card","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"main-thread-scheduling","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/experimental/plugin-search/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/experimental/plugin-search/src/capabilities/react-surface.tsx":{"bytesInOutput":1001},"packages/plugins/experimental/plugin-search/src/components/Searchbar/Searchbar.tsx":{"bytesInOutput":1299},"packages/plugins/experimental/plugin-search/src/components/Searchbar/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-search/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-search/src/components/SearchMain.tsx":{"bytesInOutput":1342},"packages/plugins/experimental/plugin-search/src/components/SearchResults/SearchResults.tsx":{"bytesInOutput":2745},"packages/plugins/experimental/plugin-search/src/components/SearchResults/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-search/src/components/SearchDialog.tsx":{"bytesInOutput":4344},"packages/plugins/experimental/plugin-search/src/search.ts":{"bytesInOutput":1458}},"bytes":13243},"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-2G5TBIJT.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8875},"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-2G5TBIJT.mjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"exports":["SearchContextProvider","filterObjectsSync","mapObjectToTextFields","queryStringToMatch","useGlobalFilteredObjects","useGlobalSearch","useGlobalSearchResults"],"inputs":{"packages/plugins/experimental/plugin-search/src/search-sync.ts":{"bytesInOutput":2346},"packages/plugins/experimental/plugin-search/src/context.tsx":{"bytesInOutput":1010}},"bytes":3708},"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-2QDXE2SP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":867},"packages/plugins/experimental/plugin-search/dist/lib/browser/chunk-2QDXE2SP.mjs":{"imports":[],"exports":["SEARCH_PLUGIN","SEARCH_RESULT","meta"],"inputs":{"packages/plugins/experimental/plugin-search/src/meta.ts":{"bytesInOutput":368}},"bytes":525}}}
1
+ {"inputs":{"packages/plugins/plugin-search/src/hooks/sync.ts":{"bytes":12048,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-search/src/hooks/useGlobalSearch.tsx":{"bytes":5009,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-search/src/hooks/sync.ts","kind":"import-statement","original":"./sync"}],"format":"esm"},"packages/plugins/plugin-search/src/hooks/useSearchResults.ts":{"bytes":6756,"imports":[{"path":"main-thread-scheduling","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-search/src/hooks/sync.ts","kind":"import-statement","original":"./sync"}],"format":"esm"},"packages/plugins/plugin-search/src/hooks/index.ts":{"bytes":719,"imports":[{"path":"packages/plugins/plugin-search/src/hooks/sync.ts","kind":"import-statement","original":"./sync"},{"path":"packages/plugins/plugin-search/src/hooks/useGlobalSearch.tsx","kind":"import-statement","original":"./useGlobalSearch"},{"path":"packages/plugins/plugin-search/src/hooks/useSearchResults.ts","kind":"import-statement","original":"./useSearchResults"}],"format":"esm"},"packages/plugins/plugin-search/src/meta.ts":{"bytes":1846,"imports":[],"format":"esm"},"packages/plugins/plugin-search/src/types/action.tsx":{"bytes":1765,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-search/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-search/src/types/search.ts":{"bytes":961,"imports":[],"format":"esm"},"packages/plugins/plugin-search/src/types/index.ts":{"bytes":588,"imports":[{"path":"packages/plugins/plugin-search/src/types/action.tsx","kind":"import-statement","original":"./action"},{"path":"packages/plugins/plugin-search/src/types/search.ts","kind":"import-statement","original":"./search"}],"format":"esm"},"packages/plugins/plugin-search/src/capabilities/app-graph-builder.ts":{"bytes":8747,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-search/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-search/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-search/src/capabilities/intent-resolver.ts":{"bytes":2269,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-search/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-search/src/components/Searchbar/Searchbar.tsx":{"bytes":6400,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-search/src/components/Searchbar/index.ts":{"bytes":524,"imports":[{"path":"packages/plugins/plugin-search/src/components/Searchbar/Searchbar.tsx","kind":"import-statement","original":"./Searchbar"}],"format":"esm"},"packages/plugins/plugin-search/src/components/SearchResults/SearchResults.tsx":{"bytes":9780,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-card","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-search/src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"packages/plugins/plugin-search/src/components/SearchResults/index.ts":{"bytes":540,"imports":[{"path":"packages/plugins/plugin-search/src/components/SearchResults/SearchResults.tsx","kind":"import-statement","original":"./SearchResults"}],"format":"esm"},"packages/plugins/plugin-search/src/search/exa.ts":{"bytes":25037,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"exa-js","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-protocol","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-search/src/search/index.ts":{"bytes":496,"imports":[{"path":"packages/plugins/plugin-search/src/search/exa.ts","kind":"import-statement","original":"./exa"}],"format":"esm"},"packages/plugins/plugin-search/src/hooks/useWebSearch.ts":{"bytes":7562,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/assistant/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-search/src/hooks/sync.ts","kind":"import-statement","original":"./sync"},{"path":"packages/plugins/plugin-search/src/search/index.ts","kind":"import-statement","original":"../search"}],"format":"esm"},"packages/plugins/plugin-search/src/components/SearchMain.tsx":{"bytes":8430,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-search/src/components/SearchResults/index.ts","kind":"import-statement","original":"./SearchResults"},{"path":"packages/plugins/plugin-search/src/components/Searchbar/index.ts","kind":"import-statement","original":"./Searchbar"},{"path":"packages/plugins/plugin-search/src/hooks/index.ts","kind":"import-statement","original":"../hooks"},{"path":"packages/plugins/plugin-search/src/hooks/useWebSearch.ts","kind":"import-statement","original":"../hooks/useWebSearch"},{"path":"packages/plugins/plugin-search/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-search/src/components/SearchDialog.tsx":{"bytes":16596,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-search/src/hooks/index.ts","kind":"import-statement","original":"../hooks"},{"path":"packages/plugins/plugin-search/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-search/src/components/index.ts":{"bytes":712,"imports":[{"path":"packages/plugins/plugin-search/src/components/Searchbar/index.ts","kind":"import-statement","original":"./Searchbar"},{"path":"packages/plugins/plugin-search/src/components/SearchMain.tsx","kind":"import-statement","original":"./SearchMain"},{"path":"packages/plugins/plugin-search/src/components/SearchDialog.tsx","kind":"import-statement","original":"./SearchDialog"}],"format":"esm"},"packages/plugins/plugin-search/src/capabilities/react-surface.tsx":{"bytes":6559,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-search/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-search/src/hooks/index.ts","kind":"import-statement","original":"../hooks"}],"format":"esm"},"packages/plugins/plugin-search/src/capabilities/index.ts":{"bytes":1349,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-search/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-search/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-search/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-search/src/translations.ts":{"bytes":2017,"imports":[{"path":"packages/plugins/plugin-search/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-search/src/SearchPlugin.tsx":{"bytes":6695,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-search/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-search/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-search/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-search/src/index.ts":{"bytes":760,"imports":[{"path":"packages/plugins/plugin-search/src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"packages/plugins/plugin-search/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-search/src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-search/src/SearchPlugin.tsx","kind":"import-statement","original":"./SearchPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-search/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4477},"packages/plugins/plugin-search/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-search/dist/lib/browser/chunk-LXHJVTYG.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-search/dist/lib/browser/chunk-NFZSXZMP.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-search/dist/lib/browser/chunk-J6YWSQTW.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-search/dist/lib/browser/app-graph-builder-RHZORTY2.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-search/dist/lib/browser/intent-resolver-G76A35DX.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-search/dist/lib/browser/react-surface-QBBLEI2Q.mjs","kind":"dynamic-import"}],"exports":["SEARCH_PLUGIN","SEARCH_RESULT","SearchAction","SearchContextProvider","SearchPlugin","filterObjects","filterObjectsSync","getStringProperty","mapObjectToTextFields","meta","queryStringToMatch","useGlobalFilteredObjects","useGlobalSearch","useGlobalSearchResults","useSearchResults"],"entryPoint":"packages/plugins/plugin-search/src/index.ts","inputs":{"packages/plugins/plugin-search/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-search/src/SearchPlugin.tsx":{"bytesInOutput":1335},"packages/plugins/plugin-search/src/capabilities/index.ts":{"bytesInOutput":268},"packages/plugins/plugin-search/src/translations.ts":{"bytesInOutput":470}},"bytes":3044},"packages/plugins/plugin-search/dist/lib/browser/app-graph-builder-RHZORTY2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4104},"packages/plugins/plugin-search/dist/lib/browser/app-graph-builder-RHZORTY2.mjs":{"imports":[{"path":"packages/plugins/plugin-search/dist/lib/browser/chunk-LXHJVTYG.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-search/dist/lib/browser/chunk-J6YWSQTW.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-search/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-search/src/capabilities/app-graph-builder.ts":{"bytesInOutput":2033}},"bytes":2324},"packages/plugins/plugin-search/dist/lib/browser/intent-resolver-G76A35DX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1139},"packages/plugins/plugin-search/dist/lib/browser/intent-resolver-G76A35DX.mjs":{"imports":[{"path":"packages/plugins/plugin-search/dist/lib/browser/chunk-LXHJVTYG.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-search/dist/lib/browser/chunk-J6YWSQTW.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-search/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-search/src/capabilities/intent-resolver.ts":{"bytesInOutput":410}},"bytes":670},"packages/plugins/plugin-search/dist/lib/browser/chunk-LXHJVTYG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":827},"packages/plugins/plugin-search/dist/lib/browser/chunk-LXHJVTYG.mjs":{"imports":[{"path":"packages/plugins/plugin-search/dist/lib/browser/chunk-J6YWSQTW.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["SearchAction"],"inputs":{"packages/plugins/plugin-search/src/types/action.tsx":{"bytesInOutput":343},"packages/plugins/plugin-search/src/types/index.ts":{"bytesInOutput":0}},"bytes":527},"packages/plugins/plugin-search/dist/lib/browser/react-surface-QBBLEI2Q.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":41106},"packages/plugins/plugin-search/dist/lib/browser/react-surface-QBBLEI2Q.mjs":{"imports":[{"path":"packages/plugins/plugin-search/dist/lib/browser/chunk-NFZSXZMP.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-search/dist/lib/browser/chunk-J6YWSQTW.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-card","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/assistant/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/schema/testing","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"exa-js","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-protocol","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-searchlist","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-search/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-search/src/capabilities/react-surface.tsx":{"bytesInOutput":1545},"packages/plugins/plugin-search/src/components/Searchbar/Searchbar.tsx":{"bytesInOutput":1477},"packages/plugins/plugin-search/src/components/Searchbar/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-search/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-search/src/components/SearchMain.tsx":{"bytesInOutput":1990},"packages/plugins/plugin-search/src/components/SearchResults/SearchResults.tsx":{"bytesInOutput":2410},"packages/plugins/plugin-search/src/components/SearchResults/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-search/src/hooks/useWebSearch.ts":{"bytesInOutput":1959},"packages/plugins/plugin-search/src/search/exa.ts":{"bytesInOutput":6325},"packages/plugins/plugin-search/src/search/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-search/src/components/SearchDialog.tsx":{"bytesInOutput":4344}},"bytes":21040},"packages/plugins/plugin-search/dist/lib/browser/chunk-NFZSXZMP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":12383},"packages/plugins/plugin-search/dist/lib/browser/chunk-NFZSXZMP.mjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"main-thread-scheduling","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["SearchContextProvider","filterObjects","filterObjectsSync","getStringProperty","mapObjectToTextFields","queryStringToMatch","useGlobalFilteredObjects","useGlobalSearch","useGlobalSearchResults","useSearchResults"],"inputs":{"packages/plugins/plugin-search/src/hooks/sync.ts":{"bytesInOutput":2346},"packages/plugins/plugin-search/src/hooks/useGlobalSearch.tsx":{"bytesInOutput":1010},"packages/plugins/plugin-search/src/hooks/useSearchResults.ts":{"bytesInOutput":1457},"packages/plugins/plugin-search/src/hooks/index.ts":{"bytesInOutput":0}},"bytes":5275},"packages/plugins/plugin-search/dist/lib/browser/chunk-J6YWSQTW.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":867},"packages/plugins/plugin-search/dist/lib/browser/chunk-J6YWSQTW.mjs":{"imports":[],"exports":["SEARCH_PLUGIN","SEARCH_RESULT","meta"],"inputs":{"packages/plugins/plugin-search/src/meta.ts":{"bytesInOutput":368}},"bytes":512}}}