@serviceme/devtools-shared 0.4.13 → 2.0.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/dist/index.mjs CHANGED
@@ -496,6 +496,53 @@ var PRIMARY_METADATA = {
496
496
  maxInputTokens: 1e6,
497
497
  maxOutputTokens: 128e3
498
498
  },
499
+ // GLM-5.3-Flash (2026-08-26) — GLM-5 系列首个原生多模态模型,
500
+ // 320B 总参 / 18B 激活,稀疏+线性注意力混合架构,1M 上下文。
501
+ // 视觉能力原生融入 Coding 循环(自动观察 UI 渲染/交互反馈并迭代)。
502
+ // 比 GLM-5.3 attention 计算量与 KV 缓存分别降低 3.01× / 4.44×。
503
+ // Source:
504
+ // https://docs.bigmodel.cn/cn/guide/start/model-overview
505
+ // https://z.ai/blog/glm-5.3-flash
506
+ // https://bigmodel.cn/pricing (screenshot 2026-08-26 — 截图列
507
+ // 出了限时免费期内的价格,带「5 折限时 2 周」角标,正常定价未
508
+ // 公开列在定价页)。
509
+ // 截图定价(screenshot 2026-08-26,原价):
510
+ // 上下文: 1M
511
+ // 输入: ¥0.4 / M tokens(原文"0.4 元",灰显 0.8 元)
512
+ // 输出: ¥1.4 / M tokens(原文"1.4 元",灰显 2.8 元)
513
+ // 缓存存储: 限时免费(写时按"百万 tokens/小时",我们的
514
+ // `ModelPricing` schema 没有缓存存储字段,忽略)
515
+ // 缓存命中: ¥0.115 / M tokens(原文"0.115 元",灰显 0.23 元)
516
+ // 灰显数字是 5 折限时的折后价,不是新价。优惠结束后回到 0.4/1.4/0.115。
517
+ // USD 按项目的 CNY/7 镜像取两位小数,与 glm-5.2 / glm-5.3 风格保持一致。
518
+ "glm-5.3-flash": {
519
+ detail: "GLM-5.3 Flash \u2014 320B/18B \u6FC0\u6D3B,\u7A00\u758F+\u7EBF\u6027\u6CE8\u610F\u529B\u6DF7\u5408\u67B6\u6784,\u539F\u751F\u591A\u6A21\u6001\u89C6\u89C9 Coding,1M \u4E0A\u4E0B\u6587",
520
+ // 原生多模态:支持图片 / 视频 / 文件 / 文本(imageInput=true)。
521
+ imageInput: true,
522
+ toolCalling: true,
523
+ // 思考模式:`thinking.type` 仅支持 `enabled`(不支持关闭),
524
+ // 控制深度靠 `reasoning_effort`(low/high/max)。与 glm-5.3
525
+ // 共用同一 schema。
526
+ thinkingSchema: "reasoningEffort",
527
+ supportsReasoningEffort: true,
528
+ // CNY 直接取截图数字(¥0.4 / ¥1.4 / ¥0.115);USD = CNY/7
529
+ // 镜像取两位小数:
530
+ // 0.4 / 7 = 0.0571... → 0.057
531
+ // 1.4 / 7 = 0.2
532
+ // 0.115 / 7 = 0.01643... → 0.0164
533
+ // 这与 glm-5.2 (¥8/¥28/¥2 → $1.12/$3.92/$0.28) 的
534
+ // 四舍五入风格保持一致;glm-5.3 用的 USD 国际独立价
535
+ // ($1.4/$4.4/$0.26) 不适用于本条目 — 截图明确是 CNY
536
+ // 国内口径。
537
+ pricingUSD: { input: 0.057, output: 0.2, cacheRead: 0.0164 },
538
+ pricingCNY: { input: 0.4, output: 1.4, cacheRead: 0.115 },
539
+ priceCategory: "low",
540
+ maxInputTokens: 1e6,
541
+ // 官方未单独发布 5.3-Flash 的 max output。按 GLM-5.3 系列
542
+ // 共识取 128K(与 glm-5.2 / glm-5.3 同),保守留 buffer
543
+ // 给输入。
544
+ maxOutputTokens: 128e3
545
+ },
499
546
  // GLM-5.1-HighSpeed (2026-05) — production-grade high-throughput
