@aexol/spectral 0.9.212 → 0.9.216

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.
Files changed (115) hide show
  1. package/dist/backend/generated-images.d.ts +180 -0
  2. package/dist/backend/generated-images.d.ts.map +1 -0
  3. package/dist/backend/generated-images.js +483 -0
  4. package/dist/backend/machine-routing.d.ts +25 -0
  5. package/dist/backend/machine-routing.d.ts.map +1 -0
  6. package/dist/backend/machine-routing.js +35 -0
  7. package/dist/commands/logout.d.ts.map +1 -1
  8. package/dist/commands/logout.js +4 -0
  9. package/dist/commands/serve.d.ts.map +1 -1
  10. package/dist/commands/serve.js +20 -2
  11. package/dist/extensions/browser/browser-service.d.ts +75 -1
  12. package/dist/extensions/browser/browser-service.d.ts.map +1 -1
  13. package/dist/extensions/browser/browser-service.js +600 -34
  14. package/dist/extensions/browser/index.d.ts +10 -4
  15. package/dist/extensions/browser/index.d.ts.map +1 -1
  16. package/dist/extensions/browser/index.js +44 -5
  17. package/dist/extensions/browser/stream/stream-tool.d.ts +10 -0
  18. package/dist/extensions/browser/stream/stream-tool.d.ts.map +1 -1
  19. package/dist/extensions/browser/stream/stream-tool.js +42 -14
  20. package/dist/extensions/browser/tools/core.d.ts.map +1 -1
  21. package/dist/extensions/browser/tools/core.js +63 -2
  22. package/dist/extensions/desktop-control/index.d.ts +55 -0
  23. package/dist/extensions/desktop-control/index.d.ts.map +1 -0
  24. package/dist/extensions/desktop-control/index.js +633 -0
  25. package/dist/extensions/desktop-control/keys.d.ts +33 -0
  26. package/dist/extensions/desktop-control/keys.d.ts.map +1 -0
  27. package/dist/extensions/desktop-control/keys.js +170 -0
  28. package/dist/extensions/desktop-control/linux.d.ts +26 -0
  29. package/dist/extensions/desktop-control/linux.d.ts.map +1 -0
  30. package/dist/extensions/desktop-control/linux.js +195 -0
  31. package/dist/extensions/desktop-control/macos.d.ts +53 -0
  32. package/dist/extensions/desktop-control/macos.d.ts.map +1 -0
  33. package/dist/extensions/desktop-control/macos.js +382 -0
  34. package/dist/extensions/desktop-control/safety.d.ts +89 -0
  35. package/dist/extensions/desktop-control/safety.d.ts.map +1 -0
  36. package/dist/extensions/desktop-control/safety.js +157 -0
  37. package/dist/extensions/desktop-control/types.d.ts +79 -0
  38. package/dist/extensions/desktop-control/types.d.ts.map +1 -0
  39. package/dist/extensions/desktop-control/types.js +10 -0
  40. package/dist/extensions/desktop-control/windows.d.ts +31 -0
  41. package/dist/extensions/desktop-control/windows.d.ts.map +1 -0
  42. package/dist/extensions/desktop-control/windows.js +276 -0
  43. package/dist/extensions/desktop-screenshot/index.d.ts +103 -0
  44. package/dist/extensions/desktop-screenshot/index.d.ts.map +1 -1
  45. package/dist/extensions/desktop-screenshot/index.js +363 -17
  46. package/dist/extensions/image-generation/index.d.ts.map +1 -1
  47. package/dist/extensions/image-generation/index.js +133 -34
  48. package/dist/extensions/seo/index.d.ts.map +1 -1
  49. package/dist/extensions/seo/index.js +4 -0
  50. package/dist/extensions/seo/tools/backend-bridge.d.ts +4 -0
  51. package/dist/extensions/seo/tools/backend-bridge.d.ts.map +1 -0
  52. package/dist/extensions/seo/tools/backend-bridge.js +378 -0
  53. package/dist/extensions/seo/tools/full-audit.d.ts +2 -0
  54. package/dist/extensions/seo/tools/full-audit.d.ts.map +1 -1
  55. package/dist/extensions/seo/tools/full-audit.js +1 -1
  56. package/dist/extensions/seo/tools/report.d.ts +10 -0
  57. package/dist/extensions/seo/tools/report.d.ts.map +1 -1
  58. package/dist/extensions/seo/tools/report.js +1 -1
  59. package/dist/extensions/spectral-vision-fallback.d.ts.map +1 -1
  60. package/dist/extensions/spectral-vision-fallback.js +11 -1
  61. package/dist/generated/zeus/const.d.ts.map +1 -1
  62. package/dist/generated/zeus/const.js +121 -4
  63. package/dist/generated/zeus/index.d.ts +527 -0
  64. package/dist/generated/zeus/index.d.ts.map +1 -1
  65. package/dist/mcp/tool-registrar.d.ts.map +1 -1
  66. package/dist/mcp/tool-registrar.js +5 -2
  67. package/dist/mcp/types.d.ts +5 -0
  68. package/dist/mcp/types.d.ts.map +1 -1
  69. package/dist/relay/dispatcher.d.ts +12 -1
  70. package/dist/relay/dispatcher.d.ts.map +1 -1
  71. package/dist/relay/dispatcher.js +44 -42
  72. package/dist/sdk/ai/providers/faux.js +1 -1
  73. package/dist/sdk/ai/providers/openai-completions.d.ts.map +1 -1
  74. package/dist/sdk/ai/providers/openai-completions.js +69 -16
  75. package/dist/sdk/ai/providers/openrouter-images.d.ts.map +1 -1
  76. package/dist/sdk/ai/providers/openrouter-images.js +58 -9
  77. package/dist/sdk/ai/providers/simple-options.d.ts.map +1 -1
  78. package/dist/sdk/ai/providers/simple-options.js +2 -0
  79. package/dist/sdk/ai/types.d.ts +37 -1
  80. package/dist/sdk/ai/types.d.ts.map +1 -1
  81. package/dist/sdk/ai/utils/hosted-image-resolver.d.ts +60 -0
  82. package/dist/sdk/ai/utils/hosted-image-resolver.d.ts.map +1 -0
  83. package/dist/sdk/ai/utils/hosted-image-resolver.js +75 -0
  84. package/dist/sdk/ai/utils/image-source.d.ts +168 -0
  85. package/dist/sdk/ai/utils/image-source.d.ts.map +1 -0
  86. package/dist/sdk/ai/utils/image-source.js +487 -0
  87. package/dist/sdk/coding-agent/core/extensions/native-extensions.d.ts.map +1 -1
  88. package/dist/sdk/coding-agent/core/extensions/native-extensions.js +14 -0
  89. package/dist/sdk/coding-agent/core/extensions/types.d.ts +9 -0
  90. package/dist/sdk/coding-agent/core/extensions/types.d.ts.map +1 -1
  91. package/dist/sdk/coding-agent/core/system-prompt.d.ts.map +1 -1
  92. package/dist/sdk/coding-agent/core/system-prompt.js +15 -9
  93. package/dist/sdk/coding-agent/modes/rpc/rpc-mode.d.ts.map +1 -1
  94. package/dist/sdk/coding-agent/modes/rpc/rpc-mode.js +16 -3
  95. package/dist/sdk/coding-agent/utils/image-resize.d.ts.map +1 -1
  96. package/dist/sdk/coding-agent/utils/image-resize.js +7 -3
  97. package/dist/server/agent-bridge.d.ts +14 -0
  98. package/dist/server/agent-bridge.d.ts.map +1 -1
  99. package/dist/server/agent-bridge.js +105 -26
  100. package/dist/server/handlers/queue.d.ts.map +1 -1
  101. package/dist/server/handlers/queue.js +11 -34
  102. package/dist/server/image-attachments.d.ts +109 -0
  103. package/dist/server/image-attachments.d.ts.map +1 -0
  104. package/dist/server/image-attachments.js +195 -0
  105. package/dist/server/session-stream.d.ts +67 -0
  106. package/dist/server/session-stream.d.ts.map +1 -1
  107. package/dist/server/session-stream.js +222 -23
  108. package/dist/server/storage.d.ts.map +1 -1
  109. package/dist/server/storage.js +10 -31
  110. package/dist/server/ui/terminal-confirm.d.ts +145 -0
  111. package/dist/server/ui/terminal-confirm.d.ts.map +1 -0
  112. package/dist/server/ui/terminal-confirm.js +333 -0
  113. package/dist/server/wire.d.ts +30 -5
  114. package/dist/server/wire.d.ts.map +1 -1
  115. package/package.json +1 -1
