@canonry/canonry 7.79.0 → 7.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/assets/assets/{AgentSetupPage-BGdvyQFL.js → AgentSetupPage-Cr2ZU_4s.js} +1 -1
  2. package/assets/assets/{MeasurementPropertyPage-CwPuJMBy.js → MeasurementPropertyPage-ighxjOiq.js} +1 -1
  3. package/assets/assets/{ProjectPage-Bbnbg7c9.js → ProjectPage-DnAXCPle.js} +2 -2
  4. package/assets/assets/{RunsPage-CJHJ7kHk.js → RunsPage-Ds5K3fOQ.js} +1 -1
  5. package/assets/assets/{SettingsPage-r8VrtFyJ.js → SettingsPage-B8Jed-xH.js} +1 -1
  6. package/assets/assets/{SiteHealthSection-D1oSuo9O.js → SiteHealthSection-cjNQasWj.js} +2 -2
  7. package/assets/assets/{TrafficPage-DY2ykwH1.js → TrafficPage-BUid1rkh.js} +1 -1
  8. package/assets/assets/{index-Dfm8z5cG.js → index-BhoSVTom.js} +3 -3
  9. package/assets/assets/index-TBDfE2OO.css +1 -0
  10. package/assets/assets/{react-sigma_core.esm.min-Bjdtl0TQ.js → react-sigma_core.esm.min-SbOH7c6K.js} +1 -1
  11. package/assets/index.html +2 -2
  12. package/dist/{backfill-IRVLT6VT.js → backfill-BXEYMV3Y.js} +5 -5
  13. package/dist/{bootstrap-WZ6YDQIG.js → bootstrap-ITVA7X45.js} +1 -1
  14. package/dist/{chunk-5NBXPO4G.js → chunk-7S6SQFFT.js} +1 -1
  15. package/dist/{chunk-O4WBYEGV.js → chunk-B36XUBYK.js} +80 -2
  16. package/dist/{chunk-R7HQNCG5.js → chunk-CJ4JDM5W.js} +30 -30
  17. package/dist/{chunk-QYBHWA76.js → chunk-DKONZ36U.js} +8 -8
  18. package/dist/{chunk-4UXTNBXS.js → chunk-ENUSVOQ5.js} +2 -2
  19. package/dist/{chunk-PH4AESRE.js → chunk-HRFPGXON.js} +18 -0
  20. package/dist/{chunk-IYMTQHPD.js → chunk-JJO5XNS6.js} +1 -1
  21. package/dist/{chunk-GL5HD74G.js → chunk-MIQMUSE4.js} +2 -2
  22. package/dist/{chunk-LBNUTWPK.js → chunk-OIRHCT63.js} +1 -1
  23. package/dist/{chunk-BTMLE3EN.js → chunk-QAVJ6LHN.js} +2 -2
  24. package/dist/{chunk-PRCBHOVR.js → chunk-R3US2RG6.js} +17 -10
  25. package/dist/{chunk-7HE4LAJY.js → chunk-T2TIQP5O.js} +17 -10
  26. package/dist/{cli-commands-DEY6C7JD.js → cli-commands-XFFBO46N.js} +1 -1
  27. package/dist/cli.js +2 -2
  28. package/dist/{dashboard-6MMYA2GG.js → dashboard-L5XCPIFW.js} +3 -3
  29. package/dist/{demo-3R2SHQPO.js → demo-HWM3OWEO.js} +1 -1
  30. package/dist/{demo-server-ISJOEJN5.js → demo-server-5DE5PAEC.js} +5 -5
  31. package/dist/index.d.ts +16 -144
  32. package/dist/index.js +9 -9
  33. package/dist/{init-7VNM45TF.js → init-WXKOOS25.js} +2 -2
  34. package/dist/{intelligence-service-MPNONLCW.js → intelligence-service-RVKSPP4X.js} +4 -4
  35. package/dist/{serve-XAI5YFWR.js → serve-7JITP7HH.js} +10 -10
  36. package/dist/{session-5ZH53SET.js → session-PCUTTGTF.js} +5 -5
  37. package/dist/{src-AQ5MHQGQ.js → src-QC2VNJWJ.js} +3 -1
  38. package/dist/{tools-3ACR2D2V.js → tools-LILIKI26.js} +4 -4
  39. package/dist/{traffic-2JFQKVAX.js → traffic-77CKSYM3.js} +1 -1
  40. package/package.json +1 -1
  41. package/assets/assets/index-CHHZDc6d.css +0 -1
