@ansight/capacitor 1.0.2-preview.6
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/AnsightCapacitor.podspec +14 -0
- package/LICENSE +200 -0
- package/Package.swift +38 -0
- package/README.md +139 -0
- package/android/build.gradle +52 -0
- package/android/settings.gradle +20 -0
- package/android/src/main/AndroidManifest.xml +1 -0
- package/android/src/main/kotlin/ai/ansight/capacitor/AnsightCapacitorPlugin.kt +1131 -0
- package/dist/esm/definitions.d.ts +521 -0
- package/dist/esm/definitions.d.ts.map +1 -0
- package/dist/esm/definitions.js +2 -0
- package/dist/esm/definitions.js.map +1 -0
- package/dist/esm/dom.d.ts +9 -0
- package/dist/esm/dom.d.ts.map +1 -0
- package/dist/esm/dom.js +237 -0
- package/dist/esm/dom.js.map +1 -0
- package/dist/esm/index.d.ts +156 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +576 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/options.d.ts +57 -0
- package/dist/esm/options.d.ts.map +1 -0
- package/dist/esm/options.js +294 -0
- package/dist/esm/options.js.map +1 -0
- package/dist/esm/standalone.d.ts +5 -0
- package/dist/esm/standalone.d.ts.map +1 -0
- package/dist/esm/standalone.js +18 -0
- package/dist/esm/standalone.js.map +1 -0
- package/dist/plugin.cjs.js +1176 -0
- package/dist/plugin.cjs.js.map +1 -0
- package/dist/plugin.js +1179 -0
- package/dist/plugin.js.map +1 -0
- package/dist/standalone.js +1764 -0
- package/dist/standalone.js.map +1 -0
- package/ios/Sources/AnsightCapacitorPlugin/AnsightCapacitorPlugin.swift +1144 -0
- package/package.json +81 -0
|
@@ -0,0 +1,576 @@
|
|
|
1
|
+
import { Capacitor, registerPlugin } from "@capacitor/core";
|
|
2
|
+
import { installDomTools as installDomToolsCore } from "./dom";
|
|
3
|
+
import { AnsightOptionsBuilder, createOptionsBuilder } from "./options";
|
|
4
|
+
export * from "./definitions";
|
|
5
|
+
export { AnsightOptionsBuilder, createOptionsBuilder };
|
|
6
|
+
export const AnsightNative = registerPlugin("Ansight");
|
|
7
|
+
const toolHandlers = new Map();
|
|
8
|
+
const artifactProviders = new Map();
|
|
9
|
+
const hostConnectionListeners = new Set();
|
|
10
|
+
const logListeners = new Set();
|
|
11
|
+
let toolListener;
|
|
12
|
+
let logListener;
|
|
13
|
+
let lifecycleCleanup;
|
|
14
|
+
let artifactToolRegistrations = [];
|
|
15
|
+
let domToolRegistration;
|
|
16
|
+
function normalizePairingPayload(payload) {
|
|
17
|
+
if (payload == null)
|
|
18
|
+
return payload;
|
|
19
|
+
return typeof payload === "string" ? payload : JSON.stringify(payload);
|
|
20
|
+
}
|
|
21
|
+
function normalizeOptions(input) {
|
|
22
|
+
const options = JSON.parse(JSON.stringify(input));
|
|
23
|
+
if (options.pairingConfig != null) {
|
|
24
|
+
options.pairingConfigJson =
|
|
25
|
+
normalizePairingPayload(options.pairingConfig) ?? undefined;
|
|
26
|
+
delete options.pairingConfig;
|
|
27
|
+
}
|
|
28
|
+
if (options.bundledPairingConfig != null) {
|
|
29
|
+
options.pairingConfigJson =
|
|
30
|
+
normalizePairingPayload(options.bundledPairingConfig) ?? undefined;
|
|
31
|
+
delete options.bundledPairingConfig;
|
|
32
|
+
}
|
|
33
|
+
delete options.domTools;
|
|
34
|
+
delete options.errorCapture;
|
|
35
|
+
delete options.lifecycle;
|
|
36
|
+
return options;
|
|
37
|
+
}
|
|
38
|
+
function normalizeToolResult(value) {
|
|
39
|
+
if (value && typeof value === "object" && "success" in value) {
|
|
40
|
+
return value;
|
|
41
|
+
}
|
|
42
|
+
return { success: true, result: value };
|
|
43
|
+
}
|
|
44
|
+
function errorToolResult(error) {
|
|
45
|
+
return {
|
|
46
|
+
success: false,
|
|
47
|
+
message: error instanceof Error ? error.message : String(error),
|
|
48
|
+
errorCode: "javascript_tool_failed",
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
async function ensureToolListener() {
|
|
52
|
+
toolListener ??= AnsightNative.addListener("ansightToolCall", (call) => {
|
|
53
|
+
const handler = toolHandlers.get(call.toolId);
|
|
54
|
+
void Promise.resolve(handler
|
|
55
|
+
? handler(call.arguments ?? {}, call)
|
|
56
|
+
: {
|
|
57
|
+
success: false,
|
|
58
|
+
message: `No JavaScript handler is registered for '${call.toolId}'.`,
|
|
59
|
+
errorCode: "javascript_tool_not_registered",
|
|
60
|
+
})
|
|
61
|
+
.then(normalizeToolResult)
|
|
62
|
+
.catch(errorToolResult)
|
|
63
|
+
.then((result) => AnsightNative.resolveToolCall({ requestId: call.requestId, result }))
|
|
64
|
+
.catch(() => undefined);
|
|
65
|
+
});
|
|
66
|
+
return toolListener;
|
|
67
|
+
}
|
|
68
|
+
async function ensureLogListener() {
|
|
69
|
+
logListener ??= AnsightNative.addListener("ansightLog", (entry) => {
|
|
70
|
+
for (const listener of logListeners)
|
|
71
|
+
listener(entry);
|
|
72
|
+
});
|
|
73
|
+
return logListener;
|
|
74
|
+
}
|
|
75
|
+
async function emitHostConnectionStatus() {
|
|
76
|
+
if (hostConnectionListeners.size === 0)
|
|
77
|
+
return;
|
|
78
|
+
const [status, capabilities] = await Promise.all([
|
|
79
|
+
AnsightNative.hostConnectionStatus(),
|
|
80
|
+
AnsightNative.hostConnectionCapabilities(),
|
|
81
|
+
]);
|
|
82
|
+
for (const listener of hostConnectionListeners)
|
|
83
|
+
listener(status, capabilities);
|
|
84
|
+
}
|
|
85
|
+
async function afterConnectionChange(operation) {
|
|
86
|
+
const result = await operation();
|
|
87
|
+
await emitHostConnectionStatus();
|
|
88
|
+
return result;
|
|
89
|
+
}
|
|
90
|
+
export async function initialize(options = {}) {
|
|
91
|
+
const result = await AnsightNative.initialize(normalizeOptions(options));
|
|
92
|
+
if (options.lifecycle !== false)
|
|
93
|
+
startLifecycleTracking();
|
|
94
|
+
if (options.errorCapture) {
|
|
95
|
+
installErrorHandlers(typeof options.errorCapture === "object" ? options.errorCapture : {});
|
|
96
|
+
}
|
|
97
|
+
if (options.domTools) {
|
|
98
|
+
installDomTools(typeof options.domTools === "object" ? options.domTools : {});
|
|
99
|
+
}
|
|
100
|
+
await emitHostConnectionStatus();
|
|
101
|
+
return result;
|
|
102
|
+
}
|
|
103
|
+
export async function initializeAndActivate(options = {}) {
|
|
104
|
+
const result = await AnsightNative.initializeAndActivate(normalizeOptions(options));
|
|
105
|
+
if (options.lifecycle !== false)
|
|
106
|
+
startLifecycleTracking();
|
|
107
|
+
if (options.errorCapture) {
|
|
108
|
+
installErrorHandlers(typeof options.errorCapture === "object" ? options.errorCapture : {});
|
|
109
|
+
}
|
|
110
|
+
if (options.domTools) {
|
|
111
|
+
installDomTools(typeof options.domTools === "object" ? options.domTools : {});
|
|
112
|
+
}
|
|
113
|
+
await emitHostConnectionStatus();
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
export const activate = () => afterConnectionChange(() => AnsightNative.activate());
|
|
117
|
+
export async function deactivate() {
|
|
118
|
+
stopLifecycleTracking();
|
|
119
|
+
return afterConnectionChange(() => AnsightNative.deactivate());
|
|
120
|
+
}
|
|
121
|
+
export const clear = () => afterConnectionChange(() => AnsightNative.clear());
|
|
122
|
+
export const registerMetricChannel = (channel) => AnsightNative.registerMetricChannel({ channel });
|
|
123
|
+
export const metric = (value, channel = 255) => AnsightNative.recordMetric({ value, channel });
|
|
124
|
+
export const recordMetric = metric;
|
|
125
|
+
export function event(input) {
|
|
126
|
+
return AnsightNative.recordEvent(typeof input === "string" ? { label: input } : input);
|
|
127
|
+
}
|
|
128
|
+
export const recordEvent = event;
|
|
129
|
+
export const screenViewed = (name, details = {}) => AnsightNative.screenViewed({ name, details });
|
|
130
|
+
export const trackRoute = screenViewed;
|
|
131
|
+
export const setAppLifecycleState = (state) => AnsightNative.setAppLifecycleState({ state });
|
|
132
|
+
export function connect(pairingPayload, options = {}) {
|
|
133
|
+
return afterConnectionChange(() => AnsightNative.connect({
|
|
134
|
+
...options,
|
|
135
|
+
pairingPayload: normalizePairingPayload(pairingPayload),
|
|
136
|
+
}));
|
|
137
|
+
}
|
|
138
|
+
export function scanPairingQrCode(options = {}) {
|
|
139
|
+
return afterConnectionChange(() => AnsightNative.scanPairingQrCode(options));
|
|
140
|
+
}
|
|
141
|
+
export function openSession(pairingPayload, options = {}) {
|
|
142
|
+
return afterConnectionChange(() => AnsightNative.openSession({
|
|
143
|
+
...options,
|
|
144
|
+
pairingPayload: normalizePairingPayload(pairingPayload) ?? "",
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
export const disconnect = () => afterConnectionChange(() => AnsightNative.disconnect());
|
|
148
|
+
export const completeSession = () => afterConnectionChange(() => AnsightNative.completeSession());
|
|
149
|
+
export const closeSession = () => afterConnectionChange(() => AnsightNative.closeSession());
|
|
150
|
+
export const savePairingConfig = (pairingPayload, options = {}) => afterConnectionChange(() => AnsightNative.savePairingConfig({
|
|
151
|
+
...options,
|
|
152
|
+
pairingPayload: normalizePairingPayload(pairingPayload) ?? "",
|
|
153
|
+
}));
|
|
154
|
+
export const clearSavedPairing = () => afterConnectionChange(() => AnsightNative.clearSavedPairing());
|
|
155
|
+
export const clearSavedPairingConfig = clearSavedPairing;
|
|
156
|
+
export const clearCachedSession = () => afterConnectionChange(() => AnsightNative.clearCachedSession());
|
|
157
|
+
export const notifyHostConnectionConfigChanged = () => afterConnectionChange(() => AnsightNative.notifyHostConnectionConfigChanged());
|
|
158
|
+
export const status = () => AnsightNative.status();
|
|
159
|
+
export const snapshot = () => AnsightNative.snapshot();
|
|
160
|
+
export const hostConnectionStatus = () => AnsightNative.hostConnectionStatus();
|
|
161
|
+
export const hostConnectionCapabilities = () => AnsightNative.hostConnectionCapabilities();
|
|
162
|
+
export const currentOptions = () => AnsightNative.currentOptions();
|
|
163
|
+
export async function recordedMetrics(limit = 0) {
|
|
164
|
+
return (await AnsightNative.recordedMetrics({ limit })).items;
|
|
165
|
+
}
|
|
166
|
+
export async function recordedEvents(limit = 0) {
|
|
167
|
+
return (await AnsightNative.recordedEvents({ limit })).items;
|
|
168
|
+
}
|
|
169
|
+
export const sendClientLog = (line) => AnsightNative.sendClientLog({ line });
|
|
170
|
+
export const captureBuiltInTelemetrySample = () => AnsightNative.captureBuiltInTelemetrySample();
|
|
171
|
+
export async function isFramesPerSecondEnabled() {
|
|
172
|
+
return (await AnsightNative.isFramesPerSecondEnabled()).value;
|
|
173
|
+
}
|
|
174
|
+
export const enableFramesPerSecond = () => AnsightNative.enableFramesPerSecond();
|
|
175
|
+
export const disableFramesPerSecond = () => AnsightNative.disableFramesPerSecond();
|
|
176
|
+
export const captureScreenFrame = (options = {}) => AnsightNative.captureScreenFrame(options);
|
|
177
|
+
export const enableTouchCapture = () => AnsightNative.enableTouchCapture();
|
|
178
|
+
export const disableTouchCapture = () => AnsightNative.disableTouchCapture();
|
|
179
|
+
export const updateSessionProperties = (properties) => AnsightNative.updateSessionProperties({ properties });
|
|
180
|
+
export const updateCustomProperties = updateSessionProperties;
|
|
181
|
+
export const clearSessionProperties = () => AnsightNative.clearSessionProperties();
|
|
182
|
+
export const clearCustomProperties = clearSessionProperties;
|
|
183
|
+
export const registerCustomProperty = (group, key, value) => AnsightNative.registerCustomProperty({ group, key, value });
|
|
184
|
+
export const removeCustomProperty = (group, key) => AnsightNative.removeCustomProperty({ group, key });
|
|
185
|
+
export function addHostConnectionStatusListener(listener, options = {}) {
|
|
186
|
+
hostConnectionListeners.add(listener);
|
|
187
|
+
if (options.emitCurrent !== false)
|
|
188
|
+
void emitHostConnectionStatus();
|
|
189
|
+
return {
|
|
190
|
+
remove: () => {
|
|
191
|
+
hostConnectionListeners.delete(listener);
|
|
192
|
+
},
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
export function addLogListener(listener) {
|
|
196
|
+
logListeners.add(listener);
|
|
197
|
+
void ensureLogListener();
|
|
198
|
+
return {
|
|
199
|
+
remove: () => {
|
|
200
|
+
logListeners.delete(listener);
|
|
201
|
+
},
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
export function registerTool(definition, handler) {
|
|
205
|
+
if (!definition?.id?.trim())
|
|
206
|
+
throw new TypeError("registerTool requires a stable string id.");
|
|
207
|
+
if (typeof handler !== "function")
|
|
208
|
+
throw new TypeError("registerTool requires a handler function.");
|
|
209
|
+
toolHandlers.set(definition.id, handler);
|
|
210
|
+
const ready = ensureToolListener()
|
|
211
|
+
.then(() => AnsightNative.registerCustomTool({ definition }))
|
|
212
|
+
.catch((error) => {
|
|
213
|
+
toolHandlers.delete(definition.id);
|
|
214
|
+
throw error;
|
|
215
|
+
});
|
|
216
|
+
return {
|
|
217
|
+
id: definition.id,
|
|
218
|
+
ready,
|
|
219
|
+
unregister: async () => {
|
|
220
|
+
toolHandlers.delete(definition.id);
|
|
221
|
+
return AnsightNative.unregisterCustomTool({ id: definition.id });
|
|
222
|
+
},
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
export function unregisterTool(id) {
|
|
226
|
+
toolHandlers.delete(id);
|
|
227
|
+
return AnsightNative.unregisterCustomTool({ id });
|
|
228
|
+
}
|
|
229
|
+
export const listRegisteredTools = () => [...toolHandlers.keys()];
|
|
230
|
+
export async function clearRegisteredTools() {
|
|
231
|
+
toolHandlers.clear();
|
|
232
|
+
artifactProviders.clear();
|
|
233
|
+
artifactToolRegistrations = [];
|
|
234
|
+
domToolRegistration = undefined;
|
|
235
|
+
return AnsightNative.clearRegisteredCustomTools();
|
|
236
|
+
}
|
|
237
|
+
function bytesToBase64(bytes) {
|
|
238
|
+
let binary = "";
|
|
239
|
+
for (let offset = 0; offset < bytes.length; offset += 0x8000) {
|
|
240
|
+
binary += String.fromCharCode(...bytes.subarray(offset, offset + 0x8000));
|
|
241
|
+
}
|
|
242
|
+
return btoa(binary);
|
|
243
|
+
}
|
|
244
|
+
function payloadBytes(payload) {
|
|
245
|
+
if (payload instanceof Uint8Array)
|
|
246
|
+
return payload;
|
|
247
|
+
if (payload instanceof ArrayBuffer)
|
|
248
|
+
return new Uint8Array(payload);
|
|
249
|
+
if (Array.isArray(payload))
|
|
250
|
+
return Uint8Array.from(payload);
|
|
251
|
+
if (typeof payload === "object" && payload) {
|
|
252
|
+
const candidate = payload.bytes ?? payload.data;
|
|
253
|
+
if (candidate instanceof Uint8Array)
|
|
254
|
+
return candidate;
|
|
255
|
+
if (candidate instanceof ArrayBuffer)
|
|
256
|
+
return new Uint8Array(candidate);
|
|
257
|
+
if (Array.isArray(candidate))
|
|
258
|
+
return Uint8Array.from(candidate);
|
|
259
|
+
}
|
|
260
|
+
return undefined;
|
|
261
|
+
}
|
|
262
|
+
function installArtifactTools() {
|
|
263
|
+
if (artifactToolRegistrations.length > 0)
|
|
264
|
+
return artifactToolRegistrations;
|
|
265
|
+
artifactToolRegistrations = [
|
|
266
|
+
registerTool({
|
|
267
|
+
id: "artifacts.query",
|
|
268
|
+
name: "Query JavaScript artifacts",
|
|
269
|
+
description: "Lists artifacts exposed by Capacitor JavaScript providers.",
|
|
270
|
+
category: "Artifacts",
|
|
271
|
+
scope: "read",
|
|
272
|
+
}, async (_args, context) => {
|
|
273
|
+
const definitions = [];
|
|
274
|
+
for (const provider of artifactProviders.values()) {
|
|
275
|
+
const query = provider.queryArtifacts ?? provider.query;
|
|
276
|
+
const artifacts = query
|
|
277
|
+
? await query({
|
|
278
|
+
toolRequestId: context.nativeRequestId ?? context.requestId,
|
|
279
|
+
sessionId: context.sessionId,
|
|
280
|
+
queriedAtUtc: new Date().toISOString(),
|
|
281
|
+
})
|
|
282
|
+
: [];
|
|
283
|
+
definitions.push(...artifacts.map((artifact) => ({
|
|
284
|
+
...artifact,
|
|
285
|
+
providerId: provider.descriptor.id,
|
|
286
|
+
})));
|
|
287
|
+
}
|
|
288
|
+
return {
|
|
289
|
+
success: true,
|
|
290
|
+
message: `Found ${definitions.length} artifact(s).`,
|
|
291
|
+
result: {
|
|
292
|
+
providers: [...artifactProviders.values()].map(({ descriptor }) => descriptor),
|
|
293
|
+
artifacts: definitions,
|
|
294
|
+
},
|
|
295
|
+
};
|
|
296
|
+
}),
|
|
297
|
+
registerTool({
|
|
298
|
+
id: "artifacts.request",
|
|
299
|
+
name: "Request JavaScript artifact",
|
|
300
|
+
description: "Creates an artifact through a Capacitor JavaScript provider.",
|
|
301
|
+
category: "Artifacts",
|
|
302
|
+
scope: "read",
|
|
303
|
+
argumentsSchema: {
|
|
304
|
+
type: "object",
|
|
305
|
+
required: ["providerId", "artifactId"],
|
|
306
|
+
properties: {
|
|
307
|
+
providerId: { type: "string" },
|
|
308
|
+
artifactId: { type: "string" },
|
|
309
|
+
},
|
|
310
|
+
},
|
|
311
|
+
}, async (args, context) => {
|
|
312
|
+
const provider = artifactProviders.get(args.providerId);
|
|
313
|
+
const create = provider && (provider.createArtifact ?? provider.create);
|
|
314
|
+
if (!provider || !create) {
|
|
315
|
+
return {
|
|
316
|
+
success: false,
|
|
317
|
+
message: `Artifact provider '${args.providerId}' is unavailable.`,
|
|
318
|
+
errorCode: "artifact_provider_not_found",
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
const result = await create({
|
|
322
|
+
providerId: args.providerId,
|
|
323
|
+
artifactId: args.artifactId,
|
|
324
|
+
arguments: args,
|
|
325
|
+
context: {
|
|
326
|
+
toolRequestId: context.nativeRequestId ?? context.requestId,
|
|
327
|
+
sessionId: context.sessionId,
|
|
328
|
+
requestedAtUtc: new Date().toISOString(),
|
|
329
|
+
},
|
|
330
|
+
});
|
|
331
|
+
const bytes = payloadBytes(result.payload);
|
|
332
|
+
if (bytes) {
|
|
333
|
+
const transfer = await AnsightNative.queueBinaryTransfer({
|
|
334
|
+
requestId: context.nativeRequestId ?? context.requestId,
|
|
335
|
+
base64Data: bytesToBase64(bytes),
|
|
336
|
+
chunkBytes: 64 * 1024,
|
|
337
|
+
});
|
|
338
|
+
return {
|
|
339
|
+
success: transfer.success,
|
|
340
|
+
message: transfer.message,
|
|
341
|
+
result: { metadata: result.metadata, transfer },
|
|
342
|
+
...(!transfer.success && {
|
|
343
|
+
errorCode: "artifact_transfer_unavailable",
|
|
344
|
+
}),
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
const payload = typeof result.payload === "object" &&
|
|
348
|
+
result.payload &&
|
|
349
|
+
"text" in result.payload
|
|
350
|
+
? result.payload.text
|
|
351
|
+
: result.payload;
|
|
352
|
+
return {
|
|
353
|
+
success: true,
|
|
354
|
+
message: `Artifact '${args.artifactId}' created.`,
|
|
355
|
+
result: { metadata: result.metadata, payload },
|
|
356
|
+
};
|
|
357
|
+
}),
|
|
358
|
+
];
|
|
359
|
+
return artifactToolRegistrations;
|
|
360
|
+
}
|
|
361
|
+
export function registerArtifactProvider(provider) {
|
|
362
|
+
const id = provider?.descriptor?.id?.trim();
|
|
363
|
+
if (!id)
|
|
364
|
+
throw new TypeError("registerArtifactProvider requires descriptor.id.");
|
|
365
|
+
artifactProviders.set(id, provider);
|
|
366
|
+
const registrations = installArtifactTools();
|
|
367
|
+
return {
|
|
368
|
+
id,
|
|
369
|
+
ready: Promise.all(registrations.map(({ ready }) => ready)).then(() => ({
|
|
370
|
+
success: true,
|
|
371
|
+
message: `Artifact provider '${id}' registered.`,
|
|
372
|
+
})),
|
|
373
|
+
unregister: () => unregisterArtifactProvider(id),
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
export const registerArtifactProviders = (providers) => providers.map(registerArtifactProvider);
|
|
377
|
+
export async function unregisterArtifactProvider(id) {
|
|
378
|
+
artifactProviders.delete(id);
|
|
379
|
+
if (artifactProviders.size === 0) {
|
|
380
|
+
const registrations = artifactToolRegistrations;
|
|
381
|
+
artifactToolRegistrations = [];
|
|
382
|
+
await Promise.all(registrations.map(({ unregister }) => unregister()));
|
|
383
|
+
}
|
|
384
|
+
return { success: true, message: `Artifact provider '${id}' unregistered.` };
|
|
385
|
+
}
|
|
386
|
+
export const listRegisteredArtifactProviders = () => [...artifactProviders.values()].map(({ descriptor }) => descriptor);
|
|
387
|
+
export async function clearArtifactProviders() {
|
|
388
|
+
artifactProviders.clear();
|
|
389
|
+
const registrations = artifactToolRegistrations;
|
|
390
|
+
artifactToolRegistrations = [];
|
|
391
|
+
await Promise.all(registrations.map(({ unregister }) => unregister()));
|
|
392
|
+
return { success: true, message: "JavaScript artifact providers cleared." };
|
|
393
|
+
}
|
|
394
|
+
export function installDomTools(options = {}) {
|
|
395
|
+
domToolRegistration ??= installDomToolsCore(registerTool, options);
|
|
396
|
+
return domToolRegistration;
|
|
397
|
+
}
|
|
398
|
+
export async function uninstallDomTools() {
|
|
399
|
+
const registration = domToolRegistration;
|
|
400
|
+
domToolRegistration = undefined;
|
|
401
|
+
return registration ? registration.unregister() : [];
|
|
402
|
+
}
|
|
403
|
+
export function startLifecycleTracking() {
|
|
404
|
+
if (lifecycleCleanup || typeof document === "undefined")
|
|
405
|
+
return;
|
|
406
|
+
const update = () => void setAppLifecycleState(document.visibilityState === "visible" ? "foreground" : "background");
|
|
407
|
+
document.addEventListener("visibilitychange", update);
|
|
408
|
+
window.addEventListener("pageshow", update);
|
|
409
|
+
window.addEventListener("pagehide", update);
|
|
410
|
+
lifecycleCleanup = () => {
|
|
411
|
+
document.removeEventListener("visibilitychange", update);
|
|
412
|
+
window.removeEventListener("pageshow", update);
|
|
413
|
+
window.removeEventListener("pagehide", update);
|
|
414
|
+
};
|
|
415
|
+
update();
|
|
416
|
+
}
|
|
417
|
+
export function stopLifecycleTracking() {
|
|
418
|
+
lifecycleCleanup?.();
|
|
419
|
+
lifecycleCleanup = undefined;
|
|
420
|
+
}
|
|
421
|
+
export const startAppStateTracking = startLifecycleTracking;
|
|
422
|
+
export const stopAppStateTracking = stopLifecycleTracking;
|
|
423
|
+
export function installErrorHandlers(options = {}) {
|
|
424
|
+
const captureErrors = options.errors ?? true;
|
|
425
|
+
const captureRejections = options.unhandledRejections ?? true;
|
|
426
|
+
const captureConsole = options.consoleErrors ?? false;
|
|
427
|
+
const onError = (eventValue) => {
|
|
428
|
+
if (!captureErrors)
|
|
429
|
+
return;
|
|
430
|
+
void event({
|
|
431
|
+
label: eventValue.message || "Unhandled JavaScript error",
|
|
432
|
+
type: "Exception",
|
|
433
|
+
details: JSON.stringify({
|
|
434
|
+
filename: eventValue.filename,
|
|
435
|
+
line: eventValue.lineno,
|
|
436
|
+
column: eventValue.colno,
|
|
437
|
+
stack: eventValue.error instanceof Error
|
|
438
|
+
? eventValue.error.stack
|
|
439
|
+
: undefined,
|
|
440
|
+
}),
|
|
441
|
+
}).catch(() => undefined);
|
|
442
|
+
};
|
|
443
|
+
const onRejection = (eventValue) => {
|
|
444
|
+
if (!captureRejections)
|
|
445
|
+
return;
|
|
446
|
+
const reason = eventValue.reason;
|
|
447
|
+
void event({
|
|
448
|
+
label: reason instanceof Error
|
|
449
|
+
? reason.message
|
|
450
|
+
: "Unhandled JavaScript rejection",
|
|
451
|
+
type: "Exception",
|
|
452
|
+
details: JSON.stringify({
|
|
453
|
+
reason: reason instanceof Error ? reason.stack : String(reason),
|
|
454
|
+
}),
|
|
455
|
+
}).catch(() => undefined);
|
|
456
|
+
};
|
|
457
|
+
window.addEventListener("error", onError);
|
|
458
|
+
window.addEventListener("unhandledrejection", onRejection);
|
|
459
|
+
const originalConsoleError = console.error;
|
|
460
|
+
if (captureConsole) {
|
|
461
|
+
console.error = (...args) => {
|
|
462
|
+
originalConsoleError(...args);
|
|
463
|
+
void event({
|
|
464
|
+
label: "console.error",
|
|
465
|
+
type: "Exception",
|
|
466
|
+
details: args.map(String).join(" "),
|
|
467
|
+
}).catch(() => undefined);
|
|
468
|
+
};
|
|
469
|
+
}
|
|
470
|
+
return () => {
|
|
471
|
+
window.removeEventListener("error", onError);
|
|
472
|
+
window.removeEventListener("unhandledrejection", onRejection);
|
|
473
|
+
if (captureConsole)
|
|
474
|
+
console.error = originalConsoleError;
|
|
475
|
+
};
|
|
476
|
+
}
|
|
477
|
+
export function createRouteTracker(options = {}) {
|
|
478
|
+
const resolveName = options.resolveName ?? ((url) => url.pathname + url.search + url.hash);
|
|
479
|
+
const record = () => void screenViewed(resolveName(new URL(location.href)), options.details);
|
|
480
|
+
const originalPushState = history.pushState.bind(history);
|
|
481
|
+
const originalReplaceState = history.replaceState.bind(history);
|
|
482
|
+
const onPopState = () => record();
|
|
483
|
+
window.addEventListener("popstate", onPopState);
|
|
484
|
+
window.addEventListener("hashchange", onPopState);
|
|
485
|
+
if (options.observeHistory !== false) {
|
|
486
|
+
history.pushState = (...args) => {
|
|
487
|
+
originalPushState(...args);
|
|
488
|
+
record();
|
|
489
|
+
};
|
|
490
|
+
history.replaceState = (...args) => {
|
|
491
|
+
originalReplaceState(...args);
|
|
492
|
+
record();
|
|
493
|
+
};
|
|
494
|
+
}
|
|
495
|
+
record();
|
|
496
|
+
return {
|
|
497
|
+
remove: () => {
|
|
498
|
+
window.removeEventListener("popstate", onPopState);
|
|
499
|
+
window.removeEventListener("hashchange", onPopState);
|
|
500
|
+
history.pushState = originalPushState;
|
|
501
|
+
history.replaceState = originalReplaceState;
|
|
502
|
+
},
|
|
503
|
+
};
|
|
504
|
+
}
|
|
505
|
+
const Ansight = {
|
|
506
|
+
initialize,
|
|
507
|
+
initializeAndActivate,
|
|
508
|
+
activate,
|
|
509
|
+
deactivate,
|
|
510
|
+
clear,
|
|
511
|
+
registerMetricChannel,
|
|
512
|
+
metric,
|
|
513
|
+
recordMetric,
|
|
514
|
+
event,
|
|
515
|
+
recordEvent,
|
|
516
|
+
screenViewed,
|
|
517
|
+
trackRoute,
|
|
518
|
+
setAppLifecycleState,
|
|
519
|
+
connect,
|
|
520
|
+
scanPairingQrCode,
|
|
521
|
+
openSession,
|
|
522
|
+
disconnect,
|
|
523
|
+
completeSession,
|
|
524
|
+
closeSession,
|
|
525
|
+
savePairingConfig,
|
|
526
|
+
clearSavedPairing,
|
|
527
|
+
clearSavedPairingConfig,
|
|
528
|
+
clearCachedSession,
|
|
529
|
+
notifyHostConnectionConfigChanged,
|
|
530
|
+
status,
|
|
531
|
+
snapshot,
|
|
532
|
+
hostConnectionStatus,
|
|
533
|
+
hostConnectionCapabilities,
|
|
534
|
+
addHostConnectionStatusListener,
|
|
535
|
+
currentOptions,
|
|
536
|
+
recordedMetrics,
|
|
537
|
+
recordedEvents,
|
|
538
|
+
sendClientLog,
|
|
539
|
+
addLogListener,
|
|
540
|
+
captureBuiltInTelemetrySample,
|
|
541
|
+
isFramesPerSecondEnabled,
|
|
542
|
+
enableFramesPerSecond,
|
|
543
|
+
disableFramesPerSecond,
|
|
544
|
+
captureScreenFrame,
|
|
545
|
+
enableTouchCapture,
|
|
546
|
+
disableTouchCapture,
|
|
547
|
+
updateSessionProperties,
|
|
548
|
+
updateCustomProperties,
|
|
549
|
+
clearSessionProperties,
|
|
550
|
+
registerCustomProperty,
|
|
551
|
+
removeCustomProperty,
|
|
552
|
+
clearCustomProperties,
|
|
553
|
+
registerTool,
|
|
554
|
+
unregisterTool,
|
|
555
|
+
listRegisteredTools,
|
|
556
|
+
clearRegisteredTools,
|
|
557
|
+
registerArtifactProvider,
|
|
558
|
+
registerArtifactProviders,
|
|
559
|
+
unregisterArtifactProvider,
|
|
560
|
+
listRegisteredArtifactProviders,
|
|
561
|
+
clearArtifactProviders,
|
|
562
|
+
installDomTools,
|
|
563
|
+
uninstallDomTools,
|
|
564
|
+
installErrorHandlers,
|
|
565
|
+
createRouteTracker,
|
|
566
|
+
startLifecycleTracking,
|
|
567
|
+
stopLifecycleTracking,
|
|
568
|
+
startAppStateTracking,
|
|
569
|
+
stopAppStateTracking,
|
|
570
|
+
createOptionsBuilder,
|
|
571
|
+
AnsightOptionsBuilder,
|
|
572
|
+
native: AnsightNative,
|
|
573
|
+
platform: Capacitor.getPlatform(),
|
|
574
|
+
};
|
|
575
|
+
export default Ansight;
|
|
576
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { AnsightChannel, AnsightDomToolsOptions, AnsightErrorCaptureOptions, AnsightOptions, AnsightOptionsBuilderApi, AnsightRemoteToolsOptions, AnsightSessionJpegCaptureOptions, AnsightTouchCaptureOptions } from "./definitions";
|
|
2
|
+
export declare class AnsightOptionsBuilder implements AnsightOptionsBuilderApi {
|
|
3
|
+
private options;
|
|
4
|
+
constructor(options?: AnsightOptions);
|
|
5
|
+
withAnsightDefaults(): this;
|
|
6
|
+
withNativeAllInOneDefaults(): this;
|
|
7
|
+
withAnsightSdk(configure?: (builder: this) => void): this;
|
|
8
|
+
withSampleFrequencyMilliseconds(value: number): this;
|
|
9
|
+
withFramesPerSecond(): this;
|
|
10
|
+
withoutFramesPerSecond(): this;
|
|
11
|
+
withBatteryLevel(): this;
|
|
12
|
+
withoutBatteryLevel(): this;
|
|
13
|
+
withRetentionPeriodSeconds(value: number): this;
|
|
14
|
+
withAdditionalChannels(channels: AnsightChannel[]): this;
|
|
15
|
+
addAdditionalChannel(channel: AnsightChannel): this;
|
|
16
|
+
withDefaultMemoryChannels(channels: NonNullable<AnsightOptions["defaultMemoryChannels"]>): this;
|
|
17
|
+
withoutDefaultMemoryChannels(channels: NonNullable<AnsightOptions["defaultMemoryChannels"]>): this;
|
|
18
|
+
withSessionJpegCapture(options?: AnsightSessionJpegCaptureOptions): this;
|
|
19
|
+
withSessionJpegCapture(intervalMilliseconds: number, quality?: number, maxWidth?: number | null, captureGpuBackedSurfaces?: boolean): this;
|
|
20
|
+
withoutSessionJpegCapture(): this;
|
|
21
|
+
withTouchCapture(options?: AnsightTouchCaptureOptions): this;
|
|
22
|
+
withoutTouchCapture(): this;
|
|
23
|
+
withLifecycleCapture(options?: NonNullable<AnsightOptions["lifecycleCapture"]>): this;
|
|
24
|
+
withToolGuard(toolGuard: NonNullable<AnsightOptions["toolGuard"]>): this;
|
|
25
|
+
withToolsDisabled(): this;
|
|
26
|
+
withReadOnlyToolAccess(): this;
|
|
27
|
+
withReadWriteToolAccess(): this;
|
|
28
|
+
withAllToolAccess(): this;
|
|
29
|
+
withHostAutoProbe(options?: NonNullable<AnsightOptions["hostAutoProbe"]>): this;
|
|
30
|
+
withoutHostAutoProbe(): this;
|
|
31
|
+
withHostConnection(options?: NonNullable<AnsightOptions["hostConnection"]>): this;
|
|
32
|
+
configureHostConnection(configure: (options: NonNullable<AnsightOptions["hostConnection"]>) => NonNullable<AnsightOptions["hostConnection"]> | void): this;
|
|
33
|
+
withBundledHostConnection(options?: {
|
|
34
|
+
bundledDeveloperConfigJson?: string;
|
|
35
|
+
bundledConfigJson?: string;
|
|
36
|
+
}): this;
|
|
37
|
+
withHostConnectionDiscoveryPort(discoveryPort: number): this;
|
|
38
|
+
withHostConnectionProfileRetentionSeconds(connectionProfileRetentionSeconds: number): this;
|
|
39
|
+
withSecureStorage(options?: NonNullable<AnsightOptions["secureStorage"]>): this;
|
|
40
|
+
withRemoteTools(options?: AnsightRemoteToolsOptions): this;
|
|
41
|
+
withVisualTreeTools(options?: boolean | {
|
|
42
|
+
enabled?: boolean;
|
|
43
|
+
}): this;
|
|
44
|
+
withoutVisualTreeTools(): this;
|
|
45
|
+
withFileSystemTools(options?: NonNullable<AnsightRemoteToolsOptions["fileSystem"]>): this;
|
|
46
|
+
withDatabaseTools(options?: NonNullable<AnsightRemoteToolsOptions["database"]>): this;
|
|
47
|
+
withPreferencesTools(options?: NonNullable<AnsightRemoteToolsOptions["preferences"]>): this;
|
|
48
|
+
withReflectionTools(options?: NonNullable<AnsightRemoteToolsOptions["reflection"]>): this;
|
|
49
|
+
withDomTools(options?: AnsightDomToolsOptions): this;
|
|
50
|
+
withErrorCapture(options?: AnsightErrorCaptureOptions): this;
|
|
51
|
+
registerCustomProperty(group: string, key: string, value: unknown): this;
|
|
52
|
+
removeCustomProperty(group: string, key: string): this;
|
|
53
|
+
clearCustomProperties(): this;
|
|
54
|
+
build(): AnsightOptions;
|
|
55
|
+
}
|
|
56
|
+
export declare function createOptionsBuilder(options?: AnsightOptions): AnsightOptionsBuilder;
|
|
57
|
+
//# sourceMappingURL=options.d.ts.map
|