@@ -1,4 +1,14 @@
1
1
  import type { ExtensionAPI } from "../../../sdk/coding-agent/index.js";
2
2
  import type { SeoConfig } from "../config.js";
3
+ import type { FullAuditResult, PerformanceResult, PageWeightResult, RenderBlockingResult, FontAuditResult } from "../types.js";
4
+ /** Extended audit result that includes Phase 3B fields not yet on FullAuditResult. */
5
+ type AuditableResult = FullAuditResult & {
6
+ performance?: PerformanceResult;
7
+ pageWeight?: PageWeightResult;
8
+ renderBlocking?: RenderBlockingResult;
9
+ fontAudit?: FontAuditResult;
10
+ };
3
11
  export declare function registerReportTools(ext: ExtensionAPI, config: SeoConfig): void;
12
+ export declare function generateMarkdownReport(audit: AuditableResult | AuditableResult[], config: SeoConfig): string;
13
+ export {};
4
14
  //# sourceMappingURL=report.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../../src/extensions/seo/tools/report.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,oCAAoC,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAqB9C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAgH9E"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../../src/extensions/seo/tools/report.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,oCAAoC,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EAIhB,MAAM,aAAa,CAAC;AAGrB,sFAAsF;AACtF,KAAK,eAAe,GAAG,eAAe,GAAG;IACvC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAgH9E;AAMD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,EAAE,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,CAyU5G"}