@@ -1,4 +1,4 @@
1
- import{r as e,t}from"./rolldown-runtime-XKyaHtl9.js";import{ot as n}from"./vendor-lucide-BILL9eZH.js";import{c as r,l as i}from"./SiteHealthSection-D1oSuo9O.js";var a=e(n(),1);function o(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function s(e,t){if(e){if(typeof e==`string`)return o(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}function c(e){if(Array.isArray(e))return e}function l(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function u(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
1
+ import{r as e,t}from"./rolldown-runtime-XKyaHtl9.js";import{ot as n}from"./vendor-lucide-BILL9eZH.js";import{c as r,l as i}from"./SiteHealthSection-cjNQasWj.js";var a=e(n(),1);function o(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function s(e,t){if(e){if(typeof e==`string`)return o(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}function c(e){if(Array.isArray(e))return e}function l(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function u(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function d(e,t){return c(e)||l(e,t)||s(e,t)||u()}function f(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=s(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
3
3
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){c=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(c)throw a}}}}function p(){return Float32Array.of(1,0,0,0,1,0,0,0,1)}function m(e,t,n){return e[0]=t,e[4]=typeof n==`number`?n:t,e}function h(e,t){var n=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=n,e[3]=-n,e[4]=r,e}function g(e,t,n){return e[6]=t,e[7]=n,e}function _(e,t){var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],c=e[6],l=e[7],u=e[8],d=t[0],f=t[1],p=t[2],m=t[3],h=t[4],g=t[5],_=t[6],v=t[7],y=t[8];return e[0]=d*n+f*a+p*c,e[1]=d*r+f*o+p*l,e[2]=d*i+f*s+p*u,e[3]=m*n+h*a+g*c,e[4]=m*r+h*o+g*l,e[5]=m*i+h*s+g*u,e[6]=_*n+v*a+y*c,e[7]=_*r+v*o+y*l,e[8]=_*i+v*s+y*u,e}function v(e,t){var n=Math.cos(t),r=Math.sin(t);return{x:n*e.x+r*e.y,y:-r*e.x+n*e.y}}function y(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,r=e[0],i=e[1],a=e[3],o=e[4],s=e[6],c=e[7],l=t.x,u=t.y;return{x:l*r+u*a+s*n,y:l*i+u*o+c*n}}function b(e,t){var n=e.height/e.width,r=t.height/t.width;return n<1&&r>1||n>1&&r<1?1:Math.min(Math.max(r,1/r),Math.max(1/n,n))}function x(e,t,n,r,i){var a=e.angle,o=e.ratio,s=e.x,c=e.y,l=t.width,u=t.height,d=p(),f=Math.min(l,u)-2*r,v=b(t,n);return i?(_(d,g(p(),s,c)),_(d,m(p(),o)),_(d,h(p(),a)),_(d,m(p(),l/f/2/v,u/f/2/v))):(_(d,m(p(),f/l*2*v,f/u*2*v)),_(d,h(p(),-a)),_(d,m(p(),1/o)),_(d,g(p(),-s,-c))),d}function S(e,t,n){var r=y(e,{x:Math.cos(t.angle),y:Math.sin(t.angle)},0),i=r.x,a=r.y;return 1/Math.sqrt(i**2+a**2)/n.width}function C(e,t,n,r,i){return[Math.floor(t/i*r),Math.floor(e.drawingBufferHeight/i-n/i*r)]}var w={black:`#000000`,silver:`#C0C0C0`,gray:`#808080`,grey:`#808080`,white:`#FFFFFF`,maroon:`#800000`,red:`#FF0000`,purple:`#800080`,fuchsia:`#FF00FF`,green:`#008000`,lime:`#00FF00`,olive:`#808000`,yellow:`#FFFF00`,navy:`#000080`,blue:`#0000FF`,teal:`#008080`,aqua:`#00FFFF`,darkblue:`#00008B`,mediumblue:`#0000CD`,darkgreen:`#006400`,darkcyan:`#008B8B`,deepskyblue:`#00BFFF`,darkturquoise:`#00CED1`,mediumspringgreen:`#00FA9A`,springgreen:`#00FF7F`,cyan:`#00FFFF`,midnightblue:`#191970`,dodgerblue:`#1E90FF`,lightseagreen:`#20B2AA`,forestgreen:`#228B22`,seagreen:`#2E8B57`,darkslategray:`#2F4F4F`,darkslategrey:`#2F4F4F`,limegreen:`#32CD32`,mediumseagreen:`#3CB371`,turquoise:`#40E0D0`,royalblue:`#4169E1`,steelblue:`#4682B4`,darkslateblue:`#483D8B`,mediumturquoise:`#48D1CC`,indigo:`#4B0082`,darkolivegreen:`#556B2F`,cadetblue:`#5F9EA0`,cornflowerblue:`#6495ED`,rebeccapurple:`#663399`,mediumaquamarine:`#66CDAA`,dimgray:`#696969`,dimgrey:`#696969`,slateblue:`#6A5ACD`,olivedrab:`#6B8E23`,slategray:`#708090`,slategrey:`#708090`,lightslategray:`#778899`,lightslategrey:`#778899`,mediumslateblue:`#7B68EE`,lawngreen:`#7CFC00`,chartreuse:`#7FFF00`,aquamarine:`#7FFFD4`,skyblue:`#87CEEB`,lightskyblue:`#87CEFA`,blueviolet:`#8A2BE2`,darkred:`#8B0000`,darkmagenta:`#8B008B`,saddlebrown:`#8B4513`,darkseagreen:`#8FBC8F`,lightgreen:`#90EE90`,mediumpurple:`#9370DB`,darkviolet:`#9400D3`,palegreen:`#98FB98`,darkorchid:`#9932CC`,yellowgreen:`#9ACD32`,sienna:`#A0522D`,brown:`#A52A2A`,darkgray:`#A9A9A9`,darkgrey:`#A9A9A9`,lightblue:`#ADD8E6`,greenyellow:`#ADFF2F`,paleturquoise:`#AFEEEE`,lightsteelblue:`#B0C4DE`,powderblue:`#B0E0E6`,firebrick:`#B22222`,darkgoldenrod:`#B8860B`,mediumorchid:`#BA55D3`,rosybrown:`#BC8F8F`,darkkhaki:`#BDB76B`,mediumvioletred:`#C71585`,indianred:`#CD5C5C`,peru:`#CD853F`,chocolate:`#D2691E`,tan:`#D2B48C`,lightgray:`#D3D3D3`,lightgrey:`#D3D3D3`,thistle:`#D8BFD8`,orchid:`#DA70D6`,goldenrod:`#DAA520`,palevioletred:`#DB7093`,crimson:`#DC143C`,gainsboro:`#DCDCDC`,plum:`#DDA0DD`,burlywood:`#DEB887`,lightcyan:`#E0FFFF`,lavender:`#E6E6FA`,darksalmon:`#E9967A`,violet:`#EE82EE`,palegoldenrod:`#EEE8AA`,lightcoral:`#F08080`,khaki:`#F0E68C`,aliceblue:`#F0F8FF`,honeydew:`#F0FFF0`,azure:`#F0FFFF`,sandybrown:`#F4A460`,wheat:`#F5DEB3`,beige:`#F5F5DC`,whitesmoke:`#F5F5F5`,mintcream:`#F5FFFA`,ghostwhite:`#F8F8FF`,salmon:`#FA8072`,antiquewhite:`#FAEBD7`,linen:`#FAF0E6`,lightgoldenrodyellow:`#FAFAD2`,oldlace:`#FDF5E6`,magenta:`#FF00FF`,deeppink:`#FF1493`,orangered:`#FF4500`,tomato:`#FF6347`,hotpink:`#FF69B4`,coral:`#FF7F50`,darkorange:`#FF8C00`,lightsalmon:`#FFA07A`,orange:`#FFA500`,lightpink:`#FFB6C1`,pink:`#FFC0CB`,gold:`#FFD700`,peachpuff:`#FFDAB9`,navajowhite:`#FFDEAD`,moccasin:`#FFE4B5`,bisque:`#FFE4C4`,mistyrose:`#FFE4E1`,blanchedalmond:`#FFEBCD`,papayawhip:`#FFEFD5`,lavenderblush:`#FFF0F5`,seashell:`#FFF5EE`,cornsilk:`#FFF8DC`,lemonchiffon:`#FFFACD`,floralwhite:`#FFFAF0`,snow:`#FFFAFA`,lightyellow:`#FFFFE0`,ivory:`#FFFFF0`},T=new Int8Array(4),E=new Int32Array(T.buffer,0,1),D=new Float32Array(T.buffer,0,1),O=/^\s*rgba?\s*\(/,k=/^\s*rgba?\s*\(\s*([0-9]*)\s*,\s*([0-9]*)\s*,\s*([0-9]*)(?:\s*,\s*(.*)?)?\)\s*$/;function A(e){var t=0,n=0,r=0,i=1,a=e.toLowerCase();if(a===`transparent`)return{r:0,g:0,b:0,a:0};if(a in w)return A(w[a]);if(e[0]===`#`)e.length===4?(t=parseInt(e.charAt(1)+e.charAt(1),16),n=parseInt(e.charAt(2)+e.charAt(2),16),r=parseInt(e.charAt(3)+e.charAt(3),16)):(t=parseInt(e.charAt(1)+e.charAt(2),16),n=parseInt(e.charAt(3)+e.charAt(4),16),r=parseInt(e.charAt(5)+e.charAt(6),16)),e.length===9&&(i=parseInt(e.charAt(7)+e.charAt(8),16)/255);else if(O.test(e)){var o=e.match(k);o&&(t=+o[1],n=+o[2],r=+o[3],o[4]&&(i=+o[4]))}return{r:t,g:n,b:r,a:i}}function j(e){var t=arguments.length>1&&arguments[1]!==void 0&&arguments[1],n=A(e),r=n.r,i=n.g,a=n.b,o=n.a;return t?[r/255*o,i/255*o,a/255*o,o]:[r/255,i/255,a/255,o]}var M={};for(var N in w)M[N]=F(w[N]),M[w[N]]=M[N];function P(e,t,n,r,i){return E[0]=r<<24|n<<16|t<<8|e,i&&(E[0]&=4278190079),D[0]}function F(e){if(e=e.toLowerCase(),M[e]!==void 0)return M[e];var t=A(e),n=t.r,r=t.g,i=t.b,a=t.a;a=a*255|0;var o=P(n,r,i,a,!0);return M[e]=o,o}function I(e,t){D[0]=F(e);var n=E[0];return t&&(n|=16777216),[n&255,n>>8&255,n>>16&255,n>>24&255]}function ee(e){var t=e>>>8&255,n=e>>>16&255,r=e>>>24&255;return((e&255)<<24|r<<16|n<<8|t)>>>0}function te(e,t,n,r){return(n<<24|t<<16|e<<8|r)>>>0}function L(e,t,n,r,i,a){var o=d(C(e,n,r,i,a),2),s=o[0],c=o[1],l=new Uint8Array(4);e.bindFramebuffer(e.FRAMEBUFFER,t),e.readPixels(s,c,1,1,e.RGBA,e.UNSIGNED_BYTE,l);var u=d(l,4);return[u[0],u[1],u[2],u[3]]}function ne(e){var t=A(e),n=t.r,r=t.g,i=t.b,a=t.a;return`vec4(${(n/255).toFixed(6)}, ${(r/255).toFixed(6)}, ${(i/255).toFixed(6)}, ${a.toFixed(6)})`}function re(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ie(e){var t=re(e,`string`);return typeof t==`symbol`?t:t+``}function R(e,t,n){return(t=ie(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ae(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function z(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?ae(Object(n),!0).forEach(function(t){R(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ae(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function B(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function oe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,ie(r.key),r)}}function V(e,t,n){return t&&oe(e.prototype,t),n&&oe(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function se(e){return se=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},se(e)}function ce(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ce=function(){return!!e})()}function le(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function ue(e,t){if(t&&(typeof t==`object`||typeof t==`function`))return t;if(t!==void 0)throw TypeError(`Derived constructors may only return object or undefined`);return le(e)}function H(e,t,n){return t=se(t),ue(e,ce()?Reflect.construct(t,n||[],se(e).constructor):t.apply(e,n))}function de(e,t){return de=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},de(e,t)}function U(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Super expression must either be null or a function`);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&de(e,t)}function fe(e){if(Array.isArray(e))return o(e)}function pe(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function me(){throw TypeError(`Invalid attempt to spread non-iterable instance.
4
4
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function W(e){return fe(e)||pe(e)||s(e)||me()}function G(e){"@babel/helpers - typeof";return G=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},G(e)}function he(e){return G(e)===`object`&&e!==null&&`attribute`in e}function ge(){return{name:`circle`,glsl:`
package/assets/index.html CHANGED
@@ -12,7 +12,7 @@
12
12
  <link rel="icon" type="image/png" sizes="32x32" href="./favicon-32.png" />
13
13
  <link rel="apple-touch-icon" href="./apple-touch-icon.png" />
14
14
  <title>Canonry</title>
15
- <script type="module" crossorigin src="./assets/index-Dfm8z5cG.js"></script>
15
+ <script type="module" crossorigin src="./assets/index-BhoSVTom.js"></script>
16
16
  <link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-XKyaHtl9.js">
17
17
  <link rel="modulepreload" crossorigin href="./assets/vendor-lucide-BILL9eZH.js">
18
18
  <link rel="modulepreload" crossorigin href="./assets/vendor-markdown-DNTP_967.js">
@@ -29,7 +29,7 @@
29
29
  <link rel="modulepreload" crossorigin href="./assets/InfoTooltip-CJ3IWqBk.js">
30
30
  <link rel="modulepreload" crossorigin href="./assets/card-BE2fqwVq.js">
31
31
  <link rel="modulepreload" crossorigin href="./assets/vendor-yaml-Y43rmNgW.js">
32
- <link rel="stylesheet" crossorigin href="./assets/index-CHHZDc6d.css">
32
+ <link rel="stylesheet" crossorigin href="./assets/index-TBDfE2OO.css">
33
33
  </head>
34
34
  <body>
35
35
  <script id="theme-bootstrap">
@@ -10,18 +10,18 @@ import {
10
10
  backfillSnapshotAttributionCommand,
11
11
  backfillTrafficClassificationCommand,
12
12
  replayQueryAuditLog
13
- } from "./chunk-7HE4LAJY.js";
14
- import "./chunk-5NBXPO4G.js";
13
+ } from "./chunk-T2TIQP5O.js";
14
+ import "./chunk-7S6SQFFT.js";
15
15
  import "./chunk-3QJWOF2B.js";
16
16
  import "./chunk-HGMYEDAQ.js";
17
17
  import "./chunk-JERATA5R.js";
18
18
  import {
19
19
  backfillProjectAnswerMentions,
20
20
  backfillProjectAnswerMentionsInChunks
21
- } from "./chunk-PRCBHOVR.js";
22
- import "./chunk-O4WBYEGV.js";
21
+ } from "./chunk-R3US2RG6.js";
22
+ import "./chunk-B36XUBYK.js";
23
23
  import "./chunk-3MGM3U6V.js";
24
- import "./chunk-PH4AESRE.js";
24
+ import "./chunk-HRFPGXON.js";
25
25
  import "./chunk-PM2DB3HE.js";
26
26
  import "./chunk-MLKGABMK.js";
27
27
  export {
@@ -44,7 +44,7 @@ import {
44
44
  createClient,
45
45
  dashboardSessions,
46
46
  migrate
47
- } from "./chunk-PH4AESRE.js";
47
+ } from "./chunk-HRFPGXON.js";
48
48
  import {
49
49
  ProviderNames,
50
50
  ProviderReloadErrorReasons
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseJsonColumn
3
- } from "./chunk-PH4AESRE.js";
3
+ } from "./chunk-HRFPGXON.js";
4
4
  import {
5
5
  AI_ENGINE_DOMAINS,
6
6
  AI_ENGINE_SELF_DOMAINS,
@@ -15133,6 +15133,61 @@ function incrementBucket(map, key, fields) {
15133
15133
  else map.set(key, { fields, hits: 1 });
15134
15134
  }
15135
15135
 
15136
+ // ../integration-traffic/src/unlisted-agents.ts
15137
+ var UNLISTED_AGENT_SKIPPED_EXTENSIONS = [
15138
+ "avif",
15139
+ "bmp",
15140
+ "css",
15141
+ "gif",
15142
+ "ico",
15143
+ "jpeg",
15144
+ "jpg",
15145
+ "js",
15146
+ "map",
15147
+ "mjs",
15148
+ "mp3",
15149
+ "mp4",
15150
+ "otf",
15151
+ "png",
15152
+ "svg",
15153
+ "ttf",
15154
+ "webm",
15155
+ "webmanifest",
15156
+ "webp",
15157
+ "woff",
15158
+ "woff2",
15159
+ "zip"
15160
+ ];
15161
+ var GENERIC_HTTP_CLIENTS = [
15162
+ "curl",
15163
+ "wget",
15164
+ "python",
15165
+ "python-requests",
15166
+ "python-urllib",
15167
+ "python-httpx",
15168
+ "aiohttp",
15169
+ "httpx",
15170
+ "go-http-client",
15171
+ "okhttp",
15172
+ "java",
15173
+ "apache-httpclient",
15174
+ "axios",
15175
+ "node",
15176
+ "node-fetch",
15177
+ "undici",
15178
+ "got",
15179
+ "libwww-perl",
15180
+ "guzzlehttp",
15181
+ "ruby",
15182
+ "faraday",
15183
+ "php",
15184
+ "wordpress",
15185
+ "dalvik",
15186
+ "postmanruntime",
15187
+ "insomnia"
15188
+ ];
15189
+ var BROWSER_SHAPED_AGENT_MARKERS = ["compatible;", "fetch", "agent", "headless", "+http"];
15190
+
15136
15191
  // ../integration-cloudflare-worker/src/types.ts
15137
15192
  var CLOUDFLARE_WORKER_BINDINGS = {
15138
15193
  deliveryMode: "CANONRY_DELIVERY_MODE",
@@ -15184,7 +15239,8 @@ var DEFAULT_BOT_LIST = {
15184
15239
  uaKeywords: [
15185
15240
  ...DEFAULT_AI_CRAWLER_USER_AGENT_SUBSTRINGS,
15186
15241
  // Preserve a small forward-looking machine-traffic net. The shared
15187
- // classifier still drops unknown products after delivery.
15242
+ // classifier still drops unknown products after delivery. Agents whose
15243
+ // names carry none of these words are caught by `isUnlistedAgent`.
15188
15244
  "bot",
15189
15245
  "crawler",
15190
15246
  "spider"
@@ -15203,6 +15259,27 @@ var DEFAULT_BOT_SCORE_MAX_FORWARD = 30;
15203
15259
  var WORKER_COMPATIBILITY_DATE = "2026-05-01";
15204
15260
  var CLOUDFLARE_PAGE_VIEWS_VERSION_SUFFIX = "+page-views";
15205
15261
  var PAGE_VIEW_ASSET_EXTENSIONS = ["avif", "bmp", "css", "gif", "ico", "jpeg", "jpg", "js", "map", "mjs", "mp3", "mp4", "otf", "pdf", "png", "svg", "ttf", "txt", "webm", "webmanifest", "webp", "woff", "woff2", "xml", "zip"];
15262
+ var UNLISTED_AGENT_FILTER = `
15263
+ const UNLISTED_AGENT_SKIPPED_PATTERN = new RegExp(${JSON.stringify(`\\.(?:${UNLISTED_AGENT_SKIPPED_EXTENSIONS.join("|")})$`)}, 'i')
15264
+ const PRODUCT_NAME_END = new RegExp(${JSON.stringify("[/\\s;(]")})
15265
+ const GENERIC_HTTP_CLIENTS = ${JSON.stringify(GENERIC_HTTP_CLIENTS)}
15266
+ const BROWSER_SHAPED_AGENT_MARKERS = ${JSON.stringify(BROWSER_SHAPED_AGENT_MARKERS)}
15267
+
15268
+ function isUnlistedAgent(request) {
15269
+ const method = request.method || 'GET'
15270
+ if (method !== 'GET' && method !== 'HEAD') return false
15271
+ const ua = lower(request.headers.get('user-agent') || '').trim()
15272
+ if (!ua) return false
15273
+ const product = ua.split(PRODUCT_NAME_END)[0]
15274
+ if (GENERIC_HTTP_CLIENTS.indexOf(product) !== -1) return false
15275
+ if (product === 'mozilla' && !BROWSER_SHAPED_AGENT_MARKERS.some((marker) => ua.indexOf(marker) !== -1)) return false
15276
+ try {
15277
+ return !UNLISTED_AGENT_SKIPPED_PATTERN.test(new URL(request.url).pathname)
15278
+ } catch (_) {
15279
+ return false
15280
+ }
15281
+ }
15282
+ `;
15206
15283
  var PAGE_VIEW_FILTER = `
15207
15284
  const PAGE_VIEW_ASSET_PATTERN = new RegExp(${JSON.stringify(`\\.(?:${PAGE_VIEW_ASSET_EXTENSIONS.join("|")})$`)}, 'i')
15208
15285
 
@@ -15419,10 +15496,11 @@ function botSignals(cf) {
15419
15496
  if (typeof cf.botScore === 'number' && cf.botScore < BOT_SCORE_MAX_FORWARD) return true
15420
15497
  return false
15421
15498
  }
15422
- ${pageViewFilter}
15499
+ ${UNLISTED_AGENT_FILTER}${pageViewFilter}
15423
15500
  function shouldForward(request) {
15424
15501
  const ua = request.headers.get('user-agent') || ''
15425
15502
  if (uaMatches(ua)) return true
15503
+ if (isUnlistedAgent(request)) return true
15426
15504
  if (urlUtmMatches(request.url)) return true
15427
15505
  const referer = request.headers.get('referer') || ''
15428
15506
  if (refererMatches(referer)) return true
@@ -727,7 +727,7 @@ var DEMO_CLI_COMMANDS = [{
727
727
  options: { host: stringOption(), port: stringOption(), "trust-proxy": multiStringOption() },
728
728
  allowPositionals: false,
729
729
  run: async (input) => {
730
- const { demoCommand } = await import("./demo-3R2SHQPO.js");
730
+ const { demoCommand } = await import("./demo-HWM3OWEO.js");
731
731
  await demoCommand({
732
732
  host: getString(input.values, "host"),
733
733
  port: getString(input.values, "port"),
@@ -748,7 +748,7 @@ var BACKFILL_CLI_COMMANDS = [
748
748
  allowPositionals: false,
749
749
  supportsDryRun: true,
750
750
  run: async (input) => {
751
- const { backfillAnswerVisibilityCommand } = await import("./backfill-IRVLT6VT.js");
751
+ const { backfillAnswerVisibilityCommand } = await import("./backfill-BXEYMV3Y.js");
752
752
  await backfillAnswerVisibilityCommand({
753
753
  project: getString(input.values, "project"),
754
754
  dryRun: input.dryRun,
@@ -765,7 +765,7 @@ var BACKFILL_CLI_COMMANDS = [
765
765
  allowPositionals: false,
766
766
  supportsDryRun: true,
767
767
  run: async (input) => {
768
- const { backfillAnswerMentionsCommand } = await import("./backfill-IRVLT6VT.js");
768
+ const { backfillAnswerMentionsCommand } = await import("./backfill-BXEYMV3Y.js");
769
769
  await backfillAnswerMentionsCommand({
770
770
  project: getString(input.values, "project"),
771
771
  dryRun: input.dryRun,
@@ -783,7 +783,7 @@ var BACKFILL_CLI_COMMANDS = [
783
783
  },
784
784
  supportsDryRun: true,
785
785
  run: async (input) => {
786
- const { backfillInsightsCommand } = await import("./backfill-IRVLT6VT.js");
786
+ const { backfillInsightsCommand } = await import("./backfill-BXEYMV3Y.js");
787
787
  const usage = "canonry backfill insights <project> [--from-run <id>] [--to-run <id>] [--since <date>] [--dry-run] [--format json]";
788
788
  const project3 = requireProject(input, "backfill insights", usage);
789
789
  await backfillInsightsCommand(project3, {
@@ -803,7 +803,7 @@ var BACKFILL_CLI_COMMANDS = [
803
803
  },
804
804
  allowPositionals: false,
805
805
  run: async (input) => {
806
- const { backfillNormalizedPathsCommand } = await import("./backfill-IRVLT6VT.js");
806
+ const { backfillNormalizedPathsCommand } = await import("./backfill-BXEYMV3Y.js");
807
807
  await backfillNormalizedPathsCommand({
808
808
  project: getString(input.values, "project"),
809
809
  format: input.format
@@ -818,7 +818,7 @@ var BACKFILL_CLI_COMMANDS = [
818
818
  },
819
819
  allowPositionals: false,
820
820
  run: async (input) => {
821
- const { backfillAiReferralPathsCommand } = await import("./backfill-IRVLT6VT.js");
821
+ const { backfillAiReferralPathsCommand } = await import("./backfill-BXEYMV3Y.js");
822
822
  await backfillAiReferralPathsCommand({
823
823
  project: getString(input.values, "project"),
824
824
  format: input.format
@@ -830,7 +830,7 @@ var BACKFILL_CLI_COMMANDS = [
830
830
  usage: "canonry backfill snapshot-attribution <project> [--dry-run] [--format json]",
831
831
  supportsDryRun: true,
832
832
  run: async (input) => {
833
- const { backfillSnapshotAttributionCommand } = await import("./backfill-IRVLT6VT.js");
833
+ const { backfillSnapshotAttributionCommand } = await import("./backfill-BXEYMV3Y.js");
834
834
  const usage = "canonry backfill snapshot-attribution <project> [--dry-run] [--format json]";
835
835
  const project3 = requireProject(input, "backfill snapshot-attribution", usage);
836
836
  await backfillSnapshotAttributionCommand({
@@ -849,7 +849,7 @@ var BACKFILL_CLI_COMMANDS = [
849
849
  allowPositionals: false,
850
850
  supportsDryRun: true,
851
851
  run: async (input) => {
852
- const { backfillTrafficClassificationCommand } = await import("./backfill-IRVLT6VT.js");
852
+ const { backfillTrafficClassificationCommand } = await import("./backfill-BXEYMV3Y.js");
853
853
  await backfillTrafficClassificationCommand({
854
854
  project: getString(input.values, "project"),
855
855
  dryRun: input.dryRun,
@@ -1291,7 +1291,7 @@ var DASHBOARD_CLI_COMMANDS = [
1291
1291
  usage: "canonry dashboard reset-password [--format json]",
1292
1292
  help: "Clears the dashboard password from config.yaml, so the dashboard asks for a new one after a restart.\nLocal only: it edits the config file under CANONRY_CONFIG_DIR and does not call the server.",
1293
1293
  run: async (input) => {
1294
- const { resetDashboardPassword } = await import("./dashboard-6MMYA2GG.js");
1294
+ const { resetDashboardPassword } = await import("./dashboard-L5XCPIFW.js");
1295
1295
  await resetDashboardPassword({ format: input.format });
1296
1296
  }
1297
1297
  },
@@ -3236,7 +3236,7 @@ var TRAFFIC_CLI_COMMANDS = [
3236
3236
  help: "Complete stored traffic totals and breakdowns for the selected window. Project-wide for Simple and Advanced portfolios; no provider calls or sync.",
3237
3237
  options: { period: stringOption() },
3238
3238
  run: async (input) => {
3239
- const { trafficAnalytics } = await import("./traffic-2JFQKVAX.js");
3239
+ const { trafficAnalytics } = await import("./traffic-77CKSYM3.js");
3240
3240
  const project3 = requireProject(input, "traffic.analytics", "canonry traffic analytics <project> [--period 7|14|30|90]");
3241
3241
  await trafficAnalytics(project3, { period: getString(input.values, "window") ?? getString(input.values, "period"), format: input.format });
3242
3242
  }
@@ -3248,7 +3248,7 @@ var TRAFFIC_CLI_COMMANDS = [
3248
3248
  help: "DB-only diagnostic. Raw headlines stay unchanged. Candidate bursts are not confirmed automation; adjusted counts are estimates. Property, Target and market attribution are unavailable. The observed GA quotient has unknown comparable coverage.",
3249
3249
  options: { "start-date": stringOption(), "end-date": stringOption(), source: stringOption(), "burst-threshold": stringOption(), "ratio-threshold": stringOption(), limit: stringOption() },
3250
3250
  run: async (input) => {
3251
- const { trafficReferralAssessment } = await import("./traffic-2JFQKVAX.js");
3251
+ const { trafficReferralAssessment } = await import("./traffic-77CKSYM3.js");
3252
3252
  const project3 = requireProject(input, "traffic.referral-assessment", "canonry traffic referral-assessment <project> --start-date YYYY-MM-DD --end-date YYYY-MM-DD");
3253
3253
  await trafficReferralAssessment(project3, {
3254
3254
  startDate: getString(input.values, "start") ?? getString(input.values, "start-date"),
@@ -3281,7 +3281,7 @@ var TRAFFIC_CLI_COMMANDS = [
3281
3281
  "confirm-fail-open": { type: "boolean" }
3282
3282
  },
3283
3283
  run: async (input) => {
3284
- const { trafficConnectCloudflare, DEFAULT_CLOUDFLARE_QUEUE_RETENTION_SECONDS } = await import("./traffic-2JFQKVAX.js");
3284
+ const { trafficConnectCloudflare, DEFAULT_CLOUDFLARE_QUEUE_RETENTION_SECONDS } = await import("./traffic-77CKSYM3.js");
3285
3285
  const forwardPageViews = getBoolean(input.values, "forward-page-views");
3286
3286
  const noForwardPageViews = getBoolean(input.values, "no-forward-page-views");
3287
3287
  if (forwardPageViews && noForwardPageViews) {
@@ -3334,7 +3334,7 @@ var TRAFFIC_CLI_COMMANDS = [
3334
3334
  "display-name": stringOption()
3335
3335
  },
3336
3336
  run: async (input) => {
3337
- const { trafficConnectCloudRun } = await import("./traffic-2JFQKVAX.js");
3337
+ const { trafficConnectCloudRun } = await import("./traffic-77CKSYM3.js");
3338
3338
  const project3 = requireProject(
3339
3339
  input,
3340
3340
  "traffic.connect.cloud-run",
@@ -3365,7 +3365,7 @@ var TRAFFIC_CLI_COMMANDS = [
3365
3365
  "display-name": stringOption()
3366
3366
  },
3367
3367
  run: async (input) => {
3368
- const { trafficConnectWordpress } = await import("./traffic-2JFQKVAX.js");
3368
+ const { trafficConnectWordpress } = await import("./traffic-77CKSYM3.js");
3369
3369
  const project3 = requireProject(
3370
3370
  input,
3371
3371
  "traffic.connect.wordpress",
@@ -3397,7 +3397,7 @@ var TRAFFIC_CLI_COMMANDS = [
3397
3397
  "display-name": stringOption()
3398
3398
  },
3399
3399
  run: async (input) => {
3400
- const { trafficConnectVercel } = await import("./traffic-2JFQKVAX.js");
3400
+ const { trafficConnectVercel } = await import("./traffic-77CKSYM3.js");
3401
3401
  const project3 = requireProject(
3402
3402
  input,
3403
3403
  "traffic.connect.vercel",
@@ -3436,7 +3436,7 @@ var TRAFFIC_CLI_COMMANDS = [
3436
3436
  source: stringOption()
3437
3437
  },
3438
3438
  run: async (input) => {
3439
- const { trafficActivate } = await import("./traffic-2JFQKVAX.js");
3439
+ const { trafficActivate } = await import("./traffic-77CKSYM3.js");
3440
3440
  const project3 = requireProject(
3441
3441
  input,
3442
3442
  "traffic.activate",
@@ -3455,7 +3455,7 @@ var TRAFFIC_CLI_COMMANDS = [
3455
3455
  "since-minutes": stringOption()
3456
3456
  },
3457
3457
  run: async (input) => {
3458
- const { trafficSync } = await import("./traffic-2JFQKVAX.js");
3458
+ const { trafficSync } = await import("./traffic-77CKSYM3.js");
3459
3459
  const project3 = requireProject(
3460
3460
  input,
3461
3461
  "traffic.sync",
@@ -3484,7 +3484,7 @@ var TRAFFIC_CLI_COMMANDS = [
3484
3484
  wait: { type: "boolean" }
3485
3485
  },
3486
3486
  run: async (input) => {
3487
- const { trafficBackfill } = await import("./traffic-2JFQKVAX.js");
3487
+ const { trafficBackfill } = await import("./traffic-77CKSYM3.js");
3488
3488
  const project3 = requireProject(
3489
3489
  input,
3490
3490
  "traffic.backfill",
@@ -3513,7 +3513,7 @@ var TRAFFIC_CLI_COMMANDS = [
3513
3513
  "advance-to-now": { type: "boolean" }
3514
3514
  },
3515
3515
  run: async (input) => {
3516
- const { trafficReset } = await import("./traffic-2JFQKVAX.js");
3516
+ const { trafficReset } = await import("./traffic-77CKSYM3.js");
3517
3517
  const project3 = requireProject(
3518
3518
  input,
3519
3519
  "traffic.reset",
@@ -3535,7 +3535,7 @@ var TRAFFIC_CLI_COMMANDS = [
3535
3535
  source: stringOption()
3536
3536
  },
3537
3537
  run: async (input) => {
3538
- const { trafficDeclareGap } = await import("./traffic-2JFQKVAX.js");
3538
+ const { trafficDeclareGap } = await import("./traffic-77CKSYM3.js");
3539
3539
  const project3 = requireProject(
3540
3540
  input,
3541
3541
  "traffic.declare-gap",
@@ -3550,7 +3550,7 @@ var TRAFFIC_CLI_COMMANDS = [
3550
3550
  path: ["traffic", "sources"],
3551
3551
  usage: "canonry traffic sources <project> [--format json]",
3552
3552
  run: async (input) => {
3553
- const { trafficSources } = await import("./traffic-2JFQKVAX.js");
3553
+ const { trafficSources } = await import("./traffic-77CKSYM3.js");
3554
3554
  const project3 = requireProject(
3555
3555
  input,
3556
3556
  "traffic.sources",
@@ -3563,7 +3563,7 @@ var TRAFFIC_CLI_COMMANDS = [
3563
3563
  path: ["traffic", "status"],
3564
3564
  usage: "canonry traffic status <project> [--format json]",
3565
3565
  run: async (input) => {
3566
- const { trafficStatus } = await import("./traffic-2JFQKVAX.js");
3566
+ const { trafficStatus } = await import("./traffic-77CKSYM3.js");
3567
3567
  const project3 = requireProject(
3568
3568
  input,
3569
3569
  "traffic.status",
@@ -3578,7 +3578,7 @@ var TRAFFIC_CLI_COMMANDS = [
3578
3578
  help: "Stored sampled tail with 30-day retention, not visits. Unknown traffic is excluded by default. No provider calls.",
3579
3579
  options: { kind: stringOption(), source: stringOption(), since: stringOption(), until: stringOption(), "since-minutes": stringOption(), path: stringOption(), limit: stringOption(), offset: stringOption() },
3580
3580
  run: async (input) => {
3581
- const { trafficSamples } = await import("./traffic-2JFQKVAX.js");
3581
+ const { trafficSamples } = await import("./traffic-77CKSYM3.js");
3582
3582
  const project3 = requireProject(input, "traffic.samples", "canonry traffic samples <project>");
3583
3583
  const integer = (name) => parseIntegerOption(input, name, { command: "traffic.samples", usage: "canonry traffic samples <project>", message: `--${name} must be an integer` });
3584
3584
  await trafficSamples(project3, { kind: getString(input.values, "kind"), sourceId: getString(input.values, "source"), since: getString(input.values, "since"), until: getString(input.values, "until"), sinceMinutes: integer("since-minutes"), path: getString(input.values, "path"), limit: integer("limit"), offset: integer("offset"), format: input.format });
@@ -3597,7 +3597,7 @@ var TRAFFIC_CLI_COMMANDS = [
3597
3597
  granularity: stringOption()
3598
3598
  },
3599
3599
  run: async (input) => {
3600
- const { trafficEvents } = await import("./traffic-2JFQKVAX.js");
3600
+ const { trafficEvents } = await import("./traffic-77CKSYM3.js");
3601
3601
  const project3 = requireProject(
3602
3602
  input,
3603
3603
  "traffic.events",
@@ -6868,7 +6868,7 @@ var SYSTEM_CLI_COMMANDS = [
6868
6868
  options: { access: stringOption() },
6869
6869
  run: async (input) => {
6870
6870
  if (input.positionals.length > 1) throw usageError("Expected at most one command group");
6871
- const [{ printCliCatalog }, { REGISTERED_CLI_COMMANDS: REGISTERED_CLI_COMMANDS2 }] = await Promise.all([import("./cli-catalog-KC6JYHSW.js"), import("./cli-commands-DEY6C7JD.js")]);
6871
+ const [{ printCliCatalog }, { REGISTERED_CLI_COMMANDS: REGISTERED_CLI_COMMANDS2 }] = await Promise.all([import("./cli-catalog-KC6JYHSW.js"), import("./cli-commands-XFFBO46N.js")]);
6872
6872
  printCliCatalog(REGISTERED_CLI_COMMANDS2, input.format, input.positionals[0], getString(input.values, "access"));
6873
6873
  }
6874
6874
  },
@@ -6917,7 +6917,7 @@ var SYSTEM_CLI_COMMANDS = [
6917
6917
  },
6918
6918
  allowPositionals: false,
6919
6919
  run: async (input) => {
6920
- const { initCommand } = await import("./init-7VNM45TF.js");
6920
+ const { initCommand } = await import("./init-WXKOOS25.js");
6921
6921
  await initCommand({
6922
6922
  force: getBoolean(input.values, "force"),
6923
6923
  ref: getString(input.values, "ref"),
@@ -6950,7 +6950,7 @@ var SYSTEM_CLI_COMMANDS = [
6950
6950
  },
6951
6951
  allowPositionals: false,
6952
6952
  run: async (input) => {
6953
- const { bootstrapCommand } = await import("./bootstrap-WZ6YDQIG.js");
6953
+ const { bootstrapCommand } = await import("./bootstrap-ITVA7X45.js");
6954
6954
  await bootstrapCommand({
6955
6955
  format: input.format,
6956
6956
  ref: getString(input.values, "ref")
@@ -6972,7 +6972,7 @@ var SYSTEM_CLI_COMMANDS = [
6972
6972
  allowPositionals: false,
6973
6973
  run: async (input) => {
6974
6974
  applyServerEnv(input.values);
6975
- const { serveCommand } = await import("./serve-XAI5YFWR.js");
6975
+ const { serveCommand } = await import("./serve-7JITP7HH.js");
6976
6976
  await serveCommand(input.format);
6977
6977
  }
6978
6978
  },
@@ -8290,8 +8290,8 @@ var AGENT_CLI_COMMANDS = [
8290
8290
  "timeout-ms": stringOption()
8291
8291
  },
8292
8292
  run: async (input) => {
8293
- const { coerceAgentProvider } = await import("./session-5ZH53SET.js");
8294
- const { AERO_TOOL_PROFILES, isAeroToolProfile } = await import("./tools-3ACR2D2V.js");
8293
+ const { coerceAgentProvider } = await import("./session-PCUTTGTF.js");
8294
+ const { AERO_TOOL_PROFILES, isAeroToolProfile } = await import("./tools-LILIKI26.js");
8295
8295
  const { agentAsk } = await import("./agent-ask-32RTOL2M.js");
8296
8296
  const usage = `canonry agent ask <project> "<prompt>" [--provider ${AGENT_PROVIDER_IDS.join("|")}] [--model <id>] [--scope all|read-only] [--profile default|ads-operator] [--context <json>] [--conversation <id>] [--max-tool-calls <n>] [--timeout-ms <ms>] [--format json]`;
8297
8297
  const project3 = requireProject(input, "agent.ask", usage);
@@ -27,14 +27,14 @@ import {
27
27
  resolveConfiguredAgentProvider,
28
28
  resolveSessionProviderAndModel,
29
29
  setAeroSystemPrompt
30
- } from "./chunk-GL5HD74G.js";
30
+ } from "./chunk-MIQMUSE4.js";
31
31
  import {
32
32
  AeroToolProfiles,
33
33
  AeroToolScopes,
34
34
  buildAeroStateTools,
35
35
  isAeroToolProfile,
36
36
  truncateToolResult
37
- } from "./chunk-IYMTQHPD.js";
37
+ } from "./chunk-JJO5XNS6.js";
38
38
  import {
39
39
  getGoogleAuthConfig,
40
40
  getGoogleConnection,
@@ -64,7 +64,7 @@ import {
64
64
  openaiAdapter,
65
65
  openrouterAdapter,
66
66
  perplexityAdapter
67
- } from "./chunk-5NBXPO4G.js";
67
+ } from "./chunk-7S6SQFFT.js";
68
68
  import {
69
69
  classifyUsageSurface,
70
70
  createApiUsageTelemetry,
@@ -148,7 +148,7 @@ import {
148
148
  persistSiteCrawlGraphLayout,
149
149
  prepareSiteCrawlGraphLayout,
150
150
  recordedSharePct
151
- } from "./chunk-LBNUTWPK.js";
151
+ } from "./chunk-OIRHCT63.js";
152
152
  import {
153
153
  CanonryMcpToolNames,
154
154
  canonryMcpTools
@@ -161,7 +161,7 @@ import {
161
161
  } from "./chunk-HGMYEDAQ.js";
162
162
  import {
163
163
  IntelligenceService
164
- } from "./chunk-BTMLE3EN.js";
164
+ } from "./chunk-QAVJ6LHN.js";
165
165
  import {
166
166
  addLogListener,
167
167
  createFastifyLogger,
@@ -291,7 +291,7 @@ import {
291
291
  webhookResponseReason,
292
292
  webhookTargetRefusalReason,
293
293
  writeAuditLog
294
- } from "./chunk-PRCBHOVR.js";
294
+ } from "./chunk-R3US2RG6.js";
295
295
  import {
296
296
  OperationalLogStore,
297
297
  SentimentIdempotencyConflict,
@@ -377,7 +377,7 @@ import {
377
377
  siteLivenessState,
378
378
  trafficSources,
379
379
  usageCounters
380
- } from "./chunk-PH4AESRE.js";
380
+ } from "./chunk-HRFPGXON.js";
381
381
  import {
382
382
  AGENT_MEMORY_VALUE_MAX_BYTES,
383
383
  AI_ENGINE_DOMAINS,
@@ -5937,7 +5937,7 @@ function nonBlank(value) {
5937
5937
  return trimmed ? trimmed : void 0;
5938
5938
  }
5939
5939
  function resolveBuildCommit(env = process.env) {
5940
- const embedded = true ? "4ef4905de19fbd19f9571174a291d4ef01463cbb" : void 0;
5940
+ const embedded = true ? "7de408778ee8c17a4b7d4e10315544e07bc057a8" : void 0;
5941
5941
  return nonBlank(embedded) ?? nonBlank(env.CANONRY_COMMIT);
5942
5942
  }
5943
5943
  function resolveInstanceIdentity(env = process.env) {
@@ -28,7 +28,7 @@ async function buildSetupState() {
28
28
  }
29
29
  if (dbPath && fs.existsSync(dbPath)) {
30
30
  try {
31
- const { createClient, projects, queries: queriesTable } = await import("./src-AQ5MHQGQ.js");
31
+ const { createClient, projects, queries: queriesTable } = await import("./src-QC2VNJWJ.js");
32
32
  const db = createClient(dbPath);
33
33
  project_count = db.select({ id: projects.id }).from(projects).all().length;
34
34
  const firstQuery = db.select({ id: queriesTable.id }).from(queriesTable).limit(1).all();
@@ -47,7 +47,7 @@ function queueServeHandoff() {
47
47
  async function runPendingServeHandoff(format) {
48
48
  if (!pendingServeHandoff) return;
49
49
  pendingServeHandoff = false;
50
- const { serveCommand } = await import("./serve-XAI5YFWR.js");
50
+ const { serveCommand } = await import("./serve-7JITP7HH.js");
51
51
  await serveCommand(format);
52
52
  }
53
53
 
@@ -34,6 +34,7 @@ import { drizzle } from "drizzle-orm/better-sqlite3";
34
34
  // ../db/src/schema.ts
35
35
  var schema_exports = {};
36
36
  __export(schema_exports, {
37
+ RawEventSampleEventTypes: () => RawEventSampleEventTypes,
37
38
  adsActivationGrants: () => adsActivationGrants,
38
39
  adsAdGroups: () => adsAdGroups,
39
40
  adsAds: () => adsAds,
@@ -2612,6 +2613,12 @@ var rawEventSamples = sqliteTable2("raw_event_samples", {
2612
2613
  index2("idx_raw_event_samples_source_ts").on(table.sourceId, table.ts),
2613
2614
  index2("idx_raw_event_samples_event_type").on(table.eventType)
2614
2615
  ]);
2616
+ var RawEventSampleEventTypes = {
2617
+ crawler: "crawler",
2618
+ aiUserFetch: "ai_user_fetch",
2619
+ aiReferral: "ai_referral",
2620
+ unknown: "unknown"
2621
+ };
2615
2622
  var journeyVisitors = sqliteTable2("journey_visitors", {
2616
2623
  projectId: text2("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
2617
2624
  visitorKey: text2("visitor_key").notNull(),
@@ -8353,6 +8360,16 @@ var MIGRATION_VERSIONS = [
8353
8360
  WHERE (delegated_user_id IS NOT NULL AND name = 'mcp-session:' || delegated_user_id)
8354
8361
  OR (delegated_user_id IS NULL AND name GLOB 'mcp-session:*')`
8355
8362
  ]
8363
+ },
8364
+ {
8365
+ // The traffic-classification backfill stored reclassified AI user-fetch
8366
+ // samples as the wire kind 'ai-user-fetch' instead of the stored
8367
+ // 'ai_user_fetch', so sample reads never returned them. A no-op once fixed.
8368
+ version: 200,
8369
+ name: "raw-event-samples-user-fetch-event-type",
8370
+ statements: [
8371
+ `UPDATE raw_event_samples SET event_type = 'ai_user_fetch' WHERE event_type = 'ai-user-fetch'`
8372
+ ]
8356
8373
  }
8357
8374
  ];
8358
8375
  var AERO_LEDGER_REBUILDS = [
@@ -9860,6 +9877,7 @@ export {
9860
9877
  aiUserFetchVerificationManifestsHourly,
9861
9878
  aiReferralEventsHourly,
9862
9879
  rawEventSamples,
9880
+ RawEventSampleEventTypes,
9863
9881
  journeyVisitors,
9864
9882
  journeyVisits,
9865
9883
  journeyEvents,
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-HGMYEDAQ.js";
11
11
  import {
12
12
  buildOpenApiDocument
13
- } from "./chunk-PRCBHOVR.js";
13
+ } from "./chunk-R3US2RG6.js";
14
14
  import {
15
15
  DEFAULT_COMPETITOR_AUTO_ALIAS_MODE,
16
16
  MeasurementPortfolioLists,
@@ -5,7 +5,7 @@ import {
5
5
  isStoredPageReadTool,
6
6
  isStoredReadTool,
7
7
  truncateToolResult
8
- } from "./chunk-IYMTQHPD.js";
8
+ } from "./chunk-JJO5XNS6.js";
9
9
  import {
10
10
  CANONRY_MCP_TOOLKITS,
11
11
  resolveAeroSkillDir
@@ -34,7 +34,7 @@ import {
34
34
  import {
35
35
  agentToolEvents,
36
36
  llmUsageEvents
37
- } from "./chunk-PH4AESRE.js";
37
+ } from "./chunk-HRFPGXON.js";
38
38
  import {
39
39
  MeasurementPortfolioLists,
40
40
  SeoCapabilities,
@@ -5,7 +5,7 @@ import {
5
5
  siteCrawlGraphNodes,
6
6
  siteCrawlPages,
7
7
  siteCrawlSnapshots
8
- } from "./chunk-PH4AESRE.js";
8
+ } from "./chunk-HRFPGXON.js";
9
9
  import {
10
10
  SITE_CRAWL_GRAPH_MAX_EDGES,
11
11
  SITE_CRAWL_GRAPH_MAX_NODES,
@@ -17,7 +17,7 @@ import {
17
17
  mergeGscQueryTotalsWithFallback,
18
18
  readGscQueryDailyRows,
19
19
  readLatestGscDataDate
20
- } from "./chunk-PRCBHOVR.js";
20
+ } from "./chunk-R3US2RG6.js";
21
21
  import {
22
22
  competitors,
23
23
  gbpDailyMetrics,
@@ -35,7 +35,7 @@ import {
35
35
  queries,
36
36
  querySnapshots,
37
37
  runs
38
- } from "./chunk-PH4AESRE.js";
38
+ } from "./chunk-HRFPGXON.js";
39
39
  import {
40
40
  CitationStates,
41
41
  RunKinds,