@dxos/app-framework 0.9.0 → 0.9.1-main.c7dcc2e112

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 (208) hide show
  1. package/dist/lib/browser/{capability-BOPAKKWG.mjs → capability-Z4MRP3CP.mjs} +9 -9
  2. package/dist/lib/browser/{chunk-CO3XLNUX.mjs → chunk-37PG7XJC.mjs} +18 -18
  3. package/dist/lib/browser/chunk-37PG7XJC.mjs.map +7 -0
  4. package/dist/lib/browser/{chunk-66IXTIVK.mjs → chunk-3NQLTQCP.mjs} +6 -7
  5. package/dist/lib/browser/chunk-3NQLTQCP.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-KZUDO43J.mjs → chunk-3UTDRCKX.mjs} +31 -23
  7. package/dist/lib/browser/chunk-3UTDRCKX.mjs.map +7 -0
  8. package/dist/lib/browser/chunk-53HJHMS5.mjs +7 -0
  9. package/dist/lib/browser/chunk-53HJHMS5.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-IW44C7UL.mjs → chunk-CMINFVA5.mjs} +1 -1
  11. package/dist/lib/browser/chunk-CMINFVA5.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-Y66ELD4U.mjs → chunk-DFVSOBV2.mjs} +17 -7
  13. package/dist/lib/browser/chunk-DFVSOBV2.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-DC3WRPBV.mjs → chunk-S2ZBYQPI.mjs} +45 -12
  15. package/dist/lib/browser/chunk-S2ZBYQPI.mjs.map +7 -0
  16. package/dist/lib/browser/{chunk-HFLKXMT7.mjs → chunk-SWECIICH.mjs} +57 -41
  17. package/dist/lib/browser/chunk-SWECIICH.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-5GY3YOEL.mjs → chunk-VF37YTXJ.mjs} +5 -5
  19. package/dist/lib/browser/chunk-VF37YTXJ.mjs.map +7 -0
  20. package/dist/lib/browser/{chunk-XHS5KDNX.mjs → chunk-W4BHZING.mjs} +25 -25
  21. package/dist/lib/browser/chunk-W4BHZING.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-FO3IYSLV.mjs → chunk-YUVQIOTB.mjs} +29 -37
  23. package/dist/lib/browser/chunk-YUVQIOTB.mjs.map +7 -0
  24. package/dist/lib/browser/cli/index.mjs +9 -9
  25. package/dist/lib/browser/cli/index.mjs.map +2 -2
  26. package/dist/lib/browser/common/activation-events.mjs +7 -7
  27. package/dist/lib/browser/common/capabilities.mjs +7 -7
  28. package/dist/lib/browser/config/index.mjs +8 -0
  29. package/dist/lib/browser/config/index.mjs.map +7 -0
  30. package/dist/lib/browser/core/activation-event.mjs +1 -1
  31. package/dist/lib/browser/core/capability.mjs +1 -1
  32. package/dist/lib/browser/core/plugin-manager.mjs +4 -4
  33. package/dist/lib/browser/core/plugin.mjs +12 -2
  34. package/dist/lib/browser/core/url-loader.mjs +3 -3
  35. package/dist/lib/browser/index.mjs +14 -10
  36. package/dist/lib/browser/index.mjs.map +1 -1
  37. package/dist/lib/browser/meta.json +1 -1
  38. package/dist/lib/browser/{process-manager-capability-GXNUO7AR.mjs → process-manager-capability-RDROCCQD.mjs} +9 -9
  39. package/dist/lib/browser/testing/index.mjs +15 -15
  40. package/dist/lib/browser/testing/index.mjs.map +3 -3
  41. package/dist/lib/browser/testing/react.mjs +11 -11
  42. package/dist/lib/browser/testing/react.mjs.map +3 -3
  43. package/dist/lib/browser/ui/index.mjs +16 -10
  44. package/dist/lib/node-esm/{capability-KZWRTX7R.mjs → capability-34Z6NPVR.mjs} +9 -9
  45. package/dist/lib/node-esm/chunk-2UPUZXGU.mjs +9 -0
  46. package/dist/lib/node-esm/chunk-2UPUZXGU.mjs.map +7 -0
  47. package/dist/lib/node-esm/{chunk-FSVGKTF6.mjs → chunk-A4O42ZO3.mjs} +17 -7
  48. package/dist/lib/node-esm/chunk-A4O42ZO3.mjs.map +7 -0
  49. package/dist/lib/node-esm/{chunk-CTKEZHKF.mjs → chunk-AIDZMJ3U.mjs} +1 -1
  50. package/dist/lib/node-esm/chunk-AIDZMJ3U.mjs.map +7 -0
  51. package/dist/lib/node-esm/{chunk-XOCUANHO.mjs → chunk-BMW6P6QA.mjs} +6 -7
  52. package/dist/lib/node-esm/chunk-BMW6P6QA.mjs.map +7 -0
  53. package/dist/lib/node-esm/{chunk-A5CHGAZE.mjs → chunk-H7T7XXLS.mjs} +57 -41
  54. package/dist/lib/node-esm/chunk-H7T7XXLS.mjs.map +7 -0
  55. package/dist/lib/node-esm/{chunk-NULBHQYS.mjs → chunk-LUK3FCTH.mjs} +18 -18
  56. package/dist/lib/node-esm/chunk-LUK3FCTH.mjs.map +7 -0
  57. package/dist/lib/node-esm/{chunk-XGBUKRCK.mjs → chunk-TEQSMP2O.mjs} +31 -23
  58. package/dist/lib/node-esm/chunk-TEQSMP2O.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-KFZEB6BV.mjs → chunk-TLKYZKPW.mjs} +5 -5
  60. package/dist/lib/node-esm/chunk-TLKYZKPW.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-WK7OIQKI.mjs → chunk-VCPGX7WN.mjs} +29 -37
  62. package/dist/lib/node-esm/chunk-VCPGX7WN.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-XIGPWXCQ.mjs → chunk-WERVO5EK.mjs} +45 -12
  64. package/dist/lib/node-esm/chunk-WERVO5EK.mjs.map +7 -0
  65. package/dist/lib/node-esm/{chunk-SX5NVETP.mjs → chunk-ZRTG4TSS.mjs} +25 -25
  66. package/dist/lib/node-esm/chunk-ZRTG4TSS.mjs.map +7 -0
  67. package/dist/lib/node-esm/cli/index.mjs +9 -9
  68. package/dist/lib/node-esm/cli/index.mjs.map +2 -2
  69. package/dist/lib/node-esm/common/activation-events.mjs +7 -7
  70. package/dist/lib/node-esm/common/capabilities.mjs +7 -7
  71. package/dist/lib/node-esm/config/index.mjs +9 -0
  72. package/dist/lib/node-esm/config/index.mjs.map +7 -0
  73. package/dist/lib/node-esm/core/activation-event.mjs +1 -1
  74. package/dist/lib/node-esm/core/capability.mjs +1 -1
  75. package/dist/lib/node-esm/core/plugin-manager.mjs +4 -4
  76. package/dist/lib/node-esm/core/plugin.mjs +12 -2
  77. package/dist/lib/node-esm/core/url-loader.mjs +3 -3
  78. package/dist/lib/node-esm/index.mjs +14 -10
  79. package/dist/lib/node-esm/index.mjs.map +1 -1
  80. package/dist/lib/node-esm/meta.json +1 -1
  81. package/dist/lib/node-esm/{process-manager-capability-TX5TA6YN.mjs → process-manager-capability-6OCXSKUW.mjs} +9 -9
  82. package/dist/lib/node-esm/testing/index.mjs +15 -15
  83. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  84. package/dist/lib/node-esm/testing/react.mjs +11 -11
  85. package/dist/lib/node-esm/testing/react.mjs.map +3 -3
  86. package/dist/lib/node-esm/ui/index.mjs +16 -10
  87. package/dist/plugin/node-esm/index.mjs +406 -71
  88. package/dist/plugin/node-esm/index.mjs.map +4 -4
  89. package/dist/plugin/node-esm/meta.json +1 -1
  90. package/dist/types/src/cli/cli.d.ts +1 -1
  91. package/dist/types/src/common/activation-events.d.ts.map +1 -1
  92. package/dist/types/src/common/capabilities.d.ts.map +1 -1
  93. package/dist/types/src/config/index.d.ts +2 -0
  94. package/dist/types/src/config/index.d.ts.map +1 -0
  95. package/dist/types/src/core/activation-event.d.ts +9 -6
  96. package/dist/types/src/core/activation-event.d.ts.map +1 -1
  97. package/dist/types/src/core/capability.d.ts +6 -2
  98. package/dist/types/src/core/capability.d.ts.map +1 -1
  99. package/dist/types/src/core/edge-registry-plugin-provider.d.ts +6 -11
  100. package/dist/types/src/core/edge-registry-plugin-provider.d.ts.map +1 -1
  101. package/dist/types/src/core/plugin-manager.d.ts.map +1 -1
  102. package/dist/types/src/core/plugin-manifest.d.ts +25 -7
  103. package/dist/types/src/core/plugin-manifest.d.ts.map +1 -1
  104. package/dist/types/src/core/plugin.d.ts +81 -91
  105. package/dist/types/src/core/plugin.d.ts.map +1 -1
  106. package/dist/types/src/core/registry.d.ts +17 -57
  107. package/dist/types/src/core/registry.d.ts.map +1 -1
  108. package/dist/types/src/core/url-loader.d.ts +2 -2
  109. package/dist/types/src/core/url-loader.d.ts.map +1 -1
  110. package/dist/types/src/index.d.ts +1 -0
  111. package/dist/types/src/index.d.ts.map +1 -1
  112. package/dist/types/src/plugin-process-manager/meta.d.ts +28 -2
  113. package/dist/types/src/plugin-process-manager/meta.d.ts.map +1 -1
  114. package/dist/types/src/testing/harness.d.ts +1 -1
  115. package/dist/types/src/testing/harness.d.ts.map +1 -1
  116. package/dist/types/src/testing/react.d.ts +6 -5
  117. package/dist/types/src/testing/react.d.ts.map +1 -1
  118. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
  119. package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -1
  120. package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts +6 -0
  121. package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts.map +1 -1
  122. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts +6 -10
  123. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts.map +1 -1
  124. package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts.map +1 -1
  125. package/dist/types/src/ui/components/Surface/context.d.ts +6 -2
  126. package/dist/types/src/ui/components/Surface/context.d.ts.map +1 -1
  127. package/dist/types/src/ui/components/Surface/index.d.ts +10 -3
  128. package/dist/types/src/ui/components/Surface/index.d.ts.map +1 -1
  129. package/dist/types/src/ui/components/Surface/types.d.ts +50 -70
  130. package/dist/types/src/ui/components/Surface/types.d.ts.map +1 -1
  131. package/dist/types/src/ui/hooks/useApp.d.ts +1 -1
  132. package/dist/types/src/ui/hooks/useCapabilities.d.ts +11 -1
  133. package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -1
  134. package/dist/types/src/vite-plugin/composer/index.d.ts +11 -4
  135. package/dist/types/src/vite-plugin/composer/index.d.ts.map +1 -1
  136. package/dist/types/src/vite-plugin/index.d.ts +1 -0
  137. package/dist/types/src/vite-plugin/index.d.ts.map +1 -1
  138. package/dist/types/src/vite-plugin/load.d.ts +16 -0
  139. package/dist/types/src/vite-plugin/load.d.ts.map +1 -0
  140. package/dist/types/src/vite-plugin/manifest.d.ts +16 -4
  141. package/dist/types/src/vite-plugin/manifest.d.ts.map +1 -1
  142. package/dist/types/src/vite-plugin/packages.d.ts.map +1 -1
  143. package/dist/types/tsconfig.tsbuildinfo +1 -1
  144. package/docs/registry-spec.md +331 -0
  145. package/moon.yml +1 -0
  146. package/package.json +32 -27
  147. package/src/cli/cli.ts +2 -2
  148. package/src/common/activation-events.ts +3 -3
  149. package/src/common/capabilities.ts +16 -16
  150. package/src/config/index.ts +5 -0
  151. package/src/core/activation-event.ts +15 -8
  152. package/src/core/capability.ts +15 -4
  153. package/src/core/edge-registry-plugin-provider.ts +41 -42
  154. package/src/core/plugin-manager.test.ts +133 -137
  155. package/src/core/plugin-manager.ts +25 -19
  156. package/src/core/plugin-manifest.test.ts +5 -5
  157. package/src/core/plugin-manifest.ts +13 -10
  158. package/src/core/plugin.ts +58 -114
  159. package/src/core/registry.ts +20 -60
  160. package/src/core/url-loader.test.ts +2 -2
  161. package/src/core/url-loader.ts +23 -19
  162. package/src/index.ts +1 -0
  163. package/src/testing/harness.ts +5 -3
  164. package/src/testing/react.test.tsx +4 -2
  165. package/src/testing/react.tsx +9 -8
  166. package/src/testing/service.ts +2 -2
  167. package/src/testing/withPluginManager.stories.tsx +4 -2
  168. package/src/testing/withPluginManager.tsx +3 -1
  169. package/src/ui/components/PluginManager/PluginManagerProvider.ts +7 -0
  170. package/src/ui/components/Surface/SurfaceComponent.stories.tsx +11 -14
  171. package/src/ui/components/Surface/SurfaceComponent.tsx +84 -74
  172. package/src/ui/components/Surface/context.ts +6 -3
  173. package/src/ui/components/Surface/index.ts +12 -1
  174. package/src/ui/components/Surface/types.test.ts +39 -49
  175. package/src/ui/components/Surface/types.ts +95 -60
  176. package/src/ui/hooks/useApp.test.tsx +1 -1
  177. package/src/ui/hooks/useApp.tsx +2 -2
  178. package/src/ui/hooks/useCapabilities.ts +24 -2
  179. package/src/vite-plugin/composer/index.ts +134 -61
  180. package/src/vite-plugin/index.ts +1 -0
  181. package/src/vite-plugin/load.ts +57 -0
  182. package/src/vite-plugin/manifest.test.ts +3 -3
  183. package/src/vite-plugin/manifest.ts +21 -10
  184. package/src/vite-plugin/packages.ts +0 -1
  185. package/dist/lib/browser/chunk-5GY3YOEL.mjs.map +0 -7
  186. package/dist/lib/browser/chunk-66IXTIVK.mjs.map +0 -7
  187. package/dist/lib/browser/chunk-CO3XLNUX.mjs.map +0 -7
  188. package/dist/lib/browser/chunk-DC3WRPBV.mjs.map +0 -7
  189. package/dist/lib/browser/chunk-FO3IYSLV.mjs.map +0 -7
  190. package/dist/lib/browser/chunk-HFLKXMT7.mjs.map +0 -7
  191. package/dist/lib/browser/chunk-IW44C7UL.mjs.map +0 -7
  192. package/dist/lib/browser/chunk-KZUDO43J.mjs.map +0 -7
  193. package/dist/lib/browser/chunk-XHS5KDNX.mjs.map +0 -7
  194. package/dist/lib/browser/chunk-Y66ELD4U.mjs.map +0 -7
  195. package/dist/lib/node-esm/chunk-A5CHGAZE.mjs.map +0 -7
  196. package/dist/lib/node-esm/chunk-CTKEZHKF.mjs.map +0 -7
  197. package/dist/lib/node-esm/chunk-FSVGKTF6.mjs.map +0 -7
  198. package/dist/lib/node-esm/chunk-KFZEB6BV.mjs.map +0 -7
  199. package/dist/lib/node-esm/chunk-NULBHQYS.mjs.map +0 -7
  200. package/dist/lib/node-esm/chunk-SX5NVETP.mjs.map +0 -7
  201. package/dist/lib/node-esm/chunk-WK7OIQKI.mjs.map +0 -7
  202. package/dist/lib/node-esm/chunk-XGBUKRCK.mjs.map +0 -7
  203. package/dist/lib/node-esm/chunk-XIGPWXCQ.mjs.map +0 -7
  204. package/dist/lib/node-esm/chunk-XOCUANHO.mjs.map +0 -7
  205. /package/dist/lib/browser/{capability-BOPAKKWG.mjs.map → capability-Z4MRP3CP.mjs.map} +0 -0
  206. /package/dist/lib/browser/{process-manager-capability-GXNUO7AR.mjs.map → process-manager-capability-RDROCCQD.mjs.map} +0 -0
  207. /package/dist/lib/node-esm/{capability-KZWRTX7R.mjs.map → capability-34Z6NPVR.mjs.map} +0 -0
  208. /package/dist/lib/node-esm/{process-manager-capability-TX5TA6YN.mjs.map → process-manager-capability-6OCXSKUW.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/core/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/core/plugin.ts"],"names":[],"mappings":"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"}
@@ -1,51 +1,12 @@
1
1
  import { Atom, type Registry as AtomRegistry } from '@effect-atom/atom-react';
2
2
  import * as Effect from 'effect/Effect';
3
+ import type * as Plugin from './plugin';
3
4
  /**
4
- * A registry plugin entry as seen by the plugin manager layer.
5
- * Populated from the registry catalog; represents the latest available version of a plugin.
6
- *
7
- * Independently defined from @dxos/protocols PluginEntry similar shape but not the same type.
8
- * Implementations of {@link PluginProvider} (e.g. {@link EdgeRegistryPluginProvider})
9
- * are responsible for mapping their wire-format entries to this shape.
5
+ * A registry catalog entry is a {@link Plugin.Meta} (profile + the latest release), the same
6
+ * runtime type bundled plugins use. {@link PluginProvider} implementations (e.g.
7
+ * {@link EdgeRegistryPluginProvider}) map their wire-format entries (`PluginView`) to this shape.
8
+ * A single installable version is a {@link Plugin.Release}.
10
9
  */
11
- export type Plugin = {
12
- id: string;
13
- name: string;
14
- description?: string;
15
- homePage?: string;
16
- source?: string;
17
- screenshots?: string[];
18
- tags?: string[];
19
- icon?: string;
20
- iconHue?: string;
21
- /**
22
- * IDs of plugins this entry declares as runtime dependencies. Mirrors
23
- * {@link Plugin.Meta.dependsOn}. Surfaced in the catalog so the manager can
24
- * resolve and auto-install transitive deps before they are first loaded.
25
- */
26
- dependsOn?: string[];
27
- /** URL to dynamic-import the latest version of this plugin module. */
28
- moduleUrl: string;
29
- /** GitHub repository slug, e.g. `owner/name`. Used to fetch version history. */
30
- repo: string;
31
- /**
32
- * Latest known version string, e.g. `v1.2.0`.
33
- * Corresponds to releaseTag in the wire-format PluginEntry; named `version` here
34
- * because the plugin manager layer speaks versions, not release tags.
35
- */
36
- version: string;
37
- };
38
- /**
39
- * A single installable version of a registry plugin.
40
- */
41
- export type PluginVersion = {
42
- /** Version string, e.g. `v1.2.0`. */
43
- tag: string;
44
- /** URL to dynamic-import this specific version of the plugin module. */
45
- moduleUrl: string;
46
- /** Unix ms of when this version was published (optional; omitted when unknown). */
47
- releasedAt?: number;
48
- };
49
10
  /**
50
11
  * Abstraction over the plugin registry catalog backend.
51
12
  * Implementations may call Edge, a local cache, or a stub.
@@ -57,21 +18,20 @@ export type PluginVersion = {
57
18
  */
58
19
  export interface PluginProvider {
59
20
  /**
60
- * Returns all healthy registry plugins (latest version of each).
21
+ * Returns all registry plugins (latest version of each).
61
22
  */
62
- listPlugins(): Effect.Effect<readonly Plugin[], Error>;
23
+ listPlugins(): Effect.Effect<readonly Plugin.Meta[], Error>;
63
24
  /**
64
- * Returns all known versions of a plugin identified by its GitHub repo slug.
65
- * Until the backend implements a versions endpoint, implementations MUST
66
- * return at least one entry representing the current/latest release.
25
+ * Returns all known versions of a plugin, identified by its composer plugin id (NSID).
26
+ * Ordered newest-first. Must return at least one entry.
67
27
  */
68
- listVersions(repo: string): Effect.Effect<readonly PluginVersion[], Error>;
28
+ listVersions(id: string): Effect.Effect<readonly Plugin.Release[], Error>;
69
29
  /**
70
- * Returns a single plugin entry for the given repo.
30
+ * Returns a single plugin entry for the given id.
71
31
  * If `version` is omitted, returns the latest.
72
- * Fails if the specified version is not found.
32
+ * Fails if the plugin or version is not found.
73
33
  */
74
- getPlugin(repo: string, version?: string): Effect.Effect<Plugin, Error>;
34
+ getPlugin(id: string, version?: string): Effect.Effect<Plugin.Meta, Error>;
75
35
  }
76
36
  /**
77
37
  * Atomic snapshot of the registry catalog as observed by the host.
@@ -79,7 +39,7 @@ export interface PluginProvider {
79
39
  * (loading state, list contents, last error).
80
40
  */
81
41
  export type PluginsState = {
82
- entries: readonly Plugin[];
42
+ entries: readonly Plugin.Meta[];
83
43
  loading: boolean;
84
44
  error: Error | null;
85
45
  };
@@ -98,10 +58,10 @@ export declare class Manager {
98
58
  readonly plugins: Atom.Writable<PluginsState>;
99
59
  constructor(provider: PluginProvider | undefined, atomRegistry: AtomRegistry.Registry);
100
60
  /** Forwards to the underlying provider. */
101
- listPlugins(): Effect.Effect<readonly Plugin[], Error>;
61
+ listPlugins(): Effect.Effect<readonly Plugin.Meta[], Error>;
102
62
  /** Forwards to the underlying provider. */
103
- listVersions(repo: string): Effect.Effect<readonly PluginVersion[], Error>;
63
+ listVersions(id: string): Effect.Effect<readonly Plugin.Release[], Error>;
104
64
  /** Forwards to the underlying provider. */
105
- getPlugin(repo: string, version?: string): Effect.Effect<Plugin, Error>;
65
+ getPlugin(id: string, version?: string): Effect.Effect<Plugin.Meta, Error>;
106
66
  }
107
67
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/core/registry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;IAEvD;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,aAAa,EAAE,EAAE,KAAK,CAAC,CAAC;IAE3E;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CACzE;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAAC;AAgBF;;;;;;;;;GASG;AACH,qBAAa,OAAO;;IAClB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAG9C,YAAY,QAAQ,EAAE,cAAc,GAAG,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,QAAQ,EAmBpF;IAED,2CAA2C;IAC3C,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,KAAK,CAAC,CAErD;IAED,2CAA2C;IAC3C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,aAAa,EAAE,EAAE,KAAK,CAAC,CAEzE;IAED,2CAA2C;IAC3C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAEtE;CACF"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/core/registry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,KAAK,KAAK,MAAM,MAAM,UAAU,CAAC;AAExC;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IAE5D;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IAE1E;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;CAC5E;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAAC;AAgBF;;;;;;;;;GASG;AACH,qBAAa,OAAO;;IAClB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAG9C,YAAY,QAAQ,EAAE,cAAc,GAAG,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,QAAQ,EAmBpF;IAED,2CAA2C;IAC3C,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAE1D;IAED,2CAA2C;IAC3C,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAExE;IAED,2CAA2C;IAC3C,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAEzE;CACF"}
@@ -71,7 +71,7 @@ export type PreloadOptions = Options & {
71
71
  *
72
72
  * `url` is the URL of the plugin manifest (`plugin.json`), not the entry module.
73
73
  */
74
- export type RemotePluginEntry = {
74
+ export type RemotePluginView = {
75
75
  id: string;
76
76
  url: string;
77
77
  /** Installed version string, e.g. `v1.0.0`. Populated after install from a community catalog entry. */
@@ -86,7 +86,7 @@ export declare const isLocalUrl: (locator: string) => boolean;
86
86
  * Useful for UI code that needs to know which loaded plugins were installed from a URL
87
87
  * (e.g. to surface a tag on remote or localhost-hosted plugins).
88
88
  */
89
- export declare const getRemoteEntries: (options?: Options) => readonly RemotePluginEntry[];
89
+ export declare const getRemoteEntries: (options?: Options) => readonly RemotePluginView[];
90
90
  /**
91
91
  * Updates the persisted installed version for an already-stored remote plugin entry.
92
92
  * Does nothing if the plugin has not been persisted yet.
@@ -1 +1 @@
1
- {"version":3,"file":"url-loader.d.ts","sourceRoot":"","sources":["../../../../src/core/url-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKzD;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,0BAAyE;CAAG;AAEvH;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC;CAChC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG;IACrC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,uGAAuG;IACvG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAkDF;;GAEG;AACH,eAAO,MAAM,UAAU,YAAa,MAAM,KAAG,OAQ5C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,aAAa,OAAO,KAAQ,SAAS,iBAAiB,EAIlF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,OAAQ,MAAM,WAAW,MAAM,YAAW,OAAO,KAAQ,IAcxF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,OAAQ,MAAM,YAAW,OAAO,KAAQ,MAAM,GAAG,SAIhF,CAAC;AA2GF;;;;GAIG;AACH,eAAO,MAAM,OAAO,aAAa,cAAc,KAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,CA2CvF,CAAC;AAEL;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,mBAAoB,MAAM,CAAC,MAAM,EAAE,YAAW,OAAO,eAKnD,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,qBAAqB,CA0BxG,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,aAAc,MAAM,YAAW,OAAO,KAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAczF,CAAC"}
1
+ {"version":3,"file":"url-loader.d.ts","sourceRoot":"","sources":["../../../../src/core/url-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKzD;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,0BAAyE;CAAG;AAEvH;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC;CAChC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG;IACrC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,uGAAuG;IACvG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAsDF;;GAEG;AACH,eAAO,MAAM,UAAU,YAAa,MAAM,KAAG,OAQ5C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,aAAa,OAAO,KAAQ,SAAS,gBAAgB,EAIjF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,OAAQ,MAAM,WAAW,MAAM,YAAW,OAAO,KAAQ,IAcxF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,OAAQ,MAAM,YAAW,OAAO,KAAQ,MAAM,GAAG,SAIhF,CAAC;AA2GF;;;;GAIG;AACH,eAAO,MAAM,OAAO,aAAa,cAAc,KAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,CA2CvF,CAAC;AAEL;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,mBAAoB,MAAM,CAAC,MAAM,EAAE,YAAW,OAAO,eAKnD,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,qBAAqB,CA0BxG,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,aAAc,MAAM,YAAW,OAAO,KAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAczF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './common';
2
+ export * from './config';
2
3
  export * from './context';
3
4
  export * from './core';
4
5
  export * from './plugin-process-manager';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,0BAA0B,CAAC"}
@@ -1,3 +1,29 @@
1
- import { Plugin } from '../core';
2
- export declare const meta: Plugin.Meta;
1
+ export declare const meta: {
2
+ readonly profile: {
3
+ readonly key: string;
4
+ readonly name: string;
5
+ readonly description?: string | undefined;
6
+ readonly homePage?: string | undefined;
7
+ readonly source?: string | undefined;
8
+ readonly tags?: readonly string[] | undefined;
9
+ readonly screenshots?: readonly {
10
+ readonly light?: string | undefined;
11
+ readonly dark?: string | undefined;
12
+ }[] | undefined;
13
+ readonly icon?: {
14
+ readonly key: string;
15
+ readonly hue?: string | undefined;
16
+ } | undefined;
17
+ readonly dependsOn?: readonly string[] | undefined;
18
+ readonly spec?: string | undefined;
19
+ readonly author?: string | undefined;
20
+ };
21
+ readonly release?: {
22
+ readonly version: string;
23
+ readonly moduleUrl: string;
24
+ readonly dependencies?: {
25
+ readonly [x: string]: string;
26
+ } | undefined;
27
+ } | undefined;
28
+ };
3
29
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../src/plugin-process-manager/meta.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,eAAO,MAAM,IAAI,aAOf,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../src/plugin-process-manager/meta.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOf,CAAC"}
@@ -5,7 +5,7 @@ import { Capabilities } from '../common';
5
5
  import { ActivationEvent, type Capability, type CapabilityManager, type Plugin, PluginManager } from '../core';
6
6
  export type TestAppOptions = {
7
7
  /**
8
- * Plugins to register. Plugins whose `meta.tags` includes `'system'` are treated as core
8
+ * Plugins to register. Plugins whose `meta.profile.tags` includes `'system'` are treated as core
9
9
  * (force-enabled). For test convenience, plugins without a `'system'` tag are enabled by
10
10
  * default unless `enabled` is provided.
11
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../../src/testing/harness.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,OAAO,EAAoB,YAAY,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE/G,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACzB,yGAAyG;IACzG,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,sEAAsE;IACtE,WAAW,CAAC,EAAE,eAAe,CAAC,eAAe,EAAE,CAAC;IAChD;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAC3D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAErC,yEAAyE;IACzE,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,sEAAsE;IACtE,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzE,oGAAoG;IACpG,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7C,oEAAoE;IACpE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAClD,kFAAkF;IAClF,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACjG,4DAA4D;IAC5D,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC,eAAe,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1G,mFAAmF;IACnF,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7G;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,CAAC,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,6BAA6B,CAAC,EACvE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACrE,OAAO,CAAC,CAAC,CAAC,CAAC;IAEd,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,gDAAgD;IAChD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,6EAA6E;IAC7E,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAID;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,SAAgB,cAAc,KAAG,OAAO,CAAC,WAAW,CA+C7E,CAAC"}
1
+ {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../../src/testing/harness.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type RenderOptions, type RenderResult } from '@testing-library/react';
2
2
  import { type FC, type PropsWithChildren, type ReactNode } from 'react';
3
+ import { type RoleToken } from '../ui/components/Surface/types';
3
4
  import { type TestHarness } from './harness';
4
5
  export type HarnessRenderOptions = Omit<RenderOptions, 'wrapper'> & {
5
6
  /** Additional providers to wrap around the harness tree (applied innermost first). */
@@ -10,9 +11,9 @@ export type HarnessRenderOptions = Omit<RenderOptions, 'wrapper'> & {
10
11
  * `Capabilities.ReactContext`.
11
12
  */
12
13
  export declare const render: (harness: TestHarness, ui: ReactNode, options?: HarnessRenderOptions) => RenderResult;
13
- export type RenderSurfaceProps = {
14
- role: string;
15
- data?: unknown;
14
+ export type RenderSurfaceProps<TToken extends RoleToken<any>> = {
15
+ type: TToken;
16
+ data?: TToken extends RoleToken<infer D> ? D : never;
16
17
  limit?: number;
17
18
  fallback?: FC<{
18
19
  error: Error;
@@ -21,7 +22,7 @@ export type RenderSurfaceProps = {
21
22
  placeholder?: ReactNode;
22
23
  };
23
24
  /**
24
- * Renders a `Surface` with the given role/data inside the harness provider tree.
25
+ * Renders a `Surface` with the given role token/data inside the harness provider tree.
25
26
  */
26
- export declare const renderSurface: (harness: TestHarness, props: RenderSurfaceProps, options?: HarnessRenderOptions) => RenderResult;
27
+ export declare const renderSurface: <TToken extends RoleToken<any>>(harness: TestHarness, props: RenderSurfaceProps<TToken>, options?: HarnessRenderOptions) => RenderResult;
27
28
  //# sourceMappingURL=react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../../src/testing/react.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAc,EAAE,KAAK,EAAE,EAAY,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASzF,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG;IAClE,sFAAsF;IACtF,aAAa,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,YAAa,WAAW,MAAM,SAAS,YAAY,oBAAoB,KAAG,YAQ5F,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,EAAE,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,YACf,WAAW,SACb,kBAAkB,YACf,oBAAoB,KAC7B,YAOF,CAAC"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../../src/testing/react.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAc,EAAE,KAAK,EAAE,EAAY,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASzF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG;IAClE,sFAAsF;IACtF,aAAa,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,YAAa,WAAW,MAAM,SAAS,YAAY,oBAAoB,KAAG,YAQ5F,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,SAAS,CAAC,GAAG,CAAC,IAAI;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,EAAE,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,SAAS,CAAC,GAAG,CAAC,WAChD,WAAW,SACb,kBAAkB,CAAC,MAAM,CAAC,YACvB,oBAAoB,KAC7B,YAOF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"withPluginManager.d.ts","sourceRoot":"","sources":["../../../../src/testing/withPluginManager.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAQrE,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,YAAY,CAAC;AAGlE,OAAO,EAAE,KAAK,eAAe,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAyB,MAAM,SAAS,CAAC;AAC1G,OAAO,EAAE,KAAK,aAAa,EAAU,MAAM,OAAO,CAAC;AAwCnD,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IACrD,kBAAkB;IAClB,YAAY,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACpF,kBAAkB;IAClB,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,4BAA4B,CAAC,IAAI,GAAG,IAAI,IAChD,wBAAwB,GACxB,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,wBAAwB,CAAC,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,IAAI,SAAS,4BAA4B,CAAC,IAAI,CAAC,KAAQ,SAuCxF,CAAC"}
1
+ {"version":3,"file":"withPluginManager.d.ts","sourceRoot":"","sources":["../../../../src/testing/withPluginManager.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAQrE,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,YAAY,CAAC;AAGlE,OAAO,EAAE,KAAK,eAAe,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAyB,MAAM,SAAS,CAAC;AAC1G,OAAO,EAAE,KAAK,aAAa,EAAU,MAAM,OAAO,CAAC;AA0CnD,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IACrD,kBAAkB;IAClB,YAAY,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACpF,kBAAkB;IAClB,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,4BAA4B,CAAC,IAAI,GAAG,IAAI,IAChD,wBAAwB,GACxB,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,wBAAwB,CAAC,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,IAAI,SAAS,4BAA4B,CAAC,IAAI,CAAC,KAAQ,SAuCxF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"withPluginManager.stories.d.ts","sourceRoot":"","sources":["../../../../src/testing/withPluginManager.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,QAAA,MAAM,IAAI;;;;CAkB2B,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
1
+ {"version":3,"file":"withPluginManager.stories.d.ts","sourceRoot":"","sources":["../../../../src/testing/withPluginManager.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,QAAA,MAAM,IAAI;;;;CAkB2B,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -3,6 +3,12 @@ import { type PluginManager } from '../../../core';
3
3
  * Get the plugin manager.
4
4
  */
5
5
  export declare const usePluginManager: () => PluginManager.PluginManager;
6
+ /**
7
+ * Get the plugin manager if present, or `undefined` when rendered outside a {@link PluginManagerProvider}
8
+ * (e.g. a standalone component story). Lets components treat plugin capabilities as a progressive
9
+ * enhancement rather than a hard requirement.
10
+ */
11
+ export declare const useOptionalPluginManager: () => PluginManager.PluginManager | undefined;
6
12
  /**
7
13
  * Context provider for a plugin manager.
8
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PluginManagerProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/PluginManager/PluginManagerProvider.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAInD;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,aAAa,CAAC,aACoC,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,qBAAqB,mEAAgC,CAAC"}
1
+ {"version":3,"file":"PluginManagerProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/PluginManager/PluginManagerProvider.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAInD;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,aAAa,CAAC,aACoC,CAAC;AAEvF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAO,aAAa,CAAC,aAAa,GAAG,SAA6C,CAAC;AAExH;;GAEG;AACH,eAAO,MAAM,qBAAqB,mEAAgC,CAAC"}
@@ -1,24 +1,20 @@
1
1
  import React, { type NamedExoticComponent, type RefAttributes } from 'react';
2
2
  import { type CapabilityManager } from '../../../core';
3
- import { type Props, type RoleToken, type TokenData, type TypedProps } from './types';
3
+ import { type RoleToken, type TokenData, type TypedProps } from './types';
4
4
  /**
5
5
  * A surface is a named region of the screen that can be populated by plugins.
6
+ * The `type` prop is a {@link RoleToken} that defines which region and its
7
+ * associated data contract.
6
8
  */
7
- export declare const SurfaceComponent: (<TToken extends RoleToken<any>>(props: TypedProps<TToken> & RefAttributes<HTMLElement>) => React.ReactNode) & NamedExoticComponent<Props & RefAttributes<HTMLElement>>;
9
+ export declare const SurfaceComponent: (<TToken extends RoleToken<any>>(props: TypedProps<TToken> & RefAttributes<HTMLElement>) => React.ReactNode) & NamedExoticComponent<TypedProps<RoleToken<any>> & RefAttributes<HTMLElement>>;
8
10
  /**
9
11
  * @returns `true` if there is a contributed surface which matches the specified role & data, `false` otherwise.
10
12
  *
11
- * Two overloads:
12
- * - Typed: pass a `type` role token and `data` is constrained to the token's
13
- * declared contract (e.g. `AppSurface.Section` requires `attendableId`).
14
- * - Legacy: pass a string `role` and `data` is untyped.
13
+ * Typed: pass a `type` role token and `data` is constrained to the token's
14
+ * declared contract (e.g. `AppSurface.Section` requires `attendableId`).
15
15
  */
16
16
  export declare function isSurfaceAvailable<TToken extends RoleToken<any>>(capabilityManager: CapabilityManager.CapabilityManager, args: {
17
17
  type: TToken;
18
18
  data?: TokenData<TToken>;
19
- role?: never;
20
- }): boolean;
21
- export declare function isSurfaceAvailable(capabilityManager: CapabilityManager.CapabilityManager, args: Pick<Props, 'role' | 'data'> & {
22
- type?: undefined;
23
19
  }): boolean;
24
20
  //# sourceMappingURL=SurfaceComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SurfaceComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/SurfaceComponent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAEZ,KAAK,oBAAoB,EAEzB,KAAK,aAAa,EAOnB,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKvD,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AAkJjB;;GAEG;AAEH,eAAO,MAAM,gBAAgB,EA6CxB,CAAC,CAAC,MAAM,SAAS,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,GAC/G,oBAAoB,CAAC,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;AAwC3D;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,SAAS,CAAC,GAAG,CAAC,EAC9D,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB,EACtD,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GAC7D,OAAO,CAAC;AACX,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB,EACtD,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GACxD,OAAO,CAAC"}
1
+ {"version":3,"file":"SurfaceComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/SurfaceComponent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAGZ,KAAK,oBAAoB,EAEzB,KAAK,aAAa,EAOnB,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKvD,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AAmKjB;;;;GAIG;AAEH,eAAO,MAAM,gBAAgB,EA6CxB,CAAC,CAAC,MAAM,SAAS,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,GAC/G,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;AAwChF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,SAAS,CAAC,GAAG,CAAC,EAC9D,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB,EACtD,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;CAAE,GAC/C,OAAO,CAWT"}
@@ -1 +1 @@
1
- {"version":3,"file":"SurfaceComponent.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/SurfaceComponent.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAA+D,MAAM,OAAO,CAAC;AA6HpF,QAAA,MAAM,IAAI;;;;;QAKN,MAAM;;CAE2B,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
1
+ {"version":3,"file":"SurfaceComponent.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/SurfaceComponent.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAmD,MAAM,OAAO,CAAC;AA0HxE,QAAA,MAAM,IAAI;;;;;QAKN,MAAM;;CAE2B,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -1,5 +1,9 @@
1
1
  import { type Context } from 'react';
2
- import { type Props } from './types';
3
- export type SurfaceContext = Pick<Props, 'id' | 'role' | 'data'>;
2
+ export type SurfaceContext = {
3
+ id?: string;
4
+ /** The resolved role NSID (e.g. `org.dxos.role.article`). */
5
+ role: string;
6
+ data?: Record<string, any>;
7
+ };
4
8
  export declare const SurfaceContext: Context<SurfaceContext | undefined>;
5
9
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/context.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAGjE,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,cAAc,GAAG,SAAS,CAAwD,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/context.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,OAAO,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,cAAc,GAAG,SAAS,CAAwD,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { DXN } from '@dxos/keys';
1
2
  import { SurfaceContext } from './context';
2
3
  import { isSurfaceAvailable } from './SurfaceComponent';
3
4
  import { type Definition as SurfaceDefinition, type RoleToken as SurfaceRoleToken, type SurfaceBinding as SurfaceBindingType, type SurfaceFilter as SurfaceFilterType, type TokenData as SurfaceTokenData, type TypedProps as SurfaceTypedProps, create as createSurface, createWeb as createWebSurface } from './types';
@@ -13,8 +14,10 @@ export declare namespace Surface {
13
14
  data?: any;
14
15
  }>;
15
16
  placeholder?: import("react").ReactNode;
16
- } & Omit<import("./types").CoreProps<Record<string, unknown>>, "data" | "id" | "role"> & Partial<Pick<import("./types").CoreProps<Record<string, unknown>>, "data" | "id" | "role">> & {
17
- type?: undefined;
17
+ id?: string;
18
+ type: SurfaceRoleToken<any>;
19
+ data?: any;
20
+ limit?: number | undefined;
18
21
  } & {
19
22
  [x: string]: any;
20
23
  } & import("react").RefAttributes<HTMLElement>>;
@@ -24,7 +27,11 @@ export declare namespace Surface {
24
27
  type Filter<TData> = SurfaceFilterType<TData>;
25
28
  type TokenData<T> = SurfaceTokenData<T>;
26
29
  type TypedProps<TToken extends SurfaceRoleToken<any>> = SurfaceTypedProps<TToken>;
27
- const makeType: <TData>(role: string) => SurfaceRoleToken<TData>;
30
+ /** Mints a typed role token. The NSID is validated at compile time via {@link DXN.Name}. */
31
+ const makeType: {
32
+ <TData = unknown, T extends string = string>(nsid: [DXN.Name<T>] extends [never] ? `Invalid NSID "${T}": final segment must be camelCase (no hyphens)` : T): SurfaceRoleToken<TData>;
33
+ };
34
+ const makeFilter: <TData>(token: SurfaceRoleToken<TData>, guard?: (data: TData) => boolean) => SurfaceFilterType<TData>;
28
35
  const isFilter: (value: unknown) => value is SurfaceFilterType<any>;
29
36
  const ProfilerProvider: ({ children }: import("react").PropsWithChildren) => import("react").JSX.Element;
30
37
  const useProfilerCallback: () => import("react").ProfilerOnRenderCallback | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAoB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAQ1E,OAAO,EACL,KAAK,UAAU,IAAI,iBAAiB,EACpC,KAAK,SAAS,IAAI,gBAAgB,EAClC,KAAK,cAAc,IAAI,kBAAkB,EACzC,KAAK,aAAa,IAAI,iBAAiB,EACvC,KAAK,SAAS,IAAI,gBAAgB,EAClC,KAAK,UAAU,IAAI,iBAAiB,EACpC,MAAM,IAAI,aAAa,EACvB,SAAS,IAAI,gBAAgB,EAG9B,MAAM,SAAS,CAAC;AAEjB,yBAAiB,OAAO,CAAC,CAAC;IACxB,KAAY,UAAU,GAAG,iBAAiB,CAAC;IACpC,MAAM,MAAM,sBAAgB,CAAC;IAC7B,MAAM,SAAS,yBAAmB,CAAC;IAE1C,KAAY,OAAO,GAAG,cAAc,CAAC;IAC9B,MAAM,OAAO,qDAAiB,CAAC;IAE/B,MAAM,OAAO;;;;;;;;;;mDAAmB,CAAC;IACjC,MAAM,WAAW,2BAAqB,CAAC;IAE9C,KAAY,SAAS,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvD,KAAY,OAAO,GAAG,kBAAkB,CAAC;IACzC,KAAY,MAAM,CAAC,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACrD,KAAY,SAAS,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC/C,KAAY,UAAU,CAAC,MAAM,SAAS,gBAAgB,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClF,MAAM,QAAQ,kDAAa,CAAC;IAC5B,MAAM,QAAQ,qDAAoB,CAAC;IAEnC,MAAM,gBAAgB,kFAA0B,CAAC;IACjD,MAAM,mBAAmB,4DAA6B,CAAC;IACvD,MAAM,kBAAkB,0EAA4B,CAAC;IACrD,MAAM,gBAAgB,iEAA0B,CAAC;IACjD,MAAM,gBAAgB,gCAA0B,CAAC;CACzD;AAED,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAoB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAQ1E,OAAO,EACL,KAAK,UAAU,IAAI,iBAAiB,EACpC,KAAK,SAAS,IAAI,gBAAgB,EAClC,KAAK,cAAc,IAAI,kBAAkB,EACzC,KAAK,aAAa,IAAI,iBAAiB,EACvC,KAAK,SAAS,IAAI,gBAAgB,EAClC,KAAK,UAAU,IAAI,iBAAiB,EACpC,MAAM,IAAI,aAAa,EACvB,SAAS,IAAI,gBAAgB,EAI9B,MAAM,SAAS,CAAC;AAEjB,yBAAiB,OAAO,CAAC,CAAC;IACxB,KAAY,UAAU,GAAG,iBAAiB,CAAC;IACpC,MAAM,MAAM,sBAAgB,CAAC;IAC7B,MAAM,SAAS,yBAAmB,CAAC;IAE1C,KAAY,OAAO,GAAG,cAAc,CAAC;IAC9B,MAAM,OAAO,qDAAiB,CAAC;IAE/B,MAAM,OAAO;;;;;;;;;;;;mDAAmB,CAAC;IACjC,MAAM,WAAW,2BAAqB,CAAC;IAE9C,KAAY,SAAS,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvD,KAAY,OAAO,GAAG,kBAAkB,CAAC;IACzC,KAAY,MAAM,CAAC,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACrD,KAAY,SAAS,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC/C,KAAY,UAAU,CAAC,MAAM,SAAS,gBAAgB,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEzF,4FAA4F;IACrF,MAAM,QAAQ,EAAE;QACrB,CAAC,KAAK,GAAG,OAAO,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EACzC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,iDAAiD,GAAG,CAAC,GAC5G,gBAAgB,CAAC,KAAK,CAAC,CAAC;KACf,CAAC;IAER,MAAM,UAAU,uGAAe,CAAC;IAChC,MAAM,QAAQ,qDAAoB,CAAC;IAEnC,MAAM,gBAAgB,kFAA0B,CAAC;IACjD,MAAM,mBAAmB,4DAA6B,CAAC;IACvD,MAAM,kBAAkB,0EAA4B,CAAC;IACrD,MAAM,gBAAgB,iEAA0B,CAAC;IACjD,MAAM,gBAAgB,gCAA0B,CAAC;CACzD;AAED,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,11 +1,14 @@
1
- import type { FC, PropsWithChildren, ReactNode, RefCallback } from 'react';
1
+ import type { FC, PropsWithChildren, ReactNode, Ref } from 'react';
2
+ import type { DXN } from '@dxos/keys';
2
3
  import type { MakeOptional, Position } from '@dxos/util';
3
4
  /**
4
- * A typed role token. Carries a role string for runtime dispatch plus a phantom
5
+ * A typed role token. Carries a role NSID for runtime dispatch plus a phantom
5
6
  * data type so consumers using `type={SomeToken}` and providers using
6
7
  * `AppSurface.object(SomeToken, ...)` share a single type-level contract.
7
8
  *
8
- * Mint via {@link makeType}.
9
+ * Mint via {@link makeType}. The `role` field holds the bare NSID (e.g.
10
+ * `org.dxos.role.article`) — the dispatch key, `data-role` attribute value,
11
+ * and what `.role` comparisons inside matched components see.
9
12
  */
10
13
  export type RoleToken<TData> = {
11
14
  readonly role: string;
@@ -13,8 +16,8 @@ export type RoleToken<TData> = {
13
16
  readonly _phantom?: TData;
14
17
  };
15
18
  /**
16
- * One entry in a {@link SurfaceFilter} — a role plus the guard that validates
17
- * the data shape when the Surface dispatcher is matching that role.
19
+ * One entry in a {@link SurfaceFilter} — a role NSID plus the guard that
20
+ * validates the data shape when the Surface dispatcher is matching that role.
18
21
  */
19
22
  export type SurfaceBinding = {
20
23
  readonly role: string;
@@ -40,16 +43,31 @@ export type TokenData<T> = T extends RoleToken<infer D> ? D : never;
40
43
  */
41
44
  export declare const isSurfaceFilter: (value: unknown) => value is SurfaceFilter<any>;
42
45
  /**
43
- * Mints a typed role token. Identity is structural; all tokens with the same
44
- * `role` string are interchangeable at runtime.
46
+ * Mints a typed role token. The NSID is validated at compile time via
47
+ * {@link DXN.Name}: the final segment must be camelCase (no hyphens).
48
+ * Dynamic NSIDs (template-literal / runtime strings) are validated at runtime.
49
+ *
50
+ * Identity is structural; all tokens with the same `role` string are
51
+ * interchangeable at runtime.
45
52
  */
46
- export declare const makeType: <TData>(role: string) => RoleToken<TData>;
53
+ export declare const makeType: {
54
+ <TData = unknown, T extends string = string>(nsid: [DXN.Name<T>] extends [never] ? `Invalid NSID "${T}": final segment must be camelCase (no hyphens)` : T): RoleToken<TData>;
55
+ };
47
56
  /**
48
- * Props that are passed to the Surface component.
57
+ * Creates a {@link SurfaceFilter} from a role token and an optional guard.
49
58
  *
50
- * The role can be provided either as a string via `role` or as a typed
51
- * {@link RoleToken} via `type`. The typed form narrows `data` to the token's
52
- * declared shape.
59
+ * When `guard` is omitted the filter matches any data at the token's role
60
+ * (role-only dispatch). Pass a guard to add runtime data-shape validation on
61
+ * top of the role match.
62
+ *
63
+ * This is the framework-level primitive; `@dxos/app-toolkit` builds richer
64
+ * domain-aware helpers (ECHO schema checks, literal matching, etc.) on top of it.
65
+ */
66
+ export declare const makeFilter: <TData>(token: RoleToken<TData>, guard?: (data: TData) => boolean) => SurfaceFilter<TData>;
67
+ /**
68
+ * Typed Surface consumer props — carries the role/data-shape contract via a
69
+ * {@link RoleToken}. The `type` prop is required; the string `role` prop has
70
+ * been removed from the consumer-facing API.
53
71
  */
54
72
  export type Props<T extends Record<string, any> = Record<string, unknown>> = {
55
73
  /**
@@ -65,22 +83,7 @@ export type Props<T extends Record<string, any> = Record<string, unknown>> = {
65
83
  * The placeholder component will be rendered while the surface component is loading.
66
84
  */
67
85
  placeholder?: ReactNode;
68
- } & MakeOptional<CoreProps<T>, 'id' | 'data' | 'role'> & {
69
- /**
70
- * Explicitly disallow `type` on the untyped Props overload — if the caller
71
- * provides `type={AppSurface.X}`, TypeScript must route to the typed
72
- * overload (where `data` is narrowed by the token). Without this, the
73
- * catch-all index signature below would accept any `type` value and mask
74
- * the typed overload entirely.
75
- */
76
- type?: undefined;
77
- } /**
78
- * Additional props to pass to the component.
79
- * These props are not used by Surface itself but may be used by components which resolve the surface.
80
- * Exclude known prop names to prevent overriding well-defined props.
81
- */ & {
82
- [K in keyof Record<string, any>]: K extends keyof CoreProps<T> | 'fallback' | 'placeholder' | 'type' ? never : any;
83
- };
86
+ } & MakeOptional<CoreProps<T>, 'id' | 'data'>;
84
87
  /**
85
88
  * Typed Surface consumer props — carries the role/data-shape contract via a
86
89
  * {@link RoleToken}. Available as a typed overload of the Surface component so
@@ -102,6 +105,8 @@ export type TypedProps<TToken extends RoleToken<any>> = {
102
105
  };
103
106
  /**
104
107
  * NOTE: If `[key: string]: unknown` is included in shared types, when re-used other fields become unknown as well.
108
+ * The `type` prop is the only way to set the role; it is required here and
109
+ * optional in {@link Props} via MakeOptional.
105
110
  */
106
111
  export type CoreProps<T extends Record<string, any> = Record<string, unknown>> = PropsWithChildren<{
107
112
  /**
@@ -109,12 +114,9 @@ export type CoreProps<T extends Record<string, any> = Record<string, unknown>> =
109
114
  */
110
115
  id: string;
111
116
  /**
112
- * Role defines how the data should be rendered. For new code, prefer the
113
- * typed overload of the Surface component which takes a {@link RoleToken}
114
- * via the `type` prop instead — it enforces a role/data contract at compile
115
- * time.
117
+ * The role token defining how the data should be rendered.
116
118
  */
117
- role: string;
119
+ type: RoleToken<T>;
118
120
  /**
119
121
  * The data to be rendered by the surface.
120
122
  * NOTE: This must be a stable value.
@@ -125,43 +127,23 @@ export type CoreProps<T extends Record<string, any> = Record<string, unknown>> =
125
127
  */
126
128
  limit?: number | undefined;
127
129
  }>;
128
- export type ComponentProps<T extends Record<string, any> = Record<string, any>> = CoreProps<T> & {
129
- ref?: RefCallback<HTMLElement>;
130
- } & Record<string, any>;
130
+ export type ComponentProps<T extends Record<string, any> = Record<string, any>> = {
131
+ /**
132
+ * The resolved role NSID string (e.g. `org.dxos.role.article`). Present on
133
+ * matched components only — multi-role containers can branch on this value
134
+ * by comparing against a token's `.role` (e.g. `role === AppSurface.Section.role`).
135
+ */
136
+ role: string;
137
+ ref?: Ref<HTMLElement>;
138
+ } & PropsWithChildren<{
139
+ id: string;
140
+ data: T;
141
+ limit?: number | undefined;
142
+ }> & Record<string, any>;
131
143
  /**
132
144
  * React component used to render a surface once is has matched.
133
145
  */
134
146
  export type ComponentFunction<T extends Record<string, any> = Record<string, any>> = (props: ComponentProps<T>) => ReactNode;
135
- /**
136
- * Definition of when a React component surface should be rendered.
137
- *
138
- * The optional `filter` receives the consumer-supplied `role` as its second
139
- * argument so a single definition can encode role-specific guards (used by the
140
- * {@link SurfaceFilter}-based `create` overload).
141
- */
142
- export type ReactDefinition<T extends Record<string, any> = any> = Readonly<{
143
- kind: 'react';
144
- id: string;
145
- role: string | string[];
146
- position?: Position;
147
- component: ComponentFunction<T>;
148
- filter?: (data: Record<string, unknown>, role?: string) => data is T;
149
- }>;
150
- /**
151
- * Definition of when a Web Component surface should be rendered.
152
- */
153
- export type WebComponentDefinition<T extends Record<string, any> = any> = Readonly<{
154
- kind: 'web-component';
155
- id: string;
156
- role: string | string[];
157
- position?: Position;
158
- /**
159
- * The tag name of the Web Component to render.
160
- * The Web Component will receive the same props as React surfaces via properties/attributes.
161
- */
162
- tagName: string;
163
- filter?: (data: Record<string, unknown>, role?: string) => data is T;
164
- }>;
165
147
  /**
166
148
  * Definition of when a surface (React or Web Component) should be rendered.
167
149
  */
@@ -185,13 +167,11 @@ export type TypedWebComponentDefinition<T extends Record<string, any> = any> = R
185
167
  position?: Position;
186
168
  }>;
187
169
  /**
188
- * Creates a React surface definition.
170
+ * Creates a React surface definition from a typed filter.
189
171
  */
190
172
  export declare function create<T extends Record<string, any> = any>(definition: TypedReactDefinition<T>): ReactDefinition<T>;
191
- export declare function create<T extends Record<string, any> = any>(definition: Omit<ReactDefinition<T>, 'kind'>): ReactDefinition<T>;
192
173
  /**
193
- * Creates a Web Component surface definition.
174
+ * Creates a Web Component surface definition from a typed filter.
194
175
  */
195
176
  export declare function createWeb<T extends Record<string, any> = any>(definition: TypedWebComponentDefinition<T>): WebComponentDefinition<T>;
196
- export declare function createWeb<T extends Record<string, any> = any>(definition: Omit<WebComponentDefinition<T>, 'kind'>): WebComponentDefinition<T>;
197
177
  //# sourceMappingURL=types.d.ts.map