@canonry/canonry 6.1.1 → 6.1.3
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 +1 -1
- package/assets/assets/{AuditHistoryPanel-Dtt7cbYo.js → AuditHistoryPanel-D-W_kwEY.js} +1 -1
- package/assets/assets/{BacklinksPage-h25kHk3u.js → BacklinksPage-BeqCFRO3.js} +1 -1
- package/assets/assets/{HistoryPage-70YWNYBU.js → HistoryPage-wAPbY0z4.js} +1 -1
- package/assets/assets/{MeasurementPropertyPage-CBPQ3A99.js → MeasurementPropertyPage-BSOrkHCB.js} +1 -1
- package/assets/assets/{ProjectPage-Dbbxf8yl.js → ProjectPage-v0C7CwyA.js} +1 -1
- package/assets/assets/{RunsPage-B6LqcDRg.js → RunsPage-CxolaIps.js} +1 -1
- package/assets/assets/{SettingsPage-DNV6Is27.js → SettingsPage-BQqJz0Ms.js} +1 -1
- package/assets/assets/{SiteHealthSection-CWEIYXut.js → SiteHealthSection-C56kNcQQ.js} +3 -3
- package/assets/assets/{TrafficPage-ZZqGgMyL.js → TrafficPage-BDmWdYWf.js} +1 -1
- package/assets/assets/{TrafficSourceDetailPage-_RMyqM86.js → TrafficSourceDetailPage-DZl3YNBs.js} +1 -1
- package/assets/assets/{extract-error-message-D-AaTlPU.js → extract-error-message-D0mBVEGn.js} +1 -1
- package/assets/assets/{index-BCKrocfL.js → index-DZ__RzGa.js} +21 -21
- package/assets/assets/{react-sigma_core.esm.min-CaRTZKvV.js → react-sigma_core.esm.min-BQNp33-g.js} +1 -1
- package/assets/assets/{v2-overview-adapter-C16fKgpq.js → v2-overview-adapter-XZbD7swG.js} +1 -1
- package/assets/index.html +2 -2
- package/dist/{chunk-LXHE4DVO.js → chunk-4MWLHTRS.js} +9 -0
- package/dist/{chunk-DMU3SFC4.js → chunk-6CR7DWLU.js} +12 -9
- package/dist/{chunk-QFI47QVP.js → chunk-7FRBHLDE.js} +11 -11
- package/dist/{chunk-HTTYBQN4.js → chunk-HB6XZOZ6.js} +2 -2
- package/dist/{chunk-B5W7HDCG.js → chunk-N7MRAN3G.js} +42 -17
- package/dist/{chunk-MJ3QINUW.js → chunk-TBAVVIVI.js} +3 -3
- package/dist/{chunk-PDOMOHOP.js → chunk-YOMLHHJS.js} +2 -2
- package/dist/cli.js +32 -13
- package/dist/{demo-server-VP6CP33U.js → demo-server-2622GU2H.js} +4 -4
- package/dist/index.js +6 -6
- package/dist/{intelligence-service-6F63MYQ5.js → intelligence-service-QUAOWEIA.js} +2 -2
- package/dist/mcp.js +4 -4
- package/package.json +14 -14
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
installSkills,
|
|
5
5
|
loadConfigRaw,
|
|
6
6
|
saveConfigPatch
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YOMLHHJS.js";
|
|
8
8
|
import {
|
|
9
9
|
PACKAGE_VERSION
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6CR7DWLU.js";
|
|
11
11
|
import {
|
|
12
12
|
SKILL_MANIFEST_FILENAME,
|
|
13
13
|
SkillsClients
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-4MWLHTRS.js";
|
|
15
15
|
|
|
16
16
|
// src/skills-autosync.ts
|
|
17
17
|
import fs from "fs";
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
PACKAGE_VERSION,
|
|
6
6
|
canonryMcpTools,
|
|
7
7
|
isMachineFormat
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6CR7DWLU.js";
|
|
9
9
|
import {
|
|
10
10
|
AGENT_PROVIDER_IDS,
|
|
11
11
|
CANONRY_NPM_PACKAGE_URL,
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
skillsClientSchema,
|
|
51
51
|
upgradeCaveatFor,
|
|
52
52
|
upgradeCommandFor
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-4MWLHTRS.js";
|
|
54
54
|
|
|
55
55
|
// src/config.ts
|
|
56
56
|
import fs from "fs";
|
package/dist/cli.js
CHANGED
|
@@ -35,11 +35,11 @@ import {
|
|
|
35
35
|
trackCliCommandFinished,
|
|
36
36
|
trackEvent,
|
|
37
37
|
waitForServerRuntimeStartup
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-7FRBHLDE.js";
|
|
39
39
|
import {
|
|
40
40
|
autoSyncSkills,
|
|
41
41
|
formatAutoSyncNotice
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-TBAVVIVI.js";
|
|
43
43
|
import {
|
|
44
44
|
configExists,
|
|
45
45
|
createApiClient,
|
|
@@ -56,13 +56,13 @@ import {
|
|
|
56
56
|
saveConfig,
|
|
57
57
|
saveConfigPatch,
|
|
58
58
|
shouldPrintServeSkillsNudge
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-YOMLHHJS.js";
|
|
60
60
|
import {
|
|
61
61
|
DEFAULT_DEMO_TRUSTED_PROXIES,
|
|
62
62
|
trustedProxiesProblem,
|
|
63
63
|
trustedProxyProblem
|
|
64
64
|
} from "./chunk-RB2F4D3Z.js";
|
|
65
|
-
import "./chunk-
|
|
65
|
+
import "./chunk-HB6XZOZ6.js";
|
|
66
66
|
import {
|
|
67
67
|
CliError,
|
|
68
68
|
EXIT_SYSTEM_ERROR,
|
|
@@ -74,7 +74,7 @@ import {
|
|
|
74
74
|
runMeasurementDraftAction,
|
|
75
75
|
systemError,
|
|
76
76
|
usageError
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-6CR7DWLU.js";
|
|
78
78
|
import {
|
|
79
79
|
CLOUDFLARE_WORKER_BINDINGS,
|
|
80
80
|
CLOUDFLARE_WORKER_GENERATED_MARKER,
|
|
@@ -89,7 +89,7 @@ import {
|
|
|
89
89
|
queries,
|
|
90
90
|
renderReportHtml,
|
|
91
91
|
runs
|
|
92
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-N7MRAN3G.js";
|
|
93
93
|
import {
|
|
94
94
|
AdsDeliverySnapshotStatuses,
|
|
95
95
|
AdsHistoricalCampaignRollupStatuses,
|
|
@@ -196,7 +196,7 @@ import {
|
|
|
196
196
|
visibilityCompareSelectionSchema,
|
|
197
197
|
visibilityReportRequestSchema,
|
|
198
198
|
winnabilityClassSchema
|
|
199
|
-
} from "./chunk-
|
|
199
|
+
} from "./chunk-4MWLHTRS.js";
|
|
200
200
|
|
|
201
201
|
// src/cli.ts
|
|
202
202
|
import { pathToFileURL } from "url";
|
|
@@ -730,7 +730,7 @@ function parseDemoTrustedProxies(values) {
|
|
|
730
730
|
async function demoCommand(options) {
|
|
731
731
|
const { host, port } = parseDemoListenOptions(options);
|
|
732
732
|
const trustProxy = parseDemoTrustedProxies(options.trustProxy);
|
|
733
|
-
const { createDemoServer } = await import("./demo-server-
|
|
733
|
+
const { createDemoServer } = await import("./demo-server-2622GU2H.js");
|
|
734
734
|
const app = await createDemoServer({ trustProxy });
|
|
735
735
|
let stopping = false;
|
|
736
736
|
const stop = () => {
|
|
@@ -17356,6 +17356,10 @@ function formatSiteHealthChangeRecord(record) {
|
|
|
17356
17356
|
const fields = record.changedFields.length > 0 ? ` (${record.changedFields.join(", ")})` : "";
|
|
17357
17357
|
return `${record.entity} ${record.change}: ${target}${fields}`;
|
|
17358
17358
|
}
|
|
17359
|
+
function partialCrawlNote(res) {
|
|
17360
|
+
if (!res.hasCrawlData || res.complete !== false) return null;
|
|
17361
|
+
return `Partial crawl (${res.termination ?? "incomplete"}): pages and links beyond the crawl budget were not observed, so a missing page or link is not proof it does not exist.`;
|
|
17362
|
+
}
|
|
17359
17363
|
async function technicalAeoCrawlPages(project2, opts) {
|
|
17360
17364
|
const res = await getClient27().getTechnicalAeoCrawlPages(project2, opts);
|
|
17361
17365
|
if (opts.format === "jsonl") {
|
|
@@ -17363,6 +17367,8 @@ async function technicalAeoCrawlPages(project2, opts) {
|
|
|
17363
17367
|
kind: "technical-aeo-crawl-pages-header",
|
|
17364
17368
|
project: project2,
|
|
17365
17369
|
runId: res.runId,
|
|
17370
|
+
complete: res.complete,
|
|
17371
|
+
termination: res.termination,
|
|
17366
17372
|
total: res.total,
|
|
17367
17373
|
nextCursor: res.nextCursor
|
|
17368
17374
|
}]);
|
|
@@ -17373,8 +17379,9 @@ async function technicalAeoCrawlPages(project2, opts) {
|
|
|
17373
17379
|
console.log(JSON.stringify(res, null, 2));
|
|
17374
17380
|
return;
|
|
17375
17381
|
}
|
|
17382
|
+
const note = partialCrawlNote(res);
|
|
17376
17383
|
if (res.pages.length === 0) {
|
|
17377
|
-
console.log(`No persisted crawl pages for "${project2}"
|
|
17384
|
+
console.log([`No persisted crawl pages for "${project2}".`, ...note ? [note] : []].join("\n"));
|
|
17378
17385
|
return;
|
|
17379
17386
|
}
|
|
17380
17387
|
const lines = [`${res.pages.length} of ${res.total} crawl page(s)${res.nextCursor ? " (more available)" : ""}:`, ""];
|
|
@@ -17384,6 +17391,7 @@ async function technicalAeoCrawlPages(project2, opts) {
|
|
|
17384
17391
|
}
|
|
17385
17392
|
if (res.nextCursor) lines.push(`
|
|
17386
17393
|
Next cursor: ${res.nextCursor}`);
|
|
17394
|
+
if (note) lines.push("", note);
|
|
17387
17395
|
console.log(lines.join("\n"));
|
|
17388
17396
|
}
|
|
17389
17397
|
async function technicalAeoPageAudit(project2, opts) {
|
|
@@ -17453,6 +17461,8 @@ async function technicalAeoStructure(project2, opts) {
|
|
|
17453
17461
|
kind: "technical-aeo-structure-header",
|
|
17454
17462
|
project: project2,
|
|
17455
17463
|
runId: res.runId,
|
|
17464
|
+
complete: res.complete,
|
|
17465
|
+
termination: res.termination,
|
|
17456
17466
|
parentPath: res.parentPath,
|
|
17457
17467
|
returned: res.children.length,
|
|
17458
17468
|
nextCursor: res.nextCursor
|
|
@@ -17464,8 +17474,9 @@ async function technicalAeoStructure(project2, opts) {
|
|
|
17464
17474
|
console.log(JSON.stringify(res, null, 2));
|
|
17465
17475
|
return;
|
|
17466
17476
|
}
|
|
17477
|
+
const note = partialCrawlNote(res);
|
|
17467
17478
|
if (res.children.length === 0) {
|
|
17468
|
-
console.log(`No crawl structure below ${res.parentPath} for "${project2}"
|
|
17479
|
+
console.log([`No crawl structure below ${res.parentPath} for "${project2}".`, ...note ? [note] : []].join("\n"));
|
|
17469
17480
|
return;
|
|
17470
17481
|
}
|
|
17471
17482
|
const lines = [`${res.children.length} child path(s) below ${res.parentPath}${res.nextCursor ? " (more available)" : ""}:`, ""];
|
|
@@ -17474,6 +17485,7 @@ async function technicalAeoStructure(project2, opts) {
|
|
|
17474
17485
|
}
|
|
17475
17486
|
if (res.nextCursor) lines.push(`
|
|
17476
17487
|
Next cursor: ${res.nextCursor}`);
|
|
17488
|
+
if (note) lines.push("", note);
|
|
17477
17489
|
console.log(lines.join("\n"));
|
|
17478
17490
|
}
|
|
17479
17491
|
async function technicalAeoInternalLinks(project2, opts) {
|
|
@@ -17483,6 +17495,8 @@ async function technicalAeoInternalLinks(project2, opts) {
|
|
|
17483
17495
|
kind: "technical-aeo-internal-links-header",
|
|
17484
17496
|
project: project2,
|
|
17485
17497
|
runId: res.runId,
|
|
17498
|
+
complete: res.complete,
|
|
17499
|
+
termination: res.termination,
|
|
17486
17500
|
total: res.total,
|
|
17487
17501
|
nextCursor: res.nextCursor
|
|
17488
17502
|
}]);
|
|
@@ -17493,8 +17507,9 @@ async function technicalAeoInternalLinks(project2, opts) {
|
|
|
17493
17507
|
console.log(JSON.stringify(res, null, 2));
|
|
17494
17508
|
return;
|
|
17495
17509
|
}
|
|
17510
|
+
const note = partialCrawlNote(res);
|
|
17496
17511
|
if (res.edges.length === 0) {
|
|
17497
|
-
console.log(`No persisted internal links for "${project2}"
|
|
17512
|
+
console.log([`No persisted internal links for "${project2}".`, ...note ? [note] : []].join("\n"));
|
|
17498
17513
|
return;
|
|
17499
17514
|
}
|
|
17500
17515
|
const lines = [`${res.edges.length} of ${res.total} internal link(s)${res.nextCursor ? " (more available)" : ""}:`, ""];
|
|
@@ -17503,6 +17518,7 @@ async function technicalAeoInternalLinks(project2, opts) {
|
|
|
17503
17518
|
}
|
|
17504
17519
|
if (res.nextCursor) lines.push(`
|
|
17505
17520
|
Next cursor: ${res.nextCursor}`);
|
|
17521
|
+
if (note) lines.push("", note);
|
|
17506
17522
|
console.log(lines.join("\n"));
|
|
17507
17523
|
}
|
|
17508
17524
|
async function technicalAeoLinkNeighbors(project2, opts) {
|
|
@@ -17512,14 +17528,17 @@ async function technicalAeoLinkNeighbors(project2, opts) {
|
|
|
17512
17528
|
return;
|
|
17513
17529
|
}
|
|
17514
17530
|
const title = res.url ?? res.nodeKey ?? "page";
|
|
17531
|
+
const note = partialCrawlNote(res);
|
|
17532
|
+
const none = note ? " (none observed in this partial crawl)" : " (none)";
|
|
17515
17533
|
const lines = [`Internal links for ${title}:`, "", "Inbound:"];
|
|
17516
17534
|
for (const edge of res.inbound) lines.push(` ${edge.sourceUrl} \u2192 ${edge.targetUrl}`);
|
|
17517
|
-
if (res.inbound.length === 0) lines.push(
|
|
17535
|
+
if (res.inbound.length === 0) lines.push(none);
|
|
17518
17536
|
if (res.inboundTruncated) lines.push(" (truncated)");
|
|
17519
17537
|
lines.push("", "Outbound:");
|
|
17520
17538
|
for (const edge of res.outbound) lines.push(` ${edge.sourceUrl} \u2192 ${edge.targetUrl}`);
|
|
17521
|
-
if (res.outbound.length === 0) lines.push(
|
|
17539
|
+
if (res.outbound.length === 0) lines.push(none);
|
|
17522
17540
|
if (res.outboundTruncated) lines.push(" (truncated)");
|
|
17541
|
+
if (note) lines.push("", note);
|
|
17523
17542
|
console.log(lines.join("\n"));
|
|
17524
17543
|
}
|
|
17525
17544
|
async function technicalAeoDeadLinks(project2, opts) {
|
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
computeFactorAverages,
|
|
6
6
|
layoutSiteCrawlGraphInput,
|
|
7
7
|
persistSiteCrawlGraphLayout
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HB6XZOZ6.js";
|
|
9
9
|
import {
|
|
10
10
|
PACKAGE_VERSION,
|
|
11
11
|
canonryMcpTools
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-6CR7DWLU.js";
|
|
13
13
|
import {
|
|
14
14
|
HISTORY_WINDOW_RUNS,
|
|
15
15
|
IntelligenceService,
|
|
@@ -85,7 +85,7 @@ import {
|
|
|
85
85
|
siteCrawlPages,
|
|
86
86
|
siteCrawlSnapshots,
|
|
87
87
|
trafficSources
|
|
88
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-N7MRAN3G.js";
|
|
89
89
|
import {
|
|
90
90
|
RunKinds,
|
|
91
91
|
SiteCrawlFetchStates,
|
|
@@ -112,7 +112,7 @@ import {
|
|
|
112
112
|
roundPreservingTotal,
|
|
113
113
|
siteAuditPageFactorSchema,
|
|
114
114
|
wilsonInterval
|
|
115
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-4MWLHTRS.js";
|
|
116
116
|
|
|
117
117
|
// src/demo-server.ts
|
|
118
118
|
import { dirname, join as join2 } from "path";
|
package/dist/index.js
CHANGED
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
createGoogleMarketingCredentialStore,
|
|
4
4
|
createGoogleMarketingRuntime,
|
|
5
5
|
createServer
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-7FRBHLDE.js";
|
|
7
7
|
import {
|
|
8
8
|
loadConfig
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-YOMLHHJS.js";
|
|
10
|
+
import "./chunk-HB6XZOZ6.js";
|
|
11
|
+
import "./chunk-6CR7DWLU.js";
|
|
12
|
+
import "./chunk-N7MRAN3G.js";
|
|
13
|
+
import "./chunk-4MWLHTRS.js";
|
|
14
14
|
export {
|
|
15
15
|
GoogleMarketingRuntimeError,
|
|
16
16
|
createGoogleMarketingCredentialStore,
|
package/dist/mcp.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
autoSyncSkills
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TBAVVIVI.js";
|
|
4
4
|
import {
|
|
5
5
|
createApiClient,
|
|
6
6
|
createCanonryMcpServer
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-YOMLHHJS.js";
|
|
8
|
+
import "./chunk-6CR7DWLU.js";
|
|
9
9
|
import {
|
|
10
10
|
isReadOnlyKey,
|
|
11
11
|
updateCheckEnvOptOut
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-4MWLHTRS.js";
|
|
13
13
|
|
|
14
14
|
// src/mcp/cli.ts
|
|
15
15
|
import { randomUUID } from "crypto";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canonry/canonry",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Self-hosted AI visibility (AEO) platform: track how ChatGPT, Claude, Gemini, and Perplexity cite your domain, join it with Search Console, GA4, server-side traffic, and paid media, and fix what you find through agent tools (CLI, REST, MCP). Local SQLite.",
|
|
6
6
|
"keywords": [
|
|
@@ -85,34 +85,34 @@
|
|
|
85
85
|
"@types/node-cron": "^3.0.11",
|
|
86
86
|
"tsup": "^8.5.1",
|
|
87
87
|
"tsx": "^4.19.0",
|
|
88
|
+
"@ainyc/canonry-web": "0.0.0",
|
|
89
|
+
"@ainyc/canonry-api-client": "0.0.0",
|
|
90
|
+
"@ainyc/canonry-config": "0.0.0",
|
|
88
91
|
"@ainyc/canonry-contracts": "0.0.0",
|
|
89
|
-
"@ainyc/canonry-api-routes": "0.0.0",
|
|
90
92
|
"@ainyc/canonry-db": "0.0.0",
|
|
91
|
-
"@ainyc/canonry-api-
|
|
92
|
-
"@ainyc/canonry-web": "0.0.0",
|
|
93
|
+
"@ainyc/canonry-api-routes": "0.0.0",
|
|
93
94
|
"@ainyc/canonry-integration-bing": "0.0.0",
|
|
94
|
-
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
95
|
-
"@ainyc/canonry-config": "0.0.0",
|
|
96
|
-
"@ainyc/canonry-integration-cloudflare-worker": "0.0.0",
|
|
97
95
|
"@ainyc/canonry-integration-cloudflare-queue": "0.0.0",
|
|
98
96
|
"@ainyc/canonry-integration-commoncrawl": "0.0.0",
|
|
99
|
-
"@ainyc/canonry-integration-
|
|
97
|
+
"@ainyc/canonry-integration-cloud-run": "0.0.0",
|
|
100
98
|
"@ainyc/canonry-integration-google": "0.0.0",
|
|
99
|
+
"@ainyc/canonry-integration-google-ads": "0.0.0",
|
|
100
|
+
"@ainyc/canonry-integration-cloudflare-worker": "0.0.0",
|
|
101
101
|
"@ainyc/canonry-integration-google-business-profile": "0.0.0",
|
|
102
|
-
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
103
102
|
"@ainyc/canonry-integration-google-tag-manager": "0.0.0",
|
|
104
|
-
"@ainyc/canonry-
|
|
105
|
-
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
106
|
-
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
103
|
+
"@ainyc/canonry-integration-google-places": "0.0.0",
|
|
107
104
|
"@ainyc/canonry-integration-openai-ads": "0.0.0",
|
|
108
105
|
"@ainyc/canonry-integration-traffic": "0.0.0",
|
|
106
|
+
"@ainyc/canonry-integration-wordpress": "0.0.0",
|
|
107
|
+
"@ainyc/canonry-provider-cdp": "0.0.0",
|
|
108
|
+
"@ainyc/canonry-intelligence": "0.0.0",
|
|
109
109
|
"@ainyc/canonry-provider-claude": "0.0.0",
|
|
110
|
-
"@ainyc/canonry-provider-gemini": "0.0.0",
|
|
111
110
|
"@ainyc/canonry-provider-local": "0.0.0",
|
|
112
111
|
"@ainyc/canonry-provider-muse": "0.0.0",
|
|
113
112
|
"@ainyc/canonry-provider-openai": "0.0.0",
|
|
114
113
|
"@ainyc/canonry-provider-perplexity": "0.0.0",
|
|
115
|
-
"@ainyc/canonry-integration-typesafe": "0.0.0"
|
|
114
|
+
"@ainyc/canonry-integration-typesafe": "0.0.0",
|
|
115
|
+
"@ainyc/canonry-provider-gemini": "0.0.0"
|
|
116
116
|
},
|
|
117
117
|
"scripts": {
|
|
118
118
|
"build": "pnpm run build:cli && pnpm run build:web",
|