@keystrokehq/neutrino 0.1.2 → 0.1.3

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.
Files changed (150) hide show
  1. package/README.md +1 -1
  2. package/dist/actions/add-watermark-to-image.cjs +2 -2
  3. package/dist/actions/add-watermark-to-image.cjs.map +1 -1
  4. package/dist/actions/add-watermark-to-image.d.cts +2 -2
  5. package/dist/actions/add-watermark-to-image.d.mts +2 -2
  6. package/dist/actions/add-watermark-to-image.mjs +2 -2
  7. package/dist/actions/add-watermark-to-image.mjs.map +1 -1
  8. package/dist/actions/bad-word-filter.cjs +1 -1
  9. package/dist/actions/bad-word-filter.cjs.map +1 -1
  10. package/dist/actions/bad-word-filter.d.cts +1 -1
  11. package/dist/actions/bad-word-filter.d.mts +1 -1
  12. package/dist/actions/bad-word-filter.mjs +1 -1
  13. package/dist/actions/bad-word-filter.mjs.map +1 -1
  14. package/dist/actions/bin-lookup.cjs +1 -1
  15. package/dist/actions/bin-lookup.cjs.map +1 -1
  16. package/dist/actions/bin-lookup.d.cts +1 -1
  17. package/dist/actions/bin-lookup.d.mts +1 -1
  18. package/dist/actions/bin-lookup.mjs +1 -1
  19. package/dist/actions/bin-lookup.mjs.map +1 -1
  20. package/dist/actions/check-ip-blocklist.cjs +1 -1
  21. package/dist/actions/check-ip-blocklist.cjs.map +1 -1
  22. package/dist/actions/check-ip-blocklist.d.cts +1 -1
  23. package/dist/actions/check-ip-blocklist.d.mts +1 -1
  24. package/dist/actions/check-ip-blocklist.mjs +1 -1
  25. package/dist/actions/check-ip-blocklist.mjs.map +1 -1
  26. package/dist/actions/convert.cjs +1 -1
  27. package/dist/actions/convert.cjs.map +1 -1
  28. package/dist/actions/convert.d.cts +1 -1
  29. package/dist/actions/convert.d.mts +1 -1
  30. package/dist/actions/convert.mjs +1 -1
  31. package/dist/actions/convert.mjs.map +1 -1
  32. package/dist/actions/email-validate.cjs +1 -1
  33. package/dist/actions/email-validate.cjs.map +1 -1
  34. package/dist/actions/email-validate.d.cts +1 -1
  35. package/dist/actions/email-validate.d.mts +1 -1
  36. package/dist/actions/email-validate.mjs +1 -1
  37. package/dist/actions/email-validate.mjs.map +1 -1
  38. package/dist/actions/email-verify.cjs +1 -1
  39. package/dist/actions/email-verify.cjs.map +1 -1
  40. package/dist/actions/email-verify.d.cts +1 -1
  41. package/dist/actions/email-verify.d.mts +1 -1
  42. package/dist/actions/email-verify.mjs +1 -1
  43. package/dist/actions/email-verify.mjs.map +1 -1
  44. package/dist/actions/geocode-address.cjs +1 -1
  45. package/dist/actions/geocode-address.cjs.map +1 -1
  46. package/dist/actions/geocode-address.d.cts +1 -1
  47. package/dist/actions/geocode-address.d.mts +1 -1
  48. package/dist/actions/geocode-address.mjs +1 -1
  49. package/dist/actions/geocode-address.mjs.map +1 -1
  50. package/dist/actions/geocode-reverse.cjs +4 -4
  51. package/dist/actions/geocode-reverse.cjs.map +1 -1
  52. package/dist/actions/geocode-reverse.d.cts +4 -4
  53. package/dist/actions/geocode-reverse.d.mts +4 -4
  54. package/dist/actions/geocode-reverse.mjs +4 -4
  55. package/dist/actions/geocode-reverse.mjs.map +1 -1
  56. package/dist/actions/hlr-lookup.cjs +1 -1
  57. package/dist/actions/hlr-lookup.cjs.map +1 -1
  58. package/dist/actions/hlr-lookup.d.cts +1 -1
  59. package/dist/actions/hlr-lookup.d.mts +1 -1
  60. package/dist/actions/hlr-lookup.mjs +1 -1
  61. package/dist/actions/hlr-lookup.mjs.map +1 -1
  62. package/dist/actions/host-reputation.cjs +2 -2
  63. package/dist/actions/host-reputation.cjs.map +1 -1
  64. package/dist/actions/host-reputation.d.cts +2 -2
  65. package/dist/actions/host-reputation.d.mts +2 -2
  66. package/dist/actions/host-reputation.mjs +2 -2
  67. package/dist/actions/host-reputation.mjs.map +1 -1
  68. package/dist/actions/html-clean.cjs +1 -1
  69. package/dist/actions/html-clean.cjs.map +1 -1
  70. package/dist/actions/html-clean.d.cts +1 -1
  71. package/dist/actions/html-clean.d.mts +1 -1
  72. package/dist/actions/html-clean.mjs +1 -1
  73. package/dist/actions/html-clean.mjs.map +1 -1
  74. package/dist/actions/html-render.cjs +1 -1
  75. package/dist/actions/html-render.cjs.map +1 -1
  76. package/dist/actions/html-render.d.cts +1 -1
  77. package/dist/actions/html-render.d.mts +1 -1
  78. package/dist/actions/html-render.mjs +1 -1
  79. package/dist/actions/html-render.mjs.map +1 -1
  80. package/dist/actions/image-resize.cjs +2 -2
  81. package/dist/actions/image-resize.cjs.map +1 -1
  82. package/dist/actions/image-resize.d.cts +2 -2
  83. package/dist/actions/image-resize.d.mts +2 -2
  84. package/dist/actions/image-resize.mjs +2 -2
  85. package/dist/actions/image-resize.mjs.map +1 -1
  86. package/dist/actions/ip-info.cjs +1 -1
  87. package/dist/actions/ip-info.cjs.map +1 -1
  88. package/dist/actions/ip-info.d.cts +1 -1
  89. package/dist/actions/ip-info.d.mts +1 -1
  90. package/dist/actions/ip-info.mjs +1 -1
  91. package/dist/actions/ip-info.mjs.map +1 -1
  92. package/dist/actions/ip-probe.cjs +1 -1
  93. package/dist/actions/ip-probe.cjs.map +1 -1
  94. package/dist/actions/ip-probe.d.cts +1 -1
  95. package/dist/actions/ip-probe.d.mts +1 -1
  96. package/dist/actions/ip-probe.mjs +1 -1
  97. package/dist/actions/ip-probe.mjs.map +1 -1
  98. package/dist/actions/lookup-domain.cjs +2 -2
  99. package/dist/actions/lookup-domain.cjs.map +1 -1
  100. package/dist/actions/lookup-domain.d.cts +2 -2
  101. package/dist/actions/lookup-domain.d.mts +2 -2
  102. package/dist/actions/lookup-domain.mjs +2 -2
  103. package/dist/actions/lookup-domain.mjs.map +1 -1
  104. package/dist/actions/phone-validate.cjs +1 -1
  105. package/dist/actions/phone-validate.cjs.map +1 -1
  106. package/dist/actions/phone-validate.d.cts +1 -1
  107. package/dist/actions/phone-validate.d.mts +1 -1
  108. package/dist/actions/phone-validate.mjs +1 -1
  109. package/dist/actions/phone-validate.mjs.map +1 -1
  110. package/dist/actions/qr-code.cjs +1 -1
  111. package/dist/actions/qr-code.cjs.map +1 -1
  112. package/dist/actions/qr-code.d.cts +1 -1
  113. package/dist/actions/qr-code.d.mts +1 -1
  114. package/dist/actions/qr-code.mjs +1 -1
  115. package/dist/actions/qr-code.mjs.map +1 -1
  116. package/dist/actions/run-browser-bot.cjs +7 -7
  117. package/dist/actions/run-browser-bot.cjs.map +1 -1
  118. package/dist/actions/run-browser-bot.d.cts +7 -7
  119. package/dist/actions/run-browser-bot.d.mts +7 -7
  120. package/dist/actions/run-browser-bot.mjs +7 -7
  121. package/dist/actions/run-browser-bot.mjs.map +1 -1
  122. package/dist/actions/sms-verify.cjs +1 -1
  123. package/dist/actions/sms-verify.cjs.map +1 -1
  124. package/dist/actions/sms-verify.d.cts +1 -1
  125. package/dist/actions/sms-verify.d.mts +1 -1
  126. package/dist/actions/sms-verify.mjs +1 -1
  127. package/dist/actions/sms-verify.mjs.map +1 -1
  128. package/dist/actions/ua-lookup.cjs +1 -1
  129. package/dist/actions/ua-lookup.cjs.map +1 -1
  130. package/dist/actions/ua-lookup.d.cts +1 -1
  131. package/dist/actions/ua-lookup.d.mts +1 -1
  132. package/dist/actions/ua-lookup.mjs +1 -1
  133. package/dist/actions/ua-lookup.mjs.map +1 -1
  134. package/dist/actions/url-info.cjs +2 -2
  135. package/dist/actions/url-info.cjs.map +1 -1
  136. package/dist/actions/url-info.d.cts +2 -2
  137. package/dist/actions/url-info.d.mts +2 -2
  138. package/dist/actions/url-info.mjs +2 -2
  139. package/dist/actions/url-info.mjs.map +1 -1
  140. package/dist/actions/verify-security-code.cjs +1 -1
  141. package/dist/actions/verify-security-code.cjs.map +1 -1
  142. package/dist/actions/verify-security-code.d.cts +1 -1
  143. package/dist/actions/verify-security-code.d.mts +1 -1
  144. package/dist/actions/verify-security-code.mjs +1 -1
  145. package/dist/actions/verify-security-code.mjs.map +1 -1
  146. package/dist/execute.cjs +1 -1
  147. package/dist/execute.cjs.map +1 -1
  148. package/dist/execute.mjs +1 -1
  149. package/dist/execute.mjs.map +1 -1
  150. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"run-browser-bot.mjs","names":[],"sources":["../../src/actions/run-browser-bot.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoRunBrowserBotInput = z.object({\n url: z.string().describe(\"The URL to load\"),\n exec: z.array(z.string()).describe(\"Execute JavaScript on the website. This parameter accepts JavaScript as either a string containing JavaScript or for sending multiple separate statements a JSON array. If a statement returns any value it will be returned in the 'exec-results' response. You can also use the following specially defined user interaction functions: sleep(seconds); click('selector'); focus('selector'); keys('characters'); enter(); tab();\").optional(),\n delay: z.number().int().describe(\"Delay in seconds to wait before capturing any page data, executing selectors or JavaScript. Default is 3.\").optional(),\n timeout: z.number().int().describe(\"Timeout in seconds. Give up if still trying to load the page after this number of seconds. Default is 30.\").optional(),\n selector: z.string().describe(\"Extract content from the page DOM using this CSS selector. You can find a good reference at https://www.w3schools.com/cssref/css_selectors.asp\").optional(),\n \"user-agent\": z.string().describe(\"Override the browser's default user-agent string with this one\").optional(),\n \"ignore-certificate-errors\": z.boolean().describe(\"Ignore any TLS/SSL certificate errors and load the page anyway. Default is false.\").optional(),\n}).describe(\"Request model for Browser Bot action.\");\nconst NeutrinoRunBrowserBot_HTMLElementSchema = z.object({\n id: z.string().describe(\"The id attribute of the element\").nullable().optional(),\n href: z.string().describe(\"The href attribute of the element\").nullable().optional(),\n html: z.string().describe(\"The HTML content of the element\").nullable().optional(),\n text: z.string().describe(\"The text content of the element\").nullable().optional(),\n \"class\": z.string().describe(\"The class attribute of the element\").nullable().optional(),\n}).describe(\"Model representing an HTML element extracted by a CSS selector.\");\nconst NeutrinoRunBrowserBot_ExecResultSchema = z.object({\n result: z.string().describe(\"The result returned by the statement\").nullable().optional(),\n statement: z.string().describe(\"The JavaScript statement that was executed\").nullable().optional(),\n}).describe(\"Model representing the result of executing JavaScript.\");\nconst NeutrinoRunBrowserBot_URLComponentsSchema = z.object({\n url: z.string().describe(\"The complete and final URL\").nullable().optional(),\n host: z.string().describe(\"The host of the URL. Will be either a domain name, sub-domain or IP address\").nullable().optional(),\n path: z.string().describe(\"The path of the URL. This is the part coming after the host and specifies which resource to load\").nullable().optional(),\n port: z.number().int().describe(\"The port of the URL. This is usually 443 for HTTPS and 80 for HTTP unless otherwise specified in the URL\").nullable().optional(),\n query: z.object({}).describe(\"The query of the URL. Contains a key/value map of any HTTP GET query parameters present in the URL\").nullable().optional(),\n protocol: z.string().describe(\"The protocol of the URL. For a website URL this will be either 'https' or 'http'\").nullable().optional(),\n}).describe(\"Model representing the components of a URL.\");\nexport const NeutrinoRunBrowserBotOutput = z.object({\n url: z.string().describe(\"The requested URL. This may not be the same as the final destination URL, if the URL redirects then it will be set in 'http-redirect-url' and 'is-http-redirect' will also be true\").nullable().optional(),\n title: z.string().describe(\"The document title\").nullable().optional(),\n content: z.string().describe(\"The complete raw, decompressed and decoded page content. Usually will be either HTML, JSON or XML\").nullable().optional(),\n elements: z.array(NeutrinoRunBrowserBot_HTMLElementSchema).describe(\"Array containing all the elements matching the supplied selector\").nullable().optional(),\n \"is-error\": z.boolean().describe(\"True if an error has occurred loading the page. Check the 'error-message' field for details\").nullable().optional(),\n \"is-secure\": z.boolean().describe(\"True if the page is secured using TLS/SSL\").nullable().optional(),\n \"load-time\": z.number().describe(\"The number of seconds taken to load the page (from initial request until DOM ready)\").nullable().optional(),\n \"mime-type\": z.string().describe(\"The document MIME type\").nullable().optional(),\n \"server-ip\": z.string().describe(\"The HTTP servers IP address\").nullable().optional(),\n \"url-valid\": z.boolean().describe(\"True if the URL supplied is valid\").nullable().optional(),\n \"is-http-ok\": z.boolean().describe(\"True if the HTTP status is OK (200)\").nullable().optional(),\n \"is-timeout\": z.boolean().describe(\"True if a timeout occurred while loading the page. You can set the timeout with the request parameter 'timeout'\").nullable().optional(),\n \"content-size\": z.number().int().describe(\"The size of the returned content in bytes\").nullable().optional(),\n \"exec-results\": z.array(NeutrinoRunBrowserBot_ExecResultSchema).describe(\"If you executed any JavaScript this array holds the results as objects\").nullable().optional(),\n \"error-message\": z.string().describe(\"Contains the error message if an error has occurred ('is-error' will be true)\").nullable().optional(),\n \"language-code\": z.string().describe(\"The ISO 2-letter language code of the page. Extracted from either the HTML document or via HTTP headers\").nullable().optional(),\n \"url-components\": NeutrinoRunBrowserBot_URLComponentsSchema.nullable().optional(),\n \"server-hostname\": z.string().describe(\"The HTTP servers hostname (PTR/RDNS record)\").nullable().optional(),\n \"http-status-code\": z.number().int().describe(\"The HTTP status code the URL returned\").nullable().optional(),\n \"is-http-redirect\": z.boolean().describe(\"True if the URL responded with an HTTP redirect\").nullable().optional(),\n \"response-headers\": z.object({}).describe(\"Map containing all the HTTP response headers the URL responded with\").nullable().optional(),\n \"security-details\": z.object({}).describe(\"Map containing details of the TLS/SSL setup\").nullable().optional(),\n \"http-redirect-url\": z.string().describe(\"The redirected URL if the URL responded with an HTTP redirect\").nullable().optional(),\n \"http-status-message\": z.string().describe(\"The HTTP status message the URL returned\").nullable().optional(),\n}).describe(\"Response model for Browser Bot action.\");\n\nexport const neutrinoRunBrowserBot = action(\"NEUTRINO_RUN_BROWSER_BOT\", {\n slug: \"neutrino-run-browser-bot\",\n name: \"Browser Bot\",\n description: \"Tool to automate browser interactions using a real Chromium browser. Use when you need to extract content, fill forms, capture screenshots, or navigate complex JavaScript-heavy websites.\",\n input: NeutrinoRunBrowserBotInput,\n output: NeutrinoRunBrowserBotOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"run-browser-bot.mjs","names":[],"sources":["../../src/actions/run-browser-bot.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoRunBrowserBotInput = z.object({\n url: z.string().describe(\"The URL to load\"),\n exec: z.array(z.string()).describe(\"Execute JavaScript on the website. This parameter accepts JavaScript as either a string containing JavaScript or for sending multiple separate statements a JSON array. If a statement returns any value it will be returned in the 'exec-results' response. You can also use the following specially defined user interaction functions: sleep(seconds); click('selector'); focus('selector'); keys('characters'); enter(); tab();\").optional(),\n delay: z.number().int().describe(\"Delay in seconds to wait before capturing any page data, executing selectors or JavaScript. Default is 3.\").optional(),\n timeout: z.number().int().describe(\"Timeout in seconds. Give up if still trying to load the page after this number of seconds. Default is 30.\").optional(),\n selector: z.string().describe(\"Extract content from the page DOM using this CSS selector. You can find a good reference at https://www.w3schools.com/cssref/css_selectors.asp\").optional(),\n \"user-agent\": z.string().describe(\"Override the browser's default user-agent string with this one\").optional(),\n \"ignore-certificate-errors\": z.boolean().describe(\"Ignore any TLS/SSL certificate errors and load the page anyway. Default is false.\").optional(),\n}).describe(\"Request model for Browser Bot action.\");\nconst NeutrinoRunBrowserBot_HTMLElementSchema = z.object({\n id: z.string().describe(\"The id attribute of the element\").nullable().optional(),\n href: z.string().describe(\"The href attribute of the element\").nullable().optional(),\n html: z.string().describe(\"The HTML content of the element\").nullable().optional(),\n text: z.string().describe(\"The text content of the element\").nullable().optional(),\n \"class\": z.string().describe(\"The class attribute of the element\").nullable().optional(),\n}).passthrough().describe(\"Model representing an HTML element extracted by a CSS selector.\");\nconst NeutrinoRunBrowserBot_ExecResultSchema = z.object({\n result: z.string().describe(\"The result returned by the statement\").nullable().optional(),\n statement: z.string().describe(\"The JavaScript statement that was executed\").nullable().optional(),\n}).passthrough().describe(\"Model representing the result of executing JavaScript.\");\nconst NeutrinoRunBrowserBot_URLComponentsSchema = z.object({\n url: z.string().describe(\"The complete and final URL\").nullable().optional(),\n host: z.string().describe(\"The host of the URL. Will be either a domain name, sub-domain or IP address\").nullable().optional(),\n path: z.string().describe(\"The path of the URL. This is the part coming after the host and specifies which resource to load\").nullable().optional(),\n port: z.number().int().describe(\"The port of the URL. This is usually 443 for HTTPS and 80 for HTTP unless otherwise specified in the URL\").nullable().optional(),\n query: z.record(z.string(), z.unknown()).describe(\"The query of the URL. Contains a key/value map of any HTTP GET query parameters present in the URL\").nullable().optional(),\n protocol: z.string().describe(\"The protocol of the URL. For a website URL this will be either 'https' or 'http'\").nullable().optional(),\n}).passthrough().describe(\"Model representing the components of a URL.\");\nexport const NeutrinoRunBrowserBotOutput = z.object({\n url: z.string().describe(\"The requested URL. This may not be the same as the final destination URL, if the URL redirects then it will be set in 'http-redirect-url' and 'is-http-redirect' will also be true\").nullable().optional(),\n title: z.string().describe(\"The document title\").nullable().optional(),\n content: z.string().describe(\"The complete raw, decompressed and decoded page content. Usually will be either HTML, JSON or XML\").nullable().optional(),\n elements: z.array(NeutrinoRunBrowserBot_HTMLElementSchema).describe(\"Array containing all the elements matching the supplied selector\").nullable().optional(),\n \"is-error\": z.boolean().describe(\"True if an error has occurred loading the page. Check the 'error-message' field for details\").nullable().optional(),\n \"is-secure\": z.boolean().describe(\"True if the page is secured using TLS/SSL\").nullable().optional(),\n \"load-time\": z.number().describe(\"The number of seconds taken to load the page (from initial request until DOM ready)\").nullable().optional(),\n \"mime-type\": z.string().describe(\"The document MIME type\").nullable().optional(),\n \"server-ip\": z.string().describe(\"The HTTP servers IP address\").nullable().optional(),\n \"url-valid\": z.boolean().describe(\"True if the URL supplied is valid\").nullable().optional(),\n \"is-http-ok\": z.boolean().describe(\"True if the HTTP status is OK (200)\").nullable().optional(),\n \"is-timeout\": z.boolean().describe(\"True if a timeout occurred while loading the page. You can set the timeout with the request parameter 'timeout'\").nullable().optional(),\n \"content-size\": z.number().int().describe(\"The size of the returned content in bytes\").nullable().optional(),\n \"exec-results\": z.array(NeutrinoRunBrowserBot_ExecResultSchema).describe(\"If you executed any JavaScript this array holds the results as objects\").nullable().optional(),\n \"error-message\": z.string().describe(\"Contains the error message if an error has occurred ('is-error' will be true)\").nullable().optional(),\n \"language-code\": z.string().describe(\"The ISO 2-letter language code of the page. Extracted from either the HTML document or via HTTP headers\").nullable().optional(),\n \"url-components\": NeutrinoRunBrowserBot_URLComponentsSchema.nullable().optional(),\n \"server-hostname\": z.string().describe(\"The HTTP servers hostname (PTR/RDNS record)\").nullable().optional(),\n \"http-status-code\": z.number().int().describe(\"The HTTP status code the URL returned\").nullable().optional(),\n \"is-http-redirect\": z.boolean().describe(\"True if the URL responded with an HTTP redirect\").nullable().optional(),\n \"response-headers\": z.record(z.string(), z.unknown()).describe(\"Map containing all the HTTP response headers the URL responded with\").nullable().optional(),\n \"security-details\": z.record(z.string(), z.unknown()).describe(\"Map containing details of the TLS/SSL setup\").nullable().optional(),\n \"http-redirect-url\": z.string().describe(\"The redirected URL if the URL responded with an HTTP redirect\").nullable().optional(),\n \"http-status-message\": z.string().describe(\"The HTTP status message the URL returned\").nullable().optional(),\n}).passthrough().describe(\"Response model for Browser Bot action.\");\n\nexport const neutrinoRunBrowserBot = action(\"NEUTRINO_RUN_BROWSER_BOT\", {\n slug: \"neutrino-run-browser-bot\",\n name: \"Browser Bot\",\n description: \"Tool to automate browser interactions using a real Chromium browser. Use when you need to extract content, fill forms, capture screenshots, or navigate complex JavaScript-heavy websites.\",\n input: NeutrinoRunBrowserBotInput,\n output: NeutrinoRunBrowserBotOutput,\n});\n"],"mappings":"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"}
@@ -15,7 +15,7 @@ const NeutrinoSmsVerifyOutput = zod.z.object({
15
15
  sent: zod.z.boolean().describe("True if the SMS has been sent successfully.").nullable(),
16
16
  "number-valid": zod.z.boolean().describe("True if this is a valid phone number.").nullable(),
17
17
  "security-code": zod.z.string().describe("The security code generated and sent in the SMS. Save this code to perform your own verification or use with the Verify Security Code API.").nullable()
18
- }).describe("Response model for the SMS_VERIFY action.");
18
+ }).passthrough().describe("Response model for the SMS_VERIFY action.");
19
19
  const neutrinoSmsVerify = require_action.action("NEUTRINO_SMS_VERIFY", {
20
20
  slug: "neutrino-sms-verify",
21
21
  name: "SMS Verify",
@@ -1 +1 @@
1
- {"version":3,"file":"sms-verify.cjs","names":["z","action"],"sources":["../../src/actions/sms-verify.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoSmsVerifyInput = z.object({\n ip: z.string().describe(\"The user's IP address, used for enhanced verification checks.\").optional(),\n number: z.string().describe(\"The phone number to send the verification code to, in international format (E.164).\"),\n \"brand-name\": z.string().describe(\"Your brand name to display in the SMS (up to 30 characters).\").optional(),\n \"code-length\": z.number().int().default(5).describe(\"The number of digits in the security code (4–12). Default is 5.\").optional(),\n \"country-code\": z.string().describe(\"Country dialing code if number is in local format, e.g. '44' for the U.K.'\").optional(),\n \"code-validity\": z.number().int().default(60).describe(\"How long the code is valid for in minutes (1–1440). Default is 60.\").optional(),\n \"language-code\": z.string().default(\"en\").describe(\"ISO 639 language code for the SMS message. Default is 'en'.\").optional(),\n \"security-code\": z.string().describe(\"Pass in your own numeric security code. Must only contain digits and match the length given by code-length.\").optional(),\n}).describe(\"Request model for the SMS_VERIFY action.\");\nexport const NeutrinoSmsVerifyOutput = z.object({\n sent: z.boolean().describe(\"True if the SMS has been sent successfully.\").nullable(),\n \"number-valid\": z.boolean().describe(\"True if this is a valid phone number.\").nullable(),\n \"security-code\": z.string().describe(\"The security code generated and sent in the SMS. Save this code to perform your own verification or use with the Verify Security Code API.\").nullable(),\n}).describe(\"Response model for the SMS_VERIFY action.\");\n\nexport const neutrinoSmsVerify = action(\"NEUTRINO_SMS_VERIFY\", {\n slug: \"neutrino-sms-verify\",\n name: \"SMS Verify\",\n description: \"Tool to send a unique security code via SMS. Use when verifying a user's phone number after collection.\",\n input: NeutrinoSmsVerifyInput,\n output: NeutrinoSmsVerifyOutput,\n});\n"],"mappings":";;;AAIA,MAAa,yBAAyBA,IAAAA,EAAE,OAAO;CAC7C,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS;CAClG,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qFAAqF;CACjH,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;CAC3G,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS;CAChI,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4EAA4E,CAAC,CAAC,SAAS;CAC3H,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS;CACtI,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS;CAC3H,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6GAA6G,CAAC,CAAC,SAAS;AAC/J,CAAC,CAAC,CAAC,SAAS,0CAA0C;AACtD,MAAa,0BAA0BA,IAAAA,EAAE,OAAO;CAC9C,MAAMA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;CACnF,gBAAgBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS;CACvF,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4IAA4I,CAAC,CAAC,SAAS;AAC9L,CAAC,CAAC,CAAC,SAAS,2CAA2C;AAEvD,MAAa,oBAAoBC,eAAAA,OAAO,uBAAuB;CAC7D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"sms-verify.cjs","names":["z","action"],"sources":["../../src/actions/sms-verify.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoSmsVerifyInput = z.object({\n ip: z.string().describe(\"The user's IP address, used for enhanced verification checks.\").optional(),\n number: z.string().describe(\"The phone number to send the verification code to, in international format (E.164).\"),\n \"brand-name\": z.string().describe(\"Your brand name to display in the SMS (up to 30 characters).\").optional(),\n \"code-length\": z.number().int().default(5).describe(\"The number of digits in the security code (4–12). Default is 5.\").optional(),\n \"country-code\": z.string().describe(\"Country dialing code if number is in local format, e.g. '44' for the U.K.'\").optional(),\n \"code-validity\": z.number().int().default(60).describe(\"How long the code is valid for in minutes (1–1440). Default is 60.\").optional(),\n \"language-code\": z.string().default(\"en\").describe(\"ISO 639 language code for the SMS message. Default is 'en'.\").optional(),\n \"security-code\": z.string().describe(\"Pass in your own numeric security code. Must only contain digits and match the length given by code-length.\").optional(),\n}).describe(\"Request model for the SMS_VERIFY action.\");\nexport const NeutrinoSmsVerifyOutput = z.object({\n sent: z.boolean().describe(\"True if the SMS has been sent successfully.\").nullable(),\n \"number-valid\": z.boolean().describe(\"True if this is a valid phone number.\").nullable(),\n \"security-code\": z.string().describe(\"The security code generated and sent in the SMS. Save this code to perform your own verification or use with the Verify Security Code API.\").nullable(),\n}).passthrough().describe(\"Response model for the SMS_VERIFY action.\");\n\nexport const neutrinoSmsVerify = action(\"NEUTRINO_SMS_VERIFY\", {\n slug: \"neutrino-sms-verify\",\n name: \"SMS Verify\",\n description: \"Tool to send a unique security code via SMS. Use when verifying a user's phone number after collection.\",\n input: NeutrinoSmsVerifyInput,\n output: NeutrinoSmsVerifyOutput,\n});\n"],"mappings":";;;AAIA,MAAa,yBAAyBA,IAAAA,EAAE,OAAO;CAC7C,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS;CAClG,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qFAAqF;CACjH,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;CAC3G,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS;CAChI,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4EAA4E,CAAC,CAAC,SAAS;CAC3H,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS;CACtI,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS;CAC3H,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6GAA6G,CAAC,CAAC,SAAS;AAC/J,CAAC,CAAC,CAAC,SAAS,0CAA0C;AACtD,MAAa,0BAA0BA,IAAAA,EAAE,OAAO;CAC9C,MAAMA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;CACnF,gBAAgBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS;CACvF,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4IAA4I,CAAC,CAAC,SAAS;AAC9L,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,2CAA2C;AAErE,MAAa,oBAAoBC,eAAAA,OAAO,uBAAuB;CAC7D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -15,7 +15,7 @@ declare const NeutrinoSmsVerifyOutput: z.ZodObject<{
15
15
  sent: z.ZodNullable<z.ZodBoolean>;
16
16
  "number-valid": z.ZodNullable<z.ZodBoolean>;
17
17
  "security-code": z.ZodNullable<z.ZodString>;
18
- }, z.core.$strip>;
18
+ }, z.core.$loose>;
19
19
  declare const neutrinoSmsVerify: import("@keystrokehq/action").WorkflowActionDefinition<{
20
20
  number: string;
21
21
  ip?: string | undefined;
@@ -15,7 +15,7 @@ declare const NeutrinoSmsVerifyOutput: z.ZodObject<{
15
15
  sent: z.ZodNullable<z.ZodBoolean>;
16
16
  "number-valid": z.ZodNullable<z.ZodBoolean>;
17
17
  "security-code": z.ZodNullable<z.ZodString>;
18
- }, z.core.$strip>;
18
+ }, z.core.$loose>;
19
19
  declare const neutrinoSmsVerify: import("@keystrokehq/action").WorkflowActionDefinition<{
20
20
  number: string;
21
21
  ip?: string | undefined;
@@ -18,7 +18,7 @@ const neutrinoSmsVerify = action("NEUTRINO_SMS_VERIFY", {
18
18
  sent: z.boolean().describe("True if the SMS has been sent successfully.").nullable(),
19
19
  "number-valid": z.boolean().describe("True if this is a valid phone number.").nullable(),
20
20
  "security-code": z.string().describe("The security code generated and sent in the SMS. Save this code to perform your own verification or use with the Verify Security Code API.").nullable()
21
- }).describe("Response model for the SMS_VERIFY action.")
21
+ }).passthrough().describe("Response model for the SMS_VERIFY action.")
22
22
  });
