@paperclipai/plugin-sdk 2026.3.17-canary.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.
Files changed (63) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +888 -0
  3. package/dist/bundlers.d.ts +57 -0
  4. package/dist/bundlers.d.ts.map +1 -0
  5. package/dist/bundlers.js +105 -0
  6. package/dist/bundlers.js.map +1 -0
  7. package/dist/define-plugin.d.ts +218 -0
  8. package/dist/define-plugin.d.ts.map +1 -0
  9. package/dist/define-plugin.js +85 -0
  10. package/dist/define-plugin.js.map +1 -0
  11. package/dist/dev-cli.d.ts +3 -0
  12. package/dist/dev-cli.d.ts.map +1 -0
  13. package/dist/dev-cli.js +49 -0
  14. package/dist/dev-cli.js.map +1 -0
  15. package/dist/dev-server.d.ts +34 -0
  16. package/dist/dev-server.d.ts.map +1 -0
  17. package/dist/dev-server.js +194 -0
  18. package/dist/dev-server.js.map +1 -0
  19. package/dist/host-client-factory.d.ts +229 -0
  20. package/dist/host-client-factory.d.ts.map +1 -0
  21. package/dist/host-client-factory.js +353 -0
  22. package/dist/host-client-factory.js.map +1 -0
  23. package/dist/index.d.ts +84 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +84 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/protocol.d.ts +881 -0
  28. package/dist/protocol.d.ts.map +1 -0
  29. package/dist/protocol.js +297 -0
  30. package/dist/protocol.js.map +1 -0
  31. package/dist/testing.d.ts +63 -0
  32. package/dist/testing.d.ts.map +1 -0
  33. package/dist/testing.js +700 -0
  34. package/dist/testing.js.map +1 -0
  35. package/dist/types.d.ts +982 -0
  36. package/dist/types.d.ts.map +1 -0
  37. package/dist/types.js +12 -0
  38. package/dist/types.js.map +1 -0
  39. package/dist/ui/components.d.ts +257 -0
  40. package/dist/ui/components.d.ts.map +1 -0
  41. package/dist/ui/components.js +97 -0
  42. package/dist/ui/components.js.map +1 -0
  43. package/dist/ui/hooks.d.ts +120 -0
  44. package/dist/ui/hooks.d.ts.map +1 -0
  45. package/dist/ui/hooks.js +148 -0
  46. package/dist/ui/hooks.js.map +1 -0
  47. package/dist/ui/index.d.ts +50 -0
  48. package/dist/ui/index.d.ts.map +1 -0
  49. package/dist/ui/index.js +48 -0
  50. package/dist/ui/index.js.map +1 -0
  51. package/dist/ui/runtime.d.ts +3 -0
  52. package/dist/ui/runtime.d.ts.map +1 -0
  53. package/dist/ui/runtime.js +30 -0
  54. package/dist/ui/runtime.js.map +1 -0
  55. package/dist/ui/types.d.ts +308 -0
  56. package/dist/ui/types.d.ts.map +1 -0
  57. package/dist/ui/types.js +17 -0
  58. package/dist/ui/types.js.map +1 -0
  59. package/dist/worker-rpc-host.d.ts +127 -0
  60. package/dist/worker-rpc-host.d.ts.map +1 -0
  61. package/dist/worker-rpc-host.js +941 -0
  62. package/dist/worker-rpc-host.js.map +1 -0
  63. package/package.json +88 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Core types for the Paperclip plugin worker-side SDK.
