@weave-apps/sdk 0.10.0 → 0.12.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/dist/WeaveDOMAPI.d.ts +66 -0
- package/dist/WeaveDOMAPI.d.ts.map +1 -1
- package/dist/WeaveDOMAPI.js +51 -0
- package/dist/apis/api-mono/services/interfaces/WorkflowsTriggersWorkflowCompanyIdPostPost.d.ts +224 -0
- package/dist/apis/api-mono/services/interfaces/WorkflowsTriggersWorkflowCompanyIdPostPost.d.ts.map +1 -0
- package/dist/apis/api-mono/services/interfaces/WorkflowsTriggersWorkflowCompanyIdPostPost.js +66 -0
- package/dist/app-sdk/src/WeaveAPIClient.d.ts +373 -0
- package/dist/app-sdk/src/WeaveAPIClient.d.ts.map +1 -0
- package/dist/app-sdk/src/WeaveAPIClient.js +361 -0
- package/dist/app-sdk/src/WeaveAppInstanceAPI.d.ts +237 -0
- package/dist/app-sdk/src/WeaveAppInstanceAPI.d.ts.map +1 -0
- package/dist/app-sdk/src/WeaveAppInstanceAPI.js +395 -0
- package/dist/app-sdk/src/WeaveBackgroundAPI.d.ts +81 -0
- package/dist/app-sdk/src/WeaveBackgroundAPI.d.ts.map +1 -0
- package/dist/app-sdk/src/WeaveBackgroundAPI.js +165 -0
- package/dist/app-sdk/src/WeaveBaseApp.d.ts +318 -0
- package/dist/app-sdk/src/WeaveBaseApp.d.ts.map +1 -0
- package/dist/app-sdk/src/WeaveBaseApp.js +434 -0
- package/dist/app-sdk/src/WeaveCronAPI.d.ts +68 -0
- package/dist/app-sdk/src/WeaveCronAPI.d.ts.map +1 -0
- package/dist/app-sdk/src/WeaveCronAPI.js +172 -0
- package/dist/app-sdk/src/WeaveDOMAPI.d.ts +593 -0
- package/dist/app-sdk/src/WeaveDOMAPI.d.ts.map +1 -0
- package/dist/app-sdk/src/WeaveDOMAPI.js +774 -0
- package/dist/app-sdk/src/global.d.ts +25 -0
- package/dist/app-sdk/src/global.d.ts.map +1 -0
- package/dist/app-sdk/src/global.js +23 -0
- package/dist/app-sdk/src/index.d.ts +14 -0
- package/dist/app-sdk/src/index.d.ts.map +1 -0
- package/dist/app-sdk/src/index.js +14 -0
- package/package.json +3 -3
- package/templates/WEAVE_SPEC.md +459 -2
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Weave API Client
|
|
3
|
+
*
|
|
4
|
+
* Client-side API for iframe apps to interact with the Weave 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
|
+
/** Controls how creative or deterministic the AI response should be */
|
|
20
|
+
creativityLevel?: 'precise' | 'low' | 'balanced' | 'high' | 'creative';
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* AI Chat Response
|
|
24
|
+
*/
|
|
25
|
+
export interface AIChatResponse {
|
|
26
|
+
/** AI chat response content */
|
|
27
|
+
response: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* App Data structure
|
|
31
|
+
*/
|
|
32
|
+
export interface AppData {
|
|
33
|
+
_id: string;
|
|
34
|
+
/** Reference to the app component this data belongs to */
|
|
35
|
+
appId: string;
|
|
36
|
+
/** Company that owns this app data */
|
|
37
|
+
companyId: string;
|
|
38
|
+
/** User that owns this specific app data instance */
|
|
39
|
+
userId: string;
|
|
40
|
+
/** Key for organizing data within an app namespace */
|
|
41
|
+
dataKey: string;
|
|
42
|
+
/** Unstructured data - apps determine the content structure */
|
|
43
|
+
data: Record<string, any>;
|
|
44
|
+
createdAt: Date;
|
|
45
|
+
updatedAt: Date;
|
|
46
|
+
createdBy: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Create App Data Request
|
|
50
|
+
*/
|
|
51
|
+
export interface CreateAppDataRequest {
|
|
52
|
+
/** Key for organizing data within an app namespace */
|
|
53
|
+
dataKey: string;
|
|
54
|
+
/** Unstructured data - apps determine the content structure */
|
|
55
|
+
data: Record<string, any>;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Update App Data Request
|
|
59
|
+
*/
|
|
60
|
+
export interface UpdateAppDataRequest {
|
|
61
|
+
/** Key for organizing data within an app namespace */
|
|
62
|
+
dataKey: string;
|
|
63
|
+
/** Unstructured data - apps determine the content structure */
|
|
64
|
+
data: Record<string, any>;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Pagination metadata
|
|
68
|
+
*/
|
|
69
|
+
export interface PaginationMeta {
|
|
70
|
+
/** Current offset */
|
|
71
|
+
offset: number;
|
|
72
|
+
/** Number of items per page */
|
|
73
|
+
limit: number;
|
|
74
|
+
/** Total number of items available */
|
|
75
|
+
totalResultCount: number;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Paginated response wrapper
|
|
79
|
+
*/
|
|
80
|
+
export interface PaginatedResponse<T> {
|
|
81
|
+
/** Array of data items */
|
|
82
|
+
data: T[];
|
|
83
|
+
/** Pagination metadata */
|
|
84
|
+
meta: PaginationMeta;
|
|
85
|
+
}
|
|
86
|
+
export interface FormDataScopeOptions {
|
|
87
|
+
/**
|
|
88
|
+
* Number of levels to traverse up from the current location before scoping results.
|
|
89
|
+
* 0 = current location, 1 = parent, 2 = grandparent, etc.
|
|
90
|
+
*/
|
|
91
|
+
locationLevelsUp?: number;
|
|
92
|
+
/**
|
|
93
|
+
* If true, ignores locationLevelsUp and scopes from the root location.
|
|
94
|
+
*/
|
|
95
|
+
locationIncludeToRoot?: boolean;
|
|
96
|
+
}
|
|
97
|
+
export interface CompanyMembersQueryOptions extends FormDataScopeOptions {
|
|
98
|
+
/**
|
|
99
|
+
* Optional target type. Defaults to app context when omitted.
|
|
100
|
+
*/
|
|
101
|
+
targetType?: 'app' | 'form' | 'workflow' | 'trigger' | 'startupUrlGroup';
|
|
102
|
+
/**
|
|
103
|
+
* Optional target identifier. Defaults to current app ID when omitted.
|
|
104
|
+
*/
|
|
105
|
+
targetId?: string;
|
|
106
|
+
offset?: number;
|
|
107
|
+
limit?: number;
|
|
108
|
+
search?: string;
|
|
109
|
+
role?: string;
|
|
110
|
+
status?: 'active' | 'inactive';
|
|
111
|
+
}
|
|
112
|
+
export interface FormSubmissionFieldOption {
|
|
113
|
+
label: string;
|
|
114
|
+
value: string;
|
|
115
|
+
}
|
|
116
|
+
export interface FormSubmissionCondition {
|
|
117
|
+
fieldId: string;
|
|
118
|
+
operator: string;
|
|
119
|
+
value?: string;
|
|
120
|
+
}
|
|
121
|
+
export interface FormSubmissionResponseEntry {
|
|
122
|
+
label: string;
|
|
123
|
+
type: string;
|
|
124
|
+
value: string | boolean | null;
|
|
125
|
+
options?: FormSubmissionFieldOption[];
|
|
126
|
+
stockFieldCode?: string;
|
|
127
|
+
}
|
|
128
|
+
export interface FormSubmissionDefinitionSection {
|
|
129
|
+
sectionId: string;
|
|
130
|
+
title?: string;
|
|
131
|
+
description?: string;
|
|
132
|
+
order: number;
|
|
133
|
+
condition?: FormSubmissionCondition;
|
|
134
|
+
}
|
|
135
|
+
export interface FormSubmissionDefinitionField {
|
|
136
|
+
fieldId: string;
|
|
137
|
+
label: string;
|
|
138
|
+
type: string;
|
|
139
|
+
required: boolean;
|
|
140
|
+
placeholder?: string;
|
|
141
|
+
helpText?: string;
|
|
142
|
+
options?: FormSubmissionFieldOption[];
|
|
143
|
+
sectionId?: string;
|
|
144
|
+
sectionTitle?: string;
|
|
145
|
+
sectionDescription?: string;
|
|
146
|
+
condition?: FormSubmissionCondition;
|
|
147
|
+
}
|
|
148
|
+
export interface FormSubmissionDefinitionPayload {
|
|
149
|
+
formId: string;
|
|
150
|
+
description: string;
|
|
151
|
+
sections: FormSubmissionDefinitionSection[];
|
|
152
|
+
fields: FormSubmissionDefinitionField[];
|
|
153
|
+
}
|
|
154
|
+
export interface FormSubmissionDataPayload {
|
|
155
|
+
formName: string;
|
|
156
|
+
formDescription: string;
|
|
157
|
+
formCategory: string;
|
|
158
|
+
submittedAt: string;
|
|
159
|
+
responses: Record<string, FormSubmissionResponseEntry>;
|
|
160
|
+
formDefinition: FormSubmissionDefinitionPayload;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Weave API Client
|
|
164
|
+
* Provides methods for iframe apps to interact with Weave backend
|
|
165
|
+
*/
|
|
166
|
+
export declare class WeaveAPIClient {
|
|
167
|
+
private pendingRequests;
|
|
168
|
+
private messageListener;
|
|
169
|
+
private requestCounter;
|
|
170
|
+
private timeout;
|
|
171
|
+
private appId;
|
|
172
|
+
constructor();
|
|
173
|
+
/**
|
|
174
|
+
* Set the app ID for this client
|
|
175
|
+
* Called automatically by WeaveBaseApp
|
|
176
|
+
*/
|
|
177
|
+
setAppId(appId: string): void;
|
|
178
|
+
/**
|
|
179
|
+
* Initialize the API client and start listening for responses
|
|
180
|
+
*/
|
|
181
|
+
private initialize;
|
|
182
|
+
/**
|
|
183
|
+
* Cleanup
|
|
184
|
+
*/
|
|
185
|
+
destroy(): void;
|
|
186
|
+
/**
|
|
187
|
+
* Handle response from sidebar
|
|
188
|
+
*/
|
|
189
|
+
private handleResponse;
|
|
190
|
+
/**
|
|
191
|
+
* Send request to sidebar
|
|
192
|
+
*/
|
|
193
|
+
private sendRequest;
|
|
194
|
+
/**
|
|
195
|
+
* Send a chat message to the AI service
|
|
196
|
+
*
|
|
197
|
+
* Note: App ID is automatically injected by the APIBridge.
|
|
198
|
+
* You only need to provide the prompt and optional context.
|
|
199
|
+
*
|
|
200
|
+
* @example
|
|
201
|
+
* ```javascript
|
|
202
|
+
* const response = await weaveAPI.ai.chat({
|
|
203
|
+
* prompt: 'What is the capital of France?',
|
|
204
|
+
* context: 'User is learning geography'
|
|
205
|
+
* });
|
|
206
|
+
* ```
|
|
207
|
+
*/
|
|
208
|
+
ai: {
|
|
209
|
+
chat: (request: AIChatRequest) => Promise<AIChatResponse>;
|
|
210
|
+
};
|
|
211
|
+
/**
|
|
212
|
+
* App Data operations - CRUD for app-specific data storage
|
|
213
|
+
*/
|
|
214
|
+
appData: {
|
|
215
|
+
/**
|
|
216
|
+
* Get all app data for the current company (paginated)
|
|
217
|
+
*
|
|
218
|
+
* Returns a paginated response with data and metadata.
|
|
219
|
+
* Default limit is 25 items. For apps with large datasets (500-5000+ rows),
|
|
220
|
+
* use pagination to avoid performance issues.
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* ```javascript
|
|
224
|
+
* // Get first page (default: 25 items)
|
|
225
|
+
* const response = await weaveAPI.appData.getAll();
|
|
226
|
+
*
|
|
227
|
+
* // Access the array of items
|
|
228
|
+
* const items = response.data;
|
|
229
|
+
* items.forEach(item => {
|
|
230
|
+
* });
|
|
231
|
+
* ```
|
|
232
|
+
*/
|
|
233
|
+
getAll: () => Promise<PaginatedResponse<AppData>>;
|
|
234
|
+
/**
|
|
235
|
+
* Create new app data
|
|
236
|
+
*
|
|
237
|
+
* Note: App ID is automatically injected by the APIBridge.
|
|
238
|
+
*
|
|
239
|
+
* @example
|
|
240
|
+
* ```javascript
|
|
241
|
+
* const newData = await weaveAPI.appData.create({
|
|
242
|
+
* dataKey: 'user-preferences',
|
|
243
|
+
* data: { theme: 'dark', language: 'en' }
|
|
244
|
+
* });
|
|
245
|
+
* ```
|
|
246
|
+
*/
|
|
247
|
+
create: (request: CreateAppDataRequest) => Promise<AppData>;
|
|
248
|
+
/**
|
|
249
|
+
* Get specific app data by ID
|
|
250
|
+
*
|
|
251
|
+
* @example
|
|
252
|
+
* ```javascript
|
|
253
|
+
* const data = await weaveAPI.appData.get('data-id-123');
|
|
254
|
+
* ```
|
|
255
|
+
*/
|
|
256
|
+
get: (appDataId: string) => Promise<AppData>;
|
|
257
|
+
/**
|
|
258
|
+
* Update existing app data
|
|
259
|
+
*
|
|
260
|
+
* @example
|
|
261
|
+
* ```javascript
|
|
262
|
+
* const updated = await weaveAPI.appData.update('data-id-123', {
|
|
263
|
+
* data: { theme: 'light' }
|
|
264
|
+
* });
|
|
265
|
+
* ```
|
|
266
|
+
*/
|
|
267
|
+
update: (appDataId: string, request: UpdateAppDataRequest) => Promise<AppData>;
|
|
268
|
+
/**
|
|
269
|
+
* Delete app data
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* ```javascript
|
|
273
|
+
* await weaveAPI.appData.delete('data-id-123');
|
|
274
|
+
* ```
|
|
275
|
+
*/
|
|
276
|
+
delete: (appDataId: string) => Promise<void>;
|
|
277
|
+
};
|
|
278
|
+
/**
|
|
279
|
+
* Company member operations for app/user discovery scenarios.
|
|
280
|
+
*/
|
|
281
|
+
companyMembers: {
|
|
282
|
+
/**
|
|
283
|
+
* Get company members scoped by current user's location (supports ancestor traversal).
|
|
284
|
+
*
|
|
285
|
+
* Defaults to current app context (`targetType: 'app'`, `targetId` from app ID).
|
|
286
|
+
*/
|
|
287
|
+
getAll: (options?: CompanyMembersQueryOptions) => Promise<PaginatedResponse<any>>;
|
|
288
|
+
};
|
|
289
|
+
/**
|
|
290
|
+
* Forms API
|
|
291
|
+
*
|
|
292
|
+
* Methods for fetching company forms and submitting form data.
|
|
293
|
+
*/
|
|
294
|
+
forms: {
|
|
295
|
+
/**
|
|
296
|
+
* Get all forms for the company
|
|
297
|
+
*
|
|
298
|
+
* @example
|
|
299
|
+
* ```javascript
|
|
300
|
+
* const response = await weaveAPI.forms.getAll();
|
|
301
|
+
* console.log(response.data); // Array of forms
|
|
302
|
+
* ```
|
|
303
|
+
*/
|
|
304
|
+
getAll: () => Promise<PaginatedResponse<any>>;
|
|
305
|
+
/**
|
|
306
|
+
* Get a specific form by ID
|
|
307
|
+
*
|
|
308
|
+
* @example
|
|
309
|
+
* ```javascript
|
|
310
|
+
* const form = await weaveAPI.forms.get('form-id-123');
|
|
311
|
+
* console.log(form.name, form.fields);
|
|
312
|
+
* ```
|
|
313
|
+
*/
|
|
314
|
+
get: (formId: string) => Promise<any>;
|
|
315
|
+
/**
|
|
316
|
+
* Get all submissions (app data) for a specific form
|
|
317
|
+
*
|
|
318
|
+
* @example
|
|
319
|
+
* ```javascript
|
|
320
|
+
* const response = await weaveAPI.forms.getFormData('form-id-123');
|
|
321
|
+
* console.log(response.data); // Array of form submissions
|
|
322
|
+
* ```
|
|
323
|
+
*/
|
|
324
|
+
getFormData: (formId: string, scopeOptions?: FormDataScopeOptions) => Promise<PaginatedResponse<AppData>>;
|
|
325
|
+
/**
|
|
326
|
+
* Submit form data
|
|
327
|
+
* Creates app data with targetType: 'form' and targetId: formId
|
|
328
|
+
*
|
|
329
|
+
* @example
|
|
330
|
+
* ```javascript
|
|
331
|
+
* await weaveAPI.forms.submitFormData('form-id-123', {
|
|
332
|
+
* dataKey: 'form_submission',
|
|
333
|
+
* data: {
|
|
334
|
+
* formName: 'User Signup',
|
|
335
|
+
* responses: { field1: 'value1', field2: 'value2' }
|
|
336
|
+
* }
|
|
337
|
+
* });
|
|
338
|
+
* ```
|
|
339
|
+
*/
|
|
340
|
+
submitFormData: (formId: string, payload: CreateAppDataRequest) => Promise<AppData>;
|
|
341
|
+
};
|
|
342
|
+
/**
|
|
343
|
+
* Utility functions for common operations
|
|
344
|
+
*
|
|
345
|
+
* Note: These utilities are loaded from the sidebar-loader at runtime.
|
|
346
|
+
* They are available through the window object and don't need to be bundled with apps.
|
|
347
|
+
*/
|
|
348
|
+
utils: {
|
|
349
|
+
/**
|
|
350
|
+
* Convert HTML to Markdown
|
|
351
|
+
*
|
|
352
|
+
* @example
|
|
353
|
+
* ```javascript
|
|
354
|
+
* const markdown = weaveAPI.utils.htmlToMarkdown('<h1>Hello</h1>');
|
|
355
|
+
* console.log(markdown); // # Hello
|
|
356
|
+
* ```
|
|
357
|
+
*/
|
|
358
|
+
htmlToMarkdown: (html: string) => string;
|
|
359
|
+
/**
|
|
360
|
+
* Convert Markdown to HTML (sanitized)
|
|
361
|
+
*
|
|
362
|
+
* @example
|
|
363
|
+
* ```javascript
|
|
364
|
+
* const html = weaveAPI.utils.markdownToHtml('# Hello');
|
|
365
|
+
* console.log(html); // <h1>Hello</h1>
|
|
366
|
+
* ```
|
|
367
|
+
*/
|
|
368
|
+
markdownToHtml: (markdown: string) => string;
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
declare const weaveAPI: WeaveAPIClient;
|
|
372
|
+
export default weaveAPI;
|
|
373
|
+
//# sourceMappingURL=WeaveAPIClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WeaveAPIClient.d.ts","sourceRoot":"","sources":["../../../src/WeaveAPIClient.ts"],"names":[],"mappings":"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"}
|