@dotcraft/plugin 0.5.9 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @dotcraft/plugin
2
2
 
3
- `@dotcraft/plugin` provides the public contracts, shared React runtime bindings, and build command for DotCraft Desktop Plugins.
3
+ `@dotcraft/plugin` provides the public contracts, shared React runtime bindings, and build command for trusted DotCraft Desktop Plugins. Use Node.js 20 or later.
4
4
 
5
5
  ## Install
6
6
 
@@ -8,6 +8,49 @@
8
8
  npm install --save-dev @dotcraft/plugin
9
9
  ```
10
10
 
11
+ React 19 and `react-dom` 19 are peer dependencies. The `$plugin-creator` scaffold supplies them and the required TypeScript setup.
12
+
13
+ ## Activate
14
+
15
+ ```tsx
16
+ import type { DesktopPluginActivate } from "@dotcraft/plugin";
17
+
18
+ export const activate: DesktopPluginActivate = (host) => {
19
+ host.ui.add("composer.toolbar.leading", ({ context }) => (
20
+ context.minimalChrome ? null : <button type="button">Review</button>
21
+ ));
22
+ };
23
+ ```
24
+
25
+ ## Match Desktop settings and appearance
26
+
27
+ Build settings pages from the exported Host UI Kit, including `SettingsGroup`, `SettingsRow`,
28
+ `SegmentedControl`, and `Slider`. Put plugin-specific visual pickers in a block row or a
29
+ `SettingsGroup` with `flush` rather than reproducing Desktop layout styles.
30
+
31
+ Use `host.appearance` for application-wide theme or backdrop effects. Theme contributions provide
32
+ partial light and dark seed overrides; wallpaper-style plugins render media in `app.background`
33
+ and set the shell surface opacity with `setBackdropPresentation`. Passing `null`, deactivating, or
34
+ reloading the plugin restores the previous Host appearance. Private Desktop CSS variables are not
35
+ part of this API.
36
+
37
+ Use `app.status` for compact persistent diagnostics that share the Host-owned bottom-right status
38
+ rail with Core indicators. Use `app.overlay` for decorative or independently positioned content;
39
+ an `app.status` contribution does not position itself against the viewport.
40
+
41
+ Request an opaque RGB color with `host.ui.pickColor`. Desktop owns the dialog, Hex validation,
42
+ focus handling, and localized controls. The result distinguishes a selected color, a semantic
43
+ reset, and cancellation; plugin disable or reload cancels any request it owns.
44
+
45
+ ```ts
46
+ const result = await host.ui.pickColor({
47
+ title: "Choose workspace color",
48
+ initialColor: "#8b5cf6",
49
+ allowReset: true,
50
+ defaultColor: "#4566cc",
51
+ });
52
+ ```
53
+
11
54
  ## Build
12
55
 
13
56
  The `$plugin-creator` scaffold supplies the source layout and build script. From its `desktop/` directory, run:
@@ -20,6 +63,8 @@ The build writes the plugin module and imported assets to `dist/` for DotCraft t
20
63
 
21
64
  ## Links
22
65
 
66
+ - [Build a Desktop Plugin](https://dotharness.github.io/dotcraft/developing/integrations/desktop-plugins)
67
+ - [Desktop Plugin API](https://dotharness.github.io/dotcraft/developing/integrations/desktop-plugin-api)
23
68
  - [Source repository](https://github.com/DotHarness/dotcraft)
24
69
  - [Issues](https://github.com/DotHarness/dotcraft/issues)
25
70
  - [License](./LICENSE)
@@ -1,14 +1,125 @@
1
1
  import type { AppConnectionStartResult, AppConnectionStatusResult, ClientRequestMethods, ServerNotificationMethods } from "@dotcraft/sdk/contracts";
2
- import type { ComponentType, CSSProperties, ExoticComponent } from "react";
2
+ import type { ComponentType, CSSProperties, ExoticComponent, ReactNode } from "react";
3
3
  export type DesktopPluginDispose = () => void;
4
4
  export interface DesktopPluginMetadata {
5
5
  readonly id: string;
6
6
  readonly version: string;
7
7
  readonly displayName: string;
8
8
  }
9
- export interface DesktopPluginEnvironment {
10
- readonly locale: string;
9
+ /** The app locales Desktop resolves to. A browser tag such as `zh-CN` normalizes into this set. */
10
+ export type DesktopPluginLocale = "en" | "zh-Hans" | "ja" | "ko" | "es" | "fr" | "de";
11
+ /** The four values Desktop derives its palette from; see the theme token contract. */
12
+ export interface DesktopPluginThemeSeed {
13
+ /** The base plane: the page in dark, the card in light. */
14
+ readonly surface: string;
15
+ readonly ink: string;
16
+ readonly accent: string;
17
+ /** 0-100. */
18
+ readonly contrast: number;
19
+ }
20
+ export interface DesktopPluginEnvironmentSnapshot {
21
+ readonly locale: DesktopPluginLocale;
11
22
  readonly theme: "light" | "dark";
23
+ readonly themeSeed: DesktopPluginThemeSeed;
24
+ }
25
+ export interface DesktopPluginEnvironment extends DesktopPluginEnvironmentSnapshot {
26
+ /** Notifies when the applied theme, seed, or locale changes; disposed with the plugin generation. */
27
+ onChange(listener: (environment: DesktopPluginEnvironmentSnapshot) => void): DesktopPluginDispose;
28
+ }
29
+ export type DesktopPluginThemeSeedOverrides = Partial<Record<"light" | "dark", Partial<DesktopPluginThemeSeed>>>;
30
+ export interface DesktopPluginBackdropPresentation {
31
+ /** Opacity of each Host-owned shell surface, from 0 (clear) to 1 (opaque). */
32
+ readonly surfaceOpacity: number;
33
+ }
34
+ export interface DesktopPluginAppearance {
35
+ /** Replaces this plugin generation's theme layer. Pass null to reveal the layer below it. */
36
+ setThemeSeedOverride(value: DesktopPluginThemeSeedOverrides | null): void;
37
+ /** Replaces this plugin generation's backdrop presentation. Pass null when no media is active. */
38
+ setBackdropPresentation(value: DesktopPluginBackdropPresentation | null): void;
39
+ }
40
+ export interface DesktopPluginSessionSnapshot {
41
+ /** The foreground workspace, not the active thread's; a Composer surface context reports that one. */
42
+ readonly workspacePath: string | null;
43
+ readonly threadId: string | null;
44
+ readonly mode: "agent" | "plan";
45
+ readonly busy: boolean;
46
+ }
47
+ export interface DesktopPluginSession extends DesktopPluginSessionSnapshot {
48
+ /** Notifies when workspace, thread, mode, or busy state changes; disposed with the plugin generation. */
49
+ onChange(listener: (session: DesktopPluginSessionSnapshot) => void): DesktopPluginDispose;
50
+ }
51
+ export interface DesktopPluginAppSurfaceContext {
52
+ readonly rootElement: HTMLElement;
53
+ }
54
+ export interface DesktopPluginComposerSurfaceContext {
55
+ readonly workspacePath: string | null;
56
+ readonly threadId: string | null;
57
+ readonly mode: "agent" | "plan";
58
+ readonly busy: boolean;
59
+ readonly awaitingApproval: boolean;
60
+ readonly variant: "default" | "agentBuilder";
61
+ readonly minimalChrome: boolean;
62
+ }
63
+ export type DesktopPluginMascotActivity = "idle" | "focused" | "dragging" | "working" | "decision" | "success" | "error" | "sleeping";
64
+ export interface DesktopPluginComposerMascotSurfaceContext extends DesktopPluginComposerSurfaceContext {
65
+ readonly size: number;
66
+ readonly activity: DesktopPluginMascotActivity;
67
+ readonly expression: "neutral" | "happy" | "operator" | "sleep";
68
+ readonly light: "default" | "success" | "error";
69
+ readonly submitRevision: number;
70
+ readonly reasoningEffort: "off" | "low" | "medium" | "high" | "extraHigh";
71
+ readonly speed: "standard" | "fast";
72
+ readonly contextMax: boolean;
73
+ readonly reducedMotion: boolean;
74
+ }
75
+ /**
76
+ * Known Desktop surface contexts. Plugins may augment this interface with their own surfaces.
77
+ */
78
+ export interface DesktopPluginSurfaceContextMap {
79
+ readonly app: DesktopPluginAppSurfaceContext;
80
+ readonly "app.background": DesktopPluginAppSurfaceContext;
81
+ readonly "app.overlay": DesktopPluginAppSurfaceContext;
82
+ readonly "app.status": DesktopPluginAppSurfaceContext;
83
+ readonly composer: DesktopPluginComposerSurfaceContext;
84
+ readonly "composer.mascot": DesktopPluginComposerMascotSurfaceContext;
85
+ readonly "composer.before": DesktopPluginComposerSurfaceContext;
86
+ readonly "composer.after": DesktopPluginComposerSurfaceContext;
87
+ readonly "composer.input": DesktopPluginComposerSurfaceContext;
88
+ readonly "composer.input.attachments": DesktopPluginComposerSurfaceContext;
89
+ readonly "composer.input.editor": DesktopPluginComposerSurfaceContext;
90
+ readonly "composer.toolbar": DesktopPluginComposerSurfaceContext;
91
+ readonly "composer.toolbar.leading": DesktopPluginComposerSurfaceContext;
92
+ readonly "composer.toolbar.trailing": DesktopPluginComposerSurfaceContext;
93
+ readonly "composer.toolbar.commands": DesktopPluginComposerSurfaceContext;
94
+ readonly "composer.toolbar.permissions": DesktopPluginComposerSurfaceContext;
95
+ readonly "composer.toolbar.mode": DesktopPluginComposerSurfaceContext;
96
+ readonly "composer.toolbar.goal": DesktopPluginComposerSurfaceContext;
97
+ readonly "composer.toolbar.context-usage": DesktopPluginComposerSurfaceContext;
98
+ readonly "composer.toolbar.model": DesktopPluginComposerSurfaceContext;
99
+ readonly "composer.toolbar.voice": DesktopPluginComposerSurfaceContext;
100
+ readonly "composer.toolbar.submit": DesktopPluginComposerSurfaceContext;
101
+ readonly "composer.status": DesktopPluginComposerSurfaceContext;
102
+ readonly "composer.status.workspace": DesktopPluginComposerSurfaceContext;
103
+ readonly "composer.status.subscription": DesktopPluginComposerSurfaceContext;
104
+ }
105
+ export type DesktopPluginSurfaceContext<Surface extends string> = Surface extends keyof DesktopPluginSurfaceContextMap ? DesktopPluginSurfaceContextMap[Surface] : unknown;
106
+ export interface DesktopPluginSurfaceProps<Surface extends string = string> {
107
+ readonly host: DesktopPluginHost;
108
+ readonly context: DesktopPluginSurfaceContext<Surface>;
109
+ }
110
+ export interface DesktopPluginSurfaceWrapperProps<Surface extends string = string> extends DesktopPluginSurfaceProps<Surface> {
111
+ readonly children: ReactNode;
112
+ }
113
+ export type DesktopPluginSurfaceComponent<Surface extends string = string> = ComponentType<DesktopPluginSurfaceProps<Surface>>;
114
+ export type DesktopPluginSurfaceWrapper<Surface extends string = string> = ComponentType<DesktopPluginSurfaceWrapperProps<Surface>>;
115
+ export type DesktopPluginEffectSetup = () => void | DesktopPluginDispose;
116
+ export interface DesktopPluginServices {
117
+ provide<T>(id: string, service: T): DesktopPluginDispose;
118
+ use<T>(id: string): T | undefined;
119
+ }
120
+ export interface DesktopPluginEvents {
121
+ on<T = unknown>(event: string, listener: (payload: T) => void): DesktopPluginDispose;
122
+ emit<T = unknown>(event: string, payload: T): void;
12
123
  }
13
124
  export interface DesktopPluginNavigation {
14
125
  openMainView(contributionId: string): void;
@@ -25,9 +136,37 @@ export interface DesktopPluginToastOptions {
25
136
  readonly run: () => void;
26
137
  };
27
138
  }
139
+ export interface DesktopPluginAddOptions {
140
+ /** Ascending; defaults to 100. Additions sharing an order keep registration order. */
141
+ readonly order?: number;
142
+ }
143
+ export interface DesktopPluginColorPickerBaseOptions {
144
+ readonly title: string;
145
+ readonly description?: string;
146
+ readonly initialColor: string;
147
+ }
148
+ export type DesktopPluginColorPickerOptions = (DesktopPluginColorPickerBaseOptions & {
149
+ readonly allowReset: true;
150
+ readonly defaultColor: string;
151
+ }) | (DesktopPluginColorPickerBaseOptions & {
152
+ readonly allowReset?: false;
153
+ readonly defaultColor?: never;
154
+ });
155
+ export type DesktopPluginColorPickerResult = {
156
+ readonly kind: "select";
157
+ readonly color: string;
158
+ } | {
159
+ readonly kind: "reset";
160
+ } | {
161
+ readonly kind: "cancel";
162
+ };
28
163
  export interface DesktopPluginUi {
29
164
  showToast(options: DesktopPluginToastOptions): DesktopPluginDispose;
30
165
  confirm(options: DesktopPluginConfirmOptions): Promise<boolean>;
166
+ pickColor(options: DesktopPluginColorPickerOptions): Promise<DesktopPluginColorPickerResult>;
167
+ add<Surface extends string>(surface: Surface, component: DesktopPluginSurfaceComponent<Surface>, options?: DesktopPluginAddOptions): DesktopPluginDispose;
168
+ replace<Surface extends string>(surface: Surface, component: DesktopPluginSurfaceComponent<Surface>): DesktopPluginDispose;
169
+ wrap<Surface extends string>(surface: Surface, wrapper: DesktopPluginSurfaceWrapper<Surface>): DesktopPluginDispose;
31
170
  }
32
171
  export interface DesktopPluginConfirmOptions {
33
172
  readonly title: string;
@@ -40,6 +179,40 @@ export interface DesktopPluginAppServer {
40
179
  request<M extends keyof ClientRequestMethods>(method: M, params: ClientRequestMethods[M]["params"], timeoutMs?: number): Promise<ClientRequestMethods[M]["result"]>;
41
180
  onNotification<M extends keyof ServerNotificationMethods>(method: M, listener: (params: ServerNotificationMethods[M]["params"]) => void): DesktopPluginDispose;
42
181
  }
182
+ export type DesktopPluginSettingType = "text" | "textarea" | "number" | "bool" | "select" | "stringList" | "keyValueMap" | "json";
183
+ export interface DesktopPluginSettingField {
184
+ readonly key: string;
185
+ readonly type: DesktopPluginSettingType;
186
+ readonly defaultValue?: unknown;
187
+ readonly options?: readonly string[];
188
+ readonly min?: number;
189
+ readonly max?: number;
190
+ }
191
+ export interface DesktopPluginSettingsSchema {
192
+ readonly fields: readonly DesktopPluginSettingField[];
193
+ }
194
+ export type DesktopPluginSettingsScope = "personal" | "workspace";
195
+ export type DesktopPluginSettingsMutation = Readonly<{
196
+ op: "set";
197
+ key: string;
198
+ value: unknown;
199
+ }> | Readonly<{
200
+ op: "unset";
201
+ key: string;
202
+ }>;
203
+ export interface DesktopPluginSettingsSnapshot<TValue = Record<string, unknown>> {
204
+ readonly schema: DesktopPluginSettingsSchema;
205
+ readonly personal: Partial<TValue>;
206
+ readonly workspace: Partial<TValue>;
207
+ readonly value: TValue;
208
+ readonly writableScopes: readonly DesktopPluginSettingsScope[];
209
+ }
210
+ export interface DesktopPluginSettings {
211
+ get<TValue = Record<string, unknown>>(): Promise<DesktopPluginSettingsSnapshot<TValue>>;
212
+ mutate<TValue = Record<string, unknown>>(scope: DesktopPluginSettingsScope, operations: readonly DesktopPluginSettingsMutation[]): Promise<DesktopPluginSettingsSnapshot<TValue>>;
213
+ /** Notifies on new stored snapshots; skips repeats and stale reads, and never fires on subscribe. */
214
+ onChange<TValue = Record<string, unknown>>(listener: (settings: DesktopPluginSettingsSnapshot<TValue>) => void): DesktopPluginDispose;
215
+ }
43
216
  export interface DesktopPluginAppBindings {
44
217
  getConnectionStatus(appId: string): Promise<AppConnectionStatusResult>;
45
218
  startConnection(appId: string): Promise<AppConnectionStartResult>;
@@ -112,9 +285,15 @@ export interface DesktopPluginOratorio {
112
285
  export interface DesktopPluginHost {
113
286
  readonly plugin: DesktopPluginMetadata;
114
287
  readonly environment: DesktopPluginEnvironment;
288
+ readonly appearance: DesktopPluginAppearance;
289
+ readonly session: DesktopPluginSession;
290
+ effect(setup: DesktopPluginEffectSetup): DesktopPluginDispose;
291
+ readonly services: DesktopPluginServices;
292
+ readonly events: DesktopPluginEvents;
115
293
  readonly navigation: DesktopPluginNavigation;
116
294
  readonly ui: DesktopPluginUi;
117
295
  readonly appServer: DesktopPluginAppServer;
296
+ readonly settings: DesktopPluginSettings;
118
297
  readonly appBindings: DesktopPluginAppBindings;
119
298
  readonly appSurfaces: DesktopPluginAppSurfaces;
120
299
  readonly workspaces: DesktopPluginWorkspaceReader;
@@ -131,7 +310,7 @@ export interface DesktopPluginIconProps {
131
310
  readonly style?: CSSProperties;
132
311
  }
133
312
  export type DesktopPluginIconComponent = ComponentType<DesktopPluginIconProps> | ExoticComponent<DesktopPluginIconProps>;
134
- export type DesktopPluginContributionIcon = string | DesktopPluginIconComponent;
313
+ export type DesktopPluginContributionIcon = DesktopPluginIconComponent;
135
314
  export interface DesktopPluginViewProps {
136
315
  readonly host: DesktopPluginHost;
137
316
  readonly contributionId: string;
@@ -144,16 +323,6 @@ export interface DesktopPluginCommandContext {
144
323
  readonly threadId: string | null;
145
324
  readonly viewId: string;
146
325
  }
147
- export interface DesktopPluginComposerActionContext {
148
- readonly workspacePath: string | null;
149
- readonly threadId: string;
150
- readonly mode: "agent" | "plan";
151
- readonly busy: boolean;
152
- readonly awaitingApproval: boolean;
153
- }
154
- export interface DesktopPluginComposerActionProps extends DesktopPluginViewProps {
155
- readonly context: DesktopPluginComposerActionContext;
156
- }
157
326
  export interface DesktopPluginAssistantMessageModel {
158
327
  readonly id: string;
159
328
  readonly threadId: string;
@@ -209,14 +378,6 @@ export interface DesktopPluginToolRendererContribution {
209
378
  readonly priority?: number;
210
379
  readonly component: ComponentType<DesktopPluginToolRendererProps>;
211
380
  }
212
- export interface DesktopPluginComposerActionContribution {
213
- readonly id: string;
214
- readonly label: DesktopLocalizedText;
215
- readonly icon?: DesktopPluginContributionIcon;
216
- readonly order?: number;
217
- readonly isAvailable?: (context: DesktopPluginComposerActionContext) => boolean;
218
- readonly component: ComponentType<DesktopPluginComposerActionProps>;
219
- }
220
381
  export interface DesktopPluginMessageActionContribution {
221
382
  readonly id: string;
222
383
  readonly label: DesktopLocalizedText;
@@ -231,10 +392,9 @@ export interface DesktopPluginActivation {
231
392
  readonly conversationViews?: readonly DesktopPluginConversationViewContribution[];
232
393
  readonly commands?: readonly DesktopPluginCommandContribution[];
233
394
  readonly toolRenderers?: readonly DesktopPluginToolRendererContribution[];
234
- readonly composerActions?: readonly DesktopPluginComposerActionContribution[];
235
395
  readonly messageActions?: readonly DesktopPluginMessageActionContribution[];
236
396
  readonly dispose?: () => void | Promise<void>;
237
397
  }
238
- export type DesktopPluginActivate = (host: DesktopPluginHost) => DesktopPluginActivation | Promise<DesktopPluginActivation>;
398
+ export type DesktopPluginActivate = (host: DesktopPluginHost) => DesktopPluginActivation | void | Promise<DesktopPluginActivation | void>;
239
399
  export {};
240
400
  //# sourceMappingURL=contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,13 +1,16 @@
1
- export type { DesktopLocalizedText, DesktopPluginActivate, DesktopPluginActivation, DesktopPluginAppBindings, DesktopPluginAppServer, DesktopPluginAppSurfaces, DesktopPluginAssistantMessageModel, DesktopPluginCommandContext, DesktopPluginCommandContribution, DesktopPluginConfirmOptions, DesktopPluginComposerActionContext, DesktopPluginComposerActionContribution, DesktopPluginComposerActionProps, DesktopPluginConversationViewContribution, DesktopPluginConversationViewProps, DesktopPluginDispose, DesktopPluginEnvironment, DesktopPluginHost, DesktopPluginContributionIcon, DesktopPluginIconComponent, DesktopPluginIconProps, DesktopPluginLocalProject, DesktopPluginMetadata, DesktopPluginMainViewContribution, DesktopPluginNavigation, DesktopPluginOratorio, DesktopPluginOratorioBoardEvent, DesktopPluginOratorioContext, DesktopPluginOratorioEvent, DesktopPluginOratorioHandoffRequest, DesktopPluginOratorioRequest, DesktopPluginOratorioResponse, DesktopPluginSettingsPageContribution, DesktopPluginMessageActionContribution, DesktopPluginToolPresentationModel, DesktopPluginToolRendererContribution, DesktopPluginToolRendererProps, DesktopPluginToastOptions, DesktopPluginUi, DesktopPluginViewProps, DesktopPluginWorkspaceReader, } from "./contracts.js";
2
- export type { ActionTooltipProps, ButtonProps, ButtonSize, ButtonVariant, CheckboxProps, ComboboxOption, ComboboxProps, DesktopPluginUiComponents, DesktopSelectComponent, FieldSize, IconButtonProps, InlineDiffProps, InputProps, ModalHeaderProps, PillSwitchProps, SelectOption, SelectProps, SkeletonProps, SpinnerProps, SettingsBreadcrumbProps, SettingsGroupProps, SettingsPanelShellProps, SettingsRowProps, TextareaProps, } from "./ui.js";
1
+ export type { DesktopLocalizedText, DesktopPluginActivate, DesktopPluginActivation, DesktopPluginAddOptions, DesktopPluginAppBindings, DesktopPluginAppServer, DesktopPluginAppSurfaces, DesktopPluginAppearance, DesktopPluginBackdropPresentation, DesktopPluginAssistantMessageModel, DesktopPluginCommandContext, DesktopPluginCommandContribution, DesktopPluginColorPickerBaseOptions, DesktopPluginColorPickerOptions, DesktopPluginColorPickerResult, DesktopPluginConfirmOptions, DesktopPluginConversationViewContribution, DesktopPluginConversationViewProps, DesktopPluginDispose, DesktopPluginEnvironment, DesktopPluginEnvironmentSnapshot, DesktopPluginThemeSeed, DesktopPluginThemeSeedOverrides, DesktopPluginEffectSetup, DesktopPluginEvents, DesktopPluginHost, DesktopPluginContributionIcon, DesktopPluginIconComponent, DesktopPluginIconProps, DesktopPluginLocale, DesktopPluginLocalProject, DesktopPluginMetadata, DesktopPluginMainViewContribution, DesktopPluginNavigation, DesktopPluginOratorio, DesktopPluginOratorioBoardEvent, DesktopPluginOratorioContext, DesktopPluginOratorioEvent, DesktopPluginOratorioHandoffRequest, DesktopPluginOratorioRequest, DesktopPluginOratorioResponse, DesktopPluginSession, DesktopPluginSessionSnapshot, DesktopPluginSettingsPageContribution, DesktopPluginSettingField, DesktopPluginSettingType, DesktopPluginSettings, DesktopPluginSettingsMutation, DesktopPluginSettingsSchema, DesktopPluginSettingsScope, DesktopPluginSettingsSnapshot, DesktopPluginServices, DesktopPluginAppSurfaceContext, DesktopPluginComposerMascotSurfaceContext, DesktopPluginComposerSurfaceContext, DesktopPluginMascotActivity, DesktopPluginSurfaceComponent, DesktopPluginSurfaceContext, DesktopPluginSurfaceContextMap, DesktopPluginSurfaceProps, DesktopPluginSurfaceWrapper, DesktopPluginSurfaceWrapperProps, DesktopPluginMessageActionContribution, DesktopPluginToolPresentationModel, DesktopPluginToolRendererContribution, DesktopPluginToolRendererProps, DesktopPluginToastOptions, DesktopPluginUi, DesktopPluginViewProps, DesktopPluginWorkspaceReader, } from "./contracts.js";
2
+ export type { ActionTooltipProps, ButtonProps, ButtonSize, ButtonVariant, CheckboxProps, ComboboxOption, ComboboxProps, DesktopPluginUiComponents, DesktopSegmentedControlComponent, DesktopSelectComponent, FieldSize, IconButtonProps, InlineDiffProps, InputProps, ModalHeaderProps, PillSwitchProps, PluginSurfaceComponent, PluginSurfaceProps, SegmentedControlOption, SegmentedControlProps, SelectOption, SelectProps, SkeletonProps, SliderProps, SpinnerProps, SettingsBreadcrumbProps, SettingsGroupProps, SettingsPanelShellProps, SettingsRowProps, TextareaProps, } from "./ui.js";
3
+ export declare const PluginSurface: import("./ui.js").PluginSurfaceComponent;
3
4
  export declare const Button: import("react").ComponentType<import("./ui.js").ButtonProps>;
4
5
  export declare const IconButton: import("react").ComponentType<import("./ui.js").IconButtonProps>;
5
6
  export declare const Input: import("react").ComponentType<import("./ui.js").InputProps>;
6
7
  export declare const Textarea: import("react").ComponentType<import("./ui.js").TextareaProps>;
7
8
  export declare const Select: import("./ui.js").DesktopSelectComponent;
9
+ export declare const SegmentedControl: import("./ui.js").DesktopSegmentedControlComponent;
8
10
  export declare const Checkbox: import("react").ComponentType<import("./ui.js").CheckboxProps>;
9
11
  export declare const Spinner: import("react").ComponentType<import("./ui.js").SpinnerProps>;
10
12
  export declare const Skeleton: import("react").ComponentType<import("./ui.js").SkeletonProps>;
13
+ export declare const Slider: import("react").ComponentType<import("./ui.js").SliderProps>;
11
14
  export declare const ActionTooltip: import("react").ComponentType<import("./ui.js").ActionTooltipProps>;
12
15
  export declare const Combobox: import("react").ComponentType<import("./ui.js").ComboboxProps>;
13
16
  export declare const ModalHeader: import("react").ComponentType<import("./ui.js").ModalHeaderProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,kCAAkC,EAClC,2BAA2B,EAC3B,gCAAgC,EAChC,2BAA2B,EAC3B,kCAAkC,EAClC,uCAAuC,EACvC,gCAAgC,EAChC,yCAAyC,EACzC,kCAAkC,EAClC,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,iCAAiC,EACjC,uBAAuB,EACvB,qBAAqB,EACrB,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,EAC1B,mCAAmC,EACnC,4BAA4B,EAC5B,6BAA6B,EAC7B,qCAAqC,EACrC,sCAAsC,EACtC,kCAAkC,EAClC,qCAAqC,EACrC,8BAA8B,EAC9B,yBAAyB,EACzB,eAAe,EACf,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,yBAAyB,EACzB,sBAAsB,EACtB,SAAS,EACT,eAAe,EACf,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,GACd,MAAM,SAAS,CAAC;AAMjB,eAAO,MAAM,MAAM,8DAAY,CAAC;AAChC,eAAO,MAAM,UAAU,kEAAgB,CAAC;AACxC,eAAO,MAAM,KAAK,6DAAW,CAAC;AAC9B,eAAO,MAAM,QAAQ,gEAAc,CAAC;AACpC,eAAO,MAAM,MAAM,0CAAY,CAAC;AAChC,eAAO,MAAM,QAAQ,gEAAc,CAAC;AACpC,eAAO,MAAM,OAAO,+DAAa,CAAC;AAClC,eAAO,MAAM,QAAQ,gEAAc,CAAC;AACpC,eAAO,MAAM,aAAa,qEAAmB,CAAC;AAC9C,eAAO,MAAM,QAAQ,gEAAc,CAAC;AACpC,eAAO,MAAM,WAAW,mEAAiB,CAAC;AAC1C,eAAO,MAAM,UAAU,kEAAgB,CAAC;AACxC,eAAO,MAAM,kBAAkB,0EAAwB,CAAC;AACxD,eAAO,MAAM,kBAAkB,0EAAwB,CAAC;AACxD,eAAO,MAAM,aAAa,qEAAmB,CAAC;AAC9C,eAAO,MAAM,WAAW,mEAAiB,CAAC;AAC1C,eAAO,MAAM,UAAU,kEAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,iCAAiC,EACjC,kCAAkC,EAClC,2BAA2B,EAC3B,gCAAgC,EAChC,mCAAmC,EACnC,+BAA+B,EAC/B,8BAA8B,EAC9B,2BAA2B,EAC3B,yCAAyC,EACzC,kCAAkC,EAClC,oBAAoB,EACpB,wBAAwB,EACxB,gCAAgC,EAChC,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,iCAAiC,EACjC,uBAAuB,EACvB,qBAAqB,EACrB,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,EAC1B,mCAAmC,EACnC,4BAA4B,EAC5B,6BAA6B,EAC7B,oBAAoB,EACpB,4BAA4B,EAC5B,qCAAqC,EACrC,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACrB,8BAA8B,EAC9B,yCAAyC,EACzC,mCAAmC,EACnC,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,EAC3B,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,gCAAgC,EAChC,sCAAsC,EACtC,kCAAkC,EAClC,qCAAqC,EACrC,8BAA8B,EAC9B,yBAAyB,EACzB,eAAe,EACf,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,yBAAyB,EACzB,gCAAgC,EAChC,sBAAsB,EACtB,SAAS,EACT,eAAe,EACf,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,GACd,MAAM,SAAS,CAAC;AAMjB,eAAO,MAAM,aAAa,0CAAmB,CAAC;AAC9C,eAAO,MAAM,MAAM,8DAAY,CAAC;AAChC,eAAO,MAAM,UAAU,kEAAgB,CAAC;AACxC,eAAO,MAAM,KAAK,6DAAW,CAAC;AAC9B,eAAO,MAAM,QAAQ,gEAAc,CAAC;AACpC,eAAO,MAAM,MAAM,0CAAY,CAAC;AAChC,eAAO,MAAM,gBAAgB,oDAAsB,CAAC;AACpD,eAAO,MAAM,QAAQ,gEAAc,CAAC;AACpC,eAAO,MAAM,OAAO,+DAAa,CAAC;AAClC,eAAO,MAAM,QAAQ,gEAAc,CAAC;AACpC,eAAO,MAAM,MAAM,8DAAY,CAAC;AAChC,eAAO,MAAM,aAAa,qEAAmB,CAAC;AAC9C,eAAO,MAAM,QAAQ,gEAAc,CAAC;AACpC,eAAO,MAAM,WAAW,mEAAiB,CAAC;AAC1C,eAAO,MAAM,UAAU,kEAAgB,CAAC;AACxC,eAAO,MAAM,kBAAkB,0EAAwB,CAAC;AACxD,eAAO,MAAM,kBAAkB,0EAAwB,CAAC;AACxD,eAAO,MAAM,aAAa,qEAAmB,CAAC;AAC9C,eAAO,MAAM,WAAW,mEAAiB,CAAC;AAC1C,eAAO,MAAM,UAAU,kEAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,13 +1,16 @@
1
1
  import { readDesktopPluginRuntime } from "./runtime.js";
2
2
  const ui = readDesktopPluginRuntime().ui;
3
+ export const PluginSurface = ui.PluginSurface;
3
4
  export const Button = ui.Button;
4
5
  export const IconButton = ui.IconButton;
5
6
  export const Input = ui.Input;
6
7
  export const Textarea = ui.Textarea;
7
8
  export const Select = ui.Select;
9
+ export const SegmentedControl = ui.SegmentedControl;
8
10
  export const Checkbox = ui.Checkbox;
9
11
  export const Spinner = ui.Spinner;
10
12
  export const Skeleton = ui.Skeleton;
13
+ export const Slider = ui.Slider;
11
14
  export const ActionTooltip = ui.ActionTooltip;
12
15
  export const Combobox = ui.Combobox;
13
16
  export const ModalHeader = ui.ModalHeader;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,EAAE,GAAG,wBAAwB,EAAE,CAAC,EAAE,CAAC;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;AAC9B,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;AAClC,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,kBAAkB,CAAC;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,kBAAkB,CAAC;AACxD,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAyGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,EAAE,GAAG,wBAAwB,EAAE,CAAC,EAAE,CAAC;AAEzC,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;AAC9B,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;AACpD,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;AAClC,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,kBAAkB,CAAC;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,kBAAkB,CAAC;AACxD,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC"}
package/dist/ui.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { ButtonHTMLAttributes, ComponentType, CSSProperties, InputHTMLAttributes, ReactNode, TextareaHTMLAttributes } from "react";
2
+ import type { DesktopPluginSurfaceContext } from "./contracts.js";
2
3
  export type ButtonVariant = "primary" | "secondary" | "ghost" | "danger" | "accent" | "outline";
3
4
  export type ButtonSize = "default" | "sm" | "icon" | "iconSm" | "prominent" | "toolbar";
4
5
  export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
@@ -46,6 +47,17 @@ export interface SelectProps<T extends string = string> {
46
47
  readonly appearance?: "field" | "frameless";
47
48
  readonly adaptiveWidth?: boolean;
48
49
  }
50
+ export interface SegmentedControlOption<T extends string = string> {
51
+ readonly value: T;
52
+ readonly label: string;
53
+ }
54
+ export interface SegmentedControlProps<T extends string = string> {
55
+ readonly value: T;
56
+ readonly options: readonly SegmentedControlOption<T>[];
57
+ readonly onValueChange: (value: T) => void;
58
+ readonly ariaLabel: string;
59
+ readonly disabled?: boolean;
60
+ }
49
61
  export interface CheckboxProps {
50
62
  readonly id?: string;
51
63
  readonly checked: boolean;
@@ -66,6 +78,17 @@ export interface SkeletonProps {
66
78
  readonly circle?: boolean;
67
79
  readonly style?: CSSProperties;
68
80
  }
81
+ export interface SliderProps {
82
+ readonly value: number;
83
+ readonly min: number;
84
+ readonly max: number;
85
+ readonly step?: number;
86
+ readonly onValueChange: (value: number) => void;
87
+ readonly onValueCommit?: (value: number) => void;
88
+ readonly ariaLabel: string;
89
+ readonly valueText?: string;
90
+ readonly disabled?: boolean;
91
+ }
69
92
  export interface ActionTooltipProps {
70
93
  readonly label: string;
71
94
  readonly multiline?: boolean;
@@ -113,13 +136,17 @@ export interface SettingsGroupProps {
113
136
  readonly title?: string;
114
137
  readonly description?: ReactNode;
115
138
  readonly headerAction?: ReactNode;
139
+ readonly flush?: boolean;
116
140
  readonly children: ReactNode;
117
141
  }
118
142
  export interface SettingsRowProps {
119
143
  readonly label?: ReactNode;
120
144
  readonly description?: ReactNode;
145
+ readonly htmlFor?: string;
121
146
  readonly control?: ReactNode;
122
147
  readonly controlMinWidth?: number | string;
148
+ readonly orientation?: "inline" | "block";
149
+ readonly align?: "center" | "flex-start";
123
150
  readonly children?: ReactNode;
124
151
  }
125
152
  export interface InlineDiffProps {
@@ -128,18 +155,32 @@ export interface InlineDiffProps {
128
155
  readonly before: string;
129
156
  readonly after: string;
130
157
  }
158
+ export interface PluginSurfaceProps<Surface extends string = string> {
159
+ readonly name: Surface;
160
+ readonly context: DesktopPluginSurfaceContext<Surface>;
161
+ readonly children?: ReactNode;
162
+ }
163
+ export interface PluginSurfaceComponent {
164
+ <Surface extends string = string>(props: PluginSurfaceProps<Surface>): ReactNode;
165
+ }
131
166
  export interface DesktopSelectComponent {
132
167
  <T extends string = string>(props: SelectProps<T>): ReactNode;
133
168
  }
169
+ export interface DesktopSegmentedControlComponent {
170
+ <T extends string = string>(props: SegmentedControlProps<T>): ReactNode;
171
+ }
134
172
  export interface DesktopPluginUiComponents {
173
+ readonly PluginSurface: PluginSurfaceComponent;
135
174
  readonly Button: ComponentType<ButtonProps>;
136
175
  readonly IconButton: ComponentType<IconButtonProps>;
137
176
  readonly Input: ComponentType<InputProps>;
138
177
  readonly Textarea: ComponentType<TextareaProps>;
139
178
  readonly Select: DesktopSelectComponent;
179
+ readonly SegmentedControl: DesktopSegmentedControlComponent;
140
180
  readonly Checkbox: ComponentType<CheckboxProps>;
141
181
  readonly Spinner: ComponentType<SpinnerProps>;
142
182
  readonly Skeleton: ComponentType<SkeletonProps>;
183
+ readonly Slider: ComponentType<SliderProps>;
143
184
  readonly ActionTooltip: ComponentType<ActionTooltipProps>;
144
185
  readonly Combobox: ComponentType<ComboboxProps>;
145
186
  readonly ModalHeader: ComponentType<ModalHeaderProps>;
package/dist/ui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,sBAAsB,EACvB,MAAM,OAAO,CAAC;AAEf,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAChG,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAExF,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAChG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9C,UAAU,gBAAgB;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,EAAE,gBAAgB;CAAG;AAE5G,MAAM,WAAW,aAAc,SAAQ,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,gBAAgB;CAAG;AAEvG,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACrD,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACpD,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;IAC/E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CAC/D;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC1D,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACpD,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACpE,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACpE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC1D,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;CACrD"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dotcraft/plugin",
3
- "version": "0.5.9",
3
+ "version": "0.6.0",
4
4
  "description": "TypeScript and React authoring tools for DotCraft Plugin desktop modules",
5
5
  "repository": {
6
6
  "type": "git",
@@ -34,11 +34,11 @@
34
34
  "scripts": {
35
35
  "build": "node ../../scripts/clean-dist.mjs . && tsc -p tsconfig.json",
36
36
  "build:plugin": "node scripts/build-plugin.mjs build",
37
- "typecheck": "tsc --noEmit -p tsconfig.json",
38
- "test": "npm run build && node --test scripts/runtime.test.mjs && node scripts/build-plugin.test.mjs"
37
+ "typecheck": "tsc --noEmit -p tsconfig.type-tests.json",
38
+ "test": "npm run typecheck && npm run build && node --test scripts/runtime.test.mjs && node scripts/build-plugin.test.mjs"
39
39
  },
40
40
  "dependencies": {
41
- "@dotcraft/sdk": "0.5.9",
41
+ "@dotcraft/sdk": "0.6.0",
42
42
  "esbuild": "^0.25.11"
43
43
  },
44
44
  "peerDependencies": {
@@ -6,6 +6,17 @@ import { fileURLToPath } from "node:url";
6
6
  import { build } from "esbuild";
7
7
 
8
8
  const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
9
+ const assetLoaders = {
10
+ ".gif": "file",
11
+ ".jpg": "file",
12
+ ".jpeg": "file",
13
+ ".png": "file",
14
+ ".svg": "file",
15
+ ".webp": "file",
16
+ };
17
+ const assetFilter = new RegExp(`(?:${Object.keys(assetLoaders).map(escapeRegExp).join("|")})$`, "i");
18
+ const assetNamespace = "dotcraft-plugin-asset";
19
+ const assetImportKinds = new Set(["import-statement", "dynamic-import", "require-call"]);
9
20
  const proxyEntries = new Map([
10
21
  ["@dotcraft/plugin", join(packageRoot, "dist", "index.js")],
11
22
  ["react", join(packageRoot, "dist", "react.js")],
@@ -45,15 +56,8 @@ async function buildDesktopPlugin(projectRoot = process.cwd()) {
45
56
  minify: true,
46
57
  metafile: true,
47
58
  logLevel: "silent",
48
- loader: {
49
- ".gif": "file",
50
- ".jpg": "file",
51
- ".jpeg": "file",
52
- ".png": "file",
53
- ".svg": "file",
54
- ".webp": "file",
55
- },
56
- plugins: [runtimeProxyPlugin()],
59
+ loader: assetLoaders,
60
+ plugins: [runtimeProxyPlugin(), assetUrlPlugin()],
57
61
  });
58
62
 
59
63
  const bundledReact = Object.keys(result.metafile.inputs).find((input) =>
@@ -92,6 +96,38 @@ function runtimeProxyPlugin() {
92
96
  };
93
97
  }
94
98
 
99
+ /**
100
+ * Turns an asset import into the absolute URL of the emitted file. Desktop serves a plugin from
101
+ * `dotcraft-plugin://<id>/<revision>/`, which is not knowable at build time, so the bundle resolves
102
+ * the emitted path against its own module URL instead of a static `publicPath`. CSS `url()` tokens
103
+ * are left alone: a stylesheet already resolves them against its own address.
104
+ */
105
+ function assetUrlPlugin() {
106
+ return {
107
+ name: "dotcraft-plugin-asset-url",
108
+ setup(buildContext) {
109
+ buildContext.onResolve({ filter: assetFilter }, async (args) => {
110
+ if (args.namespace === assetNamespace || !assetImportKinds.has(args.kind)) return null;
111
+ const resolved = await buildContext.resolve(args.path, {
112
+ importer: args.importer,
113
+ kind: args.kind,
114
+ resolveDir: args.resolveDir,
115
+ namespace: assetNamespace,
116
+ });
117
+ if (resolved.errors.length > 0 || resolved.external) return null;
118
+ return { path: resolved.path, namespace: assetNamespace };
119
+ });
120
+
121
+ buildContext.onLoad({ filter: /.*/, namespace: assetNamespace }, (args) => ({
122
+ contents: `import assetPath from ${JSON.stringify(args.path)};\n`
123
+ + "export default new URL(assetPath, import.meta.url).href;\n",
124
+ resolveDir: dirname(args.path),
125
+ loader: "js",
126
+ }));
127
+ },
128
+ };
129
+ }
130
+
95
131
  function walkFiles(root) {
96
132
  const files = [];
97
133
  for (const entry of readdirSync(root, { withFileTypes: true })) {