@ainyc/canonry 4.99.1 → 4.100.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/canonry/references/canonry-cli.md +13 -1
- package/assets/assets/{BacklinksPage-v2RC8wlg.js → BacklinksPage-DWZdWEm3.js} +1 -1
- package/assets/assets/{ChartPrimitives-B74e5pqn.js → ChartPrimitives-C-ky5206.js} +1 -1
- package/assets/assets/{ProjectPage-BCzS7TQn.js → ProjectPage-CpbFpi6J.js} +4 -4
- package/assets/assets/{RunRow-BmVPjO-m.js → RunRow-Bj-D4kZe.js} +1 -1
- package/assets/assets/{RunsPage-CK5atXvL.js → RunsPage-GktitsAV.js} +1 -1
- package/assets/assets/{SettingsPage-DarPFUPl.js → SettingsPage-AsFLFDS3.js} +1 -1
- package/assets/assets/{TrafficPage-Ddnn_WqU.js → TrafficPage-Cf3uCkxs.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-g08SKnwZ.js → TrafficSourceDetailPage-B5t7nf9C.js} +1 -1
- package/assets/assets/{arrow-left-D39Vxasb.js → arrow-left-CZFQuQO_.js} +1 -1
- package/assets/assets/{extract-error-message-BiNWqBeh.js → extract-error-message--bieZ2IX.js} +1 -1
- package/assets/assets/index-9hI0ODQU.css +1 -0
- package/assets/assets/index-Cb2h7KkD.js +210 -0
- package/assets/assets/{trash-2-xh6gsnap.js → trash-2-sKO0k75f.js} +1 -1
- package/assets/index.html +2 -2
- package/dist/{chunk-4Q3LBD7A.js → chunk-74SOIAIY.js} +15 -12
- package/dist/{chunk-JF7EXHGA.js → chunk-ADLS64PG.js} +105 -0
- package/dist/{chunk-YBIT5O62.js → chunk-SNHYRSUF.js} +366 -12
- package/dist/{chunk-IDI6LMYL.js → chunk-UVIHWF45.js} +27 -1
- package/dist/cli.js +110 -4
- package/dist/index.js +4 -4
- package/dist/{intelligence-service-TWCEKVKZ.js → intelligence-service-3CRNJLUZ.js} +2 -2
- package/dist/mcp.js +2 -2
- package/package.json +8 -8
- package/assets/assets/index-BCuWbxUj.css +0 -1
- package/assets/assets/index-Dd4J1VhB.js +0 -210
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c}from"./index-
|
|
1
|
+
import{c}from"./index-Cb2h7KkD.js";const a=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],h=c("circle-check",a);const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],n=c("circle-question-mark",e);const o=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],s=c("download",o);const t=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],r=c("trash-2",t);export{h as C,s as D,r as T,n as a};
|
package/assets/index.html
CHANGED
|
@@ -12,12 +12,12 @@
|
|
|
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-Cb2h7KkD.js"></script>
|
|
16
16
|
<link rel="modulepreload" crossorigin href="./assets/vendor-tanstack-Be8JdV5M.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="./assets/vendor-radix-CQ77EO2y.js">
|
|
18
18
|
<link rel="modulepreload" crossorigin href="./assets/vendor-recharts-C9EZkgbP.js">
|
|
19
19
|
<link rel="modulepreload" crossorigin href="./assets/vendor-markdown-6dwjPOKK.js">
|
|
20
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
20
|
+
<link rel="stylesheet" crossorigin href="./assets/index-9hI0ODQU.css">
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
|
23
23
|
<div id="root"></div>
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
loadConfig,
|
|
10
10
|
loadConfigRaw,
|
|
11
11
|
saveConfigPatch
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-UVIHWF45.js";
|
|
13
13
|
import {
|
|
14
14
|
CC_CACHE_DIR,
|
|
15
15
|
DUCKDB_SPEC,
|
|
@@ -111,7 +111,7 @@ import {
|
|
|
111
111
|
siteAuditPages,
|
|
112
112
|
siteAuditSnapshots,
|
|
113
113
|
usageCounters
|
|
114
|
-
} from "./chunk-
|
|
114
|
+
} from "./chunk-SNHYRSUF.js";
|
|
115
115
|
import {
|
|
116
116
|
AGENT_MEMORY_VALUE_MAX_BYTES,
|
|
117
117
|
AGENT_PROVIDER_IDS,
|
|
@@ -171,7 +171,7 @@ import {
|
|
|
171
171
|
validationError,
|
|
172
172
|
winnabilityClassLabel,
|
|
173
173
|
withRetry
|
|
174
|
-
} from "./chunk-
|
|
174
|
+
} from "./chunk-ADLS64PG.js";
|
|
175
175
|
|
|
176
176
|
// src/telemetry.ts
|
|
177
177
|
import crypto from "crypto";
|
|
@@ -6403,7 +6403,7 @@ function readStoredGroundingSources(rawResponse) {
|
|
|
6403
6403
|
return result;
|
|
6404
6404
|
}
|
|
6405
6405
|
async function backfillInsightsCommand(project, opts) {
|
|
6406
|
-
const { IntelligenceService: IntelligenceService2 } = await import("./intelligence-service-
|
|
6406
|
+
const { IntelligenceService: IntelligenceService2 } = await import("./intelligence-service-3CRNJLUZ.js");
|
|
6407
6407
|
const config = loadConfig();
|
|
6408
6408
|
const db = createClient(config.database);
|
|
6409
6409
|
migrate(db);
|
|
@@ -8020,12 +8020,13 @@ var PROVIDER_MODELS = {
|
|
|
8020
8020
|
[LlmCapabilities.classify]: "glm-5-turbo"
|
|
8021
8021
|
},
|
|
8022
8022
|
[AgentProviderIds.deepinfra]: {
|
|
8023
|
-
// DeepInfra `org/Model` slugs. GLM-5.2
|
|
8024
|
-
//
|
|
8025
|
-
// custom openai-completions model, not pi-ai's
|
|
8023
|
+
// DeepInfra `org/Model` slugs. GLM-5.2 (Sonnet-class) on all three tiers —
|
|
8024
|
+
// it undercuts the Claude tiers it replaces, so the cheaper tiers take no
|
|
8025
|
+
// quality hit. Resolved into a custom openai-completions model, not pi-ai's
|
|
8026
|
+
// catalog.
|
|
8026
8027
|
[LlmCapabilities.agent]: "zai-org/GLM-5.2",
|
|
8027
|
-
[LlmCapabilities.analyze]: "
|
|
8028
|
-
[LlmCapabilities.classify]: "
|
|
8028
|
+
[LlmCapabilities.analyze]: "zai-org/GLM-5.2",
|
|
8029
|
+
[LlmCapabilities.classify]: "zai-org/GLM-5.2"
|
|
8029
8030
|
}
|
|
8030
8031
|
};
|
|
8031
8032
|
var AGENT_PROVIDERS = {
|
|
@@ -8130,7 +8131,8 @@ function resolveModelForCapability(provider, capability, modelIdOverride) {
|
|
|
8130
8131
|
const entry = AGENT_PROVIDERS[provider];
|
|
8131
8132
|
const id = modelIdOverride ?? PROVIDER_MODELS[provider][capability];
|
|
8132
8133
|
if (entry.openaiCompatible) {
|
|
8133
|
-
|
|
8134
|
+
const suppressThinking = capability !== LlmCapabilities.agent;
|
|
8135
|
+
return buildOpenAiCompatibleModel(entry, id, suppressThinking);
|
|
8134
8136
|
}
|
|
8135
8137
|
const model = getModel(entry.piAiProvider, id);
|
|
8136
8138
|
if (!model) {
|
|
@@ -8140,13 +8142,14 @@ function resolveModelForCapability(provider, capability, modelIdOverride) {
|
|
|
8140
8142
|
}
|
|
8141
8143
|
return model;
|
|
8142
8144
|
}
|
|
8143
|
-
function buildOpenAiCompatibleModel(entry, id) {
|
|
8145
|
+
function buildOpenAiCompatibleModel(entry, id, suppressThinking = false) {
|
|
8144
8146
|
const host = entry.openaiCompatible;
|
|
8145
8147
|
if (!host) {
|
|
8146
8148
|
throw new Error(`buildOpenAiCompatibleModel called for non-custom provider '${entry.piAiProvider}'`);
|
|
8147
8149
|
}
|
|
8148
8150
|
const meta = host.knownModels[id] ?? host.defaultModelMeta;
|
|
8149
8151
|
const baseUrl = (host.baseUrlEnvVar ? process.env[host.baseUrlEnvVar] : void 0) || host.baseUrl;
|
|
8152
|
+
const compat = suppressThinking ? { ...host.compat, thinkingFormat: "qwen-chat-template" } : host.compat;
|
|
8150
8153
|
return {
|
|
8151
8154
|
id,
|
|
8152
8155
|
name: id,
|
|
@@ -8158,7 +8161,7 @@ function buildOpenAiCompatibleModel(entry, id) {
|
|
|
8158
8161
|
cost: meta.cost,
|
|
8159
8162
|
contextWindow: meta.contextWindow,
|
|
8160
8163
|
maxTokens: meta.maxTokens,
|
|
8161
|
-
...
|
|
8164
|
+
...compat ? { compat } : {}
|
|
8162
8165
|
};
|
|
8163
8166
|
}
|
|
8164
8167
|
function validateAgentProviderRegistry() {
|
|
@@ -3455,6 +3455,93 @@ var projectSearchResponseSchema = z24.object({
|
|
|
3455
3455
|
truncated: z24.boolean(),
|
|
3456
3456
|
hits: z24.array(projectSearchHitSchema)
|
|
3457
3457
|
});
|
|
3458
|
+
var portfolioChangeTypeSchema = z24.enum([
|
|
3459
|
+
"citation-gained",
|
|
3460
|
+
"citation-lost",
|
|
3461
|
+
"mention-gained",
|
|
3462
|
+
"mention-lost",
|
|
3463
|
+
"run-failed",
|
|
3464
|
+
"insight-critical",
|
|
3465
|
+
"insight-high",
|
|
3466
|
+
"stale-visibility",
|
|
3467
|
+
"query-set-changed",
|
|
3468
|
+
"project-never-run"
|
|
3469
|
+
]);
|
|
3470
|
+
var PortfolioChangeTypes = portfolioChangeTypeSchema.enum;
|
|
3471
|
+
var portfolioChangeSchema = z24.object({
|
|
3472
|
+
id: z24.string(),
|
|
3473
|
+
projectName: z24.string(),
|
|
3474
|
+
projectSlug: z24.string(),
|
|
3475
|
+
changeType: portfolioChangeTypeSchema,
|
|
3476
|
+
tone: metricToneSchema,
|
|
3477
|
+
title: z24.string(),
|
|
3478
|
+
detail: z24.string(),
|
|
3479
|
+
occurredAt: z24.string(),
|
|
3480
|
+
href: z24.string().nullable(),
|
|
3481
|
+
actionLabel: z24.string().nullable(),
|
|
3482
|
+
comparable: z24.boolean()
|
|
3483
|
+
});
|
|
3484
|
+
var portfolioRunSchema = z24.object({
|
|
3485
|
+
runId: z24.string(),
|
|
3486
|
+
projectName: z24.string(),
|
|
3487
|
+
projectSlug: z24.string(),
|
|
3488
|
+
kindLabel: z24.string(),
|
|
3489
|
+
status: runStatusSchema,
|
|
3490
|
+
createdAt: z24.string(),
|
|
3491
|
+
startedAt: z24.string().nullable(),
|
|
3492
|
+
finishedAt: z24.string().nullable(),
|
|
3493
|
+
durationMs: z24.number().nullable(),
|
|
3494
|
+
mentionedCount: z24.number().int().nonnegative().nullable(),
|
|
3495
|
+
citedCount: z24.number().int().nonnegative().nullable(),
|
|
3496
|
+
totalCount: z24.number().int().nonnegative().nullable(),
|
|
3497
|
+
errorSummary: z24.string().nullable()
|
|
3498
|
+
});
|
|
3499
|
+
var portfolioProjectRowSchema = z24.object({
|
|
3500
|
+
projectSlug: z24.string(),
|
|
3501
|
+
projectName: z24.string(),
|
|
3502
|
+
canonicalDomain: z24.string(),
|
|
3503
|
+
mentionScore: z24.number(),
|
|
3504
|
+
mentionTone: metricToneSchema,
|
|
3505
|
+
mentionedOfTotal: z24.object({
|
|
3506
|
+
mentioned: z24.number().int().nonnegative(),
|
|
3507
|
+
total: z24.number().int().nonnegative()
|
|
3508
|
+
}),
|
|
3509
|
+
citedOfTotal: z24.object({
|
|
3510
|
+
cited: z24.number().int().nonnegative(),
|
|
3511
|
+
total: z24.number().int().nonnegative()
|
|
3512
|
+
}),
|
|
3513
|
+
mentionDelta: z24.object({
|
|
3514
|
+
gained: z24.number().int().nonnegative(),
|
|
3515
|
+
lost: z24.number().int().nonnegative(),
|
|
3516
|
+
comparable: z24.boolean()
|
|
3517
|
+
}),
|
|
3518
|
+
citationDelta: z24.object({
|
|
3519
|
+
gained: z24.number().int().nonnegative(),
|
|
3520
|
+
lost: z24.number().int().nonnegative(),
|
|
3521
|
+
comparable: z24.boolean()
|
|
3522
|
+
}),
|
|
3523
|
+
competitorPressureLabel: z24.string(),
|
|
3524
|
+
mentionTrend: z24.array(z24.number()),
|
|
3525
|
+
lastRunAt: z24.string().nullable(),
|
|
3526
|
+
hasEverRun: z24.boolean()
|
|
3527
|
+
});
|
|
3528
|
+
var portfolioFeedEmptyStateSchema = z24.object({
|
|
3529
|
+
kind: z24.enum(["all-clear", "awaiting-second-sweep"]),
|
|
3530
|
+
title: z24.string(),
|
|
3531
|
+
detail: z24.string()
|
|
3532
|
+
});
|
|
3533
|
+
var portfolioDtoSchema = z24.object({
|
|
3534
|
+
generatedAt: z24.string(),
|
|
3535
|
+
lastSweepAt: z24.string().nullable(),
|
|
3536
|
+
projectCount: z24.number().int().nonnegative(),
|
|
3537
|
+
comparableProjectCount: z24.number().int().nonnegative(),
|
|
3538
|
+
firstSweepProjectCount: z24.number().int().nonnegative(),
|
|
3539
|
+
changeFeed: z24.array(portfolioChangeSchema),
|
|
3540
|
+
changeFeedTotal: z24.number().int().nonnegative(),
|
|
3541
|
+
feedEmptyState: portfolioFeedEmptyStateSchema.nullable(),
|
|
3542
|
+
recentRuns: z24.array(portfolioRunSchema),
|
|
3543
|
+
projects: z24.array(portfolioProjectRowSchema)
|
|
3544
|
+
});
|
|
3458
3545
|
|
|
3459
3546
|
// ../contracts/src/content.ts
|
|
3460
3547
|
import { z as z25 } from "zod";
|
|
@@ -5093,6 +5180,21 @@ function formatDateRange(start, end) {
|
|
|
5093
5180
|
if (start && end) return `${formatDate(start)} \u2192 ${formatDate(end)}`;
|
|
5094
5181
|
return formatDate(start || end);
|
|
5095
5182
|
}
|
|
5183
|
+
function formatRelativeTime(fromIso, nowIso) {
|
|
5184
|
+
if (!fromIso) return "\u2014";
|
|
5185
|
+
const from = Date.parse(fromIso);
|
|
5186
|
+
const now = Date.parse(nowIso);
|
|
5187
|
+
if (Number.isNaN(from) || Number.isNaN(now)) return formatDate(fromIso);
|
|
5188
|
+
const diffMs = now - from;
|
|
5189
|
+
if (diffMs < 6e4) return "just now";
|
|
5190
|
+
const minutes = Math.floor(diffMs / 6e4);
|
|
5191
|
+
if (minutes < 60) return `${minutes}m ago`;
|
|
5192
|
+
const hours = Math.floor(minutes / 60);
|
|
5193
|
+
if (hours < 24) return `${hours}h ago`;
|
|
5194
|
+
const days = Math.floor(hours / 24);
|
|
5195
|
+
if (days <= 7) return `${days}d ago`;
|
|
5196
|
+
return formatDate(fromIso);
|
|
5197
|
+
}
|
|
5096
5198
|
var DATE_ONLY_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
|
|
5097
5199
|
function parseInclusiveEndMs(iso) {
|
|
5098
5200
|
const ms = Date.parse(iso);
|
|
@@ -5580,6 +5682,8 @@ export {
|
|
|
5580
5682
|
ccAvailableReleaseSchema,
|
|
5581
5683
|
ccCachedReleaseSchema,
|
|
5582
5684
|
projectOverviewDtoSchema,
|
|
5685
|
+
PortfolioChangeTypes,
|
|
5686
|
+
portfolioDtoSchema,
|
|
5583
5687
|
ContentActions,
|
|
5584
5688
|
contentActionLabel,
|
|
5585
5689
|
actionConfidenceLabel,
|
|
@@ -5652,6 +5756,7 @@ export {
|
|
|
5652
5756
|
formatDate,
|
|
5653
5757
|
formatIsoDate,
|
|
5654
5758
|
formatDateRange,
|
|
5759
|
+
formatRelativeTime,
|
|
5655
5760
|
parseInclusiveEndMs,
|
|
5656
5761
|
deltaPercent,
|
|
5657
5762
|
deltaTone,
|