@ainyc/canonry 5.0.1 → 5.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/assets/{AuditHistoryPanel-9F_74jKS.js → AuditHistoryPanel-Dc_pymFg.js} +1 -1
- package/assets/assets/{BacklinksPage-DmF2rbwy.js → BacklinksPage-BkSo48YX.js} +1 -1
- package/assets/assets/{HistoryPage-DKopwAjo.js → HistoryPage-BbswsdU7.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-Dpd_DYQv.js → MeasurementPropertyPage-BbgtalkM.js} +1 -1
- package/assets/assets/{ProjectPage-b1-57SzP.js → ProjectPage-CAcRQp-T.js} +1 -1
- package/assets/assets/{RunRow-BjrSRp6X.js → RunRow-2cNW8FHz.js} +1 -1
- package/assets/assets/{RunsPage-BFrymZ7D.js → RunsPage-Cz3lJ6VJ.js} +1 -1
- package/assets/assets/{SettingsPage-DdVa6pLK.js → SettingsPage-BQwB0r9k.js} +1 -1
- package/assets/assets/{SiteHealthSection-CizmiBjA.js → SiteHealthSection-C0aJ_UhN.js} +3 -3
- package/assets/assets/{TrafficPage-N7sZgb9x.js → TrafficPage-DTic3zhO.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-BNQmMJ5D.js → TrafficSourceDetailPage-BKfabnCw.js} +1 -1
- package/assets/assets/{extract-error-message-Bh9mRIz9.js → extract-error-message-BzB8j3fC.js} +1 -1
- package/assets/assets/{index-BnR1Tu9j.js → index-DQGEzxrN.js} +3 -3
- package/assets/assets/{react-sigma_core.esm.min-DGaYwjLZ.js → react-sigma_core.esm.min-rYv0aKKx.js} +1 -1
- package/assets/assets/{v2-overview-adapter-eqN-8OK5.js → v2-overview-adapter-CWWPfsm-.js} +1 -1
- package/assets/index.html +1 -1
- package/dist/{chunk-MEQGGODM.js → chunk-5K2NUQOV.js} +34 -5
- package/dist/{chunk-3DL3KV6C.js → chunk-5ZIUROAQ.js} +48 -0
- package/dist/{chunk-GMNZNLVX.js → chunk-BS4ZC7FG.js} +258 -27
- package/dist/{chunk-66KGNC4U.js → chunk-NKEKDWGX.js} +2 -2
- package/dist/{chunk-LHHJVGH7.js → chunk-WSYJ4IT7.js} +43 -15
- package/dist/cli.js +17 -15
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-7XX5ZRYE.js → intelligence-service-D2HY2S5F.js} +2 -2
- package/dist/mcp.js +5 -4
- package/package.json +11 -11
package/assets/assets/{react-sigma_core.esm.min-DGaYwjLZ.js → react-sigma_core.esm.min-rYv0aKKx.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as Bt,t as S,r as C}from"./vendor-tanstack-ZXXkndVj.js";import{e as Ht,G as Wt}from"./SiteHealthSection-
|
|
1
|
+
import{g as Bt,t as S,r as C}from"./vendor-tanstack-ZXXkndVj.js";import{e as Ht,G as Wt}from"./SiteHealthSection-C0aJ_UhN.js";import"./index-DQGEzxrN.js";import"./vendor-radix-twS1M3FF.js";import"./vendor-recharts-D-cUuLZo.js";import"./vendor-lucide-CW2qe0uH.js";import"./vendor-markdown-B-Oq2NYq.js";import"./vendor-yaml-GWJz5H2G.js";import"./ChartPrimitives-Bxa_vFmq.js";function Vt(r,n){if(typeof r!="object"||!r)return r;var i=r[Symbol.toPrimitive];if(i!==void 0){var e=i.call(r,n);if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}function ae(r){var n=Vt(r,"string");return typeof n=="symbol"?n:n+""}function A(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}function He(r,n){for(var i=0;i<n.length;i++){var e=n[i];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(r,ae(e.key),e)}}function L(r,n,i){return n&&He(r.prototype,n),i&&He(r,i),Object.defineProperty(r,"prototype",{writable:!1}),r}function Q(r){return Q=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Q(r)}function yt(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(yt=function(){return!!r})()}function jt(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function Zt(r,n){if(n&&(typeof n=="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return jt(r)}function I(r,n,i){return n=Q(n),Zt(r,yt()?Reflect.construct(n,i||[],Q(r).constructor):n.apply(r,i))}function xe(r,n){return xe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,e){return i.__proto__=e,i},xe(r,n)}function G(r,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(n&&n.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),n&&xe(r,n)}function qt(r){if(Array.isArray(r))return r}function Yt(r,n){var i=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(i!=null){var e,t,a,o,s=[],l=!0,h=!1;try{if(a=(i=i.call(r)).next,n===0){if(Object(i)!==i)return;l=!1}else for(;!(l=(e=a.call(i)).done)&&(s.push(e.value),s.length!==n);l=!0);}catch(u){h=!0,t=u}finally{try{if(!l&&i.return!=null&&(o=i.return(),Object(o)!==o))return}finally{if(h)throw t}}return s}}function Se(r,n){(n==null||n>r.length)&&(n=r.length);for(var i=0,e=Array(n);i<n;i++)e[i]=r[i];return e}function Tt(r,n){if(r){if(typeof r=="string")return Se(r,n);var i={}.toString.call(r).slice(8,-1);return i==="Object"&&r.constructor&&(i=r.constructor.name),i==="Map"||i==="Set"?Array.from(r):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Se(r,n):void 0}}function Xt(){throw new 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 ee(r,n){return qt(r)||Yt(r,n)||Tt(r,n)||Xt()}var pe={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"},Ct=new Int8Array(4),be=new Int32Array(Ct.buffer,0,1),$t=new Float32Array(Ct.buffer,0,1),Kt=/^\s*rgba?\s*\(/,Jt=/^\s*rgba?\s*\(\s*([0-9]*)\s*,\s*([0-9]*)\s*,\s*([0-9]*)(?:\s*,\s*(.*)?)?\)\s*$/;function Qt(r){var n=0,i=0,e=0,t=1;if(r[0]==="#")r.length===4?(n=parseInt(r.charAt(1)+r.charAt(1),16),i=parseInt(r.charAt(2)+r.charAt(2),16),e=parseInt(r.charAt(3)+r.charAt(3),16)):(n=parseInt(r.charAt(1)+r.charAt(2),16),i=parseInt(r.charAt(3)+r.charAt(4),16),e=parseInt(r.charAt(5)+r.charAt(6),16)),r.length===9&&(t=parseInt(r.charAt(7)+r.charAt(8),16)/255);else if(Kt.test(r)){var a=r.match(Jt);a&&(n=+a[1],i=+a[2],e=+a[3],a[4]&&(t=+a[4]))}return{r:n,g:i,b:e,a:t}}var J={};for(var le in pe)J[le]=oe(pe[le]),J[pe[le]]=J[le];function Rt(r,n,i,e,t){return be[0]=e<<24|i<<16|n<<8|r,be[0]=be[0]&4278190079,$t[0]}function oe(r){if(r=r.toLowerCase(),typeof J[r]<"u")return J[r];var n=Qt(r),i=n.r,e=n.g,t=n.b,a=n.a;a=a*255|0;var o=Rt(i,e,t,a);return J[r]=o,o}var Ee={};function _t(r){if(typeof Ee[r]<"u")return Ee[r];var n=(r&16711680)>>>16,i=(r&65280)>>>8,e=r&255,t=255,a=Rt(n,i,e,t);return Ee[r]=a,a}function We(r,n,i,e){return i+(n<<8)+(r<<16)}function Ve(r,n,i,e,t,a){var o=Math.floor(i/a*t),s=Math.floor(r.drawingBufferHeight/a-e/a*t),l=new Uint8Array(4);r.bindFramebuffer(r.FRAMEBUFFER,n),r.readPixels(o,s,1,1,r.RGBA,r.UNSIGNED_BYTE,l);var h=ee(l,4),u=h[0],d=h[1],f=h[2],g=h[3];return[u,d,f,g]}function c(r,n,i){return(n=ae(n))in r?Object.defineProperty(r,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):r[n]=i,r}function je(r,n){var i=Object.keys(r);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(r);n&&(e=e.filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})),i.push.apply(i,e)}return i}function b(r){for(var n=1;n<arguments.length;n++){var i=arguments[n]!=null?arguments[n]:{};n%2?je(Object(i),!0).forEach(function(e){c(r,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(i)):je(Object(i)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(i,e))})}return r}function ei(r,n){for(;!{}.hasOwnProperty.call(r,n)&&(r=Q(r))!==null;);return r}function Ae(){return Ae=typeof Reflect<"u"&&Reflect.get?Reflect.get.bind():function(r,n,i){var e=ei(r,n);if(e){var t=Object.getOwnPropertyDescriptor(e,n);return t.get?t.get.call(arguments.length<3?r:i):t.value}},Ae.apply(null,arguments)}function wt(r,n,i,e){var t=Ae(Q(r.prototype),n,i);return typeof t=="function"?function(a){return t.apply(i,a)}:t}function ti(r){return r.normalized?1:r.size}function ye(r){var n=0;return r.forEach(function(i){return n+=ti(i)}),n}function xt(r,n,i){var e=r==="VERTEX"?n.VERTEX_SHADER:n.FRAGMENT_SHADER,t=n.createShader(e);if(t===null)throw new Error("loadShader: error while creating the shader");n.shaderSource(t,i),n.compileShader(t);var a=n.getShaderParameter(t,n.COMPILE_STATUS);if(!a){var o=n.getShaderInfoLog(t);throw n.deleteShader(t),new Error(`loadShader: error while compiling the shader:
|
|
3
3
|
`.concat(o,`
|
|
4
4
|
`).concat(i))}return t}function ii(r,n){return xt("VERTEX",r,n)}function ri(r,n){return xt("FRAGMENT",r,n)}function ni(r,n){var i=r.createProgram();if(i===null)throw new Error("loadProgram: error while creating the program.");var e,t;for(e=0,t=n.length;e<t;e++)r.attachShader(i,n[e]);r.linkProgram(i);var a=r.getProgramParameter(i,r.LINK_STATUS);if(!a){var o=r.getProgramInfoLog(i);throw r.deleteProgram(i),new Error("loadProgram: error while linking the program: ".concat(o))}return i}function Ze(r){var n=r.gl,i=r.buffer,e=r.program,t=r.vertexShader,a=r.fragmentShader;n.deleteShader(t),n.deleteShader(a),n.deleteProgram(e),n.deleteBuffer(i)}var qe=`#define PICKING_MODE
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as o,r as C}from"./vendor-tanstack-ZXXkndVj.js";import{y as M,B as A}from"./index-
|
|
1
|
+
import{j as o,r as C}from"./vendor-tanstack-ZXXkndVj.js";import{y as M,B as A}from"./index-DQGEzxrN.js";import{M as $}from"./vendor-markdown-B-Oq2NYq.js";const H="Sources",y={copy:"Copy answer",copying:"Copying…",copied:"Copied",failed:"Could not copy. Select and copy the answer above."};function N({headingLevel:e}){return n=>{const r=[],s=i=>{i.type==="heading"&&i.depth&&r.push(i),i.children?.forEach(s)};s(n);const l=r.reduce((i,u)=>Math.min(i,u.depth),6);for(const i of r){const u=i.depth-l;i.depth=Math.min(6,e+u),i.data={...i.data,hProperties:{...i.data?.hProperties,"data-answer-heading-level":u+1}}}}}function R({answer:e}){const[n,r]=C.useState("idle"),s=C.useRef(!1),l=async()=>{if(!s.current){s.current=!0,r("copying");try{await navigator.clipboard.writeText(e),r("copied")}catch{r("failed")}finally{s.current=!1}}};return o.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-x-3",children:[o.jsx(A,{type:"button",variant:"ghost",className:"min-h-11 px-2","aria-disabled":n==="copying","aria-busy":n==="copying",onClick:()=>{l()},children:n==="copying"?y.copying:y.copy}),o.jsx("span",{role:"status",className:"text-sm text-secondary",children:n==="copied"?y.copied:n==="failed"?y.failed:""})]})}function L({children:e,headingLevel:n=4,copyable:r=!1}){return o.jsxs("div",{className:"answer-markdown",children:[o.jsx($,{remarkPlugins:[[N,{headingLevel:n}]],components:{p:({children:s})=>o.jsx("p",{className:"mb-3 whitespace-pre-wrap last:mb-0",children:s}),ul:({children:s})=>o.jsx("ul",{className:"mb-3 ml-5 list-disc space-y-1",children:s}),ol:({children:s,start:l})=>o.jsx("ol",{start:l,className:"mb-3 ml-5 list-decimal space-y-1",children:s}),pre:({children:s})=>o.jsx("pre",{className:"mb-3 overflow-x-auto whitespace-pre-wrap",children:s}),a:({children:s,href:l})=>{const i=M(l);return i?o.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:"text-link underline",children:s}):o.jsx("span",{children:s})},img:({alt:s})=>o.jsx("span",{children:s})},children:e}),r&&e.trim()?o.jsx(R,{answer:e},e):null]})}function F(e){const n=e[0];return n?e.every(r=>r.mode===n.mode&&r.scope.kind===n.scope.kind&&r.scope.key===n.scope.key&&r.queryClass===n.queryClass&&r.measurement.displayedRunId===n.measurement.displayedRunId):!0}function p(e){return e.state==="unavailable"?{numerator:null,denominator:null,reason:e.reason}:e.numerator===void 0||e.denominator===void 0||e.denominator<=0?{numerator:null,denominator:null,reason:"not_applicable"}:{numerator:e.numerator,denominator:e.denominator}}function I(e){return e.kind==="exact"?e.url:e.kind==="prefix"?`https://${e.host}${e.pathPrefix}/*`:`https://${e.host}/*`}function T(e){return e==="assigned"?"this-property":e==="sibling"?"another-property":e==="ownedUnmapped"?"owned-unassigned":e==="external"?"external":e==="ambiguous"?"multiple-properties":"invalid-url"}function _(e){return e==="assigned"?"positive":e==="external"?"neutral":e==="invalid"?"negative":"caution"}function k(e){return`target:${e.targetKey}:${e.queryId}:${e.executionNodeKey}`}function j(e,n,r){const s=new Map;if(!n)return s;const l=new Map(e.usageEdges.map(a=>[k(a),a.targetKey])),i=new Map(e.assignments.map(a=>[`${a.targetKey}:${a.queryId}`,a.queryClass])),u=new Map(e.usageEdges.map(a=>[k(a),i.get(`${a.targetKey}:${a.queryId}`)]));for(const a of n.evidence){if(r&&u.get(a.usageEdgeId)!==r)continue;const c=l.get(a.usageEdgeId);if(!c)continue;const m=s.get(c)??[];m.push({id:`${a.observationId}:${a.expectedSlotId}:${a.usageEdgeId}:${a.sourceUrl}`,kind:T(a.classification),query:a.queryText,provider:a.provider,location:a.location,url:a.sourceUrl,tone:_(a.classification),historical:a.historical||a.bridged}),s.set(c,m)}return s}function B(e){if(e.flags>0)return{label:"Review",tone:"caution"};const n=[e.mentionCoverage,e.citationCoverage].filter(r=>r.state==="unavailable").map(r=>r.reason);return n.includes("no_completed_run")?{label:"Not measured",tone:"neutral"}:n.includes("plan_v1")?{label:"Update setup",tone:"caution"}:n.includes("evidence_incomplete")?{label:"Evidence incomplete",tone:"caution"}:n.includes("no_population")?{label:"No queries",tone:"neutral"}:n.includes("not_applicable")?{label:"Not applicable",tone:"neutral"}:{label:"Complete",tone:"positive"}}function O(e){return e==="complete"?{label:"Complete",tone:"positive"}:e==="partial"?{label:"Partial",tone:"caution"}:e==="queued"?{label:"Queued",tone:"neutral"}:e==="running"?{label:"Running",tone:"neutral"}:e==="failed"?{label:"Failed",tone:"negative"}:{label:"Not measured",tone:"neutral"}}function U(e){if(!e)return"";const n=new Date(e);return Number.isFinite(n.getTime())?n.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric",timeZone:"UTC"}):""}function q(e){const n=e.nextAction.count??e.flags.total;if(e.nextAction.kind==="review_flags")return`${n} flagged ${n===1?"result needs":"results need"} review.`;if(e.nextAction.kind==="complete_setup")return"Finish setup.";if(e.nextAction.kind==="republish_setup")return"Setup update required.";if(e.nextAction.kind==="run_measurement")return"Ready to measure."}function W({overview:e,activePlan:n,report:r,reportState:s=r?"ready":"loading",sort:l}){if(n.plan.schemaVersion!==2||e.mode!=="active-v2")throw new Error("The current overview requires an active version-two setup.");if(e.scope.kind!=="all"&&e.scope.kind!=="group")throw new Error("The current overview requires an All Properties or group scope.");const i=n.plan,u=new Map(i.targets.map(t=>[t.stableKey,t])),a=new Map(i.querySnapshots.map(t=>[t.queryId,t.queryText])),c=new Map;for(const t of i.assignments){if(e.queryClass!=="all"&&t.queryClass!==e.queryClass)continue;const d=a.get(t.queryId);if(!d)continue;const g=c.get(t.targetKey)??new Set;g.add(d),c.set(t.targetKey,g)}const m=r?.revision===n.revision&&r.run?.id===e.measurement.displayedRunId?r:null,K=e.measurement.displayedRunId===void 0||m?"ready":s==="error"||r!=null?"error":"loading",S=j(i,m,e.queryClass==="all"?void 0:e.queryClass),h=new Map;for(const t of i.groups)for(const d of t.targetKeys)h.has(d)||h.set(d,t.label);const x=e.properties.items.map(t=>{const d=u.get(t.targetKey),g=S.get(t.targetKey)??[];return{id:t.targetKey,name:t.label,mentionCoverage:p(t.mentionCoverage),citationCoverage:p(t.citationCoverage),status:B(t),providers:t.providers?.map(f=>({provider:f.provider,mentionCoverage:p(f.mentionCoverage),citationCoverage:p(f.citationCoverage)})),market:h.get(t.targetKey),assignedQueries:[...c.get(t.targetKey)??[]],urls:d?.urlMatchers.map(I)??[],evidence:g,evidenceState:K,historical:g.some(f=>f.historical)}}),b=e.namedShareOfVoice?.entries.map(t=>({name:t.label,coverage:{numerator:t.credits,denominator:e.namedShareOfVoice.denominator}})),E=e.properties.items.flatMap(t=>t.flags>0?[{id:`property:${t.targetKey}`,property:t.label,summary:`${t.flags} ${t.flags===1?"result needs":"results need"} review.`,tone:"caution",count:t.flags}]:[]);return{classReporting:"available",latestMeasurement:{status:O(e.measurement.state),completedSlots:e.measurement.completed,totalSlots:e.measurement.expected,date:U(e.measurement.completedAt),includesBridgedHistory:e.measurement.includesHistoricalData===!0},currentView:{scope:e.scope.kind==="group"?{kind:"group",...e.scope.key?{key:e.scope.key}:{}}:{kind:"all"},queryClass:e.queryClass,aggregate:{metrics:{propertiesMentioned:p(e.metrics.propertiesMentioned),mentionCoverage:p(e.metrics.mentionCoverage),citationCoverage:p(e.metrics.citationCoverage)},properties:x,...b?{shareOfVoice:b}:{}},propertyTotal:e.properties.totalEstimate??x.length,outcomes:e.outcomes,nextCursor:e.properties.nextCursor,...l?{sort:l}:{}},availableGroups:i.groups.map(t=>({id:t.stableKey,label:t.label})),...q(e)?{nextActionText:q(e)}:{},flaggedResultsTotal:e.flags.total,flaggedResults:E}}export{L as A,H as a,F as b,W as c,I as m};
|
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-
|
|
15
|
+
<script type="module" crossorigin src="./assets/index-DQGEzxrN.js"></script>
|
|
16
16
|
<link rel="modulepreload" crossorigin href="./assets/vendor-tanstack-ZXXkndVj.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="./assets/vendor-radix-twS1M3FF.js">
|
|
18
18
|
<link rel="modulepreload" crossorigin href="./assets/vendor-recharts-D-cUuLZo.js">
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
RESEARCH_RUN_SCOPE,
|
|
10
10
|
SKILL_MANIFEST_FILENAME,
|
|
11
11
|
SkillsClients,
|
|
12
|
+
USAGE_TELEMETRY_HEADERS,
|
|
12
13
|
adsActivateTreeRequestSchema,
|
|
13
14
|
adsAdCreateRequestSchema,
|
|
14
15
|
adsAdGroupCreateRequestSchema,
|
|
@@ -30,6 +31,7 @@ import {
|
|
|
30
31
|
competitorBatchRequestSchema,
|
|
31
32
|
competitorLandscapeQuerySchema,
|
|
32
33
|
describeError,
|
|
34
|
+
detectAgentRuntime,
|
|
33
35
|
discoveryBucketSchema,
|
|
34
36
|
discoveryCompetitorTypeSchema,
|
|
35
37
|
discoveryPromoteRequestSchema,
|
|
@@ -82,6 +84,7 @@ import {
|
|
|
82
84
|
measurementQueryTemplateApplyRequestSchema,
|
|
83
85
|
measurementQueryTemplateUpsertRequestSchema,
|
|
84
86
|
measurementQuestionResultQuerySchema,
|
|
87
|
+
normalizeAgentSlug,
|
|
85
88
|
normalizeTelemetryStatus,
|
|
86
89
|
notificationCreateRequestSchema,
|
|
87
90
|
notificationEventSchema,
|
|
@@ -115,7 +118,7 @@ import {
|
|
|
115
118
|
trafficEventKindSchema,
|
|
116
119
|
trafficSeriesGranularitySchema,
|
|
117
120
|
visibilityReportRequestSchema
|
|
118
|
-
} from "./chunk-
|
|
121
|
+
} from "./chunk-5ZIUROAQ.js";
|
|
119
122
|
|
|
120
123
|
// src/cli-error.ts
|
|
121
124
|
function isMachineFormat(format) {
|
|
@@ -609,6 +612,9 @@ function configExists() {
|
|
|
609
612
|
return fs.existsSync(getConfigPath());
|
|
610
613
|
}
|
|
611
614
|
|
|
615
|
+
// src/client.ts
|
|
616
|
+
import { AsyncLocalStorage } from "async_hooks";
|
|
617
|
+
|
|
612
618
|
// src/client-reliability.ts
|
|
613
619
|
function parseRetryAfterMs(header, now = Date.now()) {
|
|
614
620
|
if (!header) return void 0;
|
|
@@ -6021,6 +6027,11 @@ function createClient2(opts) {
|
|
|
6021
6027
|
}
|
|
6022
6028
|
|
|
6023
6029
|
// src/client.ts
|
|
6030
|
+
var usageTagStore = new AsyncLocalStorage();
|
|
6031
|
+
function runWithUsageTags(client2, tags, fn) {
|
|
6032
|
+
if (!(client2 instanceof ApiClient)) return fn();
|
|
6033
|
+
return usageTagStore.run(tags, fn);
|
|
6034
|
+
}
|
|
6024
6035
|
var SAFE_CLIENT_NAME = /^\w[\w./-]{0,127}$/;
|
|
6025
6036
|
var SAFE_ACTOR_SESSION = /^\w[\w.:-]{0,127}$/;
|
|
6026
6037
|
function safeClientName(value) {
|
|
@@ -6049,12 +6060,24 @@ var ApiClient = class {
|
|
|
6049
6060
|
this.probeSkipped = opts?.skipProbe ?? false;
|
|
6050
6061
|
this.heyClientBaseUrl = this.originUrl;
|
|
6051
6062
|
const actorSession = safeActorSession(opts?.actorSession);
|
|
6063
|
+
const surface = opts?.surface ?? "cli";
|
|
6064
|
+
const serverHosted = surface === "mcp-http" || surface === "aero";
|
|
6052
6065
|
this.requestHeaders = {
|
|
6053
6066
|
authorization: `Bearer ${this.apiKey}`,
|
|
6054
6067
|
"user-agent": safeClientName(opts?.clientName),
|
|
6055
|
-
...actorSession ? { "x-canonry-actor-session": actorSession } : {}
|
|
6068
|
+
...actorSession ? { "x-canonry-actor-session": actorSession } : {},
|
|
6069
|
+
[USAGE_TELEMETRY_HEADERS.surface]: surface,
|
|
6070
|
+
...serverHosted ? {} : { [USAGE_TELEMETRY_HEADERS.agent]: detectAgentRuntime(process.env) }
|
|
6056
6071
|
};
|
|
6057
6072
|
this.heyClient = createClient2({ baseUrl: this.originUrl, apiKey: this.apiKey, headers: this.requestHeaders });
|
|
6073
|
+
this.heyClient.interceptors.request.use((request) => {
|
|
6074
|
+
const tags = usageTagStore.getStore();
|
|
6075
|
+
if (tags?.mcpTool) request.headers.set(USAGE_TELEMETRY_HEADERS.mcpTool, tags.mcpTool);
|
|
6076
|
+
if (tags?.mcpCall) request.headers.set(USAGE_TELEMETRY_HEADERS.mcpCall, tags.mcpCall);
|
|
6077
|
+
const mcpClient = normalizeAgentSlug(tags?.mcpClient);
|
|
6078
|
+
if (mcpClient) request.headers.set(USAGE_TELEMETRY_HEADERS.mcpClient, mcpClient);
|
|
6079
|
+
return request;
|
|
6080
|
+
});
|
|
6058
6081
|
}
|
|
6059
6082
|
/**
|
|
6060
6083
|
* On first API call, probe /health to auto-discover basePath when the user
|
|
@@ -6330,7 +6353,7 @@ var ApiClient = class {
|
|
|
6330
6353
|
let res;
|
|
6331
6354
|
try {
|
|
6332
6355
|
res = await fetch(url, {
|
|
6333
|
-
headers: {
|
|
6356
|
+
headers: { ...this.requestHeaders }
|
|
6334
6357
|
});
|
|
6335
6358
|
} catch (err) {
|
|
6336
6359
|
const message = describeError(err);
|
|
@@ -8939,6 +8962,7 @@ var ApiClient = class {
|
|
|
8939
8962
|
};
|
|
8940
8963
|
|
|
8941
8964
|
// src/mcp/server.ts
|
|
8965
|
+
import { randomUUID } from "crypto";
|
|
8942
8966
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
8943
8967
|
import { z as z5 } from "zod";
|
|
8944
8968
|
|
|
@@ -13116,7 +13140,7 @@ function createCanonryMcpServer(options = {}) {
|
|
|
13116
13140
|
}
|
|
13117
13141
|
var SERVER_INSTRUCTIONS = OPERATIONS_GUIDE.initialize;
|
|
13118
13142
|
function createCanonryMcpServerWithCatalog(options = {}) {
|
|
13119
|
-
const clientFactory = options.clientFactory ?? (() => createApiClient({ clientName: "canonry-mcp" }));
|
|
13143
|
+
const clientFactory = options.clientFactory ?? (() => createApiClient({ clientName: "canonry-mcp", surface: "mcp-stdio", actorSession: randomUUID() }));
|
|
13120
13144
|
const client2 = clientFactory();
|
|
13121
13145
|
const scope = options.scope ?? "all";
|
|
13122
13146
|
const server = new McpServer({
|
|
@@ -13141,7 +13165,11 @@ function createCanonryMcpServerWithCatalog(options = {}) {
|
|
|
13141
13165
|
},
|
|
13142
13166
|
async (input) => withToolErrors(async () => {
|
|
13143
13167
|
const parsed = tool.inputSchema.parse(input ?? {});
|
|
13144
|
-
return
|
|
13168
|
+
return runWithUsageTags(client2, {
|
|
13169
|
+
mcpTool: tool.name,
|
|
13170
|
+
mcpCall: randomUUID(),
|
|
13171
|
+
mcpClient: server.server.getClientVersion()?.name
|
|
13172
|
+
}, () => handler(client2, parsed));
|
|
13145
13173
|
})
|
|
13146
13174
|
);
|
|
13147
13175
|
entries.push({ tool, registered });
|
|
@@ -13618,6 +13646,7 @@ export {
|
|
|
13618
13646
|
emitInstallSummary,
|
|
13619
13647
|
getMissingUserSkillsNudge,
|
|
13620
13648
|
parseSkillsClient,
|
|
13649
|
+
runWithUsageTags,
|
|
13621
13650
|
createApiClient,
|
|
13622
13651
|
ApiClient,
|
|
13623
13652
|
measurementDraftOperationSchema,
|
|
@@ -17782,6 +17782,49 @@ function isGhostTelemetryEvent(eventName, properties) {
|
|
|
17782
17782
|
const location = typeof properties.location === "string" ? properties.location.trim().toLowerCase() : "";
|
|
17783
17783
|
return GHOST_TELEMETRY_TEST_LOCATIONS.has(location);
|
|
17784
17784
|
}
|
|
17785
|
+
var usageSurfaceSchema = z60.enum(["cli", "mcp-stdio", "mcp-http", "aero", "api", "dashboard"]);
|
|
17786
|
+
var USAGE_TELEMETRY_HEADERS = {
|
|
17787
|
+
surface: "x-canonry-surface",
|
|
17788
|
+
agent: "x-canonry-agent",
|
|
17789
|
+
mcpClient: "x-canonry-mcp-client",
|
|
17790
|
+
mcpTool: "x-canonry-mcp-tool",
|
|
17791
|
+
mcpCall: "x-canonry-mcp-call"
|
|
17792
|
+
};
|
|
17793
|
+
var AGENT_NONE = "none";
|
|
17794
|
+
var AGENT_SLUG_PATTERN = /^[a-z0-9][a-z0-9._-]{0,39}$/;
|
|
17795
|
+
function normalizeAgentSlug(value) {
|
|
17796
|
+
if (!value) return null;
|
|
17797
|
+
const slug = value.trim().toLowerCase().replace(/[^a-z0-9._-]+/g, "-").slice(0, 40).replace(/^[-._]+|[-._]+$/g, "");
|
|
17798
|
+
return AGENT_SLUG_PATTERN.test(slug) ? slug : null;
|
|
17799
|
+
}
|
|
17800
|
+
var AI_AGENT_ALIASES = {
|
|
17801
|
+
"claude-code": "claude",
|
|
17802
|
+
"github-copilot-cli": "github-copilot"
|
|
17803
|
+
};
|
|
17804
|
+
function agentFromAiAgentVariable(value) {
|
|
17805
|
+
const name = value.trim().toLowerCase().replace(/_agent$/, "").replace(/_\d[\d._-]*$/, "");
|
|
17806
|
+
const slug = normalizeAgentSlug(name);
|
|
17807
|
+
return slug ? AI_AGENT_ALIASES[slug] ?? slug : null;
|
|
17808
|
+
}
|
|
17809
|
+
function detectAgentRuntime(env) {
|
|
17810
|
+
const explicit = normalizeAgentSlug(env.CANONRY_AGENT);
|
|
17811
|
+
if (explicit) return explicit;
|
|
17812
|
+
if (env.AI_AGENT?.trim()) {
|
|
17813
|
+
const named = agentFromAiAgentVariable(env.AI_AGENT);
|
|
17814
|
+
if (named) return named;
|
|
17815
|
+
}
|
|
17816
|
+
if (env.CURSOR_TRACE_ID) return "cursor";
|
|
17817
|
+
if (env.CURSOR_AGENT || env.CURSOR_EXTENSION_HOST_ROLE === "agent-exec") return "cursor-cli";
|
|
17818
|
+
if (env.GEMINI_CLI) return "gemini";
|
|
17819
|
+
if (env.CODEX_SANDBOX || env.CODEX_CI || env.CODEX_THREAD_ID) return "codex";
|
|
17820
|
+
if (env.ANTIGRAVITY_AGENT) return "antigravity";
|
|
17821
|
+
if (env.AUGMENT_AGENT) return "augment-cli";
|
|
17822
|
+
if (env.OPENCODE_CLIENT) return "opencode";
|
|
17823
|
+
if (env.CLAUDECODE || env.CLAUDE_CODE) return env.CLAUDE_CODE_IS_COWORK ? "cowork" : "claude";
|
|
17824
|
+
if (env.REPL_ID) return "replit";
|
|
17825
|
+
if (env.COPILOT_MODEL || env.COPILOT_ALLOW_ALL || env.COPILOT_GITHUB_TOKEN) return "github-copilot";
|
|
17826
|
+
return AGENT_NONE;
|
|
17827
|
+
}
|
|
17785
17828
|
|
|
17786
17829
|
// ../contracts/src/trend-stability.ts
|
|
17787
17830
|
var MIN_TREND_POINTS = 4;
|
|
@@ -18793,6 +18836,11 @@ export {
|
|
|
18793
18836
|
normalizeOnboardingEventForCollection,
|
|
18794
18837
|
telemetryEventAcceptedDtoSchema,
|
|
18795
18838
|
isGhostTelemetryEvent,
|
|
18839
|
+
usageSurfaceSchema,
|
|
18840
|
+
USAGE_TELEMETRY_HEADERS,
|
|
18841
|
+
AGENT_NONE,
|
|
18842
|
+
normalizeAgentSlug,
|
|
18843
|
+
detectAgentRuntime,
|
|
18796
18844
|
MIN_TREND_POINTS,
|
|
18797
18845
|
isTrendBaseline,
|
|
18798
18846
|
operationalLogEntryDtoSchema,
|