23
23
  //#endregion
24
24
  export { neutrinoSmsVerify };
@@ -1 +1 @@
1
- {"version":3,"file":"sms-verify.mjs","names":[],"sources":["../../src/actions/sms-verify.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoSmsVerifyInput = z.object({\n ip: z.string().describe(\"The user's IP address, used for enhanced verification checks.\").optional(),\n number: z.string().describe(\"The phone number to send the verification code to, in international format (E.164).\"),\n \"brand-name\": z.string().describe(\"Your brand name to display in the SMS (up to 30 characters).\").optional(),\n \"code-length\": z.number().int().default(5).describe(\"The number of digits in the security code (4–12). Default is 5.\").optional(),\n \"country-code\": z.string().describe(\"Country dialing code if number is in local format, e.g. '44' for the U.K.'\").optional(),\n \"code-validity\": z.number().int().default(60).describe(\"How long the code is valid for in minutes (1–1440). Default is 60.\").optional(),\n \"language-code\": z.string().default(\"en\").describe(\"ISO 639 language code for the SMS message. Default is 'en'.\").optional(),\n \"security-code\": z.string().describe(\"Pass in your own numeric security code. Must only contain digits and match the length given by code-length.\").optional(),\n}).describe(\"Request model for the SMS_VERIFY action.\");\nexport const NeutrinoSmsVerifyOutput = z.object({\n sent: z.boolean().describe(\"True if the SMS has been sent successfully.\").nullable(),\n \"number-valid\": z.boolean().describe(\"True if this is a valid phone number.\").nullable(),\n \"security-code\": z.string().describe(\"The security code generated and sent in the SMS. Save this code to perform your own verification or use with the Verify Security Code API.\").nullable(),\n}).describe(\"Response model for the SMS_VERIFY action.\");\n\nexport const neutrinoSmsVerify = action(\"NEUTRINO_SMS_VERIFY\", {\n slug: \"neutrino-sms-verify\",\n name: \"SMS Verify\",\n description: \"Tool to send a unique security code via SMS. Use when verifying a user's phone number after collection.\",\n input: NeutrinoSmsVerifyInput,\n output: NeutrinoSmsVerifyOutput,\n});\n"],"mappings":";;AAoBA,MAAa,oBAAoB,OAAO,uBAAuB;CAC7D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OApBoC,EAAE,OAAO;EAC7C,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS;EAClG,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,qFAAqF;EACjH,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;EAC3G,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS;EAChI,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,4EAA4E,CAAC,CAAC,SAAS;EAC3H,iBAAiB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS;EACtI,iBAAiB,EAAE,OAAO,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS;EAC3H,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,6GAA6G,CAAC,CAAC,SAAS;CAC/J,CAAC,CAAC,CAAC,SAAS,0CAWH;CACP,QAXqC,EAAE,OAAO;EAC9C,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;EACnF,gBAAgB,EAAE,QAAQ,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS;EACvF,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,4IAA4I,CAAC,CAAC,SAAS;CAC9L,CAAC,CAAC,CAAC,SAAS,2CAOF;AACV,CAAC"}
1
+ {"version":3,"file":"sms-verify.mjs","names":[],"sources":["../../src/actions/sms-verify.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoSmsVerifyInput = z.object({\n ip: z.string().describe(\"The user's IP address, used for enhanced verification checks.\").optional(),\n number: z.string().describe(\"The phone number to send the verification code to, in international format (E.164).\"),\n \"brand-name\": z.string().describe(\"Your brand name to display in the SMS (up to 30 characters).\").optional(),\n \"code-length\": z.number().int().default(5).describe(\"The number of digits in the security code (4–12). Default is 5.\").optional(),\n \"country-code\": z.string().describe(\"Country dialing code if number is in local format, e.g. '44' for the U.K.'\").optional(),\n \"code-validity\": z.number().int().default(60).describe(\"How long the code is valid for in minutes (1–1440). Default is 60.\").optional(),\n \"language-code\": z.string().default(\"en\").describe(\"ISO 639 language code for the SMS message. Default is 'en'.\").optional(),\n \"security-code\": z.string().describe(\"Pass in your own numeric security code. Must only contain digits and match the length given by code-length.\").optional(),\n}).describe(\"Request model for the SMS_VERIFY action.\");\nexport const NeutrinoSmsVerifyOutput = z.object({\n sent: z.boolean().describe(\"True if the SMS has been sent successfully.\").nullable(),\n \"number-valid\": z.boolean().describe(\"True if this is a valid phone number.\").nullable(),\n \"security-code\": z.string().describe(\"The security code generated and sent in the SMS. Save this code to perform your own verification or use with the Verify Security Code API.\").nullable(),\n}).passthrough().describe(\"Response model for the SMS_VERIFY action.\");\n\nexport const neutrinoSmsVerify = action(\"NEUTRINO_SMS_VERIFY\", {\n slug: \"neutrino-sms-verify\",\n name: \"SMS Verify\",\n description: \"Tool to send a unique security code via SMS. Use when verifying a user's phone number after collection.\",\n input: NeutrinoSmsVerifyInput,\n output: NeutrinoSmsVerifyOutput,\n});\n"],"mappings":";;AAoBA,MAAa,oBAAoB,OAAO,uBAAuB;CAC7D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OApBoC,EAAE,OAAO;EAC7C,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS;EAClG,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,qFAAqF;EACjH,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;EAC3G,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS;EAChI,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,4EAA4E,CAAC,CAAC,SAAS;EAC3H,iBAAiB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS;EACtI,iBAAiB,EAAE,OAAO,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS;EAC3H,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,6GAA6G,CAAC,CAAC,SAAS;CAC/J,CAAC,CAAC,CAAC,SAAS,0CAWH;CACP,QAXqC,EAAE,OAAO;EAC9C,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;EACnF,gBAAgB,EAAE,QAAQ,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS;EACvF,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,4IAA4I,CAAC,CAAC,SAAS;CAC9L,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,2CAOhB;AACV,CAAC"}
@@ -33,7 +33,7 @@ const NeutrinoUaLookupOutput = zod.z.object({
33
33
  "device-model-code": zod.z.string().describe("Device model code.").nullable().optional(),
34
34
  "device-resolution": zod.z.string().describe("Device screen resolution.").nullable().optional(),
35
35
  "device-pixel-ratio": zod.z.number().describe("Device pixel ratio.").nullable().optional()
36
- }).describe("Response model for the UA_LOOKUP action.");
36
+ }).passthrough().describe("Response model for the UA_LOOKUP action.");
37
37
  const neutrinoUaLookup = require_action.action("NEUTRINO_UA_LOOKUP", {
38
38
  slug: "neutrino-ua-lookup",
39
39
  name: "UA Lookup",
@@ -1 +1 @@
1
- {"version":3,"file":"ua-lookup.cjs","names":["z","action"],"sources":["../../src/actions/ua-lookup.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoUaLookupInput = z.object({\n ua: z.string().describe(\"The User-Agent string to parse and analyze. This can be a traditional UA string from HTTP headers or a browser's navigator.userAgent value. Maximum length: 2048 characters.\"),\n \"client-hints\": z.string().describe(\"Optional User-Agent Client Hints data for modern browsers (Chromium 89+). Provide as comma-separated header names or JSON object with hint values. Use this when the UA string is frozen to get detailed device information.\").optional(),\n}).describe(\"Request model for the UA_LOOKUP action.\");\nexport const NeutrinoUaLookupOutput = z.object({\n os: z.string().describe(\"Operating system name and version.\").nullable().optional(),\n ua: z.string().describe(\"Original User-Agent string.\").nullable().optional(),\n name: z.string().describe(\"Browser/client name.\").nullable().optional(),\n type: z.string().describe(\"Device type, e.g., 'desktop', 'phone', 'tablet', 'wearable'.\").nullable().optional(),\n version: z.string().describe(\"Full version string.\").nullable().optional(),\n \"is-mobile\": z.boolean().describe(\"True if a mobile device.\").nullable(),\n \"os-family\": z.string().describe(\"Operating system family name.\").nullable().optional(),\n \"device-ppi\": z.number().int().describe(\"Device pixels per inch.\").nullable().optional(),\n \"is-current\": z.boolean().describe(\"True if current/latest version.\").nullable().optional(),\n \"is-webview\": z.boolean().describe(\"True if embedded webview.\").nullable().optional(),\n \"os-version\": z.string().describe(\"OS version.\").nullable().optional(),\n \"device-brand\": z.string().describe(\"Brand of the device.\").nullable().optional(),\n \"device-model\": z.string().describe(\"Device model name/number.\").nullable().optional(),\n \"device-price\": z.number().int().describe(\"Device price in USD.\").nullable().optional(),\n \"is-ua-frozen\": z.boolean().describe(\"True if User-Agent string is frozen (Chromium 89+).\").nullable().optional(),\n \"version-major\": z.string().describe(\"Major version number.\").nullable().optional(),\n \"browser-engine\": z.string().describe(\"Browser engine (e.g., Blink, Gecko, WebKit).\").nullable().optional(),\n \"device-release\": z.string().describe(\"Device release date.\").nullable().optional(),\n \"browser-release\": z.string().describe(\"Browser release year.\").nullable().optional(),\n \"device-width-mm\": z.number().int().describe(\"Device width in millimeters.\").nullable().optional(),\n \"device-width-px\": z.number().int().describe(\"Device width in pixels.\").nullable().optional(),\n \"device-height-mm\": z.number().int().describe(\"Device height in millimeters.\").nullable().optional(),\n \"device-height-px\": z.number().int().describe(\"Device height in pixels.\").nullable().optional(),\n \"os-version-major\": z.string().describe(\"OS major version.\").nullable().optional(),\n \"device-model-code\": z.string().describe(\"Device model code.\").nullable().optional(),\n \"device-resolution\": z.string().describe(\"Device screen resolution.\").nullable().optional(),\n \"device-pixel-ratio\": z.number().describe(\"Device pixel ratio.\").nullable().optional(),\n}).describe(\"Response model for the UA_LOOKUP action.\");\n\nexport const neutrinoUaLookup = action(\"NEUTRINO_UA_LOOKUP\", {\n slug: \"neutrino-ua-lookup\",\n name: \"UA Lookup\",\n description: \"Parse and analyze User-Agent strings to extract detailed browser, device, and operating system information. Returns device type (desktop/phone/tablet/robot), browser name and version, OS details, device specifications (brand, model, screen resolution, price), and indicators for mobile devices, webviews, and frozen User-Agents. Supports both traditional UA strings and modern User-Agent Client Hints.\",\n input: NeutrinoUaLookupInput,\n output: NeutrinoUaLookupOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"ua-lookup.cjs","names":["z","action"],"sources":["../../src/actions/ua-lookup.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoUaLookupInput = z.object({\n ua: z.string().describe(\"The User-Agent string to parse and analyze. This can be a traditional UA string from HTTP headers or a browser's navigator.userAgent value. Maximum length: 2048 characters.\"),\n \"client-hints\": z.string().describe(\"Optional User-Agent Client Hints data for modern browsers (Chromium 89+). Provide as comma-separated header names or JSON object with hint values. Use this when the UA string is frozen to get detailed device information.\").optional(),\n}).describe(\"Request model for the UA_LOOKUP action.\");\nexport const NeutrinoUaLookupOutput = z.object({\n os: z.string().describe(\"Operating system name and version.\").nullable().optional(),\n ua: z.string().describe(\"Original User-Agent string.\").nullable().optional(),\n name: z.string().describe(\"Browser/client name.\").nullable().optional(),\n type: z.string().describe(\"Device type, e.g., 'desktop', 'phone', 'tablet', 'wearable'.\").nullable().optional(),\n version: z.string().describe(\"Full version string.\").nullable().optional(),\n \"is-mobile\": z.boolean().describe(\"True if a mobile device.\").nullable(),\n \"os-family\": z.string().describe(\"Operating system family name.\").nullable().optional(),\n \"device-ppi\": z.number().int().describe(\"Device pixels per inch.\").nullable().optional(),\n \"is-current\": z.boolean().describe(\"True if current/latest version.\").nullable().optional(),\n \"is-webview\": z.boolean().describe(\"True if embedded webview.\").nullable().optional(),\n \"os-version\": z.string().describe(\"OS version.\").nullable().optional(),\n \"device-brand\": z.string().describe(\"Brand of the device.\").nullable().optional(),\n \"device-model\": z.string().describe(\"Device model name/number.\").nullable().optional(),\n \"device-price\": z.number().int().describe(\"Device price in USD.\").nullable().optional(),\n \"is-ua-frozen\": z.boolean().describe(\"True if User-Agent string is frozen (Chromium 89+).\").nullable().optional(),\n \"version-major\": z.string().describe(\"Major version number.\").nullable().optional(),\n \"browser-engine\": z.string().describe(\"Browser engine (e.g., Blink, Gecko, WebKit).\").nullable().optional(),\n \"device-release\": z.string().describe(\"Device release date.\").nullable().optional(),\n \"browser-release\": z.string().describe(\"Browser release year.\").nullable().optional(),\n \"device-width-mm\": z.number().int().describe(\"Device width in millimeters.\").nullable().optional(),\n \"device-width-px\": z.number().int().describe(\"Device width in pixels.\").nullable().optional(),\n \"device-height-mm\": z.number().int().describe(\"Device height in millimeters.\").nullable().optional(),\n \"device-height-px\": z.number().int().describe(\"Device height in pixels.\").nullable().optional(),\n \"os-version-major\": z.string().describe(\"OS major version.\").nullable().optional(),\n \"device-model-code\": z.string().describe(\"Device model code.\").nullable().optional(),\n \"device-resolution\": z.string().describe(\"Device screen resolution.\").nullable().optional(),\n \"device-pixel-ratio\": z.number().describe(\"Device pixel ratio.\").nullable().optional(),\n}).passthrough().describe(\"Response model for the UA_LOOKUP action.\");\n\nexport const neutrinoUaLookup = action(\"NEUTRINO_UA_LOOKUP\", {\n slug: \"neutrino-ua-lookup\",\n name: \"UA Lookup\",\n description: \"Parse and analyze User-Agent strings to extract detailed browser, device, and operating system information. Returns device type (desktop/phone/tablet/robot), browser name and version, OS details, device specifications (brand, model, screen resolution, price), and indicators for mobile devices, webviews, and frozen User-Agents. Supports both traditional UA strings and modern User-Agent Client Hints.\",\n input: NeutrinoUaLookupInput,\n output: NeutrinoUaLookupOutput,\n});\n"],"mappings":";;;AAIA,MAAa,wBAAwBA,IAAAA,EAAE,OAAO;CAC5C,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8KAA8K;CACtM,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8NAA8N,CAAC,CAAC,SAAS;AAC/Q,CAAC,CAAC,CAAC,SAAS,yCAAyC;AACrD,MAAa,yBAAyBA,IAAAA,EAAE,OAAO;CAC7C,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClF,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3E,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9G,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACzE,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;CACvE,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtF,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvF,cAAcA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1F,cAAcA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpF,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrE,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChF,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrF,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtF,gBAAgBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChH,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClF,kBAAkBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1G,kBAAkBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClF,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpF,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjG,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5F,oBAAoBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnG,oBAAoBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9F,oBAAoBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjF,qBAAqBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnF,qBAAqBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1F,sBAAsBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,0CAA0C;AAEpE,MAAa,mBAAmBC,eAAAA,OAAO,sBAAsB;CAC3D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -33,7 +33,7 @@ declare const NeutrinoUaLookupOutput: z.ZodObject<{
33
33
  "device-model-code": z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
34
  "device-resolution": z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
35
  "device-pixel-ratio": z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
36
- }, z.core.$strip>;
36
+ }, z.core.$loose>;
37
37
  declare const neutrinoUaLookup: import("@keystrokehq/action").WorkflowActionDefinition<{
38
38
  ua: string;
39
39
  "client-hints"?: string | undefined;
@@ -33,7 +33,7 @@ declare const NeutrinoUaLookupOutput: z.ZodObject<{
33
33
  "device-model-code": z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
34
  "device-resolution": z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
35
  "device-pixel-ratio": z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
36
- }, z.core.$strip>;
36
+ }, z.core.$loose>;
37
37
  declare const neutrinoUaLookup: import("@keystrokehq/action").WorkflowActionDefinition<{
38
38
  ua: string;
39
39
  "client-hints"?: string | undefined;
@@ -36,7 +36,7 @@ const neutrinoUaLookup = action("NEUTRINO_UA_LOOKUP", {
36
36
  "device-model-code": z.string().describe("Device model code.").nullable().optional(),
37
37
  "device-resolution": z.string().describe("Device screen resolution.").nullable().optional(),
38
38
  "device-pixel-ratio": z.number().describe("Device pixel ratio.").nullable().optional()
39
- }).describe("Response model for the UA_LOOKUP action.")
39
+ }).passthrough().describe("Response model for the UA_LOOKUP action.")
40
40
  });
41
41
  //#endregion
42
42
  export { neutrinoUaLookup };
@@ -1 +1 @@
1
- {"version":3,"file":"ua-lookup.mjs","names":[],"sources":["../../src/actions/ua-lookup.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoUaLookupInput = z.object({\n ua: z.string().describe(\"The User-Agent string to parse and analyze. This can be a traditional UA string from HTTP headers or a browser's navigator.userAgent value. Maximum length: 2048 characters.\"),\n \"client-hints\": z.string().describe(\"Optional User-Agent Client Hints data for modern browsers (Chromium 89+). Provide as comma-separated header names or JSON object with hint values. Use this when the UA string is frozen to get detailed device information.\").optional(),\n}).describe(\"Request model for the UA_LOOKUP action.\");\nexport const NeutrinoUaLookupOutput = z.object({\n os: z.string().describe(\"Operating system name and version.\").nullable().optional(),\n ua: z.string().describe(\"Original User-Agent string.\").nullable().optional(),\n name: z.string().describe(\"Browser/client name.\").nullable().optional(),\n type: z.string().describe(\"Device type, e.g., 'desktop', 'phone', 'tablet', 'wearable'.\").nullable().optional(),\n version: z.string().describe(\"Full version string.\").nullable().optional(),\n \"is-mobile\": z.boolean().describe(\"True if a mobile device.\").nullable(),\n \"os-family\": z.string().describe(\"Operating system family name.\").nullable().optional(),\n \"device-ppi\": z.number().int().describe(\"Device pixels per inch.\").nullable().optional(),\n \"is-current\": z.boolean().describe(\"True if current/latest version.\").nullable().optional(),\n \"is-webview\": z.boolean().describe(\"True if embedded webview.\").nullable().optional(),\n \"os-version\": z.string().describe(\"OS version.\").nullable().optional(),\n \"device-brand\": z.string().describe(\"Brand of the device.\").nullable().optional(),\n \"device-model\": z.string().describe(\"Device model name/number.\").nullable().optional(),\n \"device-price\": z.number().int().describe(\"Device price in USD.\").nullable().optional(),\n \"is-ua-frozen\": z.boolean().describe(\"True if User-Agent string is frozen (Chromium 89+).\").nullable().optional(),\n \"version-major\": z.string().describe(\"Major version number.\").nullable().optional(),\n \"browser-engine\": z.string().describe(\"Browser engine (e.g., Blink, Gecko, WebKit).\").nullable().optional(),\n \"device-release\": z.string().describe(\"Device release date.\").nullable().optional(),\n \"browser-release\": z.string().describe(\"Browser release year.\").nullable().optional(),\n \"device-width-mm\": z.number().int().describe(\"Device width in millimeters.\").nullable().optional(),\n \"device-width-px\": z.number().int().describe(\"Device width in pixels.\").nullable().optional(),\n \"device-height-mm\": z.number().int().describe(\"Device height in millimeters.\").nullable().optional(),\n \"device-height-px\": z.number().int().describe(\"Device height in pixels.\").nullable().optional(),\n \"os-version-major\": z.string().describe(\"OS major version.\").nullable().optional(),\n \"device-model-code\": z.string().describe(\"Device model code.\").nullable().optional(),\n \"device-resolution\": z.string().describe(\"Device screen resolution.\").nullable().optional(),\n \"device-pixel-ratio\": z.number().describe(\"Device pixel ratio.\").nullable().optional(),\n}).describe(\"Response model for the UA_LOOKUP action.\");\n\nexport const neutrinoUaLookup = action(\"NEUTRINO_UA_LOOKUP\", {\n slug: \"neutrino-ua-lookup\",\n name: \"UA Lookup\",\n description: \"Parse and analyze User-Agent strings to extract detailed browser, device, and operating system information. Returns device type (desktop/phone/tablet/robot), browser name and version, OS details, device specifications (brand, model, screen resolution, price), and indicators for mobile devices, webviews, and frozen User-Agents. Supports both traditional UA strings and modern User-Agent Client Hints.\",\n input: NeutrinoUaLookupInput,\n output: NeutrinoUaLookupOutput,\n});\n"],"mappings":";;AAsCA,MAAa,mBAAmB,OAAO,sBAAsB;CAC3D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAtCmC,EAAE,OAAO;EAC5C,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,8KAA8K;EACtM,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,8NAA8N,CAAC,CAAC,SAAS;CAC/Q,CAAC,CAAC,CAAC,SAAS,yCAmCH;CACP,QAnCoC,EAAE,OAAO;EAC7C,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClF,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC3E,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC9G,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACzE,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;EACvE,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtF,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACvF,cAAc,EAAE,QAAQ,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1F,cAAc,EAAE,QAAQ,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpF,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACrE,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChF,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACrF,gBAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtF,gBAAgB,EAAE,QAAQ,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChH,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClF,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1G,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClF,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpF,mBAAmB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACjG,mBAAmB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC5F,oBAAoB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACnG,oBAAoB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC9F,oBAAoB,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACjF,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACnF,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1F,sBAAsB,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvF,CAAC,CAAC,CAAC,SAAS,0CAOF;AACV,CAAC"}
1
+ {"version":3,"file":"ua-lookup.mjs","names":[],"sources":["../../src/actions/ua-lookup.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoUaLookupInput = z.object({\n ua: z.string().describe(\"The User-Agent string to parse and analyze. This can be a traditional UA string from HTTP headers or a browser's navigator.userAgent value. Maximum length: 2048 characters.\"),\n \"client-hints\": z.string().describe(\"Optional User-Agent Client Hints data for modern browsers (Chromium 89+). Provide as comma-separated header names or JSON object with hint values. Use this when the UA string is frozen to get detailed device information.\").optional(),\n}).describe(\"Request model for the UA_LOOKUP action.\");\nexport const NeutrinoUaLookupOutput = z.object({\n os: z.string().describe(\"Operating system name and version.\").nullable().optional(),\n ua: z.string().describe(\"Original User-Agent string.\").nullable().optional(),\n name: z.string().describe(\"Browser/client name.\").nullable().optional(),\n type: z.string().describe(\"Device type, e.g., 'desktop', 'phone', 'tablet', 'wearable'.\").nullable().optional(),\n version: z.string().describe(\"Full version string.\").nullable().optional(),\n \"is-mobile\": z.boolean().describe(\"True if a mobile device.\").nullable(),\n \"os-family\": z.string().describe(\"Operating system family name.\").nullable().optional(),\n \"device-ppi\": z.number().int().describe(\"Device pixels per inch.\").nullable().optional(),\n \"is-current\": z.boolean().describe(\"True if current/latest version.\").nullable().optional(),\n \"is-webview\": z.boolean().describe(\"True if embedded webview.\").nullable().optional(),\n \"os-version\": z.string().describe(\"OS version.\").nullable().optional(),\n \"device-brand\": z.string().describe(\"Brand of the device.\").nullable().optional(),\n \"device-model\": z.string().describe(\"Device model name/number.\").nullable().optional(),\n \"device-price\": z.number().int().describe(\"Device price in USD.\").nullable().optional(),\n \"is-ua-frozen\": z.boolean().describe(\"True if User-Agent string is frozen (Chromium 89+).\").nullable().optional(),\n \"version-major\": z.string().describe(\"Major version number.\").nullable().optional(),\n \"browser-engine\": z.string().describe(\"Browser engine (e.g., Blink, Gecko, WebKit).\").nullable().optional(),\n \"device-release\": z.string().describe(\"Device release date.\").nullable().optional(),\n \"browser-release\": z.string().describe(\"Browser release year.\").nullable().optional(),\n \"device-width-mm\": z.number().int().describe(\"Device width in millimeters.\").nullable().optional(),\n \"device-width-px\": z.number().int().describe(\"Device width in pixels.\").nullable().optional(),\n \"device-height-mm\": z.number().int().describe(\"Device height in millimeters.\").nullable().optional(),\n \"device-height-px\": z.number().int().describe(\"Device height in pixels.\").nullable().optional(),\n \"os-version-major\": z.string().describe(\"OS major version.\").nullable().optional(),\n \"device-model-code\": z.string().describe(\"Device model code.\").nullable().optional(),\n \"device-resolution\": z.string().describe(\"Device screen resolution.\").nullable().optional(),\n \"device-pixel-ratio\": z.number().describe(\"Device pixel ratio.\").nullable().optional(),\n}).passthrough().describe(\"Response model for the UA_LOOKUP action.\");\n\nexport const neutrinoUaLookup = action(\"NEUTRINO_UA_LOOKUP\", {\n slug: \"neutrino-ua-lookup\",\n name: \"UA Lookup\",\n description: \"Parse and analyze User-Agent strings to extract detailed browser, device, and operating system information. Returns device type (desktop/phone/tablet/robot), browser name and version, OS details, device specifications (brand, model, screen resolution, price), and indicators for mobile devices, webviews, and frozen User-Agents. Supports both traditional UA strings and modern User-Agent Client Hints.\",\n input: NeutrinoUaLookupInput,\n output: NeutrinoUaLookupOutput,\n});\n"],"mappings":";;AAsCA,MAAa,mBAAmB,OAAO,sBAAsB;CAC3D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAtCmC,EAAE,OAAO;EAC5C,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,8KAA8K;EACtM,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,8NAA8N,CAAC,CAAC,SAAS;CAC/Q,CAAC,CAAC,CAAC,SAAS,yCAmCH;CACP,QAnCoC,EAAE,OAAO;EAC7C,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClF,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC3E,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC9G,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACzE,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;EACvE,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtF,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACvF,cAAc,EAAE,QAAQ,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1F,cAAc,EAAE,QAAQ,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpF,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACrE,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChF,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACrF,gBAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtF,gBAAgB,EAAE,QAAQ,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChH,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClF,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1G,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClF,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpF,mBAAmB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACjG,mBAAmB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC5F,oBAAoB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACnG,oBAAoB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC9F,oBAAoB,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACjF,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACnF,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1F,sBAAsB,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,0CAOhB;AACV,CAAC"}
@@ -8,7 +8,7 @@ const NeutrinoUrlInfoInput = zod.z.object({
8
8
  const NeutrinoUrlInfoOutput = zod.z.object({
9
9
  url: zod.z.string().describe("The fully qualified URL (may differ if redirected)").nullable(),
10
10
  real: zod.z.boolean().describe("True if the URL is actively serving content").nullable(),
11
- query: zod.z.object({}).describe("Key-value map of URL query parameters"),
11
+ query: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Key-value map of URL query parameters"),
12
12
  title: zod.z.string().describe("The document's title/heading text").nullable().optional(),
13
13
  valid: zod.z.boolean().describe("True if the URL is properly formatted").nullable(),
14
14
  content: zod.z.string().describe("Response body content (populated with fetch-content option)").nullable(),
@@ -33,7 +33,7 @@ const NeutrinoUrlInfoOutput = zod.z.object({
33
33
  "content-encoding": zod.z.string().describe("Compression/encoding format used").nullable().optional(),
34
34
  "http-status-message": zod.z.string().describe("Text description of HTTP status code").nullable(),
35
35
  "server-country-code": zod.z.string().describe("ISO 2-letter country code from IP location").nullable().optional()
36
- }).describe("Response model for URL info action.");
36
+ }).passthrough().describe("Response model for URL info action.");
37
37
  const neutrinoUrlInfo = require_action.action("NEUTRINO_URL_INFO", {
38
38
  slug: "neutrino-url-info",
39
39
  name: "URL Info",
@@ -1 +1 @@
1
- {"version":3,"file":"url-info.cjs","names":["z","action"],"sources":["../../src/actions/url-info.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoUrlInfoInput = z.object({\n url: z.string().describe(\"The URL to analyze\"),\n \"fetch-content\": z.boolean().default(false).describe(\"If true, fetch and return the full content of the URL\").optional(),\n}).describe(\"Request model for URL info action.\");\nexport const NeutrinoUrlInfoOutput = z.object({\n url: z.string().describe(\"The fully qualified URL (may differ if redirected)\").nullable(),\n real: z.boolean().describe(\"True if the URL is actively serving content\").nullable(),\n query: z.object({}).describe(\"Key-value map of URL query parameters\"),\n title: z.string().describe(\"The document's title/heading text\").nullable().optional(),\n valid: z.boolean().describe(\"True if the URL is properly formatted\").nullable(),\n content: z.string().describe(\"Response body content (populated with fetch-content option)\").nullable(),\n \"http-ok\": z.boolean().describe(\"True if HTTP 200 status was received\").nullable(),\n \"is-error\": z.boolean().describe(\"True if errors occurred during URL loading (network, TLS, timeout)\").nullable(),\n \"url-path\": z.string().describe(\"The URL's path component\").nullable(),\n \"url-port\": z.number().int().describe(\"Port number for connection\").nullable(),\n \"load-time\": z.number().describe(\"Duration in seconds to retrieve content\").nullable(),\n \"server-ip\": z.string().describe(\"Hosting server's IP address\").nullable().optional(),\n \"is-timeout\": z.boolean().describe(\"True if loading exceeded timeout threshold\").nullable(),\n \"http-status\": z.number().int().describe(\"HTTP response code (0 indicates network issue)\").nullable(),\n \"server-city\": z.string().describe(\"City name from IP location data\").nullable().optional(),\n \"server-name\": z.string().describe(\"Server software identification\").nullable().optional(),\n \"content-size\": z.number().int().describe(\"Response size in bytes\").nullable(),\n \"content-type\": z.string().describe(\"MIME type served by the URL\").nullable().optional(),\n \"url-protocol\": z.string().describe(\"Protocol type (http or https)\").nullable(),\n \"http-redirect\": z.boolean().describe(\"True if URL returned HTTP redirect\").nullable(),\n \"language-code\": z.string().describe(\"ISO 2-letter language code from HTML or HTTP headers\").nullable().optional(),\n \"server-region\": z.string().describe(\"Region/state name from IP location data\").nullable().optional(),\n \"server-country\": z.string().describe(\"Full country name from IP geolocation\").nullable().optional(),\n \"server-hostname\": z.string().describe(\"Server's hostname from PTR record\").nullable().optional(),\n \"content-encoding\": z.string().describe(\"Compression/encoding format used\").nullable().optional(),\n \"http-status-message\": z.string().describe(\"Text description of HTTP status code\").nullable(),\n \"server-country-code\": z.string().describe(\"ISO 2-letter country code from IP location\").nullable().optional(),\n}).describe(\"Response model for URL info action.\");\n\nexport const neutrinoUrlInfo = action(\"NEUTRINO_URL_INFO\", {\n slug: \"neutrino-url-info\",\n name: \"URL Info\",\n description: \"Tool to parse, analyze, and retrieve content from the supplied URL. Use when you need detailed URL metadata or to fetch page content.\",\n input: NeutrinoUrlInfoInput,\n output: NeutrinoUrlInfoOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"url-info.cjs","names":["z","action"],"sources":["../../src/actions/url-info.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoUrlInfoInput = z.object({\n url: z.string().describe(\"The URL to analyze\"),\n \"fetch-content\": z.boolean().default(false).describe(\"If true, fetch and return the full content of the URL\").optional(),\n}).describe(\"Request model for URL info action.\");\nexport const NeutrinoUrlInfoOutput = z.object({\n url: z.string().describe(\"The fully qualified URL (may differ if redirected)\").nullable(),\n real: z.boolean().describe(\"True if the URL is actively serving content\").nullable(),\n query: z.record(z.string(), z.unknown()).describe(\"Key-value map of URL query parameters\"),\n title: z.string().describe(\"The document's title/heading text\").nullable().optional(),\n valid: z.boolean().describe(\"True if the URL is properly formatted\").nullable(),\n content: z.string().describe(\"Response body content (populated with fetch-content option)\").nullable(),\n \"http-ok\": z.boolean().describe(\"True if HTTP 200 status was received\").nullable(),\n \"is-error\": z.boolean().describe(\"True if errors occurred during URL loading (network, TLS, timeout)\").nullable(),\n \"url-path\": z.string().describe(\"The URL's path component\").nullable(),\n \"url-port\": z.number().int().describe(\"Port number for connection\").nullable(),\n \"load-time\": z.number().describe(\"Duration in seconds to retrieve content\").nullable(),\n \"server-ip\": z.string().describe(\"Hosting server's IP address\").nullable().optional(),\n \"is-timeout\": z.boolean().describe(\"True if loading exceeded timeout threshold\").nullable(),\n \"http-status\": z.number().int().describe(\"HTTP response code (0 indicates network issue)\").nullable(),\n \"server-city\": z.string().describe(\"City name from IP location data\").nullable().optional(),\n \"server-name\": z.string().describe(\"Server software identification\").nullable().optional(),\n \"content-size\": z.number().int().describe(\"Response size in bytes\").nullable(),\n \"content-type\": z.string().describe(\"MIME type served by the URL\").nullable().optional(),\n \"url-protocol\": z.string().describe(\"Protocol type (http or https)\").nullable(),\n \"http-redirect\": z.boolean().describe(\"True if URL returned HTTP redirect\").nullable(),\n \"language-code\": z.string().describe(\"ISO 2-letter language code from HTML or HTTP headers\").nullable().optional(),\n \"server-region\": z.string().describe(\"Region/state name from IP location data\").nullable().optional(),\n \"server-country\": z.string().describe(\"Full country name from IP geolocation\").nullable().optional(),\n \"server-hostname\": z.string().describe(\"Server's hostname from PTR record\").nullable().optional(),\n \"content-encoding\": z.string().describe(\"Compression/encoding format used\").nullable().optional(),\n \"http-status-message\": z.string().describe(\"Text description of HTTP status code\").nullable(),\n \"server-country-code\": z.string().describe(\"ISO 2-letter country code from IP location\").nullable().optional(),\n}).passthrough().describe(\"Response model for URL info action.\");\n\nexport const neutrinoUrlInfo = action(\"NEUTRINO_URL_INFO\", {\n slug: \"neutrino-url-info\",\n name: \"URL Info\",\n description: \"Tool to parse, analyze, and retrieve content from the supplied URL. Use when you need detailed URL metadata or to fetch page content.\",\n input: NeutrinoUrlInfoInput,\n output: NeutrinoUrlInfoOutput,\n});\n"],"mappings":"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"}
@@ -8,7 +8,7 @@ declare const NeutrinoUrlInfoInput: z.ZodObject<{
8
8
  declare const NeutrinoUrlInfoOutput: z.ZodObject<{
9
9
  url: z.ZodNullable<z.ZodString>;
10
10
  real: z.ZodNullable<z.ZodBoolean>;
11
- query: z.ZodObject<{}, z.core.$strip>;
11
+ query: z.ZodRecord<z.ZodString, z.ZodUnknown>;
12
12
  title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13
13
  valid: z.ZodNullable<z.ZodBoolean>;
14
14
  content: z.ZodNullable<z.ZodString>;
@@ -33,7 +33,7 @@ declare const NeutrinoUrlInfoOutput: z.ZodObject<{
33
33
  "content-encoding": z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
34
  "http-status-message": z.ZodNullable<z.ZodString>;
35
35
  "server-country-code": z.ZodOptional<z.ZodNullable<z.ZodString>>;
36
- }, z.core.$strip>;
36
+ }, z.core.$loose>;
37
37
  declare const neutrinoUrlInfo: import("@keystrokehq/action").WorkflowActionDefinition<{
38
38
  url: string;
39
39
  "fetch-content"?: boolean | undefined;
@@ -8,7 +8,7 @@ declare const NeutrinoUrlInfoInput: z.ZodObject<{
8
8
  declare const NeutrinoUrlInfoOutput: z.ZodObject<{
9
9
  url: z.ZodNullable<z.ZodString>;
10
10
  real: z.ZodNullable<z.ZodBoolean>;
11
- query: z.ZodObject<{}, z.core.$strip>;
11
+ query: z.ZodRecord<z.ZodString, z.ZodUnknown>;
12
12
  title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13
13
  valid: z.ZodNullable<z.ZodBoolean>;
14
14
  content: z.ZodNullable<z.ZodString>;
@@ -33,7 +33,7 @@ declare const NeutrinoUrlInfoOutput: z.ZodObject<{
33
33
  "content-encoding": z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
34
  "http-status-message": z.ZodNullable<z.ZodString>;
35
35
  "server-country-code": z.ZodOptional<z.ZodNullable<z.ZodString>>;
36
- }, z.core.$strip>;
36
+ }, z.core.$loose>;
37
37
  declare const neutrinoUrlInfo: import("@keystrokehq/action").WorkflowActionDefinition<{
38
38
  url: string;
39
39
  "fetch-content"?: boolean | undefined;
@@ -11,7 +11,7 @@ const neutrinoUrlInfo = action("NEUTRINO_URL_INFO", {
11
11
  output: z.object({
12
12
  url: z.string().describe("The fully qualified URL (may differ if redirected)").nullable(),
13
13
  real: z.boolean().describe("True if the URL is actively serving content").nullable(),
14
- query: z.object({}).describe("Key-value map of URL query parameters"),
14
+ query: z.record(z.string(), z.unknown()).describe("Key-value map of URL query parameters"),
15
15
  title: z.string().describe("The document's title/heading text").nullable().optional(),
16
16
  valid: z.boolean().describe("True if the URL is properly formatted").nullable(),
17
17
  content: z.string().describe("Response body content (populated with fetch-content option)").nullable(),
@@ -36,7 +36,7 @@ const neutrinoUrlInfo = action("NEUTRINO_URL_INFO", {
36
36
  "content-encoding": z.string().describe("Compression/encoding format used").nullable().optional(),
37
37
  "http-status-message": z.string().describe("Text description of HTTP status code").nullable(),
38
38
  "server-country-code": z.string().describe("ISO 2-letter country code from IP location").nullable().optional()
39
- }).describe("Response model for URL info action.")
39
+ }).passthrough().describe("Response model for URL info action.")
40
40
  });
41
41
  //#endregion
42
42
  export { neutrinoUrlInfo };
@@ -1 +1 @@
1
- {"version":3,"file":"url-info.mjs","names":[],"sources":["../../src/actions/url-info.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoUrlInfoInput = z.object({\n url: z.string().describe(\"The URL to analyze\"),\n \"fetch-content\": z.boolean().default(false).describe(\"If true, fetch and return the full content of the URL\").optional(),\n}).describe(\"Request model for URL info action.\");\nexport const NeutrinoUrlInfoOutput = z.object({\n url: z.string().describe(\"The fully qualified URL (may differ if redirected)\").nullable(),\n real: z.boolean().describe(\"True if the URL is actively serving content\").nullable(),\n query: z.object({}).describe(\"Key-value map of URL query parameters\"),\n title: z.string().describe(\"The document's title/heading text\").nullable().optional(),\n valid: z.boolean().describe(\"True if the URL is properly formatted\").nullable(),\n content: z.string().describe(\"Response body content (populated with fetch-content option)\").nullable(),\n \"http-ok\": z.boolean().describe(\"True if HTTP 200 status was received\").nullable(),\n \"is-error\": z.boolean().describe(\"True if errors occurred during URL loading (network, TLS, timeout)\").nullable(),\n \"url-path\": z.string().describe(\"The URL's path component\").nullable(),\n \"url-port\": z.number().int().describe(\"Port number for connection\").nullable(),\n \"load-time\": z.number().describe(\"Duration in seconds to retrieve content\").nullable(),\n \"server-ip\": z.string().describe(\"Hosting server's IP address\").nullable().optional(),\n \"is-timeout\": z.boolean().describe(\"True if loading exceeded timeout threshold\").nullable(),\n \"http-status\": z.number().int().describe(\"HTTP response code (0 indicates network issue)\").nullable(),\n \"server-city\": z.string().describe(\"City name from IP location data\").nullable().optional(),\n \"server-name\": z.string().describe(\"Server software identification\").nullable().optional(),\n \"content-size\": z.number().int().describe(\"Response size in bytes\").nullable(),\n \"content-type\": z.string().describe(\"MIME type served by the URL\").nullable().optional(),\n \"url-protocol\": z.string().describe(\"Protocol type (http or https)\").nullable(),\n \"http-redirect\": z.boolean().describe(\"True if URL returned HTTP redirect\").nullable(),\n \"language-code\": z.string().describe(\"ISO 2-letter language code from HTML or HTTP headers\").nullable().optional(),\n \"server-region\": z.string().describe(\"Region/state name from IP location data\").nullable().optional(),\n \"server-country\": z.string().describe(\"Full country name from IP geolocation\").nullable().optional(),\n \"server-hostname\": z.string().describe(\"Server's hostname from PTR record\").nullable().optional(),\n \"content-encoding\": z.string().describe(\"Compression/encoding format used\").nullable().optional(),\n \"http-status-message\": z.string().describe(\"Text description of HTTP status code\").nullable(),\n \"server-country-code\": z.string().describe(\"ISO 2-letter country code from IP location\").nullable().optional(),\n}).describe(\"Response model for URL info action.\");\n\nexport const neutrinoUrlInfo = action(\"NEUTRINO_URL_INFO\", {\n slug: \"neutrino-url-info\",\n name: \"URL Info\",\n description: \"Tool to parse, analyze, and retrieve content from the supplied URL. Use when you need detailed URL metadata or to fetch page content.\",\n input: NeutrinoUrlInfoInput,\n output: NeutrinoUrlInfoOutput,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"url-info.mjs","names":[],"sources":["../../src/actions/url-info.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoUrlInfoInput = z.object({\n url: z.string().describe(\"The URL to analyze\"),\n \"fetch-content\": z.boolean().default(false).describe(\"If true, fetch and return the full content of the URL\").optional(),\n}).describe(\"Request model for URL info action.\");\nexport const NeutrinoUrlInfoOutput = z.object({\n url: z.string().describe(\"The fully qualified URL (may differ if redirected)\").nullable(),\n real: z.boolean().describe(\"True if the URL is actively serving content\").nullable(),\n query: z.record(z.string(), z.unknown()).describe(\"Key-value map of URL query parameters\"),\n title: z.string().describe(\"The document's title/heading text\").nullable().optional(),\n valid: z.boolean().describe(\"True if the URL is properly formatted\").nullable(),\n content: z.string().describe(\"Response body content (populated with fetch-content option)\").nullable(),\n \"http-ok\": z.boolean().describe(\"True if HTTP 200 status was received\").nullable(),\n \"is-error\": z.boolean().describe(\"True if errors occurred during URL loading (network, TLS, timeout)\").nullable(),\n \"url-path\": z.string().describe(\"The URL's path component\").nullable(),\n \"url-port\": z.number().int().describe(\"Port number for connection\").nullable(),\n \"load-time\": z.number().describe(\"Duration in seconds to retrieve content\").nullable(),\n \"server-ip\": z.string().describe(\"Hosting server's IP address\").nullable().optional(),\n \"is-timeout\": z.boolean().describe(\"True if loading exceeded timeout threshold\").nullable(),\n \"http-status\": z.number().int().describe(\"HTTP response code (0 indicates network issue)\").nullable(),\n \"server-city\": z.string().describe(\"City name from IP location data\").nullable().optional(),\n \"server-name\": z.string().describe(\"Server software identification\").nullable().optional(),\n \"content-size\": z.number().int().describe(\"Response size in bytes\").nullable(),\n \"content-type\": z.string().describe(\"MIME type served by the URL\").nullable().optional(),\n \"url-protocol\": z.string().describe(\"Protocol type (http or https)\").nullable(),\n \"http-redirect\": z.boolean().describe(\"True if URL returned HTTP redirect\").nullable(),\n \"language-code\": z.string().describe(\"ISO 2-letter language code from HTML or HTTP headers\").nullable().optional(),\n \"server-region\": z.string().describe(\"Region/state name from IP location data\").nullable().optional(),\n \"server-country\": z.string().describe(\"Full country name from IP geolocation\").nullable().optional(),\n \"server-hostname\": z.string().describe(\"Server's hostname from PTR record\").nullable().optional(),\n \"content-encoding\": z.string().describe(\"Compression/encoding format used\").nullable().optional(),\n \"http-status-message\": z.string().describe(\"Text description of HTTP status code\").nullable(),\n \"server-country-code\": z.string().describe(\"ISO 2-letter country code from IP location\").nullable().optional(),\n}).passthrough().describe(\"Response model for URL info action.\");\n\nexport const neutrinoUrlInfo = action(\"NEUTRINO_URL_INFO\", {\n slug: \"neutrino-url-info\",\n name: \"URL Info\",\n description: \"Tool to parse, analyze, and retrieve content from the supplied URL. Use when you need detailed URL metadata or to fetch page content.\",\n input: NeutrinoUrlInfoInput,\n output: NeutrinoUrlInfoOutput,\n});\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ const NeutrinoVerifySecurityCodeInput = zod.z.object({
5
5
  "limit-by": zod.z.string().describe("Optional unique identifier (email hash, phone number, or IP) to enable brute-force protection. After ~10 failed attempts, requests are ignored.").optional(),
6
6
  "security-code": zod.z.string().describe("The security code to verify (generated by SMS Verify or Phone Verify API).")
7
7
  }).describe("Request model for Verify Security Code action.");
8
- const NeutrinoVerifySecurityCodeOutput = zod.z.object({ verified: zod.z.boolean().describe("True if the security code is valid and verified; False if invalid, expired (codes expire after 15 minutes), or if too many failed verification attempts were made.").nullable() }).describe("Response model for Verify Security Code action.");
8
+ const NeutrinoVerifySecurityCodeOutput = zod.z.object({ verified: zod.z.boolean().describe("True if the security code is valid and verified; False if invalid, expired (codes expire after 15 minutes), or if too many failed verification attempts were made.").nullable() }).passthrough().describe("Response model for Verify Security Code action.");
9
9
  const neutrinoVerifySecurityCode = require_action.action("NEUTRINO_VERIFY_SECURITY_CODE", {
10
10
  slug: "neutrino-verify-security-code",
11
11
  name: "Verify Security Code",
@@ -1 +1 @@
1
- {"version":3,"file":"verify-security-code.cjs","names":["z","action"],"sources":["../../src/actions/verify-security-code.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoVerifySecurityCodeInput = z.object({\n \"limit-by\": z.string().describe(\"Optional unique identifier (email hash, phone number, or IP) to enable brute-force protection. After ~10 failed attempts, requests are ignored.\").optional(),\n \"security-code\": z.string().describe(\"The security code to verify (generated by SMS Verify or Phone Verify API).\"),\n}).describe(\"Request model for Verify Security Code action.\");\nexport const NeutrinoVerifySecurityCodeOutput = z.object({\n verified: z.boolean().describe(\"True if the security code is valid and verified; False if invalid, expired (codes expire after 15 minutes), or if too many failed verification attempts were made.\").nullable(),\n}).describe(\"Response model for Verify Security Code action.\");\n\nexport const neutrinoVerifySecurityCode = action(\"NEUTRINO_VERIFY_SECURITY_CODE\", {\n slug: \"neutrino-verify-security-code\",\n name: \"Verify Security Code\",\n description: \"Verify a security code generated by SMS Verify or Phone Verify APIs. Use this after sending a security code via SMS or phone call to validate that the user provided the correct code. Codes expire after 15 minutes. The verification must use the same API credentials that generated the code.\",\n input: NeutrinoVerifySecurityCodeInput,\n output: NeutrinoVerifySecurityCodeOutput,\n});\n"],"mappings":";;;AAIA,MAAa,kCAAkCA,IAAAA,EAAE,OAAO;CACtD,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iJAAiJ,CAAC,CAAC,SAAS;CAC5L,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4EAA4E;AACnH,CAAC,CAAC,CAAC,SAAS,gDAAgD;AAC5D,MAAa,mCAAmCA,IAAAA,EAAE,OAAO,EACvD,UAAUA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,oKAAoK,CAAC,CAAC,SAAS,EAChN,CAAC,CAAC,CAAC,SAAS,iDAAiD;AAE7D,MAAa,6BAA6BC,eAAAA,OAAO,iCAAiC;CAChF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"verify-security-code.cjs","names":["z","action"],"sources":["../../src/actions/verify-security-code.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoVerifySecurityCodeInput = z.object({\n \"limit-by\": z.string().describe(\"Optional unique identifier (email hash, phone number, or IP) to enable brute-force protection. After ~10 failed attempts, requests are ignored.\").optional(),\n \"security-code\": z.string().describe(\"The security code to verify (generated by SMS Verify or Phone Verify API).\"),\n}).describe(\"Request model for Verify Security Code action.\");\nexport const NeutrinoVerifySecurityCodeOutput = z.object({\n verified: z.boolean().describe(\"True if the security code is valid and verified; False if invalid, expired (codes expire after 15 minutes), or if too many failed verification attempts were made.\").nullable(),\n}).passthrough().describe(\"Response model for Verify Security Code action.\");\n\nexport const neutrinoVerifySecurityCode = action(\"NEUTRINO_VERIFY_SECURITY_CODE\", {\n slug: \"neutrino-verify-security-code\",\n name: \"Verify Security Code\",\n description: \"Verify a security code generated by SMS Verify or Phone Verify APIs. Use this after sending a security code via SMS or phone call to validate that the user provided the correct code. Codes expire after 15 minutes. The verification must use the same API credentials that generated the code.\",\n input: NeutrinoVerifySecurityCodeInput,\n output: NeutrinoVerifySecurityCodeOutput,\n});\n"],"mappings":";;;AAIA,MAAa,kCAAkCA,IAAAA,EAAE,OAAO;CACtD,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iJAAiJ,CAAC,CAAC,SAAS;CAC5L,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4EAA4E;AACnH,CAAC,CAAC,CAAC,SAAS,gDAAgD;AAC5D,MAAa,mCAAmCA,IAAAA,EAAE,OAAO,EACvD,UAAUA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,oKAAoK,CAAC,CAAC,SAAS,EAChN,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,iDAAiD;AAE3E,MAAa,6BAA6BC,eAAAA,OAAO,iCAAiC;CAChF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -7,7 +7,7 @@ declare const NeutrinoVerifySecurityCodeInput: z.ZodObject<{
7
7
  }, z.core.$strip>;
8
8
  declare const NeutrinoVerifySecurityCodeOutput: z.ZodObject<{
9
9
  verified: z.ZodNullable<z.ZodBoolean>;
10
- }, z.core.$strip>;
10
+ }, z.core.$loose>;
11
11
  declare const neutrinoVerifySecurityCode: import("@keystrokehq/action").WorkflowActionDefinition<{
12
12
  "security-code": string;
13
13
  "limit-by"?: string | undefined;
@@ -7,7 +7,7 @@ declare const NeutrinoVerifySecurityCodeInput: z.ZodObject<{
7
7
  }, z.core.$strip>;
8
8
  declare const NeutrinoVerifySecurityCodeOutput: z.ZodObject<{
9
9
  verified: z.ZodNullable<z.ZodBoolean>;
10
- }, z.core.$strip>;
10
+ }, z.core.$loose>;
11
11
  declare const neutrinoVerifySecurityCode: import("@keystrokehq/action").WorkflowActionDefinition<{
12
12
  "security-code": string;
13
13
  "limit-by"?: string | undefined;
@@ -8,7 +8,7 @@ const neutrinoVerifySecurityCode = action("NEUTRINO_VERIFY_SECURITY_CODE", {
8
8
  "limit-by": z.string().describe("Optional unique identifier (email hash, phone number, or IP) to enable brute-force protection. After ~10 failed attempts, requests are ignored.").optional(),
9
9
  "security-code": z.string().describe("The security code to verify (generated by SMS Verify or Phone Verify API).")
10
10
  }).describe("Request model for Verify Security Code action."),
11
- output: z.object({ verified: z.boolean().describe("True if the security code is valid and verified; False if invalid, expired (codes expire after 15 minutes), or if too many failed verification attempts were made.").nullable() }).describe("Response model for Verify Security Code action.")
11
+ output: z.object({ verified: z.boolean().describe("True if the security code is valid and verified; False if invalid, expired (codes expire after 15 minutes), or if too many failed verification attempts were made.").nullable() }).passthrough().describe("Response model for Verify Security Code action.")
12
12
  });
13
13
  //#endregion
14
14
  export { neutrinoVerifySecurityCode };
@@ -1 +1 @@
1
- {"version":3,"file":"verify-security-code.mjs","names":[],"sources":["../../src/actions/verify-security-code.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoVerifySecurityCodeInput = z.object({\n \"limit-by\": z.string().describe(\"Optional unique identifier (email hash, phone number, or IP) to enable brute-force protection. After ~10 failed attempts, requests are ignored.\").optional(),\n \"security-code\": z.string().describe(\"The security code to verify (generated by SMS Verify or Phone Verify API).\"),\n}).describe(\"Request model for Verify Security Code action.\");\nexport const NeutrinoVerifySecurityCodeOutput = z.object({\n verified: z.boolean().describe(\"True if the security code is valid and verified; False if invalid, expired (codes expire after 15 minutes), or if too many failed verification attempts were made.\").nullable(),\n}).describe(\"Response model for Verify Security Code action.\");\n\nexport const neutrinoVerifySecurityCode = action(\"NEUTRINO_VERIFY_SECURITY_CODE\", {\n slug: \"neutrino-verify-security-code\",\n name: \"Verify Security Code\",\n description: \"Verify a security code generated by SMS Verify or Phone Verify APIs. Use this after sending a security code via SMS or phone call to validate that the user provided the correct code. Codes expire after 15 minutes. The verification must use the same API credentials that generated the code.\",\n input: NeutrinoVerifySecurityCodeInput,\n output: NeutrinoVerifySecurityCodeOutput,\n});\n"],"mappings":";;AAYA,MAAa,6BAA6B,OAAO,iCAAiC;CAChF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAZ6C,EAAE,OAAO;EACtD,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,iJAAiJ,CAAC,CAAC,SAAS;EAC5L,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,4EAA4E;CACnH,CAAC,CAAC,CAAC,SAAS,gDASH;CACP,QAT8C,EAAE,OAAO,EACvD,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS,oKAAoK,CAAC,CAAC,SAAS,EAChN,CAAC,CAAC,CAAC,SAAS,iDAOF;AACV,CAAC"}
1
+ {"version":3,"file":"verify-security-code.mjs","names":[],"sources":["../../src/actions/verify-security-code.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const NeutrinoVerifySecurityCodeInput = z.object({\n \"limit-by\": z.string().describe(\"Optional unique identifier (email hash, phone number, or IP) to enable brute-force protection. After ~10 failed attempts, requests are ignored.\").optional(),\n \"security-code\": z.string().describe(\"The security code to verify (generated by SMS Verify or Phone Verify API).\"),\n}).describe(\"Request model for Verify Security Code action.\");\nexport const NeutrinoVerifySecurityCodeOutput = z.object({\n verified: z.boolean().describe(\"True if the security code is valid and verified; False if invalid, expired (codes expire after 15 minutes), or if too many failed verification attempts were made.\").nullable(),\n}).passthrough().describe(\"Response model for Verify Security Code action.\");\n\nexport const neutrinoVerifySecurityCode = action(\"NEUTRINO_VERIFY_SECURITY_CODE\", {\n slug: \"neutrino-verify-security-code\",\n name: \"Verify Security Code\",\n description: \"Verify a security code generated by SMS Verify or Phone Verify APIs. Use this after sending a security code via SMS or phone call to validate that the user provided the correct code. Codes expire after 15 minutes. The verification must use the same API credentials that generated the code.\",\n input: NeutrinoVerifySecurityCodeInput,\n output: NeutrinoVerifySecurityCodeOutput,\n});\n"],"mappings":";;AAYA,MAAa,6BAA6B,OAAO,iCAAiC;CAChF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAZ6C,EAAE,OAAO;EACtD,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,iJAAiJ,CAAC,CAAC,SAAS;EAC5L,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,4EAA4E;CACnH,CAAC,CAAC,CAAC,SAAS,gDASH;CACP,QAT8C,EAAE,OAAO,EACvD,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS,oKAAoK,CAAC,CAAC,SAAS,EAChN,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,iDAOhB;AACV,CAAC"}
package/dist/execute.cjs CHANGED
@@ -2,7 +2,7 @@ let _keystrokehq_keystroke_client = require("@keystrokehq/keystroke/client");
2
2
  //#region src/execute.ts
3
3
  const APP_SLUG = "neutrino";
4
4
  /** Pinned app version — updated on regeneration. */
5
- const APP_VERSION = "20260615_00";
5
+ const APP_VERSION = "20260707_00";
6
6
  async function executeNeutrinoTool(tool, args) {
7
7
  const { result } = await (0, _keystrokehq_keystroke_client.createKeystrokeClient)().tools.execute({
8
8
  app: APP_SLUG,
@@ -1 +1 @@
1
- {"version":3,"file":"execute.cjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"neutrino\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeNeutrinoTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,oBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,OAAA,GAAA,8BAAA,sBAAA,CAA4B,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
1
+ {"version":3,"file":"execute.cjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"neutrino\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260707_00\";\n\nexport async function executeNeutrinoTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,oBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,OAAA,GAAA,8BAAA,sBAAA,CAA4B,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
package/dist/execute.mjs CHANGED
@@ -2,7 +2,7 @@ import { createKeystrokeClient } from "@keystrokehq/keystroke/client";
2
2
  //#region src/execute.ts
3
3
  const APP_SLUG = "neutrino";
4
4
  /** Pinned app version — updated on regeneration. */
5
- const APP_VERSION = "20260615_00";
5
+ const APP_VERSION = "20260707_00";
6
6
  async function executeNeutrinoTool(tool, args) {
7
7
  const { result } = await createKeystrokeClient().tools.execute({
8
8
  app: APP_SLUG,
@@ -1 +1 @@
1
- {"version":3,"file":"execute.mjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"neutrino\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeNeutrinoTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,oBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,MAAM,sBAAsB,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
1
+ {"version":3,"file":"execute.mjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"neutrino\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260707_00\";\n\nexport async function executeNeutrinoTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,oBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,MAAM,sBAAsB,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keystrokehq/neutrino",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"