@canonry/canonry 7.64.4 → 7.65.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/assets/agent-workspace/skills/aero/references/seo-analysis.md +2 -2
- package/assets/agent-workspace/skills/canonry/references/canonry-cli.md +2 -1
- package/assets/assets/{AgentSetupPage-DgcU4n6k.js → AgentSetupPage-DPHRo4OR.js} +3 -3
- package/assets/assets/{AuditHistoryPanel-IDTBP47p.js → AuditHistoryPanel-qhIB8KRK.js} +1 -1
- package/assets/assets/{BacklinksPage-tbfBeOWq.js → BacklinksPage-iWrZ0-Pp.js} +1 -1
- package/assets/assets/{HistoryPage-BT17i1bv.js → HistoryPage-BP1_GGlT.js} +1 -1
- package/assets/assets/MeasurementPropertyPage-DfPHZNGo.js +4 -0
- package/assets/assets/ProjectPage-D4n2oqPP.js +9 -0
- package/assets/assets/RunsPage-Cc98Px3T.js +1 -0
- package/assets/assets/{SettingsPage-DhXsS4mE.js → SettingsPage-CMyCE-H2.js} +1 -1
- package/assets/assets/SiteHealthSection-CGKKUtqQ.js +2 -0
- package/assets/assets/ToneBadge-CJ6ObMRe.js +60 -0
- package/assets/assets/{TrafficPage-2Ix0v2Sw.js → TrafficPage-DAef3d2A.js} +1 -1
- package/assets/assets/TrafficSourceDetailPage-CdoL5Dt9.js +1 -0
- package/assets/assets/{account-context-eRm8f3bl.js → account-context-CWRd3KeS.js} +1 -1
- package/assets/assets/{card-CWFz5ZQm.js → card-Cb_fM36G.js} +1 -1
- package/assets/assets/{extract-error-message-BdsLX91O.js → extract-error-message-DSIAoHTR.js} +1 -1
- package/assets/assets/{format-helpers-Dv7wus0N.js → format-helpers-CxNDa1oa.js} +1 -1
- package/assets/assets/{index-CipZo_Z_.js → index-DEXKV7TW.js} +22 -22
- package/assets/assets/{query-client-B4X4SMBT.js → query-client-DLdAMlsX.js} +1 -1
- package/assets/assets/react-query-BktZZtSC.js +1 -0
- package/assets/assets/{react-sigma_core.esm.min-_zOXWmWO.js → react-sigma_core.esm.min-DgK5sRqv.js} +1 -1
- package/assets/assets/service-Dv9FDyFY.js +1 -0
- package/assets/index.html +7 -7
- package/dist/{ads-JR7S3FK6.js → ads-D4WQOT5K.js} +3 -3
- package/dist/{agent-AMVJ3FUV.js → agent-E3IYC7OJ.js} +7 -7
- package/dist/{agent-ask-KZTQLKGM.js → agent-ask-ZSKRPB2Z.js} +3 -3
- package/dist/{agent-conversations-WJJ2K2ON.js → agent-conversations-YHPYPQE2.js} +3 -3
- package/dist/{agent-memory-TNWIXVZ5.js → agent-memory-6OWOOD5O.js} +3 -3
- package/dist/{agent-providers-KJVQSN3Q.js → agent-providers-7KZK37UO.js} +3 -3
- package/dist/{agent-transcript-PBYDJLYH.js → agent-transcript-3O7GPML6.js} +3 -3
- package/dist/{analytics-CBPNUDES.js → analytics-P2LLIUYK.js} +3 -3
- package/dist/{apply-ZX4OF5PG.js → apply-VBNNJOCT.js} +3 -3
- package/dist/{backfill-NEYUHVUQ.js → backfill-F5SSURCH.js} +9 -9
- package/dist/{backlinks-O4Q6WH53.js → backlinks-4RE3TNNA.js} +3 -3
- package/dist/{bing-SIZPWBYU.js → bing-V6UN7D44.js} +3 -3
- package/dist/{bootstrap-XF6DMDQI.js → bootstrap-SHTSPAI5.js} +10 -10
- package/dist/{cdp-DD7ARB62.js → cdp-GDL2VFI3.js} +7 -7
- package/dist/{chunk-MBNS5AND.js → chunk-2AROR73F.js} +6 -6
- package/dist/{chunk-MFNU4NRS.js → chunk-2Y7RN5HG.js} +3 -3
- package/dist/{chunk-QGDFDP3H.js → chunk-3QKKHU7D.js} +8 -8
- package/dist/{chunk-C3FQGQDS.js → chunk-66DPEVLJ.js} +3 -3
- package/dist/{chunk-PG6Q6MEF.js → chunk-6FN2OQKL.js} +340 -340
- package/dist/{chunk-UJ222WSC.js → chunk-737TOG2F.js} +1 -1
- package/dist/{chunk-Z4CVEVP6.js → chunk-AE6HJZBU.js} +3 -3
- package/dist/{chunk-QT7UBYG7.js → chunk-BV6NXSAH.js} +3 -3
- package/dist/{chunk-22XKOBJD.js → chunk-C2PYKUD3.js} +1 -1
- package/dist/{chunk-7A3CQCEV.js → chunk-CRKOGLKJ.js} +31 -5
- package/dist/{chunk-YVYID65D.js → chunk-DQVJB6CZ.js} +7 -1
- package/dist/{chunk-RR7ZDGC7.js → chunk-F7NZEUXP.js} +2 -2
- package/dist/{chunk-OMB3VLDQ.js → chunk-GM5ZOWBK.js} +4 -5
- package/dist/{chunk-VOWM62EC.js → chunk-GQXSZE2Z.js} +63 -21
- package/dist/{chunk-IJF7KNU6.js → chunk-GZPGDAAF.js} +2 -2
- package/dist/{chunk-CKRXLVWQ.js → chunk-H6HIJAIU.js} +2 -2
- package/dist/{chunk-NMDXZWFB.js → chunk-HI2HCYLB.js} +2 -2
- package/dist/{chunk-N7M7UVYT.js → chunk-HO5W6QC7.js} +1 -1
- package/dist/{chunk-DIS2JA7D.js → chunk-HPUZMBS6.js} +2 -2
- package/dist/{chunk-ZTO5KPQB.js → chunk-IJKKK7F4.js} +1 -1
- package/dist/{chunk-WODZX4Y6.js → chunk-IYB3EGSD.js} +1 -1
- package/dist/{chunk-T4EGKFOV.js → chunk-LTX3TJ3E.js} +1 -1
- package/dist/{chunk-73QOQIFZ.js → chunk-M3OZL6PQ.js} +4 -4
- package/dist/{chunk-NCIPNVD6.js → chunk-NDTU7FGL.js} +1 -1
- package/dist/{chunk-ZOP2F25H.js → chunk-O3INLME6.js} +4 -4
- package/dist/{chunk-OHOIEA3X.js → chunk-Q2WZAD5W.js} +1 -1
- package/dist/{chunk-PNZE3XLO.js → chunk-QNRMYDK6.js} +1 -1
- package/dist/{chunk-KJA7V3IT.js → chunk-S4VCXCRQ.js} +1 -1
- package/dist/{chunk-G33PG23U.js → chunk-SL3Y7IOX.js} +1 -1
- package/dist/{chunk-4E6E27C5.js → chunk-X4AHYJCE.js} +5 -5
- package/dist/{chunk-WACG4O26.js → chunk-XMKXXWMO.js} +2 -2
- package/dist/{chunk-NCUTFEU4.js → chunk-XOMUSIM7.js} +2 -2
- package/dist/{chunk-ATXHIX32.js → chunk-Z2EENWM3.js} +96 -30
- package/dist/{chunk-VL5LVBLE.js → chunk-ZPRJCSSR.js} +1 -1
- package/dist/{chunk-VMLCPTRZ.js → chunk-ZWZOQNLD.js} +1 -1
- package/dist/{citations-DQGMUJYX.js → citations-GO4SPZYS.js} +3 -3
- package/dist/{cli-catalog-G7USVSOC.js → cli-catalog-6XYQY3PI.js} +3 -3
- package/dist/{cli-commands-HGKM2B6J.js → cli-commands-AMURHC27.js} +7 -7
- package/dist/cli.js +13 -13
- package/dist/{competitor-CIKVJ4H4.js → competitor-JBTKRJ6Y.js} +3 -3
- package/dist/{content-DPWKB5SO.js → content-LKXXQ7X4.js} +3 -3
- package/dist/{dashboard-3QKO5423.js → dashboard-LUA7UX6B.js} +6 -6
- package/dist/{demo-3GNJPXGE.js → demo-I7JDZJUW.js} +1 -1
- package/dist/{demo-server-23QGNLCX.js → demo-server-GNGGWERV.js} +11 -11
- package/dist/{discover-3JGVGPMR.js → discover-TODAYYJ2.js} +3 -3
- package/dist/{discover-eval-HVU24KNC.js → discover-eval-FWQESEYB.js} +3 -3
- package/dist/{doctor-77VPDK2N.js → doctor-AXNJT2UC.js} +3 -3
- package/dist/{evidence-WSSOMBED.js → evidence-2XGEY4ZC.js} +3 -3
- package/dist/{export-cmd-CPO73FP7.js → export-cmd-7RMYBIBZ.js} +3 -3
- package/dist/{ga-QOIYDTEX.js → ga-HZDIZGCO.js} +3 -3
- package/dist/{gbp-JEPBXCS6.js → gbp-SMRBWJEL.js} +3 -3
- package/dist/{google-5BZYXAJH.js → google-2CN345XS.js} +4 -4
- package/dist/{google-marketing-Q36Q7YFU.js → google-marketing-W7T2VTVW.js} +1 -1
- package/dist/{health-cmd-5KSRFNNN.js → health-cmd-W7OWZ4ZI.js} +3 -3
- package/dist/{history-WE4K4QIA.js → history-UVNCBHTE.js} +3 -3
- package/dist/index.d.ts +21 -17
- package/dist/index.js +25 -25
- package/dist/{init-LIUMX2HQ.js → init-MDGOTK2L.js} +11 -11
- package/dist/{insights-K6PVVNZA.js → insights-PQ52G5LU.js} +3 -3
- package/dist/intelligence-service-IAUGKMDO.js +15 -0
- package/dist/{journeys-GD2QE2YK.js → journeys-3PP5GYVJ.js} +3 -3
- package/dist/{keys-SLJDSG7P.js → keys-CWZUX7IQ.js} +3 -3
- package/dist/{keyword-KDDWSW24.js → keyword-5OMMULLY.js} +3 -3
- package/dist/{logs-PMIEBMOW.js → logs-3FTE42E3.js} +3 -3
- package/dist/{mcp-E5YLJ4LN.js → mcp-FK5DTI7I.js} +2 -2
- package/dist/mcp.js +10 -10
- package/dist/{measurement-plan-QZDBAH5D.js → measurement-plan-ICO2BQNT.js} +5 -5
- package/dist/{notify-3QXR6PO2.js → notify-ML4PYD3L.js} +3 -3
- package/dist/{organic-evidence-UXEEKJPH.js → organic-evidence-4U4H3DCR.js} +3 -3
- package/dist/{overview-2Q4E75BW.js → overview-NF427VFO.js} +4 -4
- package/dist/{project-M7VFAIJ2.js → project-AAO65OF7.js} +3 -3
- package/dist/{query-WDQGPIKS.js → query-7ZOUQNF5.js} +3 -3
- package/dist/{research-U2GP2EQK.js → research-UQ7AF5N3.js} +3 -3
- package/dist/{results-export-SMNP3XZT.js → results-export-CZCLC4ZH.js} +3 -3
- package/dist/{run-CZXLPC3S.js → run-4XJZW52R.js} +4 -4
- package/dist/{schedule-DVIXJJFI.js → schedule-D3E5FDBE.js} +3 -3
- package/dist/{search-GFU2VPG4.js → search-DYET2IL4.js} +3 -3
- package/dist/{serve-XEQ7ZW4N.js → serve-R2CI3RWQ.js} +26 -26
- package/dist/{session-P5QHGJLK.js → session-7CW2V5EH.js} +13 -13
- package/dist/{settings-VYVGART2.js → settings-ZISHACFX.js} +3 -3
- package/dist/{skills-EWEPVEDD.js → skills-WU6IN3NL.js} +2 -2
- package/dist/{snapshot-L2DX6EBI.js → snapshot-KCKQDJ2W.js} +3 -3
- package/dist/{src-RBXPA4CW.js → src-WIOU5G4V.js} +2 -2
- package/dist/{status-ZJLUWVST.js → status-CYZFVMYA.js} +4 -4
- package/dist/{technical-aeo-7KRBPNV7.js → technical-aeo-P5CS22AR.js} +3 -3
- package/dist/{telemetry-ZROXU4SH.js → telemetry-LPK5F2WU.js} +4 -4
- package/dist/{tools-RGBSLMRZ.js → tools-E3B2GZ6Q.js} +11 -11
- package/dist/{traffic-J3SSIDXQ.js → traffic-5KZYXXIQ.js} +5 -5
- package/dist/{users-GGJSWVSI.js → users-2F346HIW.js} +3 -3
- package/dist/{visibility-stats-VZ5A7LMI.js → visibility-stats-ITA6DNF3.js} +3 -3
- package/dist/{wordpress-JYXIO3DJ.js → wordpress-ZHCFT6V3.js} +3 -3
- package/package.json +1 -1
- package/assets/assets/MeasurementPropertyPage-CNVW1nD0.js +0 -4
- package/assets/assets/ProjectPage-BOpHsl0H.js +0 -9
- package/assets/assets/RunsPage-DSbp_ueP.js +0 -1
- package/assets/assets/SiteHealthSection-DDnJ6MmG.js +0 -2
- package/assets/assets/ToneBadge-BQIKzc8y.js +0 -60
- package/assets/assets/TrafficSourceDetailPage-Cytn_uBJ.js +0 -1
- package/assets/assets/react-query-6xQVTyvM.js +0 -1
- package/assets/assets/service-D5-ENCES.js +0 -1
- package/dist/intelligence-service-FTCGYX6T.js +0 -15
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pickProjectCitedDomain
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-S4VCXCRQ.js";
|
|
4
4
|
import {
|
|
5
5
|
GBP_INSIGHT_PROVIDER,
|
|
6
6
|
PERSISTENT_GAP_THRESHOLD,
|
|
@@ -14,10 +14,10 @@ import {
|
|
|
14
14
|
mergeGscQueryTotalsWithFallback,
|
|
15
15
|
readGscQueryDailyRows,
|
|
16
16
|
readLatestGscDataDate
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-Z2EENWM3.js";
|
|
18
18
|
import {
|
|
19
19
|
getRequestContext
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-IJKKK7F4.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-
|
|
38
|
+
} from "./chunk-XOMUSIM7.js";
|
|
39
39
|
import {
|
|
40
40
|
CitationStates,
|
|
41
41
|
RunKinds,
|
|
@@ -45,7 +45,7 @@ import {
|
|
|
45
45
|
effectiveDomains,
|
|
46
46
|
redactLogString,
|
|
47
47
|
redactLogValue
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-DQVJB6CZ.js";
|
|
49
49
|
|
|
50
50
|
// src/intelligence-service.ts
|
|
51
51
|
import { eq, desc, asc, and, ne, or, inArray, gte, lte, isNull, sql, exists } from "drizzle-orm";
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
loadConfig,
|
|
6
6
|
loadConfigRaw,
|
|
7
7
|
saveConfigPatch
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-C2PYKUD3.js";
|
|
9
9
|
import {
|
|
10
10
|
CANONRY_NPM_PACKAGE_URL,
|
|
11
11
|
compareSemver,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
updateCheckEnvOptOut,
|
|
19
19
|
upgradeCaveatFor,
|
|
20
20
|
upgradeCommandFor
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-DQVJB6CZ.js";
|
|
22
22
|
|
|
23
23
|
// src/runtime-context.ts
|
|
24
24
|
function cliRuntimeContext(env = process.env, stdio = process) {
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
templateLinkRatio,
|
|
21
21
|
templateLinkUbiquityAvailable,
|
|
22
22
|
validationError
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-DQVJB6CZ.js";
|
|
24
24
|
import {
|
|
25
25
|
__export
|
|
26
26
|
} from "./chunk-MLKGABMK.js";
|
|
@@ -9464,7 +9464,7 @@ var SeoRepository = class {
|
|
|
9464
9464
|
)).run();
|
|
9465
9465
|
if (!claim.changes) throw validationError("SEO refresh is unavailable under the current policy.");
|
|
9466
9466
|
}
|
|
9467
|
-
tx.insert(runs).values({ id: input.id, projectId: input.projectId, kind: RunKinds["seo-sync"], status: RunStatuses.queued, trigger: RunTriggers.manual, createdAt: input.now }).run();
|
|
9467
|
+
tx.insert(runs).values({ id: input.id, projectId: input.projectId, kind: RunKinds["seo-sync"], status: RunStatuses.queued, trigger: input.trigger ?? RunTriggers.manual, createdAt: input.now }).run();
|
|
9468
9468
|
tx.insert(seoJobs).values({ id: input.id, projectId: input.projectId, projectKey: input.projectId, runId: input.id, profileId: input.profileId, profileRevision: input.profileRevision, profile: input.profile, scopeSnapshot: input.scopeSnapshot, requestHash: input.requestHash, idempotencyKey: input.idempotencyKey, principalId: input.principalId, connectionId: input.profile.connectionId, accountKey: input.accountKey, buckets: input.buckets, status: SeoRunStatuses.queued, createdAt: input.now }).run();
|
|
9469
9469
|
for (const task of input.tasks) tx.insert(seoTasks).values({ ...task, jobId: input.id, status: SeoRunStatuses.queued, results: emptySeoResults() }).run();
|
|
9470
9470
|
audit?.(tx);
|
|
@@ -9,14 +9,14 @@ import {
|
|
|
9
9
|
normalizeCloudflareWorkerEvent,
|
|
10
10
|
sessionizeJourneyRequests,
|
|
11
11
|
verifyRequestSignature
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-Q2WZAD5W.js";
|
|
13
13
|
import {
|
|
14
14
|
currentOutcomeAttribution,
|
|
15
15
|
getRequestContext,
|
|
16
16
|
registerRequestContext,
|
|
17
17
|
requestAuditIdentity,
|
|
18
18
|
sanitizeRequestContext
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-IJKKK7F4.js";
|
|
20
20
|
import {
|
|
21
21
|
SentimentIdempotencyConflict,
|
|
22
22
|
SentimentRepository,
|
|
@@ -154,7 +154,7 @@ import {
|
|
|
154
154
|
userSessions,
|
|
155
155
|
users,
|
|
156
156
|
writeNegativeReviewMaxStars
|
|
157
|
-
} from "./chunk-
|
|
157
|
+
} from "./chunk-XOMUSIM7.js";
|
|
158
158
|
import {
|
|
159
159
|
ADS_ACTIVATE_SCOPE,
|
|
160
160
|
ADS_ACTIVATION_ABSOLUTE_MAX_ENTITIES,
|
|
@@ -1167,7 +1167,7 @@ import {
|
|
|
1167
1167
|
wordpressSchemaDeployResultDtoSchema,
|
|
1168
1168
|
wordpressSchemaStatusResultDtoSchema,
|
|
1169
1169
|
wordpressStatusDtoSchema
|
|
1170
|
-
} from "./chunk-
|
|
1170
|
+
} from "./chunk-DQVJB6CZ.js";
|
|
1171
1171
|
|
|
1172
1172
|
// ../api-routes/src/user-session.ts
|
|
1173
1173
|
import crypto2 from "crypto";
|
|
@@ -15276,6 +15276,83 @@ function normalizeProfile(input) {
|
|
|
15276
15276
|
function taskRequests(profile) {
|
|
15277
15277
|
return profile.capabilities.flatMap((capability) => (capability === SeoCapabilities["keyword-metrics"] ? [null] : profile.targets).map((target) => ({ capability, target, keywords: capability === SeoCapabilities["keyword-metrics"] ? profile.keywords : [], locationCode: profile.locationCode, languageCode: profile.languageCode, limit: profile.limit, tag: "" })));
|
|
15278
15278
|
}
|
|
15279
|
+
function planSeoTasks(opts, input) {
|
|
15280
|
+
const runtime = opts.getSeoRuntime?.() ?? null;
|
|
15281
|
+
const connection = runtime?.connections.find((connection2) => connection2.id === input.connectionId);
|
|
15282
|
+
if (!runtime || !opts.onSeoRunRequested) throw missingDependency("SEO execution is not configured on this host.");
|
|
15283
|
+
if (!connection) throw validationError("This SEO connection is unavailable. Select a connection listed in SEO context.");
|
|
15284
|
+
if (input.capabilities.some((capability) => !connection.adapter.capabilities.includes(capability))) throw validationError("The selected SEO connection does not support every requested capability. Select capabilities listed for this connection in SEO context.");
|
|
15285
|
+
let planned;
|
|
15286
|
+
try {
|
|
15287
|
+
planned = taskRequests(input).map((request) => {
|
|
15288
|
+
const estimate = connection.adapter.estimate(request);
|
|
15289
|
+
return { request, reservedMicros: estimate.maxCostMicros, catalogRevision: estimate.catalogRevision };
|
|
15290
|
+
});
|
|
15291
|
+
} catch (error) {
|
|
15292
|
+
if (error instanceof AppError && error.code === "VALIDATION_ERROR") throw error;
|
|
15293
|
+
throw validationError("The SEO provider could not prepare this request. Check its input requirements or contact the host operator.");
|
|
15294
|
+
}
|
|
15295
|
+
const total = planned.reduce((sum, task) => sum + task.reservedMicros, 0);
|
|
15296
|
+
if (!planned.length || planned.some((task) => !Number.isSafeInteger(task.reservedMicros) || task.reservedMicros <= 0) || !Number.isSafeInteger(total) || total > runtime.policy.maxRunCostMicros) throw validationError("SEO refresh is unavailable under the current policy.");
|
|
15297
|
+
const intentHash = hash2(JSON.stringify({ provider: connection.adapter.provider, account: connection.adapter.accountKey, policy: runtime.policy, tasks: planned.map((task) => ({ request: task.request, estimate: { maxCostMicros: task.reservedMicros, catalogRevision: task.catalogRevision } })) }));
|
|
15298
|
+
return { ...runtime, connection, planned, intentHash };
|
|
15299
|
+
}
|
|
15300
|
+
function budgetBuckets(account, projectId, policy, now) {
|
|
15301
|
+
return [
|
|
15302
|
+
{ scope: `account-day:${account}`, period: now.slice(0, 10), limit: policy.accountDailyLimitMicros },
|
|
15303
|
+
{ scope: `account-month:${account}`, period: now.slice(0, 7), limit: policy.accountMonthlyLimitMicros },
|
|
15304
|
+
{ scope: `project-month:${projectId}`, period: now.slice(0, 7), limit: policy.projectMonthlyLimitMicros }
|
|
15305
|
+
];
|
|
15306
|
+
}
|
|
15307
|
+
function startScheduledSeoRefreshes(db, opts, input) {
|
|
15308
|
+
const repository = new SeoRepository(db);
|
|
15309
|
+
const principalId = `schedule:${input.scheduleId}`;
|
|
15310
|
+
const recordSkipped = (profileId, reason, detail) => {
|
|
15311
|
+
const runId = crypto17.randomUUID();
|
|
15312
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
15313
|
+
const subject = profileId ? `profile "${profileId}"` : "this project";
|
|
15314
|
+
db.insert(runs).values({ id: runId, projectId: input.projectId, kind: RunKinds["seo-sync"], status: RunStatuses.failed, trigger: RunTriggers.scheduled, createdAt: now, finishedAt: now, error: `Scheduled SEO refresh for ${subject} did not start: ${reason}` }).run();
|
|
15315
|
+
return { profileId, status: "skipped", runId, reason, ...detail ? { detail } : {} };
|
|
15316
|
+
};
|
|
15317
|
+
const saved = db.select().from(seoProfiles).where(eq32(seoProfiles.projectId, input.projectId)).orderBy(asc6(seoProfiles.id)).all().map(profileDto);
|
|
15318
|
+
if (!saved.length) return [recordSkipped(null, "Save an SEO profile first.")];
|
|
15319
|
+
return saved.map((profile) => {
|
|
15320
|
+
const idempotencyKey = `schedule:${input.scheduleId}:${input.occurrence}:${profile.id}`;
|
|
15321
|
+
const prior = db.select().from(seoJobs).where(and24(eq32(seoJobs.projectKey, input.projectId), eq32(seoJobs.idempotencyKey, idempotencyKey))).get();
|
|
15322
|
+
if (prior?.runId) return { profileId: profile.id, status: "replayed", runId: prior.runId };
|
|
15323
|
+
try {
|
|
15324
|
+
const scopeSnapshot = resolveScope2(db, input.projectId, profile);
|
|
15325
|
+
const runtime = planSeoTasks(opts, profile);
|
|
15326
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
15327
|
+
const account = runtime.connection.adapter.accountKey;
|
|
15328
|
+
const requestedId = crypto17.randomUUID();
|
|
15329
|
+
const id = repository.admit({
|
|
15330
|
+
id: requestedId,
|
|
15331
|
+
projectId: input.projectId,
|
|
15332
|
+
profileId: profile.id,
|
|
15333
|
+
profileRevision: profile.revision,
|
|
15334
|
+
profile,
|
|
15335
|
+
scopeSnapshot,
|
|
15336
|
+
requestHash: hash2(idempotencyKey),
|
|
15337
|
+
idempotencyKey,
|
|
15338
|
+
principalId,
|
|
15339
|
+
accountKey: account,
|
|
15340
|
+
now,
|
|
15341
|
+
trigger: RunTriggers.scheduled,
|
|
15342
|
+
buckets: budgetBuckets(account, input.projectId, runtime.policy, now),
|
|
15343
|
+
tasks: runtime.planned.map((task) => {
|
|
15344
|
+
const id2 = crypto17.randomUUID();
|
|
15345
|
+
return { ...task, id: id2, request: { ...task.request, tag: id2 } };
|
|
15346
|
+
})
|
|
15347
|
+
}, (tx) => writeAuditLog(tx, { projectId: input.projectId, actor: "scheduler", action: "seo.sync.requested", entityType: "run", entityId: requestedId }));
|
|
15348
|
+
if (id === requestedId) opts.onSeoRunRequested?.(id);
|
|
15349
|
+
return { profileId: profile.id, status: id === requestedId ? "started" : "replayed", runId: id };
|
|
15350
|
+
} catch (error) {
|
|
15351
|
+
if (error instanceof AppError) return recordSkipped(profile.id, error.message);
|
|
15352
|
+
return recordSkipped(profile.id, "The SEO refresh could not be admitted.", error instanceof Error ? error.message : String(error));
|
|
15353
|
+
}
|
|
15354
|
+
});
|
|
15355
|
+
}
|
|
15279
15356
|
async function seoRoutes(app, opts) {
|
|
15280
15357
|
const repository = new SeoRepository(app.db);
|
|
15281
15358
|
const intentSecret = crypto17.randomBytes(32);
|
|
@@ -15317,27 +15394,7 @@ async function seoRoutes(app, opts) {
|
|
|
15317
15394
|
const available = !!runtime?.connections.length && !!opts.onSeoRunRequested;
|
|
15318
15395
|
return { available, reason: available ? null : "SEO execution is not configured on this host.", capabilities: [...new Set(runtime?.connections.flatMap((connection) => [...connection.adapter.capabilities]) ?? [])], profileCount: profiles(projectId).length, latestRunId: latest?.id ?? null, latestRunStatus: latest?.status ?? null, lastCompletedAt: last?.finishedAt ?? null };
|
|
15319
15396
|
};
|
|
15320
|
-
const planTasks = (input) =>
|
|
15321
|
-
const runtime = getRuntime();
|
|
15322
|
-
const connection = runtime?.connections.find((connection2) => connection2.id === input.connectionId);
|
|
15323
|
-
if (!runtime || !opts.onSeoRunRequested) throw missingDependency("SEO execution is not configured on this host.");
|
|
15324
|
-
if (!connection) throw validationError("This SEO connection is unavailable. Select a connection listed in SEO context.");
|
|
15325
|
-
if (input.capabilities.some((capability) => !connection.adapter.capabilities.includes(capability))) throw validationError("The selected SEO connection does not support every requested capability. Select capabilities listed for this connection in SEO context.");
|
|
15326
|
-
let planned;
|
|
15327
|
-
try {
|
|
15328
|
-
planned = taskRequests(input).map((request) => {
|
|
15329
|
-
const estimate = connection.adapter.estimate(request);
|
|
15330
|
-
return { request, reservedMicros: estimate.maxCostMicros, catalogRevision: estimate.catalogRevision };
|
|
15331
|
-
});
|
|
15332
|
-
} catch (error) {
|
|
15333
|
-
if (error instanceof AppError && error.code === "VALIDATION_ERROR") throw error;
|
|
15334
|
-
throw validationError("The SEO provider could not prepare this request. Check its input requirements or contact the host operator.");
|
|
15335
|
-
}
|
|
15336
|
-
const total = planned.reduce((sum, task) => sum + task.reservedMicros, 0);
|
|
15337
|
-
if (!planned.length || planned.some((task) => !Number.isSafeInteger(task.reservedMicros) || task.reservedMicros <= 0) || !Number.isSafeInteger(total) || total > runtime.policy.maxRunCostMicros) throw validationError("SEO refresh is unavailable under the current policy.");
|
|
15338
|
-
const intentHash = hash2(JSON.stringify({ provider: connection.adapter.provider, account: connection.adapter.accountKey, policy: runtime.policy, tasks: planned.map((task) => ({ request: task.request, estimate: { maxCostMicros: task.reservedMicros, catalogRevision: task.catalogRevision } })) }));
|
|
15339
|
-
return { ...runtime, connection, planned, intentHash };
|
|
15340
|
-
};
|
|
15397
|
+
const planTasks = (input) => planSeoTasks(opts, input);
|
|
15341
15398
|
app.get("/seo/operator/tasks/:id", async (request) => {
|
|
15342
15399
|
requireOperator(request);
|
|
15343
15400
|
const task = app.db.select().from(seoTasks).where(eq32(seoTasks.id, request.params.id)).get();
|
|
@@ -15439,11 +15496,7 @@ async function seoRoutes(app, opts) {
|
|
|
15439
15496
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
15440
15497
|
const account = runtime.connection.adapter.accountKey;
|
|
15441
15498
|
const requestedId = crypto17.randomUUID();
|
|
15442
|
-
const id = repository.admit({ id: requestedId, projectId: project.id, profileId: saved.id, profileRevision: saved.revision, profile: saved, scopeSnapshot, requestHash: requestHash2, idempotencyKey: input.idempotencyKey, principalId: actor(request), accountKey: account, now, buckets:
|
|
15443
|
-
{ scope: `account-day:${account}`, period: now.slice(0, 10), limit: runtime.policy.accountDailyLimitMicros },
|
|
15444
|
-
{ scope: `account-month:${account}`, period: now.slice(0, 7), limit: runtime.policy.accountMonthlyLimitMicros },
|
|
15445
|
-
{ scope: `project-month:${project.id}`, period: now.slice(0, 7), limit: runtime.policy.projectMonthlyLimitMicros }
|
|
15446
|
-
], tasks: runtime.planned.map((task) => {
|
|
15499
|
+
const id = repository.admit({ id: requestedId, projectId: project.id, profileId: saved.id, profileRevision: saved.revision, profile: saved, scopeSnapshot, requestHash: requestHash2, idempotencyKey: input.idempotencyKey, principalId: actor(request), accountKey: account, now, buckets: budgetBuckets(account, project.id, runtime.policy, now), tasks: runtime.planned.map((task) => {
|
|
15447
15500
|
const id2 = crypto17.randomUUID();
|
|
15448
15501
|
return { ...task, id: id2, request: { ...task.request, tag: id2 } };
|
|
15449
15502
|
}) }, (tx) => writeAuditLog(tx, { projectId: project.id, actor: "api", action: "seo.sync.requested", entityType: "run", entityId: requestedId }));
|
|
@@ -42812,6 +42865,18 @@ async function scheduleRoutes(app, opts) {
|
|
|
42812
42865
|
if (kind === SchedulableRunKinds["site-audit"] && providers && providers.length > 0) {
|
|
42813
42866
|
throw validationError('"providers" is not valid for kind "site-audit"');
|
|
42814
42867
|
}
|
|
42868
|
+
if (kind === SchedulableRunKinds["seo-sync"]) {
|
|
42869
|
+
if (providers && providers.length > 0) {
|
|
42870
|
+
throw validationError('"providers" is not valid for kind "seo-sync"');
|
|
42871
|
+
}
|
|
42872
|
+
if (enabled !== false) {
|
|
42873
|
+
requireScope(request, SEO_RUN_SCOPE);
|
|
42874
|
+
requireAdminSession(request);
|
|
42875
|
+
if (!app.db.select({ id: seoProfiles.id }).from(seoProfiles).where(eq62(seoProfiles.projectId, project.id)).get()) {
|
|
42876
|
+
throw validationError("Save an SEO profile before scheduling SEO refreshes.");
|
|
42877
|
+
}
|
|
42878
|
+
}
|
|
42879
|
+
}
|
|
42815
42880
|
const validNames = opts.validProviderNames ?? [];
|
|
42816
42881
|
if (validNames.length && providers?.length) {
|
|
42817
42882
|
const invalid = invalidProviderSelections(providers, validNames, opts.providerAdapters, ProviderWorkflows["visibility-sweep"]);
|
|
@@ -74873,6 +74938,7 @@ export {
|
|
|
74873
74938
|
analyzeGbp,
|
|
74874
74939
|
assessConversionTrackingIntegrity,
|
|
74875
74940
|
newerFullSweep,
|
|
74941
|
+
startScheduledSeoRefreshes,
|
|
74876
74942
|
answerIdentityFrom,
|
|
74877
74943
|
readAnswerIdentity,
|
|
74878
74944
|
answerIdentityChanged,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
measurementDraftUpsertGroupRequestSchema,
|
|
24
24
|
measurementDraftUpsertMarketRequestSchema,
|
|
25
25
|
measurementDraftUpsertTargetRequestSchema
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-DQVJB6CZ.js";
|
|
27
27
|
|
|
28
28
|
// src/measurement-draft-actions.ts
|
|
29
29
|
import { z } from "zod";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-F7NZEUXP.js";
|
|
4
|
+
import "./chunk-C2PYKUD3.js";
|
|
5
5
|
import "./chunk-AOJU5LKX.js";
|
|
6
6
|
import "./chunk-HGMYEDAQ.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-DQVJB6CZ.js";
|
|
8
8
|
import "./chunk-MLKGABMK.js";
|
|
9
9
|
|
|
10
10
|
// src/commands/citations.ts
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
buildCliCatalog,
|
|
4
4
|
printCliCatalog,
|
|
5
5
|
renderTopLevelHelp
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-AE6HJZBU.js";
|
|
7
|
+
import "./chunk-HO5W6QC7.js";
|
|
8
8
|
import "./chunk-Z7IUAJOF.js";
|
|
9
9
|
import "./chunk-HGMYEDAQ.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-DQVJB6CZ.js";
|
|
11
11
|
import "./chunk-MLKGABMK.js";
|
|
12
12
|
export {
|
|
13
13
|
CLI_ROOT_SUMMARIES,
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
REGISTERED_CLI_COMMANDS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6FN2OQKL.js";
|
|
4
4
|
import "./chunk-6GO5VVAC.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-66DPEVLJ.js";
|
|
6
6
|
import "./chunk-VJWDBFSL.js";
|
|
7
7
|
import "./chunk-TSENU4GG.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-F7NZEUXP.js";
|
|
9
|
+
import "./chunk-C2PYKUD3.js";
|
|
10
|
+
import "./chunk-HO5W6QC7.js";
|
|
11
11
|
import "./chunk-Z7IUAJOF.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-ZPRJCSSR.js";
|
|
13
13
|
import "./chunk-AOJU5LKX.js";
|
|
14
14
|
import "./chunk-HGMYEDAQ.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-DQVJB6CZ.js";
|
|
16
16
|
import "./chunk-MLKGABMK.js";
|
|
17
17
|
export {
|
|
18
18
|
REGISTERED_CLI_COMMANDS
|
package/dist/cli.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node --import tsx
|
|
2
2
|
import {
|
|
3
3
|
REGISTERED_CLI_COMMANDS
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-6FN2OQKL.js";
|
|
5
5
|
import {
|
|
6
6
|
buildSetupState,
|
|
7
7
|
runPendingServeHandoff
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-O3INLME6.js";
|
|
9
9
|
import "./chunk-6GO5VVAC.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-66DPEVLJ.js";
|
|
11
11
|
import "./chunk-VJWDBFSL.js";
|
|
12
12
|
import "./chunk-TSENU4GG.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-IYB3EGSD.js";
|
|
14
14
|
import {
|
|
15
15
|
checkLatestVersionForCli,
|
|
16
16
|
cliRuntimeContext,
|
|
@@ -24,24 +24,24 @@ import {
|
|
|
24
24
|
showFirstRunNotice,
|
|
25
25
|
trackCliCommandFinished,
|
|
26
26
|
trackEvent
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-XMKXXWMO.js";
|
|
28
28
|
import {
|
|
29
29
|
autoSyncSkills,
|
|
30
30
|
formatAutoSyncNotice
|
|
31
|
-
} from "./chunk-
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
31
|
+
} from "./chunk-2Y7RN5HG.js";
|
|
32
|
+
import "./chunk-F7NZEUXP.js";
|
|
33
|
+
import "./chunk-C2PYKUD3.js";
|
|
34
34
|
import {
|
|
35
35
|
accessFilterFromArgs,
|
|
36
36
|
dispatchRegisteredCommand,
|
|
37
37
|
printCliCatalog
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-AE6HJZBU.js";
|
|
39
39
|
import {
|
|
40
40
|
resolveCliAccess
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-HO5W6QC7.js";
|
|
42
42
|
import "./chunk-Z7IUAJOF.js";
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-SL3Y7IOX.js";
|
|
44
|
+
import "./chunk-ZPRJCSSR.js";
|
|
45
45
|
import "./chunk-AOJU5LKX.js";
|
|
46
46
|
import {
|
|
47
47
|
CliError,
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
} from "./chunk-HGMYEDAQ.js";
|
|
53
53
|
import {
|
|
54
54
|
OperationAccesses
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-DQVJB6CZ.js";
|
|
56
56
|
import "./chunk-MLKGABMK.js";
|
|
57
57
|
|
|
58
58
|
// src/cli.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-F7NZEUXP.js";
|
|
4
|
+
import "./chunk-C2PYKUD3.js";
|
|
5
5
|
import {
|
|
6
6
|
emitJsonl
|
|
7
7
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
normalizeCompetitorDomain,
|
|
22
22
|
shareOfVoiceLabel,
|
|
23
23
|
shareOfVoiceReason
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-DQVJB6CZ.js";
|
|
25
25
|
import "./chunk-MLKGABMK.js";
|
|
26
26
|
|
|
27
27
|
// src/commands/competitor.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-F7NZEUXP.js";
|
|
4
|
+
import "./chunk-C2PYKUD3.js";
|
|
5
5
|
import {
|
|
6
6
|
emitJsonl
|
|
7
7
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
import {
|
|
15
15
|
contentTargetDismissRequestSchema,
|
|
16
16
|
formatPercent
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-DQVJB6CZ.js";
|
|
18
18
|
import "./chunk-MLKGABMK.js";
|
|
19
19
|
|
|
20
20
|
// src/commands/content.ts
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
clearDashboardPassword,
|
|
3
3
|
loadConfigRaw
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-C2PYKUD3.js";
|
|
5
5
|
import {
|
|
6
6
|
isMachineFormat
|
|
7
7
|
} from "./chunk-HGMYEDAQ.js";
|
|
8
8
|
import {
|
|
9
9
|
anyUsersExist
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-Z2EENWM3.js";
|
|
11
|
+
import "./chunk-Q2WZAD5W.js";
|
|
12
|
+
import "./chunk-IJKKK7F4.js";
|
|
13
13
|
import {
|
|
14
14
|
createClient
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-XOMUSIM7.js";
|
|
16
|
+
import "./chunk-DQVJB6CZ.js";
|
|
17
17
|
import "./chunk-MLKGABMK.js";
|
|
18
18
|
|
|
19
19
|
// src/commands/dashboard.ts
|
|
@@ -40,7 +40,7 @@ function parseDemoTrustedProxies(values) {
|
|
|
40
40
|
async function demoCommand(options) {
|
|
41
41
|
const { host, port } = parseDemoListenOptions(options);
|
|
42
42
|
const trustProxy = parseDemoTrustedProxies(options.trustProxy);
|
|
43
|
-
const { createDemoServer } = await import("./demo-server-
|
|
43
|
+
const { createDemoServer } = await import("./demo-server-GNGGWERV.js");
|
|
44
44
|
const app = await createDemoServer({ trustProxy });
|
|
45
45
|
let stopping = false;
|
|
46
46
|
const stop = () => {
|
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
computeFactorAverages,
|
|
6
6
|
layoutSiteCrawlGraphInput,
|
|
7
7
|
persistSiteCrawlGraphLayout
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-H6HIJAIU.js";
|
|
9
9
|
import {
|
|
10
10
|
canonryMcpTools
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-BV6NXSAH.js";
|
|
12
|
+
import "./chunk-ZWZOQNLD.js";
|
|
13
|
+
import "./chunk-ZPRJCSSR.js";
|
|
14
14
|
import {
|
|
15
15
|
PACKAGE_VERSION
|
|
16
16
|
} from "./chunk-AOJU5LKX.js";
|
|
@@ -18,16 +18,16 @@ import "./chunk-HGMYEDAQ.js";
|
|
|
18
18
|
import {
|
|
19
19
|
HISTORY_WINDOW_RUNS,
|
|
20
20
|
IntelligenceService
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-X4AHYJCE.js";
|
|
22
22
|
import {
|
|
23
23
|
determineCitationState
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-S4VCXCRQ.js";
|
|
25
25
|
import {
|
|
26
26
|
apiRoutes,
|
|
27
27
|
assessConversionTrackingIntegrity
|
|
28
|
-
} from "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
28
|
+
} from "./chunk-Z2EENWM3.js";
|
|
29
|
+
import "./chunk-Q2WZAD5W.js";
|
|
30
|
+
import "./chunk-IJKKK7F4.js";
|
|
31
31
|
import {
|
|
32
32
|
adsAdGroups,
|
|
33
33
|
adsAds,
|
|
@@ -103,7 +103,7 @@ import {
|
|
|
103
103
|
siteCrawlPages,
|
|
104
104
|
siteCrawlSnapshots,
|
|
105
105
|
trafficSources
|
|
106
|
-
} from "./chunk-
|
|
106
|
+
} from "./chunk-XOMUSIM7.js";
|
|
107
107
|
import {
|
|
108
108
|
AI_ENGINE_DOMAINS,
|
|
109
109
|
GA_OVERVIEW_HISTORY_DAYS,
|
|
@@ -148,7 +148,7 @@ import {
|
|
|
148
148
|
roundPreservingTotal,
|
|
149
149
|
siteAuditPageFactorSchema,
|
|
150
150
|
wilsonInterval
|
|
151
|
-
} from "./chunk-
|
|
151
|
+
} from "./chunk-DQVJB6CZ.js";
|
|
152
152
|
import "./chunk-MLKGABMK.js";
|
|
153
153
|
|
|
154
154
|
// src/demo-server.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-F7NZEUXP.js";
|
|
4
|
+
import "./chunk-C2PYKUD3.js";
|
|
5
5
|
import {
|
|
6
6
|
emitJsonl
|
|
7
7
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
CitationStates,
|
|
15
15
|
DiscoveryPromoteCompetitorSkipReasons,
|
|
16
16
|
describeError
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-DQVJB6CZ.js";
|
|
18
18
|
import "./chunk-MLKGABMK.js";
|
|
19
19
|
|
|
20
20
|
// src/commands/discover.ts
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-F7NZEUXP.js";
|
|
4
|
+
import "./chunk-C2PYKUD3.js";
|
|
5
5
|
import "./chunk-AOJU5LKX.js";
|
|
6
6
|
import {
|
|
7
7
|
CliError,
|
|
8
8
|
EXIT_USER_ERROR
|
|
9
9
|
} from "./chunk-HGMYEDAQ.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-DQVJB6CZ.js";
|
|
11
11
|
import "./chunk-MLKGABMK.js";
|
|
12
12
|
|
|
13
13
|
// src/commands/discover-eval.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-F7NZEUXP.js";
|
|
4
|
+
import "./chunk-C2PYKUD3.js";
|
|
5
5
|
import {
|
|
6
6
|
emitJsonl
|
|
7
7
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
CheckScopes,
|
|
15
15
|
CheckStatuses
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-DQVJB6CZ.js";
|
|
17
17
|
import "./chunk-MLKGABMK.js";
|
|
18
18
|
|
|
19
19
|
// src/commands/doctor.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-F7NZEUXP.js";
|
|
4
|
+
import "./chunk-C2PYKUD3.js";
|
|
5
5
|
import {
|
|
6
6
|
emitJsonl
|
|
7
7
|
} from "./chunk-Z7IUAJOF.js";
|
|
@@ -9,7 +9,7 @@ import "./chunk-AOJU5LKX.js";
|
|
|
9
9
|
import "./chunk-HGMYEDAQ.js";
|
|
10
10
|
import {
|
|
11
11
|
CitationStates
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-DQVJB6CZ.js";
|
|
13
13
|
import "./chunk-MLKGABMK.js";
|
|
14
14
|
|
|
15
15
|
// src/commands/evidence.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createApiClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-F7NZEUXP.js";
|
|
4
|
+
import "./chunk-C2PYKUD3.js";
|
|
5
5
|
import "./chunk-AOJU5LKX.js";
|
|
6
6
|
import {
|
|
7
7
|
isEndpointMissing,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-HGMYEDAQ.js";
|
|
10
10
|
import {
|
|
11
11
|
isRedactedNotificationUrl
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-DQVJB6CZ.js";
|
|
13
13
|
import "./chunk-MLKGABMK.js";
|
|
14
14
|
|
|
15
15
|
// src/commands/export-cmd.ts
|