@weave-apps/sdk 0.1.10 → 0.1.12
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/WeaveBaseApp.d.ts +47 -3
- package/dist/WeaveBaseApp.d.ts.map +1 -1
- package/dist/WeaveBaseApp.js +64 -2
- package/dist/WeaveCronAPI.d.ts +68 -0
- package/dist/WeaveCronAPI.d.ts.map +1 -0
- package/dist/WeaveCronAPI.js +172 -0
- package/dist/WeaveDOMAPI.d.ts +5 -0
- package/dist/WeaveDOMAPI.d.ts.map +1 -1
- package/dist/WeaveDOMAPI.js +9 -0
- package/dist/global.d.ts +2 -0
- package/dist/global.d.ts.map +1 -1
- package/dist/global.js +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/package.json +1 -1
- package/scripts/copy-sdk-files.js +1 -0
package/dist/WeaveBaseApp.d.ts
CHANGED
|
@@ -56,8 +56,14 @@
|
|
|
56
56
|
* customElements.define('my-app', MyApp);
|
|
57
57
|
* ```
|
|
58
58
|
*/
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Pending operation for multi-page flows
|
|
61
|
+
*/
|
|
62
|
+
export interface PendingOperation {
|
|
63
|
+
type: string;
|
|
64
|
+
data: any;
|
|
65
|
+
targetUrl?: string;
|
|
66
|
+
}
|
|
61
67
|
/**
|
|
62
68
|
* App metadata configuration
|
|
63
69
|
*/
|
|
@@ -108,6 +114,8 @@ export declare abstract class WeaveBaseApp<TSettings = Record<string, any>, TSta
|
|
|
108
114
|
protected weaveAPI: any;
|
|
109
115
|
/** Background API for state persistence */
|
|
110
116
|
private _backgroundAPI;
|
|
117
|
+
/** Cron API for scheduled tasks */
|
|
118
|
+
private _cronAPI;
|
|
111
119
|
/** Debounced persist function */
|
|
112
120
|
private _debouncedPersist;
|
|
113
121
|
/** Flag to track if state has been restored */
|
|
@@ -123,7 +131,43 @@ export declare abstract class WeaveBaseApp<TSettings = Record<string, any>, TSta
|
|
|
123
131
|
* Get the background API for state persistence and pending operations
|
|
124
132
|
* Use this for manual state management or multi-page flows
|
|
125
133
|
*/
|
|
126
|
-
protected get background():
|
|
134
|
+
protected get background(): any;
|
|
135
|
+
/**
|
|
136
|
+
* Get the cron API for scheduled tasks
|
|
137
|
+
*/
|
|
138
|
+
protected get cron(): any;
|
|
139
|
+
/**
|
|
140
|
+
* Register a cron job with a callback
|
|
141
|
+
*
|
|
142
|
+
* @param cronExpression - Standard cron expression (5 or 6 fields)
|
|
143
|
+
* - 5 fields: minute hour dayOfMonth month dayOfWeek
|
|
144
|
+
* - 6 fields: second minute hour dayOfMonth month dayOfWeek
|
|
145
|
+
* @param callback - Function to call when cron triggers
|
|
146
|
+
* @param jobName - Optional unique name for the job
|
|
147
|
+
* @returns Job ID if successful, null otherwise
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* // Every second
|
|
151
|
+
* this.cronTab('* * * * * *', this.handleEverySecond);
|
|
152
|
+
*
|
|
153
|
+
* // Every minute
|
|
154
|
+
* this.cronTab('* * * * *', this.handleEveryMinute);
|
|
155
|
+
*
|
|
156
|
+
* // Every 5 seconds
|
|
157
|
+
* this.cronTab('0/5 * * * * *', this.handleEvery5Seconds);
|
|
158
|
+
*
|
|
159
|
+
* // Every hour at minute 0
|
|
160
|
+
* this.cronTab('0 * * * *', this.handleEveryHour);
|
|
161
|
+
*/
|
|
162
|
+
protected cronTab(cronExpression: string, callback: () => void | Promise<void>, jobName?: string): Promise<string | null>;
|
|
163
|
+
/**
|
|
164
|
+
* Unregister a cron job by name
|
|
165
|
+
*/
|
|
166
|
+
protected cronUnregister(jobName: string): Promise<boolean>;
|
|
167
|
+
/**
|
|
168
|
+
* Unregister all cron jobs for this app
|
|
169
|
+
*/
|
|
170
|
+
protected cronUnregisterAll(): Promise<number>;
|
|
127
171
|
/**
|
|
128
172
|
* Get shadow root (override native property)
|
|
129
173
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WeaveBaseApp.d.ts","sourceRoot":"","sources":["../src/WeaveBaseApp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;
|
|
1
|
+
{"version":3,"file":"WeaveBaseApp.d.ts","sourceRoot":"","sources":["../src/WeaveBaseApp.ts"],"names":[],"mappings":"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"}
|
package/dist/WeaveBaseApp.js
CHANGED
|
@@ -56,7 +56,6 @@
|
|
|
56
56
|
* customElements.define('my-app', MyApp);
|
|
57
57
|
* ```
|
|
58
58
|
*/
|
|
59
|
-
import { WeaveBackgroundAPI } from './WeaveBackgroundAPI';
|
|
60
59
|
/**
|
|
61
60
|
* Simple debounce utility
|
|
62
61
|
*/
|
|
@@ -88,6 +87,8 @@ export class WeaveBaseApp extends HTMLElement {
|
|
|
88
87
|
this.state = {};
|
|
89
88
|
/** Background API for state persistence */
|
|
90
89
|
this._backgroundAPI = null;
|
|
90
|
+
/** Cron API for scheduled tasks */
|
|
91
|
+
this._cronAPI = null;
|
|
91
92
|
/** Debounced persist function */
|
|
92
93
|
this._debouncedPersist = null;
|
|
93
94
|
/** Flag to track if state has been restored */
|
|
@@ -120,7 +121,14 @@ export class WeaveBaseApp extends HTMLElement {
|
|
|
120
121
|
this.weaveAPI = new window.WeaveAPIClient();
|
|
121
122
|
this.weaveAPI.setAppId(this._appUuid);
|
|
122
123
|
// Create background API instance for state persistence
|
|
123
|
-
|
|
124
|
+
if (window.WeaveBackgroundAPI) {
|
|
125
|
+
this._backgroundAPI = new window.WeaveBackgroundAPI(this._appUuid);
|
|
126
|
+
}
|
|
127
|
+
// Create cron API instance for scheduled tasks
|
|
128
|
+
if (window.WeaveCronAPI) {
|
|
129
|
+
this._cronAPI = new window.WeaveCronAPI(this._appUuid);
|
|
130
|
+
this._cronAPI.initialize();
|
|
131
|
+
}
|
|
124
132
|
// Set up debounced persist if enabled
|
|
125
133
|
if (appInfo.persistState) {
|
|
126
134
|
const delay = appInfo.persistDebounce ?? 100;
|
|
@@ -143,6 +151,60 @@ export class WeaveBaseApp extends HTMLElement {
|
|
|
143
151
|
get background() {
|
|
144
152
|
return this._backgroundAPI;
|
|
145
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Get the cron API for scheduled tasks
|
|
156
|
+
*/
|
|
157
|
+
get cron() {
|
|
158
|
+
return this._cronAPI;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Register a cron job with a callback
|
|
162
|
+
*
|
|
163
|
+
* @param cronExpression - Standard cron expression (5 or 6 fields)
|
|
164
|
+
* - 5 fields: minute hour dayOfMonth month dayOfWeek
|
|
165
|
+
* - 6 fields: second minute hour dayOfMonth month dayOfWeek
|
|
166
|
+
* @param callback - Function to call when cron triggers
|
|
167
|
+
* @param jobName - Optional unique name for the job
|
|
168
|
+
* @returns Job ID if successful, null otherwise
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* // Every second
|
|
172
|
+
* this.cronTab('* * * * * *', this.handleEverySecond);
|
|
173
|
+
*
|
|
174
|
+
* // Every minute
|
|
175
|
+
* this.cronTab('* * * * *', this.handleEveryMinute);
|
|
176
|
+
*
|
|
177
|
+
* // Every 5 seconds
|
|
178
|
+
* this.cronTab('0/5 * * * * *', this.handleEvery5Seconds);
|
|
179
|
+
*
|
|
180
|
+
* // Every hour at minute 0
|
|
181
|
+
* this.cronTab('0 * * * *', this.handleEveryHour);
|
|
182
|
+
*/
|
|
183
|
+
async cronTab(cronExpression, callback, jobName) {
|
|
184
|
+
if (!this._cronAPI) {
|
|
185
|
+
console.error('Cron API not available - app UUID may be missing');
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
// Bind callback to this instance
|
|
189
|
+
const boundCallback = callback.bind(this);
|
|
190
|
+
return this._cronAPI.register(cronExpression, boundCallback, jobName);
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Unregister a cron job by name
|
|
194
|
+
*/
|
|
195
|
+
async cronUnregister(jobName) {
|
|
196
|
+
if (!this._cronAPI)
|
|
197
|
+
return false;
|
|
198
|
+
return this._cronAPI.unregister(jobName);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Unregister all cron jobs for this app
|
|
202
|
+
*/
|
|
203
|
+
async cronUnregisterAll() {
|
|
204
|
+
if (!this._cronAPI)
|
|
205
|
+
return 0;
|
|
206
|
+
return this._cronAPI.unregisterAll();
|
|
207
|
+
}
|
|
146
208
|
/**
|
|
147
209
|
* Get shadow root (override native property)
|
|
148
210
|
*/
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WeaveCronAPI - Client API for apps to register cron jobs
|
|
3
|
+
*
|
|
4
|
+
* Apps can register callbacks to be executed on a schedule using standard cron syntax.
|
|
5
|
+
* The browser extension's background script acts as the master clock.
|
|
6
|
+
*
|
|
7
|
+
* Cron syntax (5 or 6 fields):
|
|
8
|
+
* - 5 fields: minute hour dayOfMonth month dayOfWeek
|
|
9
|
+
* - 6 fields: second minute hour dayOfMonth month dayOfWeek
|
|
10
|
+
*
|
|
11
|
+
* Special characters: asterisk (any), comma (list), dash (range), slash (step)
|
|
12
|
+
*/
|
|
13
|
+
interface CronJob {
|
|
14
|
+
id: string;
|
|
15
|
+
appId: string;
|
|
16
|
+
tabId: number;
|
|
17
|
+
cronExpression: string;
|
|
18
|
+
jobName: string;
|
|
19
|
+
createdAt: number;
|
|
20
|
+
}
|
|
21
|
+
type CronCallback = () => void | Promise<void>;
|
|
22
|
+
export declare class WeaveCronAPI {
|
|
23
|
+
private appId;
|
|
24
|
+
private callbacks;
|
|
25
|
+
private jobIds;
|
|
26
|
+
private pendingRequests;
|
|
27
|
+
private messageListener;
|
|
28
|
+
private isInitialized;
|
|
29
|
+
constructor(appId: string);
|
|
30
|
+
/**
|
|
31
|
+
* Initialize the cron API (sets up message listener)
|
|
32
|
+
*/
|
|
33
|
+
initialize(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Cleanup - unregister all jobs and remove listener
|
|
36
|
+
*/
|
|
37
|
+
destroy(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Register a cron job
|
|
40
|
+
* @param cronExpression - Cron expression (5 or 6 fields)
|
|
41
|
+
* @param callback - Function to call when cron triggers
|
|
42
|
+
* @param jobName - Optional unique name for the job (defaults to callback name or random)
|
|
43
|
+
* @returns Job ID if successful
|
|
44
|
+
*/
|
|
45
|
+
register(cronExpression: string, callback: CronCallback, jobName?: string): Promise<string | null>;
|
|
46
|
+
/**
|
|
47
|
+
* Unregister a cron job by name
|
|
48
|
+
*/
|
|
49
|
+
unregister(jobName: string): Promise<boolean>;
|
|
50
|
+
/**
|
|
51
|
+
* Unregister all cron jobs for this app
|
|
52
|
+
*/
|
|
53
|
+
unregisterAll(): Promise<number>;
|
|
54
|
+
/**
|
|
55
|
+
* List all cron jobs for this app
|
|
56
|
+
*/
|
|
57
|
+
list(): Promise<CronJob[]>;
|
|
58
|
+
/**
|
|
59
|
+
* Handle incoming messages
|
|
60
|
+
*/
|
|
61
|
+
private handleMessage;
|
|
62
|
+
/**
|
|
63
|
+
* Send request to content script bridge
|
|
64
|
+
*/
|
|
65
|
+
private sendRequest;
|
|
66
|
+
}
|
|
67
|
+
export default WeaveCronAPI;
|
|
68
|
+
//# sourceMappingURL=WeaveCronAPI.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WeaveCronAPI.d.ts","sourceRoot":"","sources":["../src/WeaveCronAPI.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAcD,KAAK,YAAY,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/C,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,eAAe,CAA2F;IAClH,OAAO,CAAC,eAAe,CAAgD;IACvE,OAAO,CAAC,aAAa,CAAS;gBAElB,KAAK,EAAE,MAAM;IAIzB;;OAEG;IACH,UAAU,IAAI,IAAI;IAUlB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B;;;;;;OAMG;IACG,QAAQ,CACZ,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAwBzB;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBnD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IActC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAQhC;;OAEG;IACH,OAAO,CAAC,aAAa;IAmCrB;;OAEG;IACH,OAAO,CAAC,WAAW;CAqBpB;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WeaveCronAPI - Client API for apps to register cron jobs
|
|
3
|
+
*
|
|
4
|
+
* Apps can register callbacks to be executed on a schedule using standard cron syntax.
|
|
5
|
+
* The browser extension's background script acts as the master clock.
|
|
6
|
+
*
|
|
7
|
+
* Cron syntax (5 or 6 fields):
|
|
8
|
+
* - 5 fields: minute hour dayOfMonth month dayOfWeek
|
|
9
|
+
* - 6 fields: second minute hour dayOfMonth month dayOfWeek
|
|
10
|
+
*
|
|
11
|
+
* Special characters: asterisk (any), comma (list), dash (range), slash (step)
|
|
12
|
+
*/
|
|
13
|
+
export class WeaveCronAPI {
|
|
14
|
+
constructor(appId) {
|
|
15
|
+
this.callbacks = new Map();
|
|
16
|
+
this.jobIds = new Map(); // jobName -> jobId
|
|
17
|
+
this.pendingRequests = new Map();
|
|
18
|
+
this.messageListener = null;
|
|
19
|
+
this.isInitialized = false;
|
|
20
|
+
this.appId = appId;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Initialize the cron API (sets up message listener)
|
|
24
|
+
*/
|
|
25
|
+
initialize() {
|
|
26
|
+
if (this.isInitialized)
|
|
27
|
+
return;
|
|
28
|
+
this.messageListener = (event) => {
|
|
29
|
+
this.handleMessage(event);
|
|
30
|
+
};
|
|
31
|
+
window.addEventListener('message', this.messageListener);
|
|
32
|
+
this.isInitialized = true;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Cleanup - unregister all jobs and remove listener
|
|
36
|
+
*/
|
|
37
|
+
async destroy() {
|
|
38
|
+
// Unregister all jobs for this app
|
|
39
|
+
await this.unregisterAll();
|
|
40
|
+
// Remove message listener
|
|
41
|
+
if (this.messageListener) {
|
|
42
|
+
window.removeEventListener('message', this.messageListener);
|
|
43
|
+
this.messageListener = null;
|
|
44
|
+
}
|
|
45
|
+
this.callbacks.clear();
|
|
46
|
+
this.jobIds.clear();
|
|
47
|
+
this.isInitialized = false;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Register a cron job
|
|
51
|
+
* @param cronExpression - Cron expression (5 or 6 fields)
|
|
52
|
+
* @param callback - Function to call when cron triggers
|
|
53
|
+
* @param jobName - Optional unique name for the job (defaults to callback name or random)
|
|
54
|
+
* @returns Job ID if successful
|
|
55
|
+
*/
|
|
56
|
+
async register(cronExpression, callback, jobName) {
|
|
57
|
+
const name = jobName || callback.name || `job_${Date.now()}`;
|
|
58
|
+
// Store callback locally
|
|
59
|
+
this.callbacks.set(name, callback);
|
|
60
|
+
// Send registration request to background
|
|
61
|
+
const response = await this.sendRequest('CRON_REGISTER', {
|
|
62
|
+
appId: this.appId,
|
|
63
|
+
cronExpression,
|
|
64
|
+
jobName: name,
|
|
65
|
+
});
|
|
66
|
+
if (response.success && response.jobId) {
|
|
67
|
+
this.jobIds.set(name, response.jobId);
|
|
68
|
+
return response.jobId;
|
|
69
|
+
}
|
|
70
|
+
// Registration failed, remove callback
|
|
71
|
+
this.callbacks.delete(name);
|
|
72
|
+
console.error(`Failed to register cron job: ${response.error}`);
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Unregister a cron job by name
|
|
77
|
+
*/
|
|
78
|
+
async unregister(jobName) {
|
|
79
|
+
const jobId = this.jobIds.get(jobName);
|
|
80
|
+
if (!jobId) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
const response = await this.sendRequest('CRON_UNREGISTER', {
|
|
84
|
+
jobId,
|
|
85
|
+
});
|
|
86
|
+
if (response.success) {
|
|
87
|
+
this.callbacks.delete(jobName);
|
|
88
|
+
this.jobIds.delete(jobName);
|
|
89
|
+
}
|
|
90
|
+
return response.success;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Unregister all cron jobs for this app
|
|
94
|
+
*/
|
|
95
|
+
async unregisterAll() {
|
|
96
|
+
const response = await this.sendRequest('CRON_UNREGISTER_APP', {
|
|
97
|
+
appId: this.appId,
|
|
98
|
+
});
|
|
99
|
+
if (response.success) {
|
|
100
|
+
this.callbacks.clear();
|
|
101
|
+
this.jobIds.clear();
|
|
102
|
+
return response.count;
|
|
103
|
+
}
|
|
104
|
+
return 0;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* List all cron jobs for this app
|
|
108
|
+
*/
|
|
109
|
+
async list() {
|
|
110
|
+
const response = await this.sendRequest('CRON_LIST', {
|
|
111
|
+
appId: this.appId,
|
|
112
|
+
});
|
|
113
|
+
return response.jobs || [];
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Handle incoming messages
|
|
117
|
+
*/
|
|
118
|
+
handleMessage(event) {
|
|
119
|
+
const { data } = event;
|
|
120
|
+
// Handle cron tick
|
|
121
|
+
if (data?.type === 'CRON_TICK') {
|
|
122
|
+
const { appId, jobName } = data.payload;
|
|
123
|
+
// Only handle ticks for this app
|
|
124
|
+
if (appId !== this.appId)
|
|
125
|
+
return;
|
|
126
|
+
const callback = this.callbacks.get(jobName);
|
|
127
|
+
if (callback) {
|
|
128
|
+
try {
|
|
129
|
+
const result = callback();
|
|
130
|
+
// Handle async callbacks
|
|
131
|
+
if (result instanceof Promise) {
|
|
132
|
+
result.catch(err => console.error(`Cron job ${jobName} error:`, err));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
console.error(`Cron job ${jobName} error:`, error);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
// Handle responses
|
|
142
|
+
if (data?.type?.endsWith('_RESPONSE') && data.requestId) {
|
|
143
|
+
const pending = this.pendingRequests.get(data.requestId);
|
|
144
|
+
if (pending) {
|
|
145
|
+
this.pendingRequests.delete(data.requestId);
|
|
146
|
+
pending.resolve(data.payload);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Send request to content script bridge
|
|
152
|
+
*/
|
|
153
|
+
sendRequest(type, payload) {
|
|
154
|
+
return new Promise((resolve, reject) => {
|
|
155
|
+
const requestId = `cron_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
156
|
+
this.pendingRequests.set(requestId, { resolve, reject });
|
|
157
|
+
// Timeout after 5 seconds
|
|
158
|
+
setTimeout(() => {
|
|
159
|
+
if (this.pendingRequests.has(requestId)) {
|
|
160
|
+
this.pendingRequests.delete(requestId);
|
|
161
|
+
reject(new Error('Cron request timeout'));
|
|
162
|
+
}
|
|
163
|
+
}, 5000);
|
|
164
|
+
window.parent.postMessage({
|
|
165
|
+
type,
|
|
166
|
+
requestId,
|
|
167
|
+
payload,
|
|
168
|
+
}, '*');
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
export default WeaveCronAPI;
|
package/dist/WeaveDOMAPI.d.ts
CHANGED
|
@@ -190,6 +190,11 @@ export declare class WeaveDOMAPI {
|
|
|
190
190
|
* @returns Promise with the current page URL
|
|
191
191
|
*/
|
|
192
192
|
getPageUrl(): Promise<string>;
|
|
193
|
+
/**
|
|
194
|
+
* Reload the current page
|
|
195
|
+
* Triggers a full page reload of the parent page
|
|
196
|
+
*/
|
|
197
|
+
reloadPage(): Promise<void>;
|
|
193
198
|
/**
|
|
194
199
|
* Set text content of an element
|
|
195
200
|
*/
|
|
@@ -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
|
@@ -44,6 +44,8 @@ var DOMOperation;
|
|
|
44
44
|
// Element watching operations
|
|
45
45
|
DOMOperation["WATCH_ELEMENT"] = "WATCH_ELEMENT";
|
|
46
46
|
DOMOperation["UNWATCH_ELEMENT"] = "UNWATCH_ELEMENT";
|
|
47
|
+
// Navigation operations
|
|
48
|
+
DOMOperation["RELOAD_PAGE"] = "RELOAD_PAGE";
|
|
47
49
|
})(DOMOperation || (DOMOperation = {}));
|
|
48
50
|
/**
|
|
49
51
|
* Weave DOM API
|
|
@@ -258,6 +260,13 @@ export class WeaveDOMAPI {
|
|
|
258
260
|
async getPageUrl() {
|
|
259
261
|
return this.sendRequest(DOMOperation.GET_PAGE_URL, {});
|
|
260
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* Reload the current page
|
|
265
|
+
* Triggers a full page reload of the parent page
|
|
266
|
+
*/
|
|
267
|
+
async reloadPage() {
|
|
268
|
+
return this.sendRequest(DOMOperation.RELOAD_PAGE, {});
|
|
269
|
+
}
|
|
261
270
|
// ============================================================================
|
|
262
271
|
// Write Operations
|
|
263
272
|
// ============================================================================
|
package/dist/global.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { WeaveBaseApp } from './WeaveBaseApp';
|
|
|
8
8
|
import { WeaveDOMAPI } from './WeaveDOMAPI';
|
|
9
9
|
import { WeaveAPIClient } from './WeaveAPIClient';
|
|
10
10
|
import { WeaveBackgroundAPI } from './WeaveBackgroundAPI';
|
|
11
|
+
import { WeaveCronAPI } from './WeaveCronAPI';
|
|
11
12
|
declare global {
|
|
12
13
|
interface Window {
|
|
13
14
|
WeaveBaseApp: typeof WeaveBaseApp;
|
|
@@ -16,6 +17,7 @@ declare global {
|
|
|
16
17
|
WeaveAPIClient: typeof WeaveAPIClient;
|
|
17
18
|
weaveAPI: WeaveAPIClient;
|
|
18
19
|
WeaveBackgroundAPI: typeof WeaveBackgroundAPI;
|
|
20
|
+
WeaveCronAPI: typeof WeaveCronAPI;
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
23
|
//# 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;
|
|
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;AAG9C,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;KAAG;CACxC"}
|
package/dist/global.js
CHANGED
|
@@ -10,6 +10,7 @@ import weavekDOM from './WeaveDOMAPI';
|
|
|
10
10
|
import { WeaveAPIClient } from './WeaveAPIClient';
|
|
11
11
|
import weaveAPI from './WeaveAPIClient';
|
|
12
12
|
import { WeaveBackgroundAPI } from './WeaveBackgroundAPI';
|
|
13
|
+
import { WeaveCronAPI } from './WeaveCronAPI';
|
|
13
14
|
// Make SDK available globally
|
|
14
15
|
window.WeaveBaseApp = WeaveBaseApp;
|
|
15
16
|
window.WeaveDOMAPI = WeaveDOMAPI;
|
|
@@ -17,3 +18,4 @@ window.weaveDOM = weavekDOM;
|
|
|
17
18
|
window.WeaveAPIClient = WeaveAPIClient;
|
|
18
19
|
window.weaveAPI = weaveAPI;
|
|
19
20
|
window.WeaveBackgroundAPI = WeaveBackgroundAPI;
|
|
21
|
+
window.WeaveCronAPI = WeaveCronAPI;
|
package/dist/index.d.ts
CHANGED
|
@@ -9,5 +9,6 @@ export { default as weaveDOM } from './WeaveDOMAPI';
|
|
|
9
9
|
export { WeaveAPIClient, type AIChatRequest, type AIChatResponse, type AppData, type CreateAppDataRequest, type UpdateAppDataRequest } from './WeaveAPIClient';
|
|
10
10
|
export { default as weaveAPI } from './WeaveAPIClient';
|
|
11
11
|
export { WeaveBackgroundAPI } from './WeaveBackgroundAPI';
|
|
12
|
+
export { WeaveCronAPI } from './WeaveCronAPI';
|
|
12
13
|
import './global';
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,5 +9,6 @@ export { default as weaveDOM } from './WeaveDOMAPI';
|
|
|
9
9
|
export { WeaveAPIClient } from './WeaveAPIClient';
|
|
10
10
|
export { default as weaveAPI } from './WeaveAPIClient';
|
|
11
11
|
export { WeaveBackgroundAPI } from './WeaveBackgroundAPI';
|
|
12
|
+
export { WeaveCronAPI } from './WeaveCronAPI';
|
|
12
13
|
// Import global.ts to ensure Window interface augmentation is included
|
|
13
14
|
import './global';
|
package/package.json
CHANGED