500
547
  // variant of GLM-5.1. Same 200K context + 128K output, but optimised
501
548
  // via Zhipu's TileRT inference engine for 400 TPS output (~2× the
@@ -1234,16 +1281,8 @@ var BUILTIN_PROVIDER_PRESETS = {
1234
1281
  // (otherwise the user's added model never shows up in the
1235
1282
  // Copilot Chat picker).
1236
1283
  models: [
1237
- buildPresetModel(
1238
- "MiniMax-M3",
1239
- "MiniMax-M3",
1240
- "https://api.minimaxi.com/anthropic"
1241
- ),
1242
- buildPresetModel(
1243
- "MiniMax-M2.7",
1244
- "MiniMax-M2.7",
1245
- "https://api.minimaxi.com/anthropic"
1246
- ),
1284
+ buildPresetModel("MiniMax-M3", "MiniMax-M3", "https://api.minimaxi.com/anthropic"),
1285
+ buildPresetModel("MiniMax-M2.7", "MiniMax-M2.7", "https://api.minimaxi.com/anthropic"),
1247
1286
  buildPresetModel(
1248
1287
  "MiniMax-M2.7-highspeed",
1249
1288
  "MiniMax-M2.7-highspeed",
@@ -1253,11 +1292,7 @@ var BUILTIN_PROVIDER_PRESETS = {
1253
1292
  // predecessor of M2.7. Still in the catalog and often
1254
1293
  // available on MiniMax's promotional $0.30/$1.20 rate, so
1255
1294
  // keep it as a preset for users on the M2.5 plan tier.
1256
- buildPresetModel(
1257
- "MiniMax-M2.5",
1258
- "MiniMax-M2.5",
1259
- "https://api.minimaxi.com/anthropic"
1260
- )
1295
+ buildPresetModel("MiniMax-M2.5", "MiniMax-M2.5", "https://api.minimaxi.com/anthropic")
1261
1296
  ]
1262
1297
  },
1263
1298
  deepseek: {
@@ -1279,16 +1314,8 @@ var BUILTIN_PROVIDER_PRESETS = {
1279
1314
  // the recommended default — users still on V3 can override
1280
1315
  // these defaults in the ProvidersTab form.
1281
1316
  models: [
1282
- buildPresetModel(
1283
- "deepseek-v4-flash",
1284
- "DeepSeek V4 Flash",
1285
- "https://api.deepseek.com/v1"
1286
- ),
1287
- buildPresetModel(
1288
- "deepseek-v4-pro",
1289
- "DeepSeek V4 Pro",
1290
- "https://api.deepseek.com/v1"
1291
- )
1317
+ buildPresetModel("deepseek-v4-flash", "DeepSeek V4 Flash", "https://api.deepseek.com/v1"),
1318
+ buildPresetModel("deepseek-v4-pro", "DeepSeek V4 Pro", "https://api.deepseek.com/v1")
1292
1319
  ]
1293
1320
  },
1294
1321
  agnes: {
@@ -1302,26 +1329,14 @@ var BUILTIN_PROVIDER_PRESETS = {
1302
1329
  // benchmark-listed alpha — followed by the flash tier
1303
1330
  // newest-first.
1304
1331
  models: [
1305
- buildPresetModel(
1306
- "agnes-2.5-pro",
1307
- "Agnes 2.5 Pro",
1308
- "https://apihub.agnes-ai.com/v1"
1309
- ),
1332
+ buildPresetModel("agnes-2.5-pro", "Agnes 2.5 Pro", "https://apihub.agnes-ai.com/v1"),
1310
1333
  buildPresetModel(
1311
1334
  "agnes-2.5-pro-alpha",
1312
1335
  "Agnes 2.5 Pro Alpha",
1313
1336
  "https://apihub.agnes-ai.com/v1"
1314
1337
  ),
1315
- buildPresetModel(
1316
- "agnes-2.5-flash",
1317
- "Agnes 2.5 Flash",
1318
- "https://apihub.agnes-ai.com/v1"
1319
- ),
1320
- buildPresetModel(
1321
- "agnes-2.0-flash",
1322
- "Agnes 2.0 Flash",
1323
- "https://apihub.agnes-ai.com/v1"
1324
- )
1338
+ buildPresetModel("agnes-2.5-flash", "Agnes 2.5 Flash", "https://apihub.agnes-ai.com/v1"),
1339
+ buildPresetModel("agnes-2.0-flash", "Agnes 2.0 Flash", "https://apihub.agnes-ai.com/v1")
1325
1340
  ]
1326
1341
  },
1327
1342
  kimi: {
@@ -1329,11 +1344,7 @@ var BUILTIN_PROVIDER_PRESETS = {
1329
1344
  baseUrl: "https://api.moonshot.cn/v1",
1330
1345
  models: [
1331
1346
  buildPresetModel("kimi-k3", "Kimi K3", "https://api.moonshot.cn/v1"),
1332
- buildPresetModel(
1333
- "kimi-k2.7-code",
1334
- "Kimi K2.7 Code",
1335
- "https://api.moonshot.cn/v1"
1336
- ),
1347
+ buildPresetModel("kimi-k2.7-code", "Kimi K2.7 Code", "https://api.moonshot.cn/v1"),
1337
1348
  buildPresetModel(
1338
1349
  "kimi-k2.7-code-highspeed",
1339
1350
  "Kimi K2.7 Code HighSpeed",
@@ -1411,67 +1422,28 @@ var BUILTIN_PROVIDER_PRESETS = {
1411
1422
  // `MODEL_METADATA` entries are kept so the id is still
1412
1423
  // resolvable for the curated detail / pricing columns.
1413
1424
  models: [
1414
- buildPresetModel(
1415
- "glm-5.3",
1416
- "GLM-5.3",
1417
- "https://open.bigmodel.cn/api/paas/v4"
1418
- ),
1419
- buildPresetModel(
1420
- "glm-5.2",
1421
- "GLM-5.2",
1422
- "https://open.bigmodel.cn/api/paas/v4"
1423
- ),
1424
- buildPresetModel(
1425
- "glm-5.1",
1426
- "GLM-5.1",
1427
- "https://open.bigmodel.cn/api/paas/v4"
1428
- ),
1429
- buildPresetModel(
1430
- "glm-5",
1431
- "GLM-5",
1432
- "https://open.bigmodel.cn/api/paas/v4"
1433
- ),
1434
- buildPresetModel(
1435
- "glm-5-turbo",
1436
- "GLM-5 Turbo",
1437
- "https://open.bigmodel.cn/api/paas/v4"
1438
- ),
1439
- buildPresetModel(
1440
- "glm-4.7",
1441
- "GLM-4.7",
1442
- "https://open.bigmodel.cn/api/paas/v4"
1443
- ),
1444
- buildPresetModel(
1445
- "glm-4.6",
1446
- "GLM-4.6",
1447
- "https://open.bigmodel.cn/api/paas/v4"
1448
- ),
1449
- buildPresetModel(
1450
- "glm-4.5-air",
1451
- "GLM-4.5 Air",
1452
- "https://open.bigmodel.cn/api/paas/v4"
1453
- ),
1454
- buildPresetModel(
1455
- "glm-4.5",
1456
- "GLM-4.5",
1457
- "https://open.bigmodel.cn/api/paas/v4"
1458
- )
1425
+ buildPresetModel("glm-5.3", "GLM-5.3", "https://open.bigmodel.cn/api/paas/v4"),
1426
+ // GLM-5.3-Flash (2026-08-26) — GLM-5 系列首个原生多模态
1427
+ // 模型,性价比高(¥0.4/¥1.4 per 1M tokens),接入 GLM Coding Plan
1428
+ // 后额度较 GLM-5.3 翻 3 倍。放在 5.3 后面,符合
1429
+ // 旗舰/快速版成对的展示惯例。
1430
+ buildPresetModel("glm-5.3-flash", "GLM-5.3 Flash", "https://open.bigmodel.cn/api/paas/v4"),
1431
+ buildPresetModel("glm-5.2", "GLM-5.2", "https://open.bigmodel.cn/api/paas/v4"),
1432
+ buildPresetModel("glm-5.1", "GLM-5.1", "https://open.bigmodel.cn/api/paas/v4"),
1433
+ buildPresetModel("glm-5", "GLM-5", "https://open.bigmodel.cn/api/paas/v4"),
1434
+ buildPresetModel("glm-5-turbo", "GLM-5 Turbo", "https://open.bigmodel.cn/api/paas/v4"),
1435
+ buildPresetModel("glm-4.7", "GLM-4.7", "https://open.bigmodel.cn/api/paas/v4"),
1436
+ buildPresetModel("glm-4.6", "GLM-4.6", "https://open.bigmodel.cn/api/paas/v4"),
1437
+ buildPresetModel("glm-4.5-air", "GLM-4.5 Air", "https://open.bigmodel.cn/api/paas/v4"),
1438
+ buildPresetModel("glm-4.5", "GLM-4.5", "https://open.bigmodel.cn/api/paas/v4")
1459
1439
  ]
1460
1440
  },
1461
1441
  stepfun: {
1462
1442
  displayName: "StepFun",
1463
1443
  baseUrl: "https://api.stepfun.com/v1",
1464
1444
  models: [
1465
- buildPresetModel(
1466
- "step-3.7-flash",
1467
- "Step 3.7 Flash",
1468
- "https://api.stepfun.com/v1"
1469
- ),
1470
- buildPresetModel(
1471
- "step-3.5-flash",
1472
- "Step 3.5 Flash",
1473
- "https://api.stepfun.com/v1"
1474
- ),
1445
+ buildPresetModel("step-3.7-flash", "Step 3.7 Flash", "https://api.stepfun.com/v1"),
1446
+ buildPresetModel("step-3.5-flash", "Step 3.5 Flash", "https://api.stepfun.com/v1"),
1475
1447
  buildPresetModel(
1476
1448
  "step-1o-turbo-vision",
1477
1449
  "Step 1o Turbo Vision",
@@ -1524,11 +1496,7 @@ var BUILTIN_PROVIDER_PRESETS = {
1524
1496
  displayName: "OpenRouter",
1525
1497
  baseUrl: "https://openrouter.ai/api/v1",
1526
1498
  models: [
1527
- buildPresetModel(
1528
- "openrouter/auto",
1529
- "OpenRouter Auto",
1530
- "https://openrouter.ai/api/v1"
1531
- )
1499
+ buildPresetModel("openrouter/auto", "OpenRouter Auto", "https://openrouter.ai/api/v1")
1532
1500
  ]
1533
1501
  },
1534
1502
  novita: {
@@ -1552,16 +1520,8 @@ var BUILTIN_PROVIDER_PRESETS = {
1552
1520
  "https://api.novita.ai/openai/v1"
1553
1521
  ),
1554
1522
  // GLM-5 系列 (2026-04/06)
1555
- buildPresetModel(
1556
- "zai/glm-5.2",
1557
- "GLM-5.2 (via Novita)",
1558
- "https://api.novita.ai/openai/v1"
1559
- ),
1560
- buildPresetModel(
1561
- "zai/glm-5.1",
1562
- "GLM-5.1 (via Novita)",
1563
- "https://api.novita.ai/openai/v1"
1564
- ),
1523
+ buildPresetModel("zai/glm-5.2", "GLM-5.2 (via Novita)", "https://api.novita.ai/openai/v1"),
1524
+ buildPresetModel("zai/glm-5.1", "GLM-5.1 (via Novita)", "https://api.novita.ai/openai/v1"),
1565
1525
  // Kimi K3 (2026-07-16 API, 2026-07-27 开源) — 1M context, 2.8T MoE
1566
1526
  buildPresetModel(
1567
1527
  "moonshotai/kimi-k3",
@@ -1634,11 +1594,7 @@ var BUILTIN_PROVIDER_PRESETS = {
1634
1594
  {
1635
1595
  // Live /v1/models: context_length 1048576,
1636
1596
  // max_output_length 131072, input_modalities ["text"] only.
1637
- ...buildPresetModel(
1638
- "glm-5.2",
1639
- "GLM-5.2 (via SenseNova)",
1640
- "https://token.sensenova.cn/v1"
1641
- ),
1597
+ ...buildPresetModel("glm-5.2", "GLM-5.2 (via SenseNova)", "https://token.sensenova.cn/v1"),
1642
1598
  maxInputTokens: 1048576,
1643
1599
  maxOutputTokens: 131072,
1644
1600
  capabilities: { supportsImageToText: false, supportsToolCalling: true }
@@ -1732,6 +1688,11 @@ var CERTIFICATE_BUNDLE_FORMATS = [
1732
1688
  }
1733
1689
  ];
1734
1690
 
1691
+ // src/copilot-customizations.ts
1692
+ function isWholePackageInstall(definition) {
1693
+ return definition.wholePackage === true || definition.artifacts?.some((artifact) => artifact.id.includes("::package:")) === true;
1694
+ }
1695
+
1735
1696
  // ../../node_modules/.pnpm/js-sha256@1.0.0/node_modules/js-sha256/src/node.mjs
1736
1697
  import { createHash, createHmac } from "crypto";
1737
1698
 
@@ -2194,6 +2155,9 @@ var WebviewMessageType = /* @__PURE__ */ ((WebviewMessageType2) => {
2194
2155
  WebviewMessageType2["ReorderExternalTools"] = "reorderExternalTools";
2195
2156
  WebviewMessageType2["UpdateNgrokStatus"] = "updateNgrokStatus";
2196
2157
  WebviewMessageType2["UpdateServerStatus"] = "updateServerStatus";
2158
+ WebviewMessageType2["UpdateOcxStatus"] = "updateOcxStatus";
2159
+ WebviewMessageType2["UpdateRtkStatus"] = "updateRtkStatus";
2160
+ WebviewMessageType2["UpdateCodegraphStatus"] = "updateCodegraphStatus";
2197
2161
  WebviewMessageType2["GetAuthState"] = "getAuthState";
2198
2162
  WebviewMessageType2["UpdateAuthState"] = "updateAuthState";
2199
2163
  WebviewMessageType2["Login"] = "login";
@@ -2255,6 +2219,7 @@ var WebviewMessageType = /* @__PURE__ */ ((WebviewMessageType2) => {
2255
2219
  WebviewMessageType2["InstallSkillRepoEntry"] = "installSkillRepoEntry";
2256
2220
  WebviewMessageType2["ConvertSkillRepoEntryToSymlink"] = "convertSkillRepoEntryToSymlink";
2257
2221
  WebviewMessageType2["UninstallSkillRepoEntry"] = "uninstallSkillRepoEntry";
2222
+ WebviewMessageType2["SetSkillRepoEntryEnabled"] = "setSkillRepoEntryEnabled";
2258
2223
  WebviewMessageType2["ListLinkedSkills"] = "listLinkedSkills";
2259
2224
  WebviewMessageType2["UpdateSkillRepoCatalog"] = "updateSkillRepoCatalog";
2260
2225
  WebviewMessageType2["UpdateSkillRepoInstall"] = "updateSkillRepoInstall";
@@ -2272,12 +2237,36 @@ var WebviewMessageType = /* @__PURE__ */ ((WebviewMessageType2) => {
2272
2237
  WebviewMessageType2["DisableRepository"] = "disableRepository";
2273
2238
  WebviewMessageType2["SyncRepository"] = "syncRepository";
2274
2239
  WebviewMessageType2["SyncAllRepositories"] = "syncAllRepositories";
2240
+ WebviewMessageType2["ResetParseCache"] = "resetParseCache";
2241
+ WebviewMessageType2["ListCopilotPlugins"] = "listCopilotPlugins";
2242
+ WebviewMessageType2["RegisterCopilotPlugin"] = "registerCopilotPlugin";
2243
+ WebviewMessageType2["UnregisterCopilotPlugin"] = "unregisterCopilotPlugin";
2244
+ WebviewMessageType2["SetCopilotPluginEnabled"] = "setCopilotPluginEnabled";
2245
+ WebviewMessageType2["GetCopilotContentStatus"] = "getCopilotContentStatus";
2246
+ WebviewMessageType2["RestoreCopilotContent"] = "restoreCopilotContent";
2247
+ WebviewMessageType2["ApproveCopilotContent"] = "approveCopilotContent";
2275
2248
  WebviewMessageType2["UpdateRepositoryList"] = "updateRepositoryList";
2276
2249
  WebviewMessageType2["UpdateRepositoryAdd"] = "updateRepositoryAdd";
2277
2250
  WebviewMessageType2["UpdateRepositoryUpdate"] = "updateRepositoryUpdate";
2278
2251
  WebviewMessageType2["UpdateRepositoryRemove"] = "updateRepositoryRemove";
2279
2252
  WebviewMessageType2["UpdateRepositoryToggle"] = "updateRepositoryToggle";
2280
2253
  WebviewMessageType2["UpdateRepositorySyncResult"] = "updateRepositorySyncResult";
2254
+ WebviewMessageType2["UpdateCopilotContentStatus"] = "updateCopilotContentStatus";
2255
+ WebviewMessageType2["GetCopilotCustomizations"] = "getCopilotCustomizations";
2256
+ WebviewMessageType2["SyncCopilotCustomizations"] = "syncCopilotCustomizations";
2257
+ WebviewMessageType2["UpdateCopilotCustomizations"] = "updateCopilotCustomizations";
2258
+ WebviewMessageType2["InstallCopilotPackage"] = "installCopilotPackage";
2259
+ WebviewMessageType2["MoveCopilotPackage"] = "moveCopilotPackage";
2260
+ WebviewMessageType2["UninstallCopilotPackage"] = "uninstallCopilotPackage";
2261
+ WebviewMessageType2["ListCopilotSources"] = "listCopilotSources";
2262
+ WebviewMessageType2["RemoveCopilotSource"] = "removeCopilotSource";
2263
+ WebviewMessageType2["PreviewCopilotUpdate"] = "previewCopilotUpdate";
2264
+ WebviewMessageType2["UpdateCopilotPackage"] = "updateCopilotPackage";
2265
+ WebviewMessageType2["PreviewCopilotLegacy"] = "previewCopilotLegacy";
2266
+ WebviewMessageType2["MigrateCopilotLegacy"] = "migrateCopilotLegacy";
2267
+ WebviewMessageType2["UpdateCopilotSources"] = "updateCopilotSources";
2268
+ WebviewMessageType2["UpdateCopilotUpdatePreview"] = "updateCopilotUpdatePreview";
2269
+ WebviewMessageType2["UpdateCopilotLegacyPreview"] = "updateCopilotLegacyPreview";
2281
2270
  WebviewMessageType2["GetUtilityModels"] = "getUtilityModels";
2282
2271
  WebviewMessageType2["UtilityModelsResponse"] = "utilityModelsResponse";
2283
2272
  WebviewMessageType2["UpdateUtilityModels"] = "updateUtilityModels";
@@ -2367,6 +2356,7 @@ export {
2367
2356
  isGitHubLocalEmail,
2368
2357
  isProviderCacheControlAware,
2369
2358
  isValidCanonicalSlug,
2359
+ isWholePackageInstall,
2370
2360
  listPresetModelGroups,
2371
2361
  lookupModelMetadata,
2372
2362
  normalizeCanonicalSlug,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serviceme/devtools-shared",
3
- "version": "0.4.13",
3
+ "version": "2.0.0",
4
4
  "description": "Shared webview↔extension message contracts and cross-package data models used by SERVICEME.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "repository": {