@weave-apps/sdk 0.1.17 → 0.1.19
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/dist/WeaveAppInstanceAPI.d.ts +237 -0
- package/dist/WeaveAppInstanceAPI.d.ts.map +1 -0
- package/dist/WeaveAppInstanceAPI.js +395 -0
- package/dist/WeaveBaseApp.d.ts +29 -0
- package/dist/WeaveBaseApp.d.ts.map +1 -1
- package/dist/WeaveBaseApp.js +35 -0
- package/dist/WeaveDOMAPI.d.ts +58 -1
- package/dist/WeaveDOMAPI.d.ts.map +1 -1
- package/dist/WeaveDOMAPI.js +40 -0
- package/dist/global.d.ts +2 -0
- package/dist/global.d.ts.map +1 -1
- package/dist/global.js +2 -0
- package/package.json +1 -1
- package/scripts/copy-sdk-files.js +1 -0
- package/dist/SidekickAPIClient.d.ts +0 -231
- package/dist/SidekickAPIClient.d.ts.map +0 -1
- package/dist/SidekickAPIClient.js +0 -274
- package/dist/SidekickBaseApp.d.ts +0 -177
- package/dist/SidekickBaseApp.d.ts.map +0 -1
- package/dist/SidekickBaseApp.js +0 -228
- package/dist/SidekickDOMAPI.d.ts +0 -433
- package/dist/SidekickDOMAPI.d.ts.map +0 -1
- package/dist/SidekickDOMAPI.js +0 -620
package/dist/WeaveBaseApp.js
CHANGED
|
@@ -89,6 +89,8 @@ export class WeaveBaseApp extends HTMLElement {
|
|
|
89
89
|
this._backgroundAPI = null;
|
|
90
90
|
/** Cron API for scheduled tasks */
|
|
91
91
|
this._cronAPI = null;
|
|
92
|
+
/** App Instance API for cross-tab communication */
|
|
93
|
+
this._instancesAPI = null;
|
|
92
94
|
/** Debounced persist function */
|
|
93
95
|
this._debouncedPersist = null;
|
|
94
96
|
/** Flag to track if state has been restored */
|
|
@@ -139,6 +141,10 @@ export class WeaveBaseApp extends HTMLElement {
|
|
|
139
141
|
this._cronAPI = new window.WeaveCronAPI(this._appUuid);
|
|
140
142
|
this._cronAPI.initialize();
|
|
141
143
|
}
|
|
144
|
+
// Create app instance API for cross-tab communication
|
|
145
|
+
if (window.WeaveAppInstanceAPI) {
|
|
146
|
+
this._instancesAPI = new window.WeaveAppInstanceAPI(this._appUuid);
|
|
147
|
+
}
|
|
142
148
|
// Set up debounced persist if enabled
|
|
143
149
|
if (appInfo.persistState) {
|
|
144
150
|
const delay = appInfo.persistDebounce ?? 100;
|
|
@@ -170,6 +176,35 @@ export class WeaveBaseApp extends HTMLElement {
|
|
|
170
176
|
get cron() {
|
|
171
177
|
return this._cronAPI;
|
|
172
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Get the app instance API for cross-tab communication
|
|
181
|
+
*
|
|
182
|
+
* Use this to:
|
|
183
|
+
* - Discover other instances of your app across browser tabs
|
|
184
|
+
* - Claim/release controller status (for automation coordination)
|
|
185
|
+
* - Send messages between instances
|
|
186
|
+
* - Listen for instance changes
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* // Register this instance and check for others
|
|
190
|
+
* const instances = await this.instances.register();
|
|
191
|
+
* if (instances.length > 1) {
|
|
192
|
+
* // Other instances exist
|
|
193
|
+
* }
|
|
194
|
+
*
|
|
195
|
+
* // Claim controller status
|
|
196
|
+
* const claimed = await this.instances.claimController();
|
|
197
|
+
*
|
|
198
|
+
* // Listen for messages from other instances
|
|
199
|
+
* this.instances.onMessage((msg) => {
|
|
200
|
+
* if (msg.type === 'YIELD_CONTROL') {
|
|
201
|
+
* // Another tab wants control
|
|
202
|
+
* }
|
|
203
|
+
* });
|
|
204
|
+
*/
|
|
205
|
+
get instances() {
|
|
206
|
+
return this._instancesAPI;
|
|
207
|
+
}
|
|
173
208
|
/**
|
|
174
209
|
* Register a cron job with a callback
|
|
175
210
|
*
|
package/dist/WeaveDOMAPI.d.ts
CHANGED
|
@@ -74,14 +74,39 @@ export type FormClickCallback = (data: {
|
|
|
74
74
|
type: string;
|
|
75
75
|
};
|
|
76
76
|
}) => void;
|
|
77
|
+
/**
|
|
78
|
+
* Workflow action from content script
|
|
79
|
+
*/
|
|
80
|
+
export interface WorkflowActionPayload {
|
|
81
|
+
type: string;
|
|
82
|
+
name: string;
|
|
83
|
+
timestamp: number;
|
|
84
|
+
selector: string;
|
|
85
|
+
value?: string;
|
|
86
|
+
elementInfo: {
|
|
87
|
+
tagName: string;
|
|
88
|
+
id?: string;
|
|
89
|
+
className?: string;
|
|
90
|
+
text?: string;
|
|
91
|
+
attributes?: Record<string, string>;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
77
94
|
/**
|
|
78
95
|
* Workflow saved event callback
|
|
79
96
|
*/
|
|
80
97
|
export type WorkflowSavedCallback = (workflow: {
|
|
81
98
|
name: string;
|
|
82
99
|
startUrl: string;
|
|
83
|
-
actions:
|
|
100
|
+
actions: WorkflowActionPayload[];
|
|
84
101
|
}) => void;
|
|
102
|
+
/**
|
|
103
|
+
* Data mapping for trigger-to-workflow data injection
|
|
104
|
+
*/
|
|
105
|
+
export interface TriggerDataMapping {
|
|
106
|
+
triggerFieldLabel: string;
|
|
107
|
+
workflowActionIndex: number;
|
|
108
|
+
workflowActionSelector?: string;
|
|
109
|
+
}
|
|
85
110
|
/**
|
|
86
111
|
* Trigger saved event callback
|
|
87
112
|
*/
|
|
@@ -90,6 +115,8 @@ export type TriggerSavedCallback = (trigger: {
|
|
|
90
115
|
url: string;
|
|
91
116
|
events: any[];
|
|
92
117
|
dataCapture: any;
|
|
118
|
+
linkedWorkflowId?: string;
|
|
119
|
+
dataMappings?: TriggerDataMapping[];
|
|
93
120
|
}) => void;
|
|
94
121
|
/**
|
|
95
122
|
* Element click event callback (for injected elements)
|
|
@@ -446,6 +473,36 @@ export declare class WeaveDOMAPI {
|
|
|
446
473
|
* await weaveDOM.unwatchElement('weave-watcher-1');
|
|
447
474
|
*/
|
|
448
475
|
unwatchElement(watcherId: string): Promise<void>;
|
|
476
|
+
/**
|
|
477
|
+
* Show an alert dialog on the parent page
|
|
478
|
+
*
|
|
479
|
+
* This displays a native browser alert dialog with the specified message.
|
|
480
|
+
* The dialog blocks until the user clicks OK.
|
|
481
|
+
*
|
|
482
|
+
* @param message - Message to display in the alert
|
|
483
|
+
*
|
|
484
|
+
* @example
|
|
485
|
+
* await weaveDOM.alert('Please log in to continue.');
|
|
486
|
+
*/
|
|
487
|
+
alert(message: string): Promise<void>;
|
|
488
|
+
/**
|
|
489
|
+
* Show a confirm dialog on the parent page
|
|
490
|
+
*
|
|
491
|
+
* This displays a native browser confirm dialog with the specified message.
|
|
492
|
+
* Returns true if user clicked OK, false if user clicked Cancel.
|
|
493
|
+
*
|
|
494
|
+
* @param message - Message to display in the confirm dialog
|
|
495
|
+
* @returns Promise<boolean> - true if confirmed, false if cancelled
|
|
496
|
+
*
|
|
497
|
+
* @example
|
|
498
|
+
* const confirmed = await weaveDOM.confirm('Are you sure you want to proceed?');
|
|
499
|
+
* if (confirmed) {
|
|
500
|
+
* // User clicked OK
|
|
501
|
+
* } else {
|
|
502
|
+
* // User clicked Cancel
|
|
503
|
+
* }
|
|
504
|
+
*/
|
|
505
|
+
confirm(message: string): Promise<boolean>;
|
|
449
506
|
}
|
|
450
507
|
declare const _default: WeaveDOMAPI;
|
|
451
508
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WeaveDOMAPI.d.ts","sourceRoot":"","sources":["../src/WeaveDOMAPI.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"WeaveDOMAPI.d.ts","sourceRoot":"","sources":["../src/WeaveDOMAPI.ts"],"names":[],"mappings":"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"}
|
package/dist/WeaveDOMAPI.js
CHANGED
|
@@ -47,6 +47,9 @@ var DOMOperation;
|
|
|
47
47
|
DOMOperation["UNWATCH_ELEMENT"] = "UNWATCH_ELEMENT";
|
|
48
48
|
// Navigation operations
|
|
49
49
|
DOMOperation["RELOAD_PAGE"] = "RELOAD_PAGE";
|
|
50
|
+
// Dialog operations
|
|
51
|
+
DOMOperation["SHOW_ALERT"] = "SHOW_ALERT";
|
|
52
|
+
DOMOperation["SHOW_CONFIRM"] = "SHOW_CONFIRM";
|
|
50
53
|
})(DOMOperation || (DOMOperation = {}));
|
|
51
54
|
/**
|
|
52
55
|
* Weave DOM API
|
|
@@ -642,5 +645,42 @@ export class WeaveDOMAPI {
|
|
|
642
645
|
watcherId,
|
|
643
646
|
});
|
|
644
647
|
}
|
|
648
|
+
// ============================================================================
|
|
649
|
+
// Dialog Operations
|
|
650
|
+
// ============================================================================
|
|
651
|
+
/**
|
|
652
|
+
* Show an alert dialog on the parent page
|
|
653
|
+
*
|
|
654
|
+
* This displays a native browser alert dialog with the specified message.
|
|
655
|
+
* The dialog blocks until the user clicks OK.
|
|
656
|
+
*
|
|
657
|
+
* @param message - Message to display in the alert
|
|
658
|
+
*
|
|
659
|
+
* @example
|
|
660
|
+
* await weaveDOM.alert('Please log in to continue.');
|
|
661
|
+
*/
|
|
662
|
+
async alert(message) {
|
|
663
|
+
return this.sendRequest(DOMOperation.SHOW_ALERT, { message });
|
|
664
|
+
}
|
|
665
|
+
/**
|
|
666
|
+
* Show a confirm dialog on the parent page
|
|
667
|
+
*
|
|
668
|
+
* This displays a native browser confirm dialog with the specified message.
|
|
669
|
+
* Returns true if user clicked OK, false if user clicked Cancel.
|
|
670
|
+
*
|
|
671
|
+
* @param message - Message to display in the confirm dialog
|
|
672
|
+
* @returns Promise<boolean> - true if confirmed, false if cancelled
|
|
673
|
+
*
|
|
674
|
+
* @example
|
|
675
|
+
* const confirmed = await weaveDOM.confirm('Are you sure you want to proceed?');
|
|
676
|
+
* if (confirmed) {
|
|
677
|
+
* // User clicked OK
|
|
678
|
+
* } else {
|
|
679
|
+
* // User clicked Cancel
|
|
680
|
+
* }
|
|
681
|
+
*/
|
|
682
|
+
async confirm(message) {
|
|
683
|
+
return this.sendRequest(DOMOperation.SHOW_CONFIRM, { message });
|
|
684
|
+
}
|
|
645
685
|
}
|
|
646
686
|
export default new WeaveDOMAPI();
|
package/dist/global.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { WeaveDOMAPI } from './WeaveDOMAPI';
|
|
|
9
9
|
import { WeaveAPIClient } from './WeaveAPIClient';
|
|
10
10
|
import { WeaveBackgroundAPI } from './WeaveBackgroundAPI';
|
|
11
11
|
import { WeaveCronAPI } from './WeaveCronAPI';
|
|
12
|
+
import { WeaveAppInstanceAPI } from './WeaveAppInstanceAPI';
|
|
12
13
|
declare global {
|
|
13
14
|
interface Window {
|
|
14
15
|
WeaveBaseApp: typeof WeaveBaseApp;
|
|
@@ -18,6 +19,7 @@ declare global {
|
|
|
18
19
|
weaveAPI: WeaveAPIClient;
|
|
19
20
|
WeaveBackgroundAPI: typeof WeaveBackgroundAPI;
|
|
20
21
|
WeaveCronAPI: typeof WeaveCronAPI;
|
|
22
|
+
WeaveAppInstanceAPI: typeof WeaveAppInstanceAPI;
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
//# sourceMappingURL=global.d.ts.map
|
package/dist/global.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,YAAY,EAAE,OAAO,YAAY,CAAC;QAClC,WAAW,EAAE,OAAO,WAAW,CAAC;QAChC,QAAQ,EAAE,WAAW,CAAC;QACtB,cAAc,EAAE,OAAO,cAAc,CAAC;QACtC,QAAQ,EAAE,cAAc,CAAC;QACzB,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;QAC9C,YAAY,EAAE,OAAO,YAAY,CAAC;QAClC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;KAAG;CACtD"}
|
package/dist/global.js
CHANGED
|
@@ -11,6 +11,7 @@ import { WeaveAPIClient } from './WeaveAPIClient';
|
|
|
11
11
|
import weaveAPI from './WeaveAPIClient';
|
|
12
12
|
import { WeaveBackgroundAPI } from './WeaveBackgroundAPI';
|
|
13
13
|
import { WeaveCronAPI } from './WeaveCronAPI';
|
|
14
|
+
import { WeaveAppInstanceAPI } from './WeaveAppInstanceAPI';
|
|
14
15
|
// Make SDK available globally
|
|
15
16
|
window.WeaveBaseApp = WeaveBaseApp;
|
|
16
17
|
window.WeaveDOMAPI = WeaveDOMAPI;
|
|
@@ -19,3 +20,4 @@ window.WeaveAPIClient = WeaveAPIClient;
|
|
|
19
20
|
window.weaveAPI = weaveAPI;
|
|
20
21
|
window.WeaveBackgroundAPI = WeaveBackgroundAPI;
|
|
21
22
|
window.WeaveCronAPI = WeaveCronAPI;
|
|
23
|
+
window.WeaveAppInstanceAPI = WeaveAppInstanceAPI;
|
package/package.json
CHANGED
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sidekick API Client
|
|
3
|
-
*
|
|
4
|
-
* Client-side API for iframe apps to interact with the Sidekick backend
|
|
5
|
-
* through a secure proxy in the sidebar.
|
|
6
|
-
*
|
|
7
|
-
* Apps can call AI services and manage their own app data.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* AI Chat Request
|
|
11
|
-
*/
|
|
12
|
-
export interface AIChatRequest {
|
|
13
|
-
/** User's input prompt */
|
|
14
|
-
prompt: string;
|
|
15
|
-
/** Optional context for the AI */
|
|
16
|
-
context?: string;
|
|
17
|
-
/** Optional flag to disable JSON extraction */
|
|
18
|
-
disableJsonExtraction?: boolean;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* AI Chat Response
|
|
22
|
-
*/
|
|
23
|
-
export interface AIChatResponse {
|
|
24
|
-
/** AI chat response content */
|
|
25
|
-
response: string;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* App Data structure
|
|
29
|
-
*/
|
|
30
|
-
export interface AppData {
|
|
31
|
-
_id: string;
|
|
32
|
-
/** Reference to the app component this data belongs to */
|
|
33
|
-
appId: string;
|
|
34
|
-
/** Company that owns this app data */
|
|
35
|
-
companyId: string;
|
|
36
|
-
/** User that owns this specific app data instance */
|
|
37
|
-
userId: string;
|
|
38
|
-
/** Key for organizing data within an app namespace */
|
|
39
|
-
dataKey: string;
|
|
40
|
-
/** Unstructured data - apps determine the content structure */
|
|
41
|
-
data: Record<string, any>;
|
|
42
|
-
createdAt: Date;
|
|
43
|
-
updatedAt: Date;
|
|
44
|
-
createdBy: string;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Create App Data Request
|
|
48
|
-
*/
|
|
49
|
-
export interface CreateAppDataRequest {
|
|
50
|
-
/** Key for organizing data within an app namespace */
|
|
51
|
-
dataKey: string;
|
|
52
|
-
/** Unstructured data - apps determine the content structure */
|
|
53
|
-
data: Record<string, any>;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Update App Data Request
|
|
57
|
-
*/
|
|
58
|
-
export interface UpdateAppDataRequest {
|
|
59
|
-
/** Key for organizing data within an app namespace */
|
|
60
|
-
dataKey: string;
|
|
61
|
-
/** Unstructured data - apps determine the content structure */
|
|
62
|
-
data: Record<string, any>;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Pagination metadata
|
|
66
|
-
*/
|
|
67
|
-
export interface PaginationMeta {
|
|
68
|
-
/** Current offset */
|
|
69
|
-
offset: number;
|
|
70
|
-
/** Number of items per page */
|
|
71
|
-
limit: number;
|
|
72
|
-
/** Total number of items available */
|
|
73
|
-
totalResultCount: number;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Paginated response wrapper
|
|
77
|
-
*/
|
|
78
|
-
export interface PaginatedResponse<T> {
|
|
79
|
-
/** Array of data items */
|
|
80
|
-
data: T[];
|
|
81
|
-
/** Pagination metadata */
|
|
82
|
-
meta: PaginationMeta;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Sidekick API Client
|
|
86
|
-
* Provides methods for iframe apps to interact with Sidekick backend
|
|
87
|
-
*/
|
|
88
|
-
export declare class SidekickAPIClient {
|
|
89
|
-
private pendingRequests;
|
|
90
|
-
private messageListener;
|
|
91
|
-
private requestCounter;
|
|
92
|
-
private timeout;
|
|
93
|
-
private appId;
|
|
94
|
-
constructor();
|
|
95
|
-
/**
|
|
96
|
-
* Set the app ID for this client
|
|
97
|
-
* Called automatically by SidekickBaseApp
|
|
98
|
-
*/
|
|
99
|
-
setAppId(appId: string): void;
|
|
100
|
-
/**
|
|
101
|
-
* Initialize the API client and start listening for responses
|
|
102
|
-
*/
|
|
103
|
-
private initialize;
|
|
104
|
-
/**
|
|
105
|
-
* Cleanup
|
|
106
|
-
*/
|
|
107
|
-
destroy(): void;
|
|
108
|
-
/**
|
|
109
|
-
* Handle response from sidebar
|
|
110
|
-
*/
|
|
111
|
-
private handleResponse;
|
|
112
|
-
/**
|
|
113
|
-
* Send request to sidebar
|
|
114
|
-
*/
|
|
115
|
-
private sendRequest;
|
|
116
|
-
/**
|
|
117
|
-
* Send a chat message to the AI service
|
|
118
|
-
*
|
|
119
|
-
* Note: App ID is automatically injected by the APIBridge.
|
|
120
|
-
* You only need to provide the prompt and optional context.
|
|
121
|
-
*
|
|
122
|
-
* @example
|
|
123
|
-
* ```javascript
|
|
124
|
-
* const response = await sidekickAPI.ai.chat({
|
|
125
|
-
* prompt: 'What is the capital of France?',
|
|
126
|
-
* context: 'User is learning geography'
|
|
127
|
-
* });
|
|
128
|
-
* ```
|
|
129
|
-
*/
|
|
130
|
-
ai: {
|
|
131
|
-
chat: (request: AIChatRequest) => Promise<AIChatResponse>;
|
|
132
|
-
};
|
|
133
|
-
/**
|
|
134
|
-
* App Data operations - CRUD for app-specific data storage
|
|
135
|
-
*/
|
|
136
|
-
appData: {
|
|
137
|
-
/**
|
|
138
|
-
* Get all app data for the current company (paginated)
|
|
139
|
-
*
|
|
140
|
-
* Returns a paginated response with data and metadata.
|
|
141
|
-
* Default limit is 25 items. For apps with large datasets (500-5000+ rows),
|
|
142
|
-
* use pagination to avoid performance issues.
|
|
143
|
-
*
|
|
144
|
-
* @example
|
|
145
|
-
* ```javascript
|
|
146
|
-
* // Get first page (default: 25 items)
|
|
147
|
-
* const response = await sidekickAPI.appData.getAll();
|
|
148
|
-
*
|
|
149
|
-
* // Access the array of items
|
|
150
|
-
* const items = response.data;
|
|
151
|
-
* items.forEach(item => {
|
|
152
|
-
* });
|
|
153
|
-
* ```
|
|
154
|
-
*/
|
|
155
|
-
getAll: () => Promise<PaginatedResponse<AppData>>;
|
|
156
|
-
/**
|
|
157
|
-
* Create new app data
|
|
158
|
-
*
|
|
159
|
-
* Note: App ID is automatically injected by the APIBridge.
|
|
160
|
-
*
|
|
161
|
-
* @example
|
|
162
|
-
* ```javascript
|
|
163
|
-
* const newData = await sidekickAPI.appData.create({
|
|
164
|
-
* dataKey: 'user-preferences',
|
|
165
|
-
* data: { theme: 'dark', language: 'en' }
|
|
166
|
-
* });
|
|
167
|
-
* ```
|
|
168
|
-
*/
|
|
169
|
-
create: (request: CreateAppDataRequest) => Promise<AppData>;
|
|
170
|
-
/**
|
|
171
|
-
* Get specific app data by ID
|
|
172
|
-
*
|
|
173
|
-
* @example
|
|
174
|
-
* ```javascript
|
|
175
|
-
* const data = await sidekickAPI.appData.get('data-id-123');
|
|
176
|
-
* ```
|
|
177
|
-
*/
|
|
178
|
-
get: (appDataId: string) => Promise<AppData>;
|
|
179
|
-
/**
|
|
180
|
-
* Update existing app data
|
|
181
|
-
*
|
|
182
|
-
* @example
|
|
183
|
-
* ```javascript
|
|
184
|
-
* const updated = await sidekickAPI.appData.update('data-id-123', {
|
|
185
|
-
* data: { theme: 'light' }
|
|
186
|
-
* });
|
|
187
|
-
* ```
|
|
188
|
-
*/
|
|
189
|
-
update: (appDataId: string, request: UpdateAppDataRequest) => Promise<AppData>;
|
|
190
|
-
/**
|
|
191
|
-
* Delete app data
|
|
192
|
-
*
|
|
193
|
-
* @example
|
|
194
|
-
* ```javascript
|
|
195
|
-
* await sidekickAPI.appData.delete('data-id-123');
|
|
196
|
-
* ```
|
|
197
|
-
*/
|
|
198
|
-
delete: (appDataId: string) => Promise<void>;
|
|
199
|
-
};
|
|
200
|
-
/**
|
|
201
|
-
* Utility functions for common operations
|
|
202
|
-
*
|
|
203
|
-
* Note: These utilities are loaded from the sidebar-loader at runtime.
|
|
204
|
-
* They are available through the window object and don't need to be bundled with apps.
|
|
205
|
-
*/
|
|
206
|
-
utils: {
|
|
207
|
-
/**
|
|
208
|
-
* Convert HTML to Markdown
|
|
209
|
-
*
|
|
210
|
-
* @example
|
|
211
|
-
* ```javascript
|
|
212
|
-
* const markdown = sidekickAPI.utils.htmlToMarkdown('<h1>Hello</h1>');
|
|
213
|
-
* console.log(markdown); // # Hello
|
|
214
|
-
* ```
|
|
215
|
-
*/
|
|
216
|
-
htmlToMarkdown: (html: string) => string;
|
|
217
|
-
/**
|
|
218
|
-
* Convert Markdown to HTML (sanitized)
|
|
219
|
-
*
|
|
220
|
-
* @example
|
|
221
|
-
* ```javascript
|
|
222
|
-
* const html = sidekickAPI.utils.markdownToHtml('# Hello');
|
|
223
|
-
* console.log(html); // <h1>Hello</h1>
|
|
224
|
-
* ```
|
|
225
|
-
*/
|
|
226
|
-
markdownToHtml: (markdown: string) => string;
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
declare const sidekickAPI: SidekickAPIClient;
|
|
230
|
-
export default sidekickAPI;
|
|
231
|
-
//# sourceMappingURL=SidekickAPIClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SidekickAPIClient.d.ts","sourceRoot":"","sources":["../src/SidekickAPIClient.ts"],"names":[],"mappings":"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"}
|