3
+ *
4
+ * These types define the stable public API surface that plugin workers import
5
+ * from `@paperclipai/plugin-sdk`. The host provides a concrete implementation
6
+ * of `PluginContext` to the plugin at initialisation time.
7
+ *
8
+ * @see PLUGIN_SPEC.md §14 — SDK Surface
9
+ * @see PLUGIN_SPEC.md §29.2 — SDK Versioning
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,257 @@
1
+ /**
2
+ * Shared UI component declarations for plugin frontends.
3
+ *
4
+ * These components are exported from `@paperclipai/plugin-sdk/ui` and are
5
+ * provided by the host at runtime. They match the host's design tokens and
6
+ * visual language, reducing the boilerplate needed to build consistent plugin UIs.
7
+ *
8
+ * **Plugins are not required to use these components.** They exist to reduce
9
+ * boilerplate and keep visual consistency. A plugin may render entirely custom
10
+ * UI using any React component library.
11
+ *
12
+ * Component implementations are provided by the host — plugin bundles contain
13
+ * only the type declarations; the runtime implementations are injected via the
14
+ * host module registry.
15
+ *
16
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components In `@paperclipai/plugin-sdk/ui`
17
+ */
18
+ import type React from "react";
19
+ /**
20
+ * A trend value that can accompany a metric.
21
+ * Positive values indicate upward trends; negative values indicate downward trends.
22
+ */
23
+ export interface MetricTrend {
24
+ /** Direction of the trend. */
25
+ direction: "up" | "down" | "flat";
26
+ /** Percentage change value (e.g. `12.5` for 12.5%). */
27
+ percentage?: number;
28
+ }
29
+ /** Props for `MetricCard`. */
30
+ export interface MetricCardProps {
31
+ /** Short label describing the metric (e.g. `"Synced Issues"`). */
32
+ label: string;
33
+ /** The metric value to display. */
34
+ value: number | string;
35
+ /** Optional trend indicator. */
36
+ trend?: MetricTrend;
37
+ /** Optional sparkline data (array of numbers, latest last). */
38
+ sparkline?: number[];
39
+ /** Optional unit suffix (e.g. `"%"`, `"ms"`). */
40
+ unit?: string;
41
+ }
42
+ /** Status variants for `StatusBadge`. */
43
+ export type StatusBadgeVariant = "ok" | "warning" | "error" | "info" | "pending";
44
+ /** Props for `StatusBadge`. */
45
+ export interface StatusBadgeProps {
46
+ /** Human-readable label. */
47
+ label: string;
48
+ /** Visual variant determining colour. */
49
+ status: StatusBadgeVariant;
50
+ }
51
+ /** A single column definition for `DataTable`. */
52
+ export interface DataTableColumn<T = Record<string, unknown>> {
53
+ /** Column key, matching a field on the row object. */
54
+ key: keyof T & string;
55
+ /** Column header label. */
56
+ header: string;
57
+ /** Optional custom cell renderer. */
58
+ render?: (value: unknown, row: T) => React.ReactNode;
59
+ /** Whether this column is sortable. */
60
+ sortable?: boolean;
61
+ /** CSS width (e.g. `"120px"`, `"20%"`). */
62
+ width?: string;
63
+ }
64
+ /** Props for `DataTable`. */
65
+ export interface DataTableProps<T = Record<string, unknown>> {
66
+ /** Column definitions. */
67
+ columns: DataTableColumn<T>[];
68
+ /** Row data. Each row should have a stable `id` field. */
69
+ rows: T[];
70
+ /** Whether the table is currently loading. */
71
+ loading?: boolean;
72
+ /** Message shown when `rows` is empty. */
73
+ emptyMessage?: string;
74
+ /** Total row count for pagination (if different from `rows.length`). */
75
+ totalCount?: number;
76
+ /** Current page (0-based, for pagination). */
77
+ page?: number;
78
+ /** Rows per page (for pagination). */
79
+ pageSize?: number;
80
+ /** Callback when page changes. */
81
+ onPageChange?: (page: number) => void;
82
+ /** Callback when a column header is clicked to sort. */
83
+ onSort?: (key: string, direction: "asc" | "desc") => void;
84
+ }
85
+ /** A single data point for `TimeseriesChart`. */
86
+ export interface TimeseriesDataPoint {
87
+ /** ISO 8601 timestamp. */
88
+ timestamp: string;
89
+ /** Numeric value. */
90
+ value: number;
91
+ /** Optional label for the point. */
92
+ label?: string;
93
+ }
94
+ /** Props for `TimeseriesChart`. */
95
+ export interface TimeseriesChartProps {
96
+ /** Series data. */
97
+ data: TimeseriesDataPoint[];
98
+ /** Chart title. */
99
+ title?: string;
100
+ /** Y-axis label. */
101
+ yLabel?: string;
102
+ /** Chart type. Defaults to `"line"`. */
103
+ type?: "line" | "bar";
104
+ /** Height of the chart in pixels. Defaults to `200`. */
105
+ height?: number;
106
+ /** Whether the chart is currently loading. */
107
+ loading?: boolean;
108
+ }
109
+ /** Props for `MarkdownBlock`. */
110
+ export interface MarkdownBlockProps {
111
+ /** Markdown content to render. */
112
+ content: string;
113
+ }
114
+ /** A single key-value pair for `KeyValueList`. */
115
+ export interface KeyValuePair {
116
+ /** Label for the key. */
117
+ label: string;
118
+ /** Value to display. May be a string, number, or a React node. */
119
+ value: React.ReactNode;
120
+ }
121
+ /** Props for `KeyValueList`. */
122
+ export interface KeyValueListProps {
123
+ /** Pairs to render in the list. */
124
+ pairs: KeyValuePair[];
125
+ }
126
+ /** A single action button for `ActionBar`. */
127
+ export interface ActionBarItem {
128
+ /** Button label. */
129
+ label: string;
130
+ /** Action key to call via the plugin bridge. */
131
+ actionKey: string;
132
+ /** Optional parameters to pass to the action handler. */
133
+ params?: Record<string, unknown>;
134
+ /** Button variant. Defaults to `"default"`. */
135
+ variant?: "default" | "primary" | "destructive";
136
+ /** Whether to show a confirmation dialog before executing. */
137
+ confirm?: boolean;
138
+ /** Text for the confirmation dialog (used when `confirm` is true). */
139
+ confirmMessage?: string;
140
+ }
141
+ /** Props for `ActionBar`. */
142
+ export interface ActionBarProps {
143
+ /** Action definitions. */
144
+ actions: ActionBarItem[];
145
+ /** Called after an action succeeds. Use to trigger data refresh. */
146
+ onSuccess?: (actionKey: string, result: unknown) => void;
147
+ /** Called when an action fails. */
148
+ onError?: (actionKey: string, error: unknown) => void;
149
+ }
150
+ /** A single log line for `LogView`. */
151
+ export interface LogViewEntry {
152
+ /** ISO 8601 timestamp. */
153
+ timestamp: string;
154
+ /** Log level. */
155
+ level: "info" | "warn" | "error" | "debug";
156
+ /** Log message. */
157
+ message: string;
158
+ /** Optional structured metadata. */
159
+ meta?: Record<string, unknown>;
160
+ }
161
+ /** Props for `LogView`. */
162
+ export interface LogViewProps {
163
+ /** Log entries to display. */
164
+ entries: LogViewEntry[];
165
+ /** Maximum height of the scrollable container (CSS value). Defaults to `"400px"`. */
166
+ maxHeight?: string;
167
+ /** Whether to auto-scroll to the latest entry. */
168
+ autoScroll?: boolean;
169
+ /** Whether the log is currently loading. */
170
+ loading?: boolean;
171
+ }
172
+ /** Props for `JsonTree`. */
173
+ export interface JsonTreeProps {
174
+ /** The data to render as a collapsible JSON tree. */
175
+ data: unknown;
176
+ /** Initial depth to expand. Defaults to `2`. */
177
+ defaultExpandDepth?: number;
178
+ }
179
+ /** Props for `Spinner`. */
180
+ export interface SpinnerProps {
181
+ /** Size of the spinner. Defaults to `"md"`. */
182
+ size?: "sm" | "md" | "lg";
183
+ /** Accessible label for the spinner (used as `aria-label`). */
184
+ label?: string;
185
+ }
186
+ /** Props for `ErrorBoundary`. */
187
+ export interface ErrorBoundaryProps {
188
+ /** Content to render inside the error boundary. */
189
+ children: React.ReactNode;
190
+ /** Optional custom fallback to render when an error is caught. */
191
+ fallback?: React.ReactNode;
192
+ /** Called when an error is caught, for logging or reporting. */
193
+ onError?: (error: Error, info: React.ErrorInfo) => void;
194
+ }
195
+ export declare const MetricCard: React.ComponentType<MetricCardProps>;
196
+ /**
197
+ * Displays an inline status badge (ok / warning / error / info / pending).
198
+ *
199
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
200
+ */
201
+ export declare const StatusBadge: React.ComponentType<StatusBadgeProps>;
202
+ /**
203
+ * Sortable, paginated data table.
204
+ *
205
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
206
+ */
207
+ export declare const DataTable: React.ComponentType<DataTableProps<Record<string, unknown>>>;
208
+ /**
209
+ * Line or bar chart for time-series data.
210
+ *
211
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
212
+ */
213
+ export declare const TimeseriesChart: React.ComponentType<TimeseriesChartProps>;
214
+ /**
215
+ * Renders Markdown text as HTML.
216
+ *
217
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
218
+ */
219
+ export declare const MarkdownBlock: React.ComponentType<MarkdownBlockProps>;
220
+ /**
221
+ * Renders a definition-list of label/value pairs.
222
+ *
223
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
224
+ */
225
+ export declare const KeyValueList: React.ComponentType<KeyValueListProps>;
226
+ /**
227
+ * Row of action buttons wired to the plugin bridge's `performAction` handlers.
228
+ *
229
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
230
+ */
231
+ export declare const ActionBar: React.ComponentType<ActionBarProps>;
232
+ /**
233
+ * Scrollable, timestamped log output viewer.
234
+ *
235
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
236
+ */
237
+ export declare const LogView: React.ComponentType<LogViewProps>;
238
+ /**
239
+ * Collapsible JSON tree for debugging or raw data inspection.
240
+ *
241
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
242
+ */
243
+ export declare const JsonTree: React.ComponentType<JsonTreeProps>;
244
+ /**
245
+ * Loading indicator.
246
+ *
247
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
248
+ */
249
+ export declare const Spinner: React.ComponentType<SpinnerProps>;
250
+ /**
251
+ * React error boundary that prevents plugin rendering errors from crashing
252
+ * the host page.
253
+ *
254
+ * @see PLUGIN_SPEC.md §19.7 — Error Propagation Through The Bridge
255
+ */
256
+ export declare const ErrorBoundary: React.ComponentType<ErrorBoundaryProps>;
257
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/ui/components.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Shared UI component declarations for plugin frontends.
3
+ *
4
+ * These components are exported from `@paperclipai/plugin-sdk/ui` and are
5
+ * provided by the host at runtime. They match the host's design tokens and
6
+ * visual language, reducing the boilerplate needed to build consistent plugin UIs.
7
+ *
8
+ * **Plugins are not required to use these components.** They exist to reduce
9
+ * boilerplate and keep visual consistency. A plugin may render entirely custom
10
+ * UI using any React component library.
11
+ *
12
+ * Component implementations are provided by the host — plugin bundles contain
13
+ * only the type declarations; the runtime implementations are injected via the
14
+ * host module registry.
15
+ *
16
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components In `@paperclipai/plugin-sdk/ui`
17
+ */
18
+ import { renderSdkUiComponent } from "./runtime.js";
19
+ // ---------------------------------------------------------------------------
20
+ // Component declarations (provided by host at runtime)
21
+ // ---------------------------------------------------------------------------
22
+ // These are declared as ambient values so plugin TypeScript code can import
23
+ // and use them with full type-checking. The host's module registry provides
24
+ // the concrete React component implementations at bundle load time.
25
+ /**
26
+ * Displays a single metric with an optional trend indicator and sparkline.
27
+ *
28
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
29
+ */
30
+ function createSdkUiComponent(name) {
31
+ return function PaperclipSdkUiComponent(props) {
32
+ return renderSdkUiComponent(name, props);
33
+ };
34
+ }
35
+ export const MetricCard = createSdkUiComponent("MetricCard");
36
+ /**
37
+ * Displays an inline status badge (ok / warning / error / info / pending).
38
+ *
39
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
40
+ */
41
+ export const StatusBadge = createSdkUiComponent("StatusBadge");
42
+ /**
43
+ * Sortable, paginated data table.
44
+ *
45
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
46
+ */
47
+ export const DataTable = createSdkUiComponent("DataTable");
48
+ /**
49
+ * Line or bar chart for time-series data.
50
+ *
51
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
52
+ */
53
+ export const TimeseriesChart = createSdkUiComponent("TimeseriesChart");
54
+ /**
55
+ * Renders Markdown text as HTML.
56
+ *
57
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
58
+ */
59
+ export const MarkdownBlock = createSdkUiComponent("MarkdownBlock");
60
+ /**
61
+ * Renders a definition-list of label/value pairs.
62
+ *
63
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
64
+ */
65
+ export const KeyValueList = createSdkUiComponent("KeyValueList");
66
+ /**
67
+ * Row of action buttons wired to the plugin bridge's `performAction` handlers.
68
+ *
69
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
70
+ */
71
+ export const ActionBar = createSdkUiComponent("ActionBar");
72
+ /**
73
+ * Scrollable, timestamped log output viewer.
74
+ *
75
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
76
+ */
77
+ export const LogView = createSdkUiComponent("LogView");
78
+ /**
79
+ * Collapsible JSON tree for debugging or raw data inspection.
80
+ *
81
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
82
+ */
83
+ export const JsonTree = createSdkUiComponent("JsonTree");
84
+ /**
85
+ * Loading indicator.
86
+ *
87
+ * @see PLUGIN_SPEC.md §19.6 — Shared Components
88
+ */
89
+ export const Spinner = createSdkUiComponent("Spinner");
90
+ /**
91
+ * React error boundary that prevents plugin rendering errors from crashing
92
+ * the host page.
93
+ *
94
+ * @see PLUGIN_SPEC.md §19.7 — Error Propagation Through The Bridge
95
+ */
96
+ export const ErrorBoundary = createSdkUiComponent("ErrorBoundary");
97
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/ui/components.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAwMpD,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,4EAA4E;AAC5E,4EAA4E;AAC5E,oEAAoE;AAEpE;;;;GAIG;AACH,SAAS,oBAAoB,CAAS,IAAY;IAChD,OAAO,SAAS,uBAAuB,CAAC,KAAa;QACnD,OAAO,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAoB,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,oBAAoB,CAAkB,YAAY,CAAC,CAAC;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,oBAAoB,CAAmB,aAAa,CAAC,CAAC;AAEjF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,oBAAoB,CAAiB,WAAW,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAuB,iBAAiB,CAAC,CAAC;AAE7F;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAqB,eAAe,CAAC,CAAC;AAEvF;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAoB,cAAc,CAAC,CAAC;AAEpF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,oBAAoB,CAAiB,WAAW,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,oBAAoB,CAAe,SAAS,CAAC,CAAC;AAErE;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,oBAAoB,CAAgB,UAAU,CAAC,CAAC;AAExE;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,oBAAoB,CAAe,SAAS,CAAC,CAAC;AAErE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAqB,eAAe,CAAC,CAAC"}
@@ -0,0 +1,120 @@
1
+ import type { PluginDataResult, PluginActionFn, PluginHostContext, PluginStreamResult, PluginToastFn } from "./types.js";
2
+ /**
3
+ * Fetch data from the plugin worker's registered `getData` handler.
4
+ *
5
+ * Calls `ctx.data.register(key, handler)` in the worker and returns the
6
+ * result as reactive state. Re-fetches when `params` changes.
7
+ *
8
+ * @template T The expected shape of the returned data
9
+ * @param key - The data key matching the handler registered with `ctx.data.register()`
10
+ * @param params - Optional parameters forwarded to the handler
11
+ * @returns `PluginDataResult<T>` with `data`, `loading`, `error`, and `refresh`
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * function SyncWidget({ context }: PluginWidgetProps) {
16
+ * const { data, loading, error } = usePluginData<SyncHealth>("sync-health", {
17
+ * companyId: context.companyId,
18
+ * });
19
+ *
20
+ * if (loading) return <div>Loading…</div>;
21
+ * if (error) return <div>Error: {error.message}</div>;
22
+ * return <div>Synced Issues: {data!.syncedCount}</div>;
23
+ * }
24
+ * ```
25
+ *
26
+ * @see PLUGIN_SPEC.md §13.8 — `getData`
27
+ * @see PLUGIN_SPEC.md §19.7 — Error Propagation Through The Bridge
28
+ */
29
+ export declare function usePluginData<T = unknown>(key: string, params?: Record<string, unknown>): PluginDataResult<T>;
30
+ /**
31
+ * Get a callable function that invokes the plugin worker's registered
32
+ * `performAction` handler.
33
+ *
34
+ * The returned function is async and throws a `PluginBridgeError` on failure.
35
+ *
36
+ * @param key - The action key matching the handler registered with `ctx.actions.register()`
37
+ * @returns An async function that sends the action to the worker and resolves with the result
38
+ *
39
+ * @example
40
+ * ```tsx
41
+ * function ResyncButton({ context }: PluginWidgetProps) {
42
+ * const resync = usePluginAction("resync");
43
+ * const [error, setError] = useState<string | null>(null);
44
+ *
45
+ * async function handleClick() {
46
+ * try {
47
+ * await resync({ companyId: context.companyId });
48
+ * } catch (err) {
49
+ * setError((err as PluginBridgeError).message);
50
+ * }
51
+ * }
52
+ *
53
+ * return <button onClick={handleClick}>Resync Now</button>;
54
+ * }
55
+ * ```
56
+ *
57
+ * @see PLUGIN_SPEC.md §13.9 — `performAction`
58
+ * @see PLUGIN_SPEC.md §19.7 — Error Propagation Through The Bridge
59
+ */
60
+ export declare function usePluginAction(key: string): PluginActionFn;
61
+ /**
62
+ * Read the current host context (active company, project, entity, user).
63
+ *
64
+ * Use this to know which context the plugin component is being rendered in
65
+ * so you can scope data requests and actions accordingly.
66
+ *
67
+ * @returns The current `PluginHostContext`
68
+ *
69
+ * @example
70
+ * ```tsx
71
+ * function IssueTab() {
72
+ * const { companyId, entityId } = useHostContext();
73
+ * const { data } = usePluginData("linear-link", { issueId: entityId });
74
+ * return <div>{data?.linearIssueUrl}</div>;
75
+ * }
76
+ * ```
77
+ *
78
+ * @see PLUGIN_SPEC.md §19 — UI Extension Model
79
+ */
80
+ export declare function useHostContext(): PluginHostContext;
81
+ /**
82
+ * Subscribe to a real-time event stream pushed from the plugin worker.
83
+ *
84
+ * Opens an SSE connection to `GET /api/plugins/:pluginId/bridge/stream/:channel`
85
+ * and accumulates events as they arrive. The worker pushes events using
86
+ * `ctx.streams.emit(channel, event)`.
87
+ *
88
+ * @template T The expected shape of each streamed event
89
+ * @param channel - The stream channel name (must match what the worker uses in `ctx.streams.emit`)
90
+ * @param options - Optional configuration for the stream
91
+ * @returns `PluginStreamResult<T>` with `events`, `lastEvent`, connection status, and `close()`
92
+ *
93
+ * @example
94
+ * ```tsx
95
+ * function ChatMessages() {
96
+ * const { events, connected, close } = usePluginStream<ChatToken>("chat-stream");
97
+ *
98
+ * return (
99
+ * <div>
100
+ * {events.map((e, i) => <span key={i}>{e.text}</span>)}
101
+ * {connected && <span className="pulse" />}
102
+ * <button onClick={close}>Stop</button>
103
+ * </div>
104
+ * );
105
+ * }
106
+ * ```
107
+ *
108
+ * @see PLUGIN_SPEC.md §19.8 — Real-Time Streaming
109
+ */
110
+ export declare function usePluginStream<T = unknown>(channel: string, options?: {
111
+ companyId?: string;
112
+ }): PluginStreamResult<T>;
113
+ /**
114
+ * Trigger a host toast notification from plugin UI.
115
+ *
116
+ * This lets plugin pages and widgets surface user-facing feedback through the
117
+ * same toast system as the host app without reaching into host internals.
118
+ */
119
+ export declare function usePluginToast(): PluginToastFn;
120
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/ui/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAY,CAAC;AAOpB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,EACvC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,gBAAgB,CAAC,CAAC,CAAC,CAKrB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAG3D;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,IAAI,iBAAiB,CAGlD;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,eAAe,CAAC,CAAC,GAAG,OAAO,EACzC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,kBAAkB,CAAC,CAAC,CAAC,CAKvB;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,aAAa,CAG9C"}