@canonry/canonry 4.156.0 → 4.157.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.
- package/README.md +2 -2
- package/assets/agent-workspace/skills/canonry/SKILL.md +8 -3
- package/assets/agent-workspace/skills/canonry/references/server-side-traffic.md +454 -21
- package/assets/assets/{AuditHistoryPanel-gmJMVlXX.js → AuditHistoryPanel-D12lHs6n.js} +1 -1
- package/assets/assets/{BacklinksPage-Bv2sTCyN.js → BacklinksPage-D2ScFYru.js} +1 -1
- package/assets/assets/{HistoryPage-13q7GkiI.js → HistoryPage-jZ_I4rwX.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-BgBqXT1p.js → MeasurementPropertyPage-BIdQjXJT.js} +1 -1
- package/assets/assets/{ProjectPage-EsGwKhot.js → ProjectPage-CLvLOOtj.js} +3 -3
- package/assets/assets/{RunRow-bPzapIGJ.js → RunRow-Q2X0NR74.js} +1 -1
- package/assets/assets/{RunsPage-Dqfz18lH.js → RunsPage-Cw7YVsbJ.js} +1 -1
- package/assets/assets/{SettingsPage-_wMecn-V.js → SettingsPage-bFl2EXOD.js} +1 -1
- package/assets/assets/{TrafficPage-RYBdsOLB.js → TrafficPage-DJjhk7Jw.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-DpeMMyKU.js → TrafficSourceDetailPage-CGKwIu9A.js} +1 -1
- package/assets/assets/{extract-error-message-DUarAlyD.js → extract-error-message-BHm98tXH.js} +1 -1
- package/assets/assets/{index-DP-fT2uI.js → index-VO6nKq5b.js} +25 -25
- package/assets/assets/{react-sigma_core.esm.min-DnypJl5w.js → react-sigma_core.esm.min-EzswMBkr.js} +1 -1
- package/assets/index.html +1 -1
- package/dist/{chunk-ZWESOFA5.js → chunk-AEIKAWOW.js} +88 -8
- package/dist/{chunk-CPASKGUE.js → chunk-KMTRO56O.js} +35 -1
- package/dist/{chunk-ABNN2ZVR.js → chunk-MEBL4EJO.js} +1820 -431
- package/dist/{chunk-AMPT2EP7.js → chunk-TRRVBTU5.js} +71 -0
- package/dist/cli.js +667 -142
- package/dist/index.d.ts +32 -0
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-WHC7B32V.js → intelligence-service-YUUPSJRC.js} +2 -2
- package/dist/mcp.js +2 -2
- package/package.json +10 -9
package/assets/assets/{react-sigma_core.esm.min-DnypJl5w.js → react-sigma_core.esm.min-EzswMBkr.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as Bt,t as S,r as C}from"./vendor-tanstack-pFxw0eGP.js";import{e as Ht,G as Wt}from"./ProjectPage-
|
|
1
|
+
import{g as Bt,t as S,r as C}from"./vendor-tanstack-pFxw0eGP.js";import{e as Ht,G as Wt}from"./ProjectPage-CLvLOOtj.js";import"./index-VO6nKq5b.js";import"./vendor-radix-BxMXSwbC.js";import"./vendor-recharts-C4ktw_aE.js";import"./vendor-lucide-BtYdosYk.js";import"./vendor-markdown-D274_wsI.js";import"./vendor-yaml-GWJz5H2G.js";import"./RunRow-Q2X0NR74.js";import"./ChartPrimitives-DXVLCdBi.js";import"./extract-error-message-BHm98tXH.js";import"./AuditHistoryPanel-D12lHs6n.js";import"./v2-overview-adapter-COMP5UGt.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
|
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-VO6nKq5b.js"></script>
|
|
16
16
|
<link rel="modulepreload" crossorigin href="./assets/vendor-tanstack-pFxw0eGP.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="./assets/vendor-radix-BxMXSwbC.js">
|
|
18
18
|
<link rel="modulepreload" crossorigin href="./assets/vendor-recharts-C4ktw_aE.js">
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
loadConfig,
|
|
11
11
|
loadConfigRaw,
|
|
12
12
|
saveConfigPatch
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-KMTRO56O.js";
|
|
14
14
|
import {
|
|
15
15
|
CC_CACHE_DIR,
|
|
16
16
|
DUCKDB_SPEC,
|
|
@@ -136,7 +136,7 @@ import {
|
|
|
136
136
|
siteCrawlSnapshots,
|
|
137
137
|
toAlertView,
|
|
138
138
|
usageCounters
|
|
139
|
-
} from "./chunk-
|
|
139
|
+
} from "./chunk-MEBL4EJO.js";
|
|
140
140
|
import {
|
|
141
141
|
AGENT_MEMORY_VALUE_MAX_BYTES,
|
|
142
142
|
AGENT_PROVIDER_IDS,
|
|
@@ -236,7 +236,7 @@ import {
|
|
|
236
236
|
validationError,
|
|
237
237
|
winnabilityClassLabel,
|
|
238
238
|
withRetry
|
|
239
|
-
} from "./chunk-
|
|
239
|
+
} from "./chunk-TRRVBTU5.js";
|
|
240
240
|
|
|
241
241
|
// src/telemetry.ts
|
|
242
242
|
import crypto from "crypto";
|
|
@@ -3167,8 +3167,67 @@ function removeVercelTrafficConnection(config, projectName) {
|
|
|
3167
3167
|
return true;
|
|
3168
3168
|
}
|
|
3169
3169
|
|
|
3170
|
-
// src/
|
|
3170
|
+
// src/cloudflare-traffic-config.ts
|
|
3171
|
+
function unsupportedDeliveryMode(deliveryMode) {
|
|
3172
|
+
const label = typeof deliveryMode === "string" ? ` "${deliveryMode}"` : "";
|
|
3173
|
+
return new Error(`Unsupported Cloudflare traffic delivery mode${label}`);
|
|
3174
|
+
}
|
|
3171
3175
|
function ensureConnections6(config) {
|
|
3176
|
+
if (!config.cloudflareTraffic) config.cloudflareTraffic = {};
|
|
3177
|
+
if (!config.cloudflareTraffic.connections) config.cloudflareTraffic.connections = [];
|
|
3178
|
+
return config.cloudflareTraffic.connections;
|
|
3179
|
+
}
|
|
3180
|
+
function normalizeDirectPushConnection(connection) {
|
|
3181
|
+
const deliveryMode = connection.deliveryMode;
|
|
3182
|
+
if (deliveryMode !== void 0 && deliveryMode !== "direct-push") {
|
|
3183
|
+
throw unsupportedDeliveryMode(deliveryMode);
|
|
3184
|
+
}
|
|
3185
|
+
if (deliveryMode === "direct-push") return connection;
|
|
3186
|
+
return { ...connection, deliveryMode: "direct-push" };
|
|
3187
|
+
}
|
|
3188
|
+
function getCloudflareTrafficConnection(config, projectName) {
|
|
3189
|
+
const connection = (config.cloudflareTraffic?.connections ?? []).find((c) => c.projectName === projectName);
|
|
3190
|
+
return connection ? normalizeDirectPushConnection(connection) : void 0;
|
|
3191
|
+
}
|
|
3192
|
+
function getCloudflareTrafficConnectionBySourceId(config, sourceId) {
|
|
3193
|
+
const connection = (config.cloudflareTraffic?.connections ?? []).find((c) => c.sourceId === sourceId);
|
|
3194
|
+
return connection ? normalizeDirectPushConnection(connection) : void 0;
|
|
3195
|
+
}
|
|
3196
|
+
function upsertCloudflareTrafficConnection(config, connection) {
|
|
3197
|
+
const deliveryMode = connection.deliveryMode;
|
|
3198
|
+
if (deliveryMode !== "direct-push") {
|
|
3199
|
+
throw unsupportedDeliveryMode(deliveryMode);
|
|
3200
|
+
}
|
|
3201
|
+
const connections = ensureConnections6(config);
|
|
3202
|
+
const index = connections.findIndex((c) => c.projectName === connection.projectName);
|
|
3203
|
+
if (index === -1) {
|
|
3204
|
+
connections.push(connection);
|
|
3205
|
+
return connection;
|
|
3206
|
+
}
|
|
3207
|
+
connections[index] = connection;
|
|
3208
|
+
return connection;
|
|
3209
|
+
}
|
|
3210
|
+
function removeCloudflareTrafficConnection(config, projectName) {
|
|
3211
|
+
const connections = config.cloudflareTraffic?.connections;
|
|
3212
|
+
if (!connections?.length) return false;
|
|
3213
|
+
const next = connections.filter((c) => c.projectName !== projectName);
|
|
3214
|
+
if (next.length === connections.length) return false;
|
|
3215
|
+
if (!config.cloudflareTraffic) return false;
|
|
3216
|
+
config.cloudflareTraffic.connections = next;
|
|
3217
|
+
if (next.length === 0) {
|
|
3218
|
+
delete config.cloudflareTraffic;
|
|
3219
|
+
}
|
|
3220
|
+
return true;
|
|
3221
|
+
}
|
|
3222
|
+
|
|
3223
|
+
// src/cloudflare-ingest-url.ts
|
|
3224
|
+
function buildCloudflareIngestUrlTemplate(config) {
|
|
3225
|
+
const base = (config.publicUrl ?? config.apiUrl).replace(/\/+$/, "");
|
|
3226
|
+
return `${base}/api/v1/projects/{name}/traffic/cloudflare/ingest`;
|
|
3227
|
+
}
|
|
3228
|
+
|
|
3229
|
+
// src/wordpress-config.ts
|
|
3230
|
+
function ensureConnections7(config) {
|
|
3172
3231
|
if (!config.wordpress) config.wordpress = {};
|
|
3173
3232
|
if (!config.wordpress.connections) config.wordpress.connections = [];
|
|
3174
3233
|
return config.wordpress.connections;
|
|
@@ -3185,7 +3244,7 @@ function getWordpressConnection(config, projectName) {
|
|
|
3185
3244
|
return (config.wordpress?.connections ?? []).find((connection) => connection.projectName === projectName);
|
|
3186
3245
|
}
|
|
3187
3246
|
function upsertWordpressConnection(config, connection) {
|
|
3188
|
-
const connections =
|
|
3247
|
+
const connections = ensureConnections7(config);
|
|
3189
3248
|
const normalized = normalizeConnection(connection);
|
|
3190
3249
|
const index = connections.findIndex((entry) => entry.projectName === connection.projectName);
|
|
3191
3250
|
if (index === -1) {
|
|
@@ -5290,7 +5349,7 @@ async function getAdGroupInsights(apiKey, adGroupId, opts) {
|
|
|
5290
5349
|
}
|
|
5291
5350
|
|
|
5292
5351
|
// src/ads-config.ts
|
|
5293
|
-
function
|
|
5352
|
+
function ensureConnections8(config) {
|
|
5294
5353
|
if (!config.openaiAds) config.openaiAds = {};
|
|
5295
5354
|
if (!config.openaiAds.connections) config.openaiAds.connections = [];
|
|
5296
5355
|
return config.openaiAds.connections;
|
|
@@ -5299,7 +5358,7 @@ function getOpenAiAdsConnection(config, projectName) {
|
|
|
5299
5358
|
return (config.openaiAds?.connections ?? []).find((c) => c.projectName === projectName);
|
|
5300
5359
|
}
|
|
5301
5360
|
function upsertOpenAiAdsConnection(config, connection) {
|
|
5302
|
-
const connections =
|
|
5361
|
+
const connections = ensureConnections8(config);
|
|
5303
5362
|
const index = connections.findIndex((c) => c.projectName === connection.projectName);
|
|
5304
5363
|
if (index === -1) {
|
|
5305
5364
|
connections.push(connection);
|
|
@@ -8413,7 +8472,7 @@ function readStoredGroundingSources(rawResponse) {
|
|
|
8413
8472
|
return result;
|
|
8414
8473
|
}
|
|
8415
8474
|
async function backfillInsightsCommand(project, opts) {
|
|
8416
|
-
const { IntelligenceService: IntelligenceService2 } = await import("./intelligence-service-
|
|
8475
|
+
const { IntelligenceService: IntelligenceService2 } = await import("./intelligence-service-YUUPSJRC.js");
|
|
8417
8476
|
const config = loadConfig();
|
|
8418
8477
|
const db = createClient(config.database);
|
|
8419
8478
|
migrate(db);
|
|
@@ -14043,6 +14102,24 @@ async function createServer(opts) {
|
|
|
14043
14102
|
return removed;
|
|
14044
14103
|
}
|
|
14045
14104
|
};
|
|
14105
|
+
const cloudflareTrafficCredentialStore = {
|
|
14106
|
+
getConnection: (projectName) => {
|
|
14107
|
+
return getCloudflareTrafficConnection(opts.config, projectName);
|
|
14108
|
+
},
|
|
14109
|
+
getConnectionBySourceId: (sourceId) => {
|
|
14110
|
+
return getCloudflareTrafficConnectionBySourceId(opts.config, sourceId);
|
|
14111
|
+
},
|
|
14112
|
+
upsertConnection: (record) => {
|
|
14113
|
+
const updated = upsertCloudflareTrafficConnection(opts.config, record);
|
|
14114
|
+
saveConfigPatch(opts.config);
|
|
14115
|
+
return updated;
|
|
14116
|
+
},
|
|
14117
|
+
deleteConnection: (projectName) => {
|
|
14118
|
+
const removed = removeCloudflareTrafficConnection(opts.config, projectName);
|
|
14119
|
+
if (removed) saveConfigPatch(opts.config);
|
|
14120
|
+
return removed;
|
|
14121
|
+
}
|
|
14122
|
+
};
|
|
14046
14123
|
const googleStateSecret = process.env.GOOGLE_STATE_SECRET ?? crypto25.randomBytes(32).toString("hex");
|
|
14047
14124
|
const googleConnectionStore = {
|
|
14048
14125
|
listConnections: (domain) => listGoogleConnections(opts.config, domain),
|
|
@@ -14652,6 +14729,8 @@ async function createServer(opts) {
|
|
|
14652
14729
|
cloudRunCredentialStore,
|
|
14653
14730
|
wordpressTrafficCredentialStore,
|
|
14654
14731
|
vercelTrafficCredentialStore,
|
|
14732
|
+
cloudflareTrafficCredentialStore,
|
|
14733
|
+
cloudflareTrafficIngestUrl: buildCloudflareIngestUrlTemplate(opts.config),
|
|
14655
14734
|
onTrafficSynced: (event) => {
|
|
14656
14735
|
trackEvent(
|
|
14657
14736
|
"traffic.synced",
|
|
@@ -15090,6 +15169,7 @@ export {
|
|
|
15090
15169
|
backfillInsightsCommand,
|
|
15091
15170
|
backfillSnapshotAttributionCommand,
|
|
15092
15171
|
backfillTrafficClassificationCommand,
|
|
15172
|
+
getCloudflareTrafficConnection,
|
|
15093
15173
|
setGoogleAuthConfig,
|
|
15094
15174
|
installSkills,
|
|
15095
15175
|
listSkills,
|
|
@@ -81,7 +81,7 @@ import {
|
|
|
81
81
|
trafficConnectWordpressRequestSchema,
|
|
82
82
|
trafficEventKindSchema,
|
|
83
83
|
trafficSeriesGranularitySchema
|
|
84
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-TRRVBTU5.js";
|
|
85
85
|
|
|
86
86
|
// src/config.ts
|
|
87
87
|
import fs from "fs";
|
|
@@ -107,6 +107,14 @@ function normalizeWordpressConfig(config) {
|
|
|
107
107
|
defaultEnv: connection.defaultEnv ?? "live"
|
|
108
108
|
}));
|
|
109
109
|
}
|
|
110
|
+
function normalizeCloudflareTrafficConfig(config) {
|
|
111
|
+
for (const connection of config.cloudflareTraffic?.connections ?? []) {
|
|
112
|
+
const legacy = connection;
|
|
113
|
+
if (legacy.deliveryMode === void 0) {
|
|
114
|
+
legacy.deliveryMode = "direct-push";
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
110
118
|
function getConfigDir() {
|
|
111
119
|
const override = process.env.CANONRY_CONFIG_DIR?.trim();
|
|
112
120
|
if (override) {
|
|
@@ -152,6 +160,7 @@ Do not write config.yaml by hand; use "canonry init", "canonry settings", or "ca
|
|
|
152
160
|
}
|
|
153
161
|
normalizeGoogleConfig(parsed);
|
|
154
162
|
normalizeWordpressConfig(parsed);
|
|
163
|
+
normalizeCloudflareTrafficConfig(parsed);
|
|
155
164
|
const portOverride = process.env.CANONRY_PORT?.trim();
|
|
156
165
|
if (portOverride) {
|
|
157
166
|
try {
|
|
@@ -4695,6 +4704,22 @@ var postApiV1ProjectsByNameTrafficConnectVercel = (options) => {
|
|
|
4695
4704
|
}
|
|
4696
4705
|
});
|
|
4697
4706
|
};
|
|
4707
|
+
var postApiV1ProjectsByNameTrafficConnectCloudflare = (options) => {
|
|
4708
|
+
return (options.client ?? client).post({
|
|
4709
|
+
security: [
|
|
4710
|
+
{
|
|
4711
|
+
scheme: "bearer",
|
|
4712
|
+
type: "http"
|
|
4713
|
+
}
|
|
4714
|
+
],
|
|
4715
|
+
url: "/api/v1/projects/{name}/traffic/connect/cloudflare",
|
|
4716
|
+
...options,
|
|
4717
|
+
headers: {
|
|
4718
|
+
"Content-Type": "application/json",
|
|
4719
|
+
...options.headers
|
|
4720
|
+
}
|
|
4721
|
+
});
|
|
4722
|
+
};
|
|
4698
4723
|
var postApiV1ProjectsByNameTrafficSourcesByIdSync = (options) => {
|
|
4699
4724
|
return (options.client ?? client).post({
|
|
4700
4725
|
security: [
|
|
@@ -6982,6 +7007,15 @@ var ApiClient = class {
|
|
|
6982
7007
|
})
|
|
6983
7008
|
);
|
|
6984
7009
|
}
|
|
7010
|
+
async trafficConnectCloudflare(project, body) {
|
|
7011
|
+
return this.invoke(
|
|
7012
|
+
() => postApiV1ProjectsByNameTrafficConnectCloudflare({
|
|
7013
|
+
client: this.heyClient,
|
|
7014
|
+
path: { name: project },
|
|
7015
|
+
body
|
|
7016
|
+
})
|
|
7017
|
+
);
|
|
7018
|
+
}
|
|
6985
7019
|
async trafficSync(project, sourceId, body) {
|
|
6986
7020
|
return this.invoke(
|
|
6987
7021
|
() => postApiV1ProjectsByNameTrafficSourcesByIdSync({
|