@sailfish-ai/sf-veritas 0.1.21 → 0.1.23
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/sf-veritas.cjs +30 -9
- package/dist/sf-veritas.mjs +1139 -342
- package/dist/types/constants.d.ts +33 -0
- package/dist/types/debuggerWorker.d.ts +9 -1
- package/dist/types/generated/worker-data.d.ts +1 -1
- package/dist/types/networkHopTransmitter.d.ts +67 -0
- package/dist/types/types.d.ts +4 -1
- package/package.json +7 -6
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error message used when there is a failure in retrieving request source code.
|
|
3
|
+
*/
|
|
4
|
+
export declare const REQUEST_SOURCE_CODE_ERROR = "getting request source code";
|
|
5
|
+
/**
|
|
6
|
+
* Common constant values used across the application.
|
|
7
|
+
*/
|
|
8
|
+
export declare enum Constants {
|
|
9
|
+
/**
|
|
10
|
+
* Represents an unknown value or state.
|
|
11
|
+
*/
|
|
12
|
+
UNKNOWN = "unknown",
|
|
13
|
+
/**
|
|
14
|
+
* Represents an anonymous user or entity.
|
|
15
|
+
*/
|
|
16
|
+
ANONYMOUS = "anonymous",
|
|
17
|
+
/**
|
|
18
|
+
* Represents data that was not captured or is unavailable.
|
|
19
|
+
*/
|
|
20
|
+
NOT_CAPTURED = "not captured"
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The default number of stack frames to capture, typically for logging or error reporting.
|
|
24
|
+
*/
|
|
25
|
+
export declare const COUNT_OF_FRAMES_TO_BE_CAPTURED = 10;
|
|
26
|
+
/**
|
|
27
|
+
* Default protocol used when a secure connection is not required.
|
|
28
|
+
*/
|
|
29
|
+
export declare const DEFAULT_PROTOCOL = "http:";
|
|
30
|
+
/**
|
|
31
|
+
* Default protocol used when a secure (HTTPS) connection is required.
|
|
32
|
+
*/
|
|
33
|
+
export declare const DEFAULT_SECURE_PROTOCOL = "https:";
|
|
@@ -1 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Processes call frames from an exception and posts them via the Worker’s parentPort.
|
|
3
|
+
*
|
|
4
|
+
* @param session - The DevTools session or similar object you use to query for script sources.
|
|
5
|
+
* @param callFrames - An array of call frame objects.
|
|
6
|
+
* @param descriptionLines - An array of lines from the error’s description, each typically beginning with "at ".
|
|
7
|
+
* @returns {Promise<void>}
|
|
8
|
+
*/
|
|
9
|
+
export declare function processCallFrames(session: any, callFrames: any, descriptionLines: any): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const fileContentsEncoded = "aW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gImluc3BlY3Rvci9wcm9taXNlcyI7CmltcG9ydCB7IHBhcmVudFBvcnQsIHdvcmtlckRhdGEgfSBmcm9tICJ3b3JrZXJfdGhyZWFkcyI7CgpnbG9iYWwuc2ZEZWJ1ZyA9IHVuZGVmaW5lZDsKZ2xvYmFsLnN0YWNrRGVwdGhMb2NhbHMgPSB1bmRlZmluZWQ7Cmdsb2JhbC5lcnJvcklkID0gdW5kZWZpbmVkOwpnbG9iYWwubm9kZU1vZHVsZXNUb0NvbGxlY3RMb2NhbFZhcmlhYmxlc09uID0gdW5kZWZpbmVkOwoKLyoqCiAqIEhhbmRsZXMgdGhlICJwYXVzZWQiIHN0YXRlIG9mIHRoZSBkZWJ1Z2dlciBhbmQgcHJvY2Vzc2VzIGV4Y2VwdGlvbnMgb3IgcHJvbWlzZSByZWplY3Rpb25zLgogKiBAcGFyYW0ge1Nlc3Npb259IHNlc3Npb24gLSBUaGUgZGVidWdnaW5nIHNlc3Npb24gaW5zdGFuY2UuCiAqIEBwYXJhbSB7b2JqZWN0fSBwYXJhbXMgLSBQYXJhbWV0ZXJzIGZyb20gdGhlICJwYXVzZWQiIGV2ZW50LgogKi8KYXN5bmMgZnVuY3Rpb24gaGFuZGxlUGF1c2VkKHNlc3Npb24sIHBhcmFtcykgewogIGNvbnN0IHsgcmVhc29uLCBkYXRhLCBjYWxsRnJhbWVzIH0gPSBwYXJhbXM7CgogIGlmIChyZWFzb24gIT09ICJleGNlcHRpb24iICYmIHJlYXNvbiAhPT0gInByb21pc2VSZWplY3Rpb24iKSB7CiAgICBhd2FpdCBzZXNzaW9uLnBvc3QoIkRlYnVnZ2VyLnJlc3VtZSIpOwogICAgcmV0dXJuOwogIH0KCiAgY29uc3QgZXJyb3JJZCA9IGdsb2JhbD8uZXJyb3JJZDsKCiAgY29uc3QgbGltaXRlZENhbGxGcmFtZXMgPSBjYWxsRnJhbWVzOwoKICBjb25zdCBmcmFtZXMgPSBhd2FpdCBQcm9taXNlLmFsbCgKICAgIGxpbWl0ZWRDYWxsRnJhbWVzLm1hcChhc3luYyAoZnJhbWUpID0+IHsKICAgICAgdHJ5IHsKICAgICAgICBjb25zdCB7IGZ1bmN0aW9uTmFtZSwgbG9jYXRpb24sIHVybCwgc2NvcGVDaGFpbiB9ID0gZnJhbWU7CiAgICAgICAgY29uc3QgbG9jYWxTY29wZSA9IHNjb3BlQ2hhaW4uZmluZCgoc2NvcGUpID0+IHNjb3BlLnR5cGUgPT09ICJsb2NhbCIpOwoKICAgICAgICBsZXQgY29kZSA9ICI8bm90IGNhcHR1cmVkPiI7CiAgICAgICAgbGV0IGZpbGUgPSB1cmwgfHwgIjx1bmtub3duPiI7CiAgICAgICAgaWYgKGxvY2F0aW9uICYmIGxvY2F0aW9uLnNjcmlwdElkKSB7CiAgICAgICAgICBjb25zdCBzY3JpcHRJZCA9IGxvY2F0aW9uLnNjcmlwdElkOwogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgY29uc3QgeyBzY3JpcHRTb3VyY2UgfSA9IGF3YWl0IHNlc3Npb24ucG9zdCgKICAgICAgICAgICAgICAiRGVidWdnZXIuZ2V0U2NyaXB0U291cmNlIiwKICAgICAgICAgICAgICB7IHNjcmlwdElkIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGNvbnN0IHNvdXJjZUxpbmVzID0gc2NyaXB0U291cmNlLnNwbGl0KCJcbiIpOwogICAgICAgICAgICBjb2RlID0gc291cmNlTGluZXNbbG9jYXRpb24ubGluZU51bWJlcl0gfHwgIjxub3QgY2FwdHVyZWQ+IjsKICAgICAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJbV29ya2VyXSBGYWlsZWQgdG8gZmV0Y2ggc2NyaXB0IHNvdXJjZToiLCBlcnIpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBjb25zdCBsb2NhbHMgPSBsb2NhbFNjb3BlPy5vYmplY3Q/Lm9iamVjdElkCiAgICAgICAgICA/IGF3YWl0IGZldGNoTG9jYWxWYXJpYWJsZXMoc2Vzc2lvbiwgbG9jYWxTY29wZS5vYmplY3Qub2JqZWN0SWQpCiAgICAgICAgICA6IHt9OwoKICAgICAgICByZXR1cm4gewogICAgICAgICAgZnVuY3Rpb246IGZ1bmN0aW9uTmFtZSB8fCAiPGFub255bW91cz4iLAogICAgICAgICAgbG9jYWxzLAogICAgICAgICAgZmlsZSwKICAgICAgICAgIGxpbmU6IGxvY2F0aW9uPy5saW5lTnVtYmVyIHx8IDAsCiAgICAgICAgICBjb2RlLAogICAgICAgIH07CiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7CiAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICBjb25zb2xlLmVycm9yKCJbV29ya2VyXSBFcnJvciBwcm9jZXNzaW5nIGNhbGwgZnJhbWU6IiwgZXJyb3IpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gewogICAgICAgICAgZnVuY3Rpb246ICI8ZXJyb3I+IiwKICAgICAgICAgIGxvY2Fsczoge30sCiAgICAgICAgICBmaWxlOiAiPHVua25vd24+IiwKICAgICAgICAgIGxpbmU6IDAsCiAgICAgICAgICBjb2RlOiAiPG5vdCBjYXB0dXJlZD4iLAogICAgICAgIH07CiAgICAgIH0KICAgIH0pLAogICk7CgogIC8vIFBvc3QgZXhjZXB0aW9uIGRhdGEgYWxvbmcgd2l0aCB0aGUgZXJyb3JJZAogIHBhcmVudFBvcnQ/LnBvc3RNZXNzYWdlKHsgdHlwZTogImV4Y2VwdGlvbiIsIGVycm9ySWQsIGZyYW1lcyB9KTsKfQoKLyoqCiAqIEluaXRpYWxpemVzIHRoZSBkZWJ1Z2dlciBhbmQgc2V0cyB1cCBldmVudCBsaXN0ZW5lcnMgZm9yIGV4Y2VwdGlvbnMgYW5kIHByb21pc2UgcmVqZWN0aW9ucy4KICovCmFzeW5jIGZ1bmN0aW9uIHN0YXJ0RGVidWdnZXIoKSB7CiAgcGFyZW50UG9ydD8ucG9zdE1lc3NhZ2UoeyB0eXBlOiAibWVzc2FnZSIsIHJlYWR5VG9HZXRQYXJhbWV0ZXJzOiB0cnVlIH0pOwoKICBsZXQgcmVzb2x2ZU1lc3NhZ2VQcm9taXNlOwogIGNvbnN0IG1lc3NhZ2VQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKICAgIHJlc29sdmVNZXNzYWdlUHJvbWlzZSA9IHJlc29sdmU7CiAgfSk7CiAgbGV0IGlzUGF1c2VkID0gZmFsc2U7CgogIHBhcmVudFBvcnQ/Lm9uKCJtZXNzYWdlIiwgKG1lc3NhZ2UpID0+IHsKICAgIHRyeSB7CiAgICAgIGlmIChtZXNzYWdlPy50eXBlID09PSAicHJvY2Vzc0V4Y2VwdGlvbiIpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGlmICgKICAgICAgICBtZXNzYWdlPy5zZkRlYnVnICE9PSB1bmRlZmluZWQgJiYKICAgICAgICBtZXNzYWdlPy5zdGFja0RlcHRoTG9jYWxzICE9PSB1bmRlZmluZWQKICAgICAgKSB7CiAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygiVXBkYXRpbmcgZ2xvYmFsIGRlYnVnIHZhcmlhYmxlcy4uLiIpOwogICAgICAgIH0KCiAgICAgICAgZ2xvYmFsLnNmRGVidWcgPSBtZXNzYWdlLnNmRGVidWc7CiAgICAgICAgZ2xvYmFsLnN0YWNrRGVwdGhMb2NhbHMgPSBtZXNzYWdlLnN0YWNrRGVwdGhMb2NhbHM7CiAgICAgICAgZ2xvYmFsLm5vZGVNb2R1bGVzVG9Db2xsZWN0TG9jYWxWYXJpYWJsZXNPbiA9CiAgICAgICAgICBtZXNzYWdlLm5vZGVNb2R1bGVzVG9Db2xsZWN0TG9jYWxWYXJpYWJsZXNPbjsKCiAgICAgICAgcmVzb2x2ZU1lc3NhZ2VQcm9taXNlKCk7CiAgICAgIH0KICAgIH0gY2F0Y2ggKGVycm9yKSB7CiAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgIGNvbnNvbGUuZXJyb3IoIuKdjCBFcnJvciBpbiBtZXNzYWdlIGhhbmRsaW5nOiIsIGVycm9yKTsKICAgICAgfQogICAgfQogIH0pOwoKICBhd2FpdCBtZXNzYWdlUHJvbWlzZTsKCiAgdHJ5IHsKICAgIGNvbnN0IHNlc3Npb24gPSBuZXcgU2Vzc2lvbigpOwogICAgc2Vzc2lvbi5jb25uZWN0VG9NYWluVGhyZWFkKCk7CgogICAgc2Vzc2lvbi5vbigiRGVidWdnZXIucmVzdW1lZCIsICgpID0+IHsKICAgICAgaXNQYXVzZWQgPSBmYWxzZTsKICAgIH0pOwoKICAgIHNlc3Npb24ub24oIkRlYnVnZ2VyLnBhdXNlZCIsIGFzeW5jIChldmVudCkgPT4gewogICAgICBpc1BhdXNlZCA9IHRydWU7CiAgICAgIGhhbmRsZVBhdXNlZChzZXNzaW9uLCBldmVudC5wYXJhbXMpLnRoZW4oCiAgICAgICAgYXN5bmMgKCkgPT4gewogICAgICAgICAgLy8gQWZ0ZXIgdGhlIHBhdXNlIHdvcmsgaXMgY29tcGxldGUsIHJlc3VtZSBleGVjdXRpb24hCiAgICAgICAgICBpZiAoaXNQYXVzZWQpIHsKICAgICAgICAgICAgYXdhaXQgc2Vzc2lvbi5wb3N0KCJEZWJ1Z2dlci5yZXN1bWUiKTsKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGFzeW5jIChfKSA9PiB7CiAgICAgICAgICBpZiAoaXNQYXVzZWQpIHsKICAgICAgICAgICAgYXdhaXQgc2Vzc2lvbi5wb3N0KCJEZWJ1Z2dlci5yZXN1bWUiKTsKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICApOwogICAgfSk7CgogICAgYXdhaXQgc2Vzc2lvbi5wb3N0KCJEZWJ1Z2dlci5lbmFibGUiKTsKCiAgICBjb25zdCBjYXB0dXJlQWxsID0gd29ya2VyRGF0YS5jYXB0dXJlQWxsRXhjZXB0aW9ucyAhPT0gZmFsc2U7CiAgICBhd2FpdCBzZXNzaW9uLnBvc3QoIkRlYnVnZ2VyLnNldFBhdXNlT25FeGNlcHRpb25zIiwgewogICAgICBzdGF0ZTogY2FwdHVyZUFsbCA/ICJhbGwiIDogInVuY2F1Z2h0IiwKICAgIH0pOwogIH0gY2F0Y2ggKGVycm9yKSB7CiAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgY29uc29sZS5lcnJvcigiW1dvcmtlcl0gZXJyb3IgIiwgZXJyb3IpOwogICAgfQogIH0KCiAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICBjb25zb2xlLmxvZygiW1dvcmtlcl0gRGVidWdnZXIgc3RhcnRlZCBzdWNjZXNzZnVsbHkuIik7CiAgfQp9Cgphc3luYyBmdW5jdGlvbiB1bnJvbGxPYmplY3Qoc2Vzc2lvbiwgb2JqZWN0SWQsIG5hbWUsIHZhcnMpIHsKICBjb25zdCBwcm9wZXJ0aWVzID0gYXdhaXQgc2Vzc2lvbi5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLCB7CiAgICBvYmplY3RJZCwKICAgIG93blByb3BlcnRpZXM6IHRydWUsCiAgfSk7CgogIHZhcnNbbmFtZV0gPSBwcm9wZXJ0aWVzLnJlc3VsdAogICAgLm1hcCgodikgPT4gW3YubmFtZSwgdi52YWx1ZT8udmFsdWVdKQogICAgLnJlZHVjZSgob2JqLCBba2V5LCB2YWxdKSA9PiB7CiAgICAgIG9ialtrZXldID0gdmFsOwogICAgICByZXR1cm4gb2JqOwogICAgfSwge30pOwp9Cgphc3luYyBmdW5jdGlvbiB1bnJvbGxBcnJheShzZXNzaW9uLCBvYmplY3RJZCwgbmFtZSwgdmFycykgewogIGNvbnN0IHByb3BlcnRpZXMgPSBhd2FpdCBzZXNzaW9uLnBvc3QoIlJ1bnRpbWUuZ2V0UHJvcGVydGllcyIsIHsKICAgIG9iamVjdElkOiBvYmplY3RJZCwKICAgIG93blByb3BlcnRpZXM6IHRydWUsCiAgfSk7CiAgdmFyc1tuYW1lXSA9IHByb3BlcnRpZXMucmVzdWx0CiAgICAuZmlsdGVyKCh2KSA9PiB2Lm5hbWUgIT09ICJsZW5ndGgiICYmICFpc05hTihwYXJzZUludCh2Lm5hbWUsIDEwKSkpCiAgICAuc29ydCgoYSwgYikgPT4gcGFyc2VJbnQoYS5uYW1lLCAxMCkgLSBwYXJzZUludChiLm5hbWUsIDEwKSkKICAgIC5tYXAoKHYpID0+IHYudmFsdWU/LnZhbHVlKTsKfQoKZnVuY3Rpb24gdW5yb2xsT3RoZXIocHJvcCwgdmFycykgewogIGlmICghcHJvcC52YWx1ZSkgewogICAgcmV0dXJuOwogIH0KCiAgaWYgKCJ2YWx1ZSIgaW4gcHJvcC52YWx1ZSkgewogICAgaWYgKHByb3AudmFsdWUudmFsdWUgPT09IHVuZGVmaW5lZCB8fCBwcm9wLnZhbHVlLnZhbHVlID09PSBudWxsKSB7CiAgICAgIHZhcnNbcHJvcC5uYW1lXSA9IGA8JHtwcm9wLnZhbHVlLnZhbHVlfT5gOwogICAgICByZXR1cm47CiAgICB9CgogICAgdmFyc1twcm9wLm5hbWVdID0gcHJvcC52YWx1ZS52YWx1ZTsKICAgIHJldHVybjsKICB9CgogIGlmICgiZGVzY3JpcHRpb24iIGluIHByb3AudmFsdWUgJiYgcHJvcC52YWx1ZS50eXBlICE9PSAiZnVuY3Rpb24iKSB7CiAgICB2YXJzW3Byb3AubmFtZV0gPSBgPCR7cHJvcC52YWx1ZS5kZXNjcmlwdGlvbn0+YDsKICAgIHJldHVybjsKICB9CgogIGlmIChwcm9wLnZhbHVlLnR5cGUgPT09ICJ1bmRlZmluZWQiKSB7CiAgICB2YXJzW3Byb3AubmFtZV0gPSAiPHVuZGVmaW5lZD4iOwogICAgcmV0dXJuOwogIH0KfQoKLyoqCiAqIEZldGNoZXMgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIGdpdmVuIG9iamVjdCBJRC4KICogQHBhcmFtIHtTZXNzaW9ufSBzZXNzaW9uIC0gVGhlIGRlYnVnZ2luZyBzZXNzaW9uIGluc3RhbmNlLgogKiBAcGFyYW0ge3N0cmluZ30gb2JqZWN0SWQgLSBUaGUgb2JqZWN0IElEIHJlcHJlc2VudGluZyB0aGUgbG9jYWwgc2NvcGUuCiAqIEByZXR1cm5zIHtvYmplY3R9IEEga2V5LXZhbHVlIG1hcCBvZiBsb2NhbCB2YXJpYWJsZSBuYW1lcyBhbmQgdGhlaXIgdmFsdWVzLgogKi8KYXN5bmMgZnVuY3Rpb24gZmV0Y2hMb2NhbFZhcmlhYmxlcyhzZXNzaW9uLCBvYmplY3RJZCkgewogIGlmICghb2JqZWN0SWQpIHJldHVybiB7fTsKCiAgdHJ5IHsKICAgIGNvbnN0IHsgcmVzdWx0IH0gPSBhd2FpdCBzZXNzaW9uLnBvc3QoIlJ1bnRpbWUuZ2V0UHJvcGVydGllcyIsIHsKICAgICAgb2JqZWN0SWQsCiAgICAgIG93blByb3BlcnRpZXM6IHRydWUsCiAgICB9KTsKCiAgICBjb25zdCBwcm9wZXJ0aWVzID0gcmVzdWx0OwogICAgaWYgKHByb3BlcnRpZXMpIHsKICAgICAgY29uc3QgdmFyaWFibGVzID0ge307CiAgICAgIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wZXJ0aWVzKSB7CiAgICAgICAgaWYgKHByb3A/LnZhbHVlPy5vYmplY3RJZCAmJiBwcm9wPy52YWx1ZS5jbGFzc05hbWUgPT09ICJBcnJheSIpIHsKICAgICAgICAgIGNvbnN0IGlkID0gcHJvcC52YWx1ZS5vYmplY3RJZDsKICAgICAgICAgIGF3YWl0IHVucm9sbEFycmF5KHNlc3Npb24sIGlkLCBwcm9wLm5hbWUsIHZhcmlhYmxlcyk7CiAgICAgICAgfSBlbHNlIGlmICgKICAgICAgICAgIHByb3A/LnZhbHVlPy5vYmplY3RJZCAmJgogICAgICAgICAgcHJvcD8udmFsdWU/LmNsYXNzTmFtZSA9PT0gIk9iamVjdCIKICAgICAgICApIHsKICAgICAgICAgIGNvbnN0IGlkID0gcHJvcC52YWx1ZS5vYmplY3RJZDsKICAgICAgICAgIGF3YWl0IHVucm9sbE9iamVjdChzZXNzaW9uLCBpZCwgcHJvcC5uYW1lLCB2YXJpYWJsZXMpOwogICAgICAgIH0gZWxzZSBpZiAocHJvcD8udmFsdWUpIHsKICAgICAgICAgIHVucm9sbE90aGVyKHByb3AsIHZhcmlhYmxlcyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiB2YXJpYWJsZXM7CiAgICB9CiAgfSBjYXRjaCAoZXJyKSB7CiAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgY29uc29sZS5lcnJvcigiW1dvcmtlcl0gRmFpbGVkIHRvIGZldGNoIGxvY2FsIHZhcmlhYmxlczoiLCBlcnIpOwogICAgfQogICAgcmV0dXJuIHt9OwogIH0KfQoKc3RhcnREZWJ1Z2dlcigpLmNhdGNoKChlcnJvcikgPT4gewogIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgY29uc29sZS5lcnJvcigiW1dvcmtlcl0gRmFpbGVkIHRvIHN0YXJ0IGRlYnVnZ2VyOiIsIGVycm9yKTsKICB9Cn0pOwoKLy8gS2VlcCB0aGUgd29ya2VyIGFsaXZlCnNldEludGVydmFsKCgpID0+IHt9LCAxMDAwMCk7Cg==";
|
|
1
|
+
export declare const fileContentsEncoded = "aW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gImluc3BlY3Rvci9wcm9taXNlcyI7CmltcG9ydCB7IHBhcmVudFBvcnQsIHdvcmtlckRhdGEgfSBmcm9tICJ3b3JrZXJfdGhyZWFkcyI7CgpnbG9iYWwuc2ZEZWJ1ZyA9IHVuZGVmaW5lZDsKZ2xvYmFsLnN0YWNrRGVwdGhMb2NhbHMgPSB1bmRlZmluZWQ7Cmdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPSB1bmRlZmluZWQ7CgovKioKICogUHJvY2Vzc2VzIGNhbGwgZnJhbWVzIGZyb20gYW4gZXhjZXB0aW9uIGFuZCBwb3N0cyB0aGVtIHZpYSB0aGUgV29ya2Vy4oCZcyBwYXJlbnRQb3J0LgogKgogKiBAcGFyYW0gc2Vzc2lvbiAtIFRoZSBEZXZUb29scyBzZXNzaW9uIG9yIHNpbWlsYXIgb2JqZWN0IHlvdSB1c2UgdG8gcXVlcnkgZm9yIHNjcmlwdCBzb3VyY2VzLgogKiBAcGFyYW0gY2FsbEZyYW1lcyAtIEFuIGFycmF5IG9mIGNhbGwgZnJhbWUgb2JqZWN0cy4KICogQHBhcmFtIGRlc2NyaXB0aW9uTGluZXMgLSBBbiBhcnJheSBvZiBsaW5lcyBmcm9tIHRoZSBlcnJvcuKAmXMgZGVzY3JpcHRpb24sIGVhY2ggdHlwaWNhbGx5IGJlZ2lubmluZyB3aXRoICJhdCAiLgogKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0KICovCmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzQ2FsbEZyYW1lcyhzZXNzaW9uLCBjYWxsRnJhbWVzLCBkZXNjcmlwdGlvbkxpbmVzKSB7CiAgLyoqCiAgICogTGltaXQgdGhlIGNhbGwgZnJhbWVzIHRvIHRoZSBtYXhpbXVtIGRlcHRoIHNwZWNpZmllZCBieSBnbG9iYWwuc3RhY2tEZXB0aExvY2Fscy4KICAgKiBUaGlzIGFzc3VtZXMgdGhhdCBnbG9iYWwuc3RhY2tEZXB0aExvY2FscyBpcyBkZWZpbmVkIGFzIGEgbnVtYmVyLgogICAqLwogIGNvbnN0IGxpbWl0ZWRDYWxsRnJhbWVzID0gY2FsbEZyYW1lcy5zbGljZSgwLCBnbG9iYWwuc3RhY2tEZXB0aExvY2Fscyk7CgogIGNvbnN0IGZyYW1lcyA9IGF3YWl0IFByb21pc2UuYWxsKAogICAgbGltaXRlZENhbGxGcmFtZXMubWFwKGFzeW5jIChmcmFtZSwgaW5kZXgpID0+IHsKICAgICAgdHJ5IHsKICAgICAgICBjb25zdCB7IGZ1bmN0aW9uTmFtZSwgbG9jYXRpb24sIHVybCwgc2NvcGVDaGFpbiB9ID0gZnJhbWU7CiAgICAgICAgLy8gRmluZCB0aGUgbG9jYWwgc2NvcGUsIGlmIGFueQogICAgICAgIGNvbnN0IGxvY2FsU2NvcGUgPSBzY29wZUNoYWluLmZpbmQoKHNjb3BlKSA9PiBzY29wZS50eXBlID09PSAibG9jYWwiKTsKCiAgICAgICAgbGV0IGNvZGUgPSAiPG5vdCBjYXB0dXJlZD4iOwogICAgICAgIC8vIFVzZSBlaXRoZXIgdGhlIFVSTCBvciB0aGUgZGVzY3JpcHRpb24gbGluZSBmb3IgZmlsZSByZWZlcmVuY2UKICAgICAgICBsZXQgZmlsZSA9ICIiOwogICAgICAgIGlmICh1cmwgJiYgdXJsLnRyaW0oKSAhPT0gIiIpIHsKICAgICAgICAgIGZpbGUgPSB1cmw7CiAgICAgICAgfSBlbHNlIGlmIChkZXNjcmlwdGlvbkxpbmVzW2luZGV4XSkgewogICAgICAgICAgZmlsZSA9IGRlc2NyaXB0aW9uTGluZXNbaW5kZXhdLnRyaW0oKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZmlsZSA9ICI8dW5rbm93bj4iOwogICAgICAgIH0KCiAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIHZhbGlkIGxvY2F0aW9uIGFuZCBzY3JpcHRJZCwgZmV0Y2ggdGhlIGNvZGUgbGluZQogICAgICAgIGlmIChsb2NhdGlvbiAmJiBsb2NhdGlvbi5zY3JpcHRJZCkgewogICAgICAgICAgY29uc3Qgc2NyaXB0SWQgPSBsb2NhdGlvbi5zY3JpcHRJZDsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGNvbnN0IHsgc2NyaXB0U291cmNlIH0gPSBhd2FpdCBzZXNzaW9uLnBvc3QoCiAgICAgICAgICAgICAgIkRlYnVnZ2VyLmdldFNjcmlwdFNvdXJjZSIsCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2NyaXB0SWQsCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgY29uc3Qgc291cmNlTGluZXMgPSBzY3JpcHRTb3VyY2Uuc3BsaXQoIlxuIik7CiAgICAgICAgICAgIGNvZGUgPSBzb3VyY2VMaW5lc1tsb2NhdGlvbi5saW5lTnVtYmVyXSB8fCAiPG5vdCBjYXB0dXJlZD4iOwogICAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBmZXRjaCBzY3JpcHQgc291cmNlOiIsIGVycik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEZldGNoIGxvY2FsIHZhcmlhYmxlcyBpZiB0aGVyZSdzIGFuIG9iamVjdElkCiAgICAgICAgY29uc3QgbG9jYWxzID0gbG9jYWxTY29wZT8ub2JqZWN0Py5vYmplY3RJZAogICAgICAgICAgPyBhd2FpdCBmZXRjaExvY2FsVmFyaWFibGVzKHNlc3Npb24sIGxvY2FsU2NvcGUub2JqZWN0Lm9iamVjdElkKQogICAgICAgICAgOiB7fTsKCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGZ1bmN0aW9uOiBmdW5jdGlvbk5hbWUgfHwgIjxhbm9ueW1vdXM+IiwKICAgICAgICAgIGxvY2FscywKICAgICAgICAgIGZpbGUsCiAgICAgICAgICBsaW5lOiBsb2NhdGlvbj8ubGluZU51bWJlciB8fCAwLAogICAgICAgICAgY29kZSwKICAgICAgICB9OwogICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgY29uc29sZS5lcnJvcigiW1dvcmtlcl0gRXJyb3IgcHJvY2Vzc2luZyBjYWxsIGZyYW1lOiIsIGVycm9yKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGZ1bmN0aW9uOiAiPGVycm9yPiIsCiAgICAgICAgICBsb2NhbHM6IHt9LAogICAgICAgICAgZmlsZTogIjx1bmtub3duPiIsCiAgICAgICAgICBsaW5lOiAwLAogICAgICAgICAgY29kZTogIjxub3QgY2FwdHVyZWQ+IiwKICAgICAgICB9OwogICAgICB9CiAgICB9KSwKICApOwogIC8vIFBvc3QgZXhjZXB0aW9uIGRhdGEKICBwYXJlbnRQb3J0Py5wb3N0TWVzc2FnZSh7IHR5cGU6ICJleGNlcHRpb24iLCBmcmFtZXMgfSk7Cn0KCi8qKgogKiBIYW5kbGVzIHRoZSAicGF1c2VkIiBzdGF0ZSBvZiB0aGUgZGVidWdnZXIgYW5kIHByb2Nlc3NlcyBleGNlcHRpb25zIG9yIHByb21pc2UgcmVqZWN0aW9ucy4KICogQHBhcmFtIHtTZXNzaW9ufSBzZXNzaW9uIC0gVGhlIGRlYnVnZ2luZyBzZXNzaW9uIGluc3RhbmNlLgogKiBAcGFyYW0ge29iamVjdH0gcGFyYW1zIC0gUGFyYW1ldGVycyBmcm9tIHRoZSAicGF1c2VkIiBldmVudC4KICovCmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVBhdXNlZChzZXNzaW9uLCBwYXJhbXMpIHsKICBjb25zdCB7IHJlYXNvbiwgZGF0YSwgY2FsbEZyYW1lcyB9ID0gcGFyYW1zOwoKICBpZiAocmVhc29uICE9PSAiZXhjZXB0aW9uIiAmJiByZWFzb24gIT09ICJwcm9taXNlUmVqZWN0aW9uIikgewogICAgcmV0dXJuOwogIH0KCiAgLy8gRGVmaW5lIHJlZ2V4IHBhdHRlcm5zIHRvIGlkZW50aWZ5IG5vbi1hcHBsaWNhdGlvbiBzb3VyY2UgZXJyb3JzLgogIGNvbnN0IG5vbkFwcFBhdHRlcm5zID0gWwogICAgL25vZGU6aW50ZXJuYWwvLAogICAgL2ludGVybmFsXC8vLAogICAgL25vZGVfbW9kdWxlcy8sCiAgICAvbm9kZTpmcy8sCiAgXTsKCiAgbGV0IGZpcnN0RnJhbWVMaW5lID0gIiI7CiAgbGV0IGRlc2NyaXB0aW9uTGluZXMgPSBbXTsKCiAgaWYgKGRhdGEgJiYgdHlwZW9mIGRhdGEuZGVzY3JpcHRpb24gPT09ICJzdHJpbmciKSB7CiAgICAvLyBTcGxpdCB0aGUgZGVzY3JpcHRpb24gaW50byBsaW5lcyBhbmQgZmlsdGVyIHRvIGtlZXAgb25seSBsaW5lcyB0aGF0IHN0YXJ0IHdpdGggImF0ICIKICAgIGRlc2NyaXB0aW9uTGluZXMgPSBkYXRhLmRlc2NyaXB0aW9uCiAgICAgIC5zcGxpdCgiXG4iKQogICAgICAuZmlsdGVyKChsaW5lKSA9PiBsaW5lLnRyaW0oKS5zdGFydHNXaXRoKCJhdCAiKSk7CgogICAgLy8gVXNlIHRoZSBmaXJzdCBjYWxsIGZyYW1lIGxpbmUgZnJvbSB0aGUgZGVzY3JpcHRpb24gZm9yIGZpbHRlcmluZy4KICAgIGZpcnN0RnJhbWVMaW5lID0gZGVzY3JpcHRpb25MaW5lc1swXSB8fCAiIjsKICAgIGlmICghZmlyc3RGcmFtZUxpbmUpIHsKICAgICAgLy8gSWYsIGZvciBzb21lIHJlYXNvbiwgdGhlcmUncyBubyBmcmFtZSwgYmFpbCBvdXQKICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSAibm9uLWFwcCIgZXJyb3IKICAgIGNvbnN0IGVycm9yRnJvbU5vbkFwcCA9IG5vbkFwcFBhdHRlcm5zLnNvbWUoKHBhdHRlcm4pID0+CiAgICAgIHBhdHRlcm4udGVzdChmaXJzdEZyYW1lTGluZS50cmltKCkpLAogICAgKTsKCiAgICAvLyBDb252ZXJ0IGBnbG9iYWwubm9kZU1vZHVsZXNUb0NvbGxlY3RMb2NhbFZhcmlhYmxlc09uYCB0byBhbiBhcnJheSBmb3Igc2FmZXR5CiAgICBjb25zdCBub2RlTW9kdWxlc0xpc3QgPSBBcnJheS5pc0FycmF5KAogICAgICBnbG9iYWwubm9kZU1vZHVsZXNUb0NvbGxlY3RMb2NhbFZhcmlhYmxlc09uLAogICAgKQogICAgICA/IGdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24KICAgICAgOiBbXTsKICAgIGlmIChlcnJvckZyb21Ob25BcHApIHsKICAgICAgLy8gSWYgdGhlIGVycm9yIGlzIGZyb20gYSBub24tYXBwIHNvdXJjZSwgd2UgaGF2ZSBhIGZldyBzY2VuYXJpb3M6CiAgICAgIGlmIChub2RlTW9kdWxlc0xpc3QuaW5jbHVkZXMoIl9fYWxsX18iKSkgewogICAgICAgIC8vIElmIHRoZSBsaXN0IGluY2x1ZGVzIF9fYWxsX18sIGNhcHR1cmUgbG9jYWwgdmFyaWFibGVzIGZyb20gKmFsbCogbm9kZV9tb2R1bGVzCiAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICBjb25zb2xlLmxvZygKICAgICAgICAgICAgIltXb3JrZXJdIEVycm9yIGlzIGZyb20gbm9uLWFwcCBzb3VyY2UsIGJ1dCBjYXB0dXJpbmcgZHVlIHRvIF9fYWxsX18gcnVsZS4iLAogICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgLy8gQ29udGludWUgKGRvIE5PVCByZXR1cm4pLi4uCiAgICAgIH0gZWxzZSBpZiAobm9kZU1vZHVsZXNMaXN0Lmxlbmd0aCA+IDApIHsKICAgICAgICAvLyBDaGVjayBpZiB0aGUgZmlyc3QgZnJhbWUgcmVmZXJlbmNlcyBvbmUgb2YgdGhlIG1vZHVsZXMgd2UgYWxsb3cgY2FwdHVyaW5nIGZyb20KICAgICAgICBjb25zdCBpc0Zyb21BbGxvd2VkTm9kZU1vZHVsZSA9IG5vZGVNb2R1bGVzTGlzdC5zb21lKChtb2R1bGVOYW1lKSA9PgogICAgICAgICAgZmlyc3RGcmFtZUxpbmUuaW5jbHVkZXMoYCR7bW9kdWxlTmFtZX1gKSwKICAgICAgICApOwoKICAgICAgICBpZiAoIWlzRnJvbUFsbG93ZWROb2RlTW9kdWxlKSB7CiAgICAgICAgICAvLyBOb3QgZnJvbSBhbiBhbGxvd2VkIG5vZGUgbW9kdWxlID0+IHJldHVybiBlYXJseQogICAgICAgICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKAogICAgICAgICAgICAgICJbV29ya2VyXSBFcnJvciBhcHBlYXJzIHRvIGJlIHRyaWdnZXJlZCBmcm9tIG5vbi1hcHBsaWNhdGlvbiBzb3VyY2VzOyBpZ25vcmluZy4iLAogICAgICAgICAgICApOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICAvLyBPdGhlcndpc2UsIGl0J3MgZnJvbSBhbiBhbGxvd2VkIG5vZGUgbW9kdWxlLCBzbyBjb250aW51ZQogICAgICB9IGVsc2UgewogICAgICAgIC8vIElmIHRoZSBsaXN0IGlzIGVtcHR5LCBwcmVzZXJ2ZSBleGlzdGluZyBiZWhhdmlvciBhbmQgaWdub3JlIG5vbi1hcHBsaWNhdGlvbiBlcnJvcnMKICAgICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICAgIGNvbnNvbGUubG9nKAogICAgICAgICAgICAiW1dvcmtlcl0gRXJyb3IgYXBwZWFycyB0byBiZSB0cmlnZ2VyZWQgZnJvbSBub24tYXBwbGljYXRpb24gc291cmNlczsgaWdub3JpbmcuIiwKICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgICAgfQogICAgfQoKICAgIC8vIElmIHdlIHJlYWNoIHRoaXMgcG9pbnQsIHRoZSBlcnJvciBpcyBlaXRoZXIgZnJvbSBhcHAgY29kZSwgb3IgZnJvbSBhIG5vZGUgbW9kdWxlIGFsbG93ZWQgYnkgdGhlIGxpc3QKICAgIC8vID0+IFByb2NlZWQgd2l0aCBjYXB0dXJpbmcgbG9jYWwgdmFyaWFibGVzLCBldGMuCiAgICBhd2FpdCBwcm9jZXNzQ2FsbEZyYW1lcyhzZXNzaW9uLCBjYWxsRnJhbWVzLCBkZXNjcmlwdGlvbkxpbmVzKTsKICB9IGVsc2UgewogICAgLy8gSWYgdGhlcmUgaXMgbm8gZGF0YS5kZXNjcmlwdGlvbiBvciBpdCdzIG5vdCBhIHN0cmluZywganVzdCByZXR1cm4KICAgIHJldHVybjsKICB9Cn0KCi8qKgogKiBJbml0aWFsaXplcyB0aGUgZGVidWdnZXIgYW5kIHNldHMgdXAgZXZlbnQgbGlzdGVuZXJzIGZvciBleGNlcHRpb25zIGFuZCBwcm9taXNlIHJlamVjdGlvbnMuCiAqLwphc3luYyBmdW5jdGlvbiBzdGFydERlYnVnZ2VyKCkgewogIHBhcmVudFBvcnQ/LnBvc3RNZXNzYWdlKHsgdHlwZTogIm1lc3NhZ2UiLCByZWFkeVRvR2V0UGFyYW1ldGVyczogdHJ1ZSB9KTsKCiAgbGV0IHJlc29sdmVNZXNzYWdlUHJvbWlzZTsKICBjb25zdCBtZXNzYWdlUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CiAgICByZXNvbHZlTWVzc2FnZVByb21pc2UgPSByZXNvbHZlOwogIH0pOwogIGxldCBpc1BhdXNlZCA9IGZhbHNlOwoKICBwYXJlbnRQb3J0Py5vbigibWVzc2FnZSIsIChtZXNzYWdlKSA9PiB7CiAgICB0cnkgewogICAgICBpZiAobWVzc2FnZT8udHlwZSA9PT0gInByb2Nlc3NFeGNlcHRpb24iKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoCiAgICAgICAgbWVzc2FnZT8uc2ZEZWJ1ZyAhPT0gdW5kZWZpbmVkICYmCiAgICAgICAgbWVzc2FnZT8uc3RhY2tEZXB0aExvY2FscyAhPT0gdW5kZWZpbmVkCiAgICAgICkgewogICAgICAgIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgICAgICAgY29uc29sZS5sb2coIlVwZGF0aW5nIGdsb2JhbCBkZWJ1ZyB2YXJpYWJsZXMuLi4iKTsKICAgICAgICB9CgogICAgICAgIGdsb2JhbC5zZkRlYnVnID0gbWVzc2FnZS5zZkRlYnVnOwogICAgICAgIGdsb2JhbC5zdGFja0RlcHRoTG9jYWxzID0gbWVzc2FnZS5zdGFja0RlcHRoTG9jYWxzOwogICAgICAgIGdsb2JhbC5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT24gPQogICAgICAgICAgbWVzc2FnZS5ub2RlTW9kdWxlc1RvQ29sbGVjdExvY2FsVmFyaWFibGVzT247CgogICAgICAgIHJlc29sdmVNZXNzYWdlUHJvbWlzZSgpOwogICAgICB9CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgICAgICBjb25zb2xlLmVycm9yKCLinYwgRXJyb3IgaW4gbWVzc2FnZSBoYW5kbGluZzoiLCBlcnJvcik7CiAgICAgIH0KICAgIH0KICB9KTsKCiAgYXdhaXQgbWVzc2FnZVByb21pc2U7CgogIHRyeSB7CiAgICBjb25zdCBzZXNzaW9uID0gbmV3IFNlc3Npb24oKTsKICAgIHNlc3Npb24uY29ubmVjdFRvTWFpblRocmVhZCgpOwoKICAgIHNlc3Npb24ub24oIkRlYnVnZ2VyLnJlc3VtZWQiLCAoKSA9PiB7CiAgICAgIGlzUGF1c2VkID0gZmFsc2U7CiAgICB9KTsKCiAgICBzZXNzaW9uLm9uKCJEZWJ1Z2dlci5wYXVzZWQiLCBhc3luYyAoZXZlbnQpID0+IHsKICAgICAgaXNQYXVzZWQgPSB0cnVlOwogICAgICBoYW5kbGVQYXVzZWQoc2Vzc2lvbiwgZXZlbnQucGFyYW1zKS50aGVuKAogICAgICAgIGFzeW5jICgpID0+IHsKICAgICAgICAgIC8vIEFmdGVyIHRoZSBwYXVzZSB3b3JrIGlzIGNvbXBsZXRlLCByZXN1bWUgZXhlY3V0aW9uIQogICAgICAgICAgaWYgKGlzUGF1c2VkKSB7CiAgICAgICAgICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIucmVzdW1lIik7CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBhc3luYyAoXykgPT4gewogICAgICAgICAgaWYgKGlzUGF1c2VkKSB7CiAgICAgICAgICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIucmVzdW1lIik7CiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgKTsKICAgIH0pOwoKICAgIGF3YWl0IHNlc3Npb24ucG9zdCgiRGVidWdnZXIuZW5hYmxlIik7CgogICAgY29uc3QgY2FwdHVyZUFsbCA9IHdvcmtlckRhdGEuY2FwdHVyZUFsbEV4Y2VwdGlvbnMgIT09IGZhbHNlOwogICAgYXdhaXQgc2Vzc2lvbi5wb3N0KCJEZWJ1Z2dlci5zZXRQYXVzZU9uRXhjZXB0aW9ucyIsIHsKICAgICAgc3RhdGU6IGNhcHR1cmVBbGwgPyAiYWxsIiA6ICJ1bmNhdWdodCIsCiAgICB9KTsKICB9IGNhdGNoIChlcnJvcikgewogICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIGVycm9yICIsIGVycm9yKTsKICAgIH0KICB9CgogIGlmIChnbG9iYWwuc2ZEZWJ1ZykgewogICAgY29uc29sZS5sb2coIltXb3JrZXJdIERlYnVnZ2VyIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5LiIpOwogIH0KfQoKYXN5bmMgZnVuY3Rpb24gdW5yb2xsT2JqZWN0KHNlc3Npb24sIG9iamVjdElkLCBuYW1lLCB2YXJzKSB7CiAgY29uc3QgcHJvcGVydGllcyA9IGF3YWl0IHNlc3Npb24ucG9zdCgiUnVudGltZS5nZXRQcm9wZXJ0aWVzIiwgewogICAgb2JqZWN0SWQsCiAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogIH0pOwoKICB2YXJzW25hbWVdID0gcHJvcGVydGllcy5yZXN1bHQKICAgIC5tYXAoKHYpID0+IFt2Lm5hbWUsIHYudmFsdWU/LnZhbHVlXSkKICAgIC5yZWR1Y2UoKG9iaiwgW2tleSwgdmFsXSkgPT4gewogICAgICBvYmpba2V5XSA9IHZhbDsKICAgICAgcmV0dXJuIG9iajsKICAgIH0sIHt9KTsKfQoKYXN5bmMgZnVuY3Rpb24gdW5yb2xsQXJyYXkoc2Vzc2lvbiwgb2JqZWN0SWQsIG5hbWUsIHZhcnMpIHsKICBjb25zdCBwcm9wZXJ0aWVzID0gYXdhaXQgc2Vzc2lvbi5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLCB7CiAgICBvYmplY3RJZDogb2JqZWN0SWQsCiAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogIH0pOwogIHZhcnNbbmFtZV0gPSBwcm9wZXJ0aWVzLnJlc3VsdAogICAgLmZpbHRlcigodikgPT4gdi5uYW1lICE9PSAibGVuZ3RoIiAmJiAhaXNOYU4ocGFyc2VJbnQodi5uYW1lLCAxMCkpKQogICAgLnNvcnQoKGEsIGIpID0+IHBhcnNlSW50KGEubmFtZSwgMTApIC0gcGFyc2VJbnQoYi5uYW1lLCAxMCkpCiAgICAubWFwKCh2KSA9PiB2LnZhbHVlPy52YWx1ZSk7Cn0KCmZ1bmN0aW9uIHVucm9sbE90aGVyKHByb3AsIHZhcnMpIHsKICBpZiAoIXByb3AudmFsdWUpIHsKICAgIHJldHVybjsKICB9CgogIGlmICgidmFsdWUiIGluIHByb3AudmFsdWUpIHsKICAgIGlmIChwcm9wLnZhbHVlLnZhbHVlID09PSB1bmRlZmluZWQgfHwgcHJvcC52YWx1ZS52YWx1ZSA9PT0gbnVsbCkgewogICAgICB2YXJzW3Byb3AubmFtZV0gPSBgPCR7cHJvcC52YWx1ZS52YWx1ZX0+YDsKICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhcnNbcHJvcC5uYW1lXSA9IHByb3AudmFsdWUudmFsdWU7CiAgICByZXR1cm47CiAgfQoKICBpZiAoImRlc2NyaXB0aW9uIiBpbiBwcm9wLnZhbHVlICYmIHByb3AudmFsdWUudHlwZSAhPT0gImZ1bmN0aW9uIikgewogICAgdmFyc1twcm9wLm5hbWVdID0gYDwke3Byb3AudmFsdWUuZGVzY3JpcHRpb259PmA7CiAgICByZXR1cm47CiAgfQoKICBpZiAocHJvcC52YWx1ZS50eXBlID09PSAidW5kZWZpbmVkIikgewogICAgdmFyc1twcm9wLm5hbWVdID0gIjx1bmRlZmluZWQ+IjsKICAgIHJldHVybjsKICB9Cn0KCi8qKgogKiBGZXRjaGVzIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBnaXZlbiBvYmplY3QgSUQuCiAqIEBwYXJhbSB7U2Vzc2lvbn0gc2Vzc2lvbiAtIFRoZSBkZWJ1Z2dpbmcgc2Vzc2lvbiBpbnN0YW5jZS4KICogQHBhcmFtIHtzdHJpbmd9IG9iamVjdElkIC0gVGhlIG9iamVjdCBJRCByZXByZXNlbnRpbmcgdGhlIGxvY2FsIHNjb3BlLgogKiBAcmV0dXJucyB7b2JqZWN0fSBBIGtleS12YWx1ZSBtYXAgb2YgbG9jYWwgdmFyaWFibGUgbmFtZXMgYW5kIHRoZWlyIHZhbHVlcy4KICovCmFzeW5jIGZ1bmN0aW9uIGZldGNoTG9jYWxWYXJpYWJsZXMoc2Vzc2lvbiwgb2JqZWN0SWQpIHsKICBpZiAoIW9iamVjdElkKSByZXR1cm4ge307CgogIHRyeSB7CiAgICBjb25zdCB7IHJlc3VsdCB9ID0gYXdhaXQgc2Vzc2lvbi5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLCB7CiAgICAgIG9iamVjdElkLAogICAgICBvd25Qcm9wZXJ0aWVzOiB0cnVlLAogICAgfSk7CgogICAgY29uc3QgcHJvcGVydGllcyA9IHJlc3VsdDsKICAgIGlmIChwcm9wZXJ0aWVzKSB7CiAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHt9OwogICAgICBmb3IgKGNvbnN0IHByb3Agb2YgcHJvcGVydGllcykgewogICAgICAgIGlmIChwcm9wPy52YWx1ZT8ub2JqZWN0SWQgJiYgcHJvcD8udmFsdWUuY2xhc3NOYW1lID09PSAiQXJyYXkiKSB7CiAgICAgICAgICBjb25zdCBpZCA9IHByb3AudmFsdWUub2JqZWN0SWQ7CiAgICAgICAgICBhd2FpdCB1bnJvbGxBcnJheShzZXNzaW9uLCBpZCwgcHJvcC5uYW1lLCB2YXJpYWJsZXMpOwogICAgICAgIH0gZWxzZSBpZiAoCiAgICAgICAgICBwcm9wPy52YWx1ZT8ub2JqZWN0SWQgJiYKICAgICAgICAgIHByb3A/LnZhbHVlPy5jbGFzc05hbWUgPT09ICJPYmplY3QiCiAgICAgICAgKSB7CiAgICAgICAgICBjb25zdCBpZCA9IHByb3AudmFsdWUub2JqZWN0SWQ7CiAgICAgICAgICBhd2FpdCB1bnJvbGxPYmplY3Qoc2Vzc2lvbiwgaWQsIHByb3AubmFtZSwgdmFyaWFibGVzKTsKICAgICAgICB9IGVsc2UgaWYgKHByb3A/LnZhbHVlKSB7CiAgICAgICAgICB1bnJvbGxPdGhlcihwcm9wLCB2YXJpYWJsZXMpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gdmFyaWFibGVzOwogICAgfQogIH0gY2F0Y2ggKGVycikgewogICAgaWYgKGdsb2JhbC5zZkRlYnVnKSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBmZXRjaCBsb2NhbCB2YXJpYWJsZXM6IiwgZXJyKTsKICAgIH0KICAgIHJldHVybiB7fTsKICB9Cn0KCnN0YXJ0RGVidWdnZXIoKS5jYXRjaCgoZXJyb3IpID0+IHsKICBpZiAoZ2xvYmFsLnNmRGVidWcpIHsKICAgIGNvbnNvbGUuZXJyb3IoIltXb3JrZXJdIEZhaWxlZCB0byBzdGFydCBkZWJ1Z2dlcjoiLCBlcnJvcik7CiAgfQp9KTsKCi8vIEtlZXAgdGhlIHdvcmtlciBhbGl2ZQpzZXRJbnRlcnZhbCgoKSA9PiB7fSwgMTAwMDApOwo=";
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { BaseTransmitter } from "./baseTransmitter";
|
|
2
|
+
/**
|
|
3
|
+
* NetworkHopTransmitter class extends BaseTransmitter to handle sending
|
|
4
|
+
* "network hops" data to a remote GraphQL endpoint.
|
|
5
|
+
*
|
|
6
|
+
* This class uses the "CollectNetworkHops" mutation, defined as:
|
|
7
|
+
* collectNetworkHops(
|
|
8
|
+
* apiKey: String!,
|
|
9
|
+
* sessionId: String!,
|
|
10
|
+
* timestampMs: String!,
|
|
11
|
+
* requestDetails: String!,
|
|
12
|
+
* entrypoint: String!,
|
|
13
|
+
* serviceUuid: String = null
|
|
14
|
+
* ): Boolean!
|
|
15
|
+
*
|
|
16
|
+
* Additional fields (like library, version)
|
|
17
|
+
* may be appended or merged by the base class or the server's GraphQL schema
|
|
18
|
+
* as needed.
|
|
19
|
+
*/
|
|
20
|
+
export declare class NetworkHopTransmitter extends BaseTransmitter {
|
|
21
|
+
private serviceIdentifier;
|
|
22
|
+
/**
|
|
23
|
+
* Constructor for NetworkHopTransmitter.
|
|
24
|
+
* Sets the GraphQL operation name to "CollectNetworkHops".
|
|
25
|
+
*/
|
|
26
|
+
constructor();
|
|
27
|
+
/**
|
|
28
|
+
* Sends the application identifier to the server. In this implementation,
|
|
29
|
+
* it delegates to the ServiceIdentifier's doSend method, which may include
|
|
30
|
+
* any app-specific logic or fields needed by the server.
|
|
31
|
+
*/
|
|
32
|
+
sendAppIdentifier(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* A convenience method that first sends the app identifier,
|
|
35
|
+
* then sends the detailed network hops data.
|
|
36
|
+
*
|
|
37
|
+
* @param requestDetails - JSON/string describing the network request details.
|
|
38
|
+
* @param entrypoint - The route, path, or function name that initiated the request.
|
|
39
|
+
*/
|
|
40
|
+
doSend(entrypoint: string, requestDetails: string): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Sends the network hops data to the remote GraphQL endpoint, using a
|
|
43
|
+
* non-blocking POST request. The GraphQL mutation is "collectNetworkHops",
|
|
44
|
+
* with various input fields (like apiKey, sessionId, timestampMs) typically
|
|
45
|
+
* merged in from the base class or runtime context.
|
|
46
|
+
*
|
|
47
|
+
* @param requestDetails - JSON/string describing the network hops or request data.
|
|
48
|
+
* @param entrypoint - The entry point (route or function) where the request originated.
|
|
49
|
+
*/
|
|
50
|
+
send(requestDetails: string, entrypoint: string): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Constructs the GraphQL mutation query string. This includes the required
|
|
53
|
+
* fields from the signature:
|
|
54
|
+
* collectNetworkHops(
|
|
55
|
+
* apiKey: String!,
|
|
56
|
+
* sessionId: String!,
|
|
57
|
+
* timestampMs: String!,
|
|
58
|
+
* requestDetails: String!,
|
|
59
|
+
* entrypoint: String!,
|
|
60
|
+
* serviceUuid: String = null
|
|
61
|
+
* ): Boolean!
|
|
62
|
+
*
|
|
63
|
+
* Additional fields like "library", "version" are
|
|
64
|
+
* often appended to the mutation or handled by the server schema as optional.
|
|
65
|
+
*/
|
|
66
|
+
protected getQuery(): string;
|
|
67
|
+
}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export interface FrameInfoData {
|
|
|
10
10
|
[key: string]: any;
|
|
11
11
|
};
|
|
12
12
|
offender?: boolean;
|
|
13
|
+
column?: number;
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
16
|
* Class representing detailed information about a specific frame in a code trace.
|
|
@@ -23,6 +24,7 @@ export declare class FrameInfo {
|
|
|
23
24
|
[key: string]: any;
|
|
24
25
|
};
|
|
25
26
|
offender: boolean;
|
|
27
|
+
column?: number;
|
|
26
28
|
/**
|
|
27
29
|
* Initializes a new instance of the `FrameInfo` class with provided frame data.
|
|
28
30
|
*
|
|
@@ -32,8 +34,9 @@ export declare class FrameInfo {
|
|
|
32
34
|
* @param code - The code snippet for this frame.
|
|
33
35
|
* @param locals - The local variables within the frame scope (optional).
|
|
34
36
|
* @param offender - Indicates if this frame is considered an "offender" (optional).
|
|
37
|
+
* @param column - The column number of the frame (optional).
|
|
35
38
|
*/
|
|
36
|
-
constructor({ file, line, function: func, code, locals, offender, }: FrameInfoData);
|
|
39
|
+
constructor({ file, line, function: func, code, locals, offender, column, }: FrameInfoData);
|
|
37
40
|
/**
|
|
38
41
|
* Converts the `FrameInfo` instance to a dictionary format, serializing local variables as strings.
|
|
39
42
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sailfish-ai/sf-veritas",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.23",
|
|
4
4
|
"publishPublicly": true,
|
|
5
5
|
"description": "A versatile Edge Runtime-compatible package for Next.js.",
|
|
6
6
|
"main": "./dist/sf-veritas.cjs",
|
|
@@ -27,20 +27,21 @@
|
|
|
27
27
|
],
|
|
28
28
|
"author": "SailfishAI",
|
|
29
29
|
"dependencies": {
|
|
30
|
+
"source-map-js": "^1.2.1",
|
|
30
31
|
"next": "^15.1.7",
|
|
31
32
|
"uuid": "^11.1.0"
|
|
32
33
|
},
|
|
33
34
|
"devDependencies": {
|
|
34
35
|
"@rollup/plugin-terser": "^0.4.4",
|
|
35
|
-
"@types/node": "^22.13.
|
|
36
|
+
"@types/node": "^22.13.10",
|
|
37
|
+
"eslint": "^9.22.0",
|
|
38
|
+
"eslint-config-next": "^15.2.3",
|
|
36
39
|
"@types/uuid": "^10.0.0",
|
|
37
40
|
"rollup": "^3.29.5",
|
|
38
41
|
"rollup-plugin-dts": "^5.3.1",
|
|
39
42
|
"ts-node": "^10.9.2",
|
|
40
|
-
"typescript": "^5.
|
|
41
|
-
"vite": "^6.2.
|
|
42
|
-
"eslint": "^9.21.0",
|
|
43
|
-
"eslint-config-next": "^15.1.7"
|
|
43
|
+
"typescript": "^5.8.2",
|
|
44
|
+
"vite": "^6.2.2"
|
|
44
45
|
},
|
|
45
46
|
"files": [
|
|
46
47
|
"dist"
|