@@ -108,7 +108,7 @@ export function registerReportTools(ext, config) {
108
108
  // ---------------------------------------------------------------------------
109
109
  // Report generators
110
110
  // ---------------------------------------------------------------------------
111
- function generateMarkdownReport(audit, config) {
111
+ export function generateMarkdownReport(audit, config) {
112
112
  if (Array.isArray(audit)) {
113
113
  return generateBatchMarkdownReport(audit, config);
114
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"spectral-vision-fallback.d.ts","sourceRoot":"","sources":["../../src/extensions/spectral-vision-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAiYjE,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CA2EvE"}
1
+ {"version":3,"file":"spectral-vision-fallback.d.ts","sourceRoot":"","sources":["../../src/extensions/spectral-vision-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AA0YjE,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CA2EvE"}
@@ -130,9 +130,19 @@ function imageMessageCacheKey(msg) {
130
130
  .map((c) => String(c.text))
131
131
  .join("\n")
132
132
  .slice(0, 1000);
133
+ // A hosted attachment has no base64 to hash — fall back to the url (plus
134
+ // image id) so two different screenshots never share a cache entry. Local
135
+ // urls are inlined by `resolveImageForProvider` at send time; the url is
136
+ // still the only stable identity available here.
133
137
  const images = content
134
138
  .filter((c) => c.type === "image")
135
- .map((c) => `${c.mimeType ?? "image"}:${String(c.data ?? "").length}:${String(c.data ?? "").slice(0, 64)}`)
139
+ .map((c) => {
140
+ const data = String(c.data ?? "");
141
+ if (data)
142
+ return `${c.mimeType ?? "image"}:${data.length}:${data.slice(0, 64)}`;
143
+ const ref = String(c.url ?? c.imageId ?? "");
144
+ return `${c.mimeType ?? "image"}:url:${ref.slice(0, 128)}`;
145
+ })
136
146
  .join("|");
137
147
  return `${msg.role}:${msg.timestamp ?? "no-ts"}:${text}:${images}`;
138
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../src/generated/zeus/const.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAC,GAAG,CAyyB5C,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAC,GAAG,CA4nC1C,CAAA;AAED,eAAO,MAAM,GAAG;;;;CAIf,CAAA"}
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../src/generated/zeus/const.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAC,GAAG,CAm2B5C,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAC,GAAG,CAqtC1C,CAAA;AAED,eAAO,MAAM,GAAG;;;;CAIf,CAAA"}
@@ -196,6 +196,7 @@ export const AllTypesProps = {
196
196
  adminCreditPackCount: {},
197
197
  adminTeamPayments: {},
198
198
  adminTeamPaymentCount: {},
199
+ adminCreditGrants: {},
199
200
  adminLeads: {
200
201
  status: "LeadStatus",
201
202
  leadType: "LeadType",
@@ -224,7 +225,17 @@ export const AllTypesProps = {
224
225
  syntheticDataset: {},
225
226
  fineTuneJobs: {},
226
227
  fineTuneJob: {},
227
- dedicatedUsage: {}
228
+ dedicatedUsage: {},
229
+ seoSearchAnalytics: {
230
+ input: "SeoSearchAnalyticsInput"
231
+ },
232
+ seoUrlInspection: {},
233
+ seoUrlInspectionsBatch: {},
234
+ seoSitemaps: {},
235
+ seoIndexationStatus: {},
236
+ seoIndexationReport: {},
237
+ seoAuditTasks: {},
238
+ seoAuditTask: {}
228
239
  },
229
240
  Mutation: {
230
241
  register: {
@@ -460,7 +471,20 @@ export const AllTypesProps = {
460
471
  refreshAccount: {},
461
472
  createTeamModelConnection: {},
462
473
  updateTeamModelConnection: {},
463
- deleteTeamModelConnection: {}
474
+ deleteTeamModelConnection: {},
475
+ seoSubmitSitemap: {},
476
+ seoRequestIndexing: {},
477
+ seoRequestIndexingBatch: {},
478
+ seoStartAudit: {},
479
+ seoStartAuditProcessing: {},
480
+ seoRetryAudit: {},
481
+ seoCompleteAudit: {
482
+ result: "JSON"
483
+ },
484
+ seoFailAudit: {},
485
+ seoRecordAudit: {
486
+ result: "JSON"
487
+ }
464
488
  },
465
489
  Subscription: {
466
490
  inferenceProgress: {},
@@ -505,6 +529,10 @@ export const AllTypesProps = {
505
529
  BaseModelCreateInput: {
506
530
  capabilities: "JSON"
507
531
  },
532
+ SeoSearchAnalyticsInput: {
533
+ startDate: "DateTime",
534
+ endDate: "DateTime"
535
+ },
508
536
  ID: `scalar.ID`
509
537
  };
510
538
  export const ReturnTypes = {
@@ -1125,6 +1153,7 @@ export const ReturnTypes = {
1125
1153
  adminCreditPackCount: "Int",
1126
1154
  adminTeamPayments: "AdminTeamPayment",
1127
1155
  adminTeamPaymentCount: "Int",
1156
+ adminCreditGrants: "CreditGrant",
1128
1157
  adminLeads: "Lead",
1129
1158
  adminLeadCount: "Int",
1130
1159
  adminLead: "Lead",
@@ -1138,7 +1167,17 @@ export const ReturnTypes = {
1138
1167
  fineTuneJob: "FineTuneJob",
1139
1168
  dedicatedHardwareOptions: "DedicatedHardware",
1140
1169
  dedicatedUsage: "DedicatedUsageSummary",
1141
- latestSpectralRelease: "SpectralRelease"
1170
+ latestSpectralRelease: "SpectralRelease",
1171
+ seoSearchAnalytics: "SeoSearchAnalytics",
1172
+ seoUrlInspection: "SeoUrlInspection",
1173
+ seoUrlInspectionsBatch: "SeoUrlInspection",
1174
+ seoSitemaps: "SeoSitemapInfo",
1175
+ seoIndexationStatus: "JSON",
1176
+ seoIndexationReport: "JSON",
1177
+ seoConnectionStatus: "SeoConnectionStatus",
1178
+ seoListProperties: "GscProperty",
1179
+ seoAuditTasks: "SeoAuditTask",
1180
+ seoAuditTask: "SeoAuditTask"
1142
1181
  },
1143
1182
  Mutation: {
1144
1183
  register: "AuthPayload",
@@ -1266,7 +1305,17 @@ export const ReturnTypes = {
1266
1305
  refreshAccount: "ConnectedAccount",
1267
1306
  createTeamModelConnection: "TeamModelConnection",
1268
1307
  updateTeamModelConnection: "TeamModelConnection",
1269
- deleteTeamModelConnection: "Boolean"
1308
+ deleteTeamModelConnection: "Boolean",
1309
+ seoSubmitSitemap: "Boolean",
1310
+ seoRequestIndexing: "JSON",
1311
+ seoRequestIndexingBatch: "JSON",
1312
+ seoDisconnectGsc: "Boolean",
1313
+ seoStartAudit: "SeoAuditTask",
1314
+ seoStartAuditProcessing: "SeoAuditTask",
1315
+ seoRetryAudit: "SeoAuditTask",
1316
+ seoCompleteAudit: "SeoAuditTask",
1317
+ seoFailAudit: "SeoAuditTask",
1318
+ seoRecordAudit: "SeoAuditTask"
1270
1319
  },
1271
1320
  Subscription: {
1272
1321
  usageUpdated: "UsageUpdate",
@@ -1542,6 +1591,17 @@ export const ReturnTypes = {
1542
1591
  completedAt: "DateTime",
1543
1592
  expiresAt: "DateTime"
1544
1593
  },
1594
+ CreditGrant: {
1595
+ id: "ID",
1596
+ teamId: "ID",
1597
+ source: "String",
1598
+ amount: "Float",
1599
+ balanceAfter: "Float",
1600
+ planId: "String",
1601
+ actorUserId: "String",
1602
+ note: "String",
1603
+ createdAt: "DateTime"
1604
+ },
1545
1605
  AdminDashboardStats: {
1546
1606
  totalTeams: "Int",
1547
1607
  totalUsers: "Int",
@@ -1654,6 +1714,63 @@ export const ReturnTypes = {
1654
1714
  tagName: "String",
1655
1715
  assets: "ReleaseAsset"
1656
1716
  },
1717
+ SeoSearchAnalyticsRow: {
1718
+ keys: "String",
1719
+ clicks: "Int",
1720
+ impressions: "Int",
1721
+ ctr: "Float",
1722
+ position: "Float"
1723
+ },
1724
+ SeoSearchAnalytics: {
1725
+ rows: "SeoSearchAnalyticsRow",
1726
+ totalClicks: "Int",
1727
+ totalImpressions: "Int",
1728
+ averageCtr: "Float",
1729
+ averagePosition: "Float"
1730
+ },
1731
+ SeoUrlInspection: {
1732
+ inspectionUrl: "String",
1733
+ indexStatusResult: "String",
1734
+ coverageState: "String",
1735
+ robotsTxtState: "String",
1736
+ sitemap: "String",
1737
+ lastCrawlTime: "DateTime",
1738
+ googleCanonical: "String",
1739
+ userCanonical: "String",
1740
+ verdict: "String"
1741
+ },
1742
+ SeoSitemapInfo: {
1743
+ path: "String",
1744
+ lastSubmitted: "DateTime",
1745
+ lastDownloaded: "DateTime",
1746
+ status: "String",
1747
+ errors: "String",
1748
+ warnings: "String",
1749
+ indexed: "String",
1750
+ submitted: "String"
1751
+ },
1752
+ SeoConnectionStatus: {
1753
+ connected: "Boolean",
1754
+ accountEmail: "String",
1755
+ propertyUrl: "String",
1756
+ createdAt: "DateTime"
1757
+ },
1758
+ GscProperty: {
1759
+ siteUrl: "String",
1760
+ permissionLevel: "String"
1761
+ },
1762
+ SeoAuditTask: {
1763
+ id: "ID",
1764
+ url: "String",
1765
+ status: "String",
1766
+ score: "Int",
1767
+ summary: "String",
1768
+ result: "JSON",
1769
+ report: "String",
1770
+ error: "String",
1771
+ createdAt: "DateTime",
1772
+ completedAt: "DateTime"
1773
+ },
1657
1774
  ID: `scalar.ID`
1658
1775
  };
1659
1776
  export const Ops = {