@jingyi0605/codingns4dsh 0.2.1-rc.4 → 0.2.1-rc.6

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 (239) hide show
  1. package/README.en.md +4 -4
  2. package/README.md +5 -5
  3. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.d.ts +1 -1
  4. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js +1 -1
  5. package/data/build/dist/client/bundle.js +1808 -221
  6. package/data/build/dist/client/bundle.js.map +1 -1
  7. package/data/build/dist/client/cli-session-config-cache.d.ts.map +1 -1
  8. package/data/build/dist/client/cli-session-config-cache.js +9 -3
  9. package/data/build/dist/client/cli-session-config-cache.js.map +1 -1
  10. package/data/build/dist/client/cli-slots.js +2 -2
  11. package/data/build/dist/client/cli-slots.js.map +1 -1
  12. package/data/build/dist/client/client.delegate-command.js +3 -2
  13. package/data/build/dist/client/client.delegate-command.js.map +1 -1
  14. package/data/build/dist/client/client.magpie-model-tag.js +24 -8
  15. package/data/build/dist/client/client.magpie-model-tag.js.map +1 -1
  16. package/data/build/dist/client/client.native-workspace-store.js +32 -15
  17. package/data/build/dist/client/client.native-workspace-store.js.map +1 -1
  18. package/data/build/dist/client/client.session-translation.js +25 -0
  19. package/data/build/dist/client/client.session-translation.js.map +1 -1
  20. package/data/build/dist/client/client.transport.js +266 -50
  21. package/data/build/dist/client/client.transport.js.map +1 -1
  22. package/data/build/dist/client/delegate-command.js +2 -1
  23. package/data/build/dist/client/delegate-command.js.map +1 -1
  24. package/data/build/dist/client/desktop-assistant.js +264 -48
  25. package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
  26. package/data/build/dist/client/features/cli-adapters.js +13 -1
  27. package/data/build/dist/client/features/cli-adapters.js.map +1 -1
  28. package/data/build/dist/client/features/index.d.ts.map +1 -1
  29. package/data/build/dist/client/features/index.js +2 -0
  30. package/data/build/dist/client/features/index.js.map +1 -1
  31. package/data/build/dist/client/features/magpie-management-page.d.ts.map +1 -1
  32. package/data/build/dist/client/features/magpie-management-page.js +80 -31
  33. package/data/build/dist/client/features/magpie-management-page.js.map +1 -1
  34. package/data/build/dist/client/features/magpie-management.d.ts.map +1 -1
  35. package/data/build/dist/client/features/magpie-management.js +3 -2
  36. package/data/build/dist/client/features/magpie-management.js.map +1 -1
  37. package/data/build/dist/client/features/plugin-update.d.ts +3 -0
  38. package/data/build/dist/client/features/plugin-update.d.ts.map +1 -0
  39. package/data/build/dist/client/features/plugin-update.js +8 -0
  40. package/data/build/dist/client/features/plugin-update.js.map +1 -0
  41. package/data/build/dist/client/features/types.d.ts +3 -0
  42. package/data/build/dist/client/features/types.d.ts.map +1 -1
  43. package/data/build/dist/client/locale.d.ts.map +1 -1
  44. package/data/build/dist/client/locale.js +7 -0
  45. package/data/build/dist/client/locale.js.map +1 -1
  46. package/data/build/dist/client/locales/magpie.d.ts.map +1 -1
  47. package/data/build/dist/client/locales/magpie.js +60 -2
  48. package/data/build/dist/client/locales/magpie.js.map +1 -1
  49. package/data/build/dist/client/locales/panels.d.ts.map +1 -1
  50. package/data/build/dist/client/locales/panels.js +18 -0
  51. package/data/build/dist/client/locales/panels.js.map +1 -1
  52. package/data/build/dist/client/locales/pluginUpdate.d.ts +3 -0
  53. package/data/build/dist/client/locales/pluginUpdate.d.ts.map +1 -0
  54. package/data/build/dist/client/locales/pluginUpdate.js +131 -0
  55. package/data/build/dist/client/locales/pluginUpdate.js.map +1 -0
  56. package/data/build/dist/client/locales/usage.d.ts.map +1 -1
  57. package/data/build/dist/client/locales/usage.js +2 -0
  58. package/data/build/dist/client/locales/usage.js.map +1 -1
  59. package/data/build/dist/client/magpie-context-meter.d.ts +18 -0
  60. package/data/build/dist/client/magpie-context-meter.d.ts.map +1 -0
  61. package/data/build/dist/client/magpie-context-meter.js +274 -0
  62. package/data/build/dist/client/magpie-context-meter.js.map +1 -0
  63. package/data/build/dist/client/magpie-context-store.d.ts +32 -0
  64. package/data/build/dist/client/magpie-context-store.d.ts.map +1 -0
  65. package/data/build/dist/client/magpie-context-store.js +165 -0
  66. package/data/build/dist/client/magpie-context-store.js.map +1 -0
  67. package/data/build/dist/client/magpie-model-tag.d.ts +4 -2
  68. package/data/build/dist/client/magpie-model-tag.d.ts.map +1 -1
  69. package/data/build/dist/client/magpie-model-tag.js +25 -8
  70. package/data/build/dist/client/magpie-model-tag.js.map +1 -1
  71. package/data/build/dist/client/native-model-translation-menu.d.ts +1 -0
  72. package/data/build/dist/client/native-model-translation-menu.d.ts.map +1 -1
  73. package/data/build/dist/client/native-model-translation-menu.js +2 -2
  74. package/data/build/dist/client/native-model-translation-menu.js.map +1 -1
  75. package/data/build/dist/client/session-translation-chat.d.ts.map +1 -1
  76. package/data/build/dist/client/session-translation-chat.js +6 -2
  77. package/data/build/dist/client/session-translation-chat.js.map +1 -1
  78. package/data/build/dist/client/settings-promo-styles.d.ts +5 -0
  79. package/data/build/dist/client/settings-promo-styles.d.ts.map +1 -1
  80. package/data/build/dist/client/settings-promo-styles.js +15 -2
  81. package/data/build/dist/client/settings-promo-styles.js.map +1 -1
  82. package/data/build/dist/client/settings-promo.d.ts +4 -2
  83. package/data/build/dist/client/settings-promo.d.ts.map +1 -1
  84. package/data/build/dist/client/settings-promo.js +4 -4
  85. package/data/build/dist/client/settings-promo.js.map +1 -1
  86. package/data/build/dist/client/settings-section.d.ts +2 -3
  87. package/data/build/dist/client/settings-section.d.ts.map +1 -1
  88. package/data/build/dist/client/settings-section.js +12 -9
  89. package/data/build/dist/client/settings-section.js.map +1 -1
  90. package/data/build/dist/client/settings-update.d.ts +8 -0
  91. package/data/build/dist/client/settings-update.d.ts.map +1 -0
  92. package/data/build/dist/client/settings-update.js +57 -0
  93. package/data/build/dist/client/settings-update.js.map +1 -0
  94. package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
  95. package/data/build/dist/client/subscription-slot.js +47 -21
  96. package/data/build/dist/client/subscription-slot.js.map +1 -1
  97. package/data/build/dist/client/update-panel-styles.d.ts +29 -0
  98. package/data/build/dist/client/update-panel-styles.d.ts.map +1 -0
  99. package/data/build/dist/client/update-panel-styles.js +69 -0
  100. package/data/build/dist/client/update-panel-styles.js.map +1 -0
  101. package/data/build/dist/client/update-panel.d.ts +7 -0
  102. package/data/build/dist/client/update-panel.d.ts.map +1 -0
  103. package/data/build/dist/client/update-panel.js +52 -0
  104. package/data/build/dist/client/update-panel.js.map +1 -0
  105. package/data/build/dist/client/update-store.d.ts +43 -0
  106. package/data/build/dist/client/update-store.d.ts.map +1 -0
  107. package/data/build/dist/client/update-store.js +207 -0
  108. package/data/build/dist/client/update-store.js.map +1 -0
  109. package/data/build/dist/dsh-capabilities/client/plugin-reload-adapter.d.ts +4 -0
  110. package/data/build/dist/dsh-capabilities/client/plugin-reload-adapter.d.ts.map +1 -0
  111. package/data/build/dist/dsh-capabilities/client/plugin-reload-adapter.js +6 -0
  112. package/data/build/dist/dsh-capabilities/client/plugin-reload-adapter.js.map +1 -0
  113. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts +15 -1
  114. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts.map +1 -1
  115. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js +53 -21
  116. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js.map +1 -1
  117. package/data/build/dist/dsh-capabilities/host/plugin-update-adapter.d.ts +22 -0
  118. package/data/build/dist/dsh-capabilities/host/plugin-update-adapter.d.ts.map +1 -0
  119. package/data/build/dist/dsh-capabilities/host/plugin-update-adapter.js +71 -0
  120. package/data/build/dist/dsh-capabilities/host/plugin-update-adapter.js.map +1 -0
  121. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.d.ts +4 -0
  122. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.d.ts.map +1 -1
  123. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.js +16 -1
  124. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.js.map +1 -1
  125. package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
  126. package/data/build/dist/dsh-capabilities/matrix.js +16 -12
  127. package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
  128. package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -1
  129. package/data/build/dist/dsh-capabilities/routes.js +19 -9
  130. package/data/build/dist/dsh-capabilities/routes.js.map +1 -1
  131. package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
  132. package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -1
  133. package/data/build/dist/dsh-capabilities/types.js.map +1 -1
  134. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
  135. package/data/build/dist/host/cli-adapters/dsh-message-projector.js +5 -2
  136. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
  137. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  138. package/data/build/dist/host/cli-adapters/feature.js +181 -29
  139. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  140. package/data/build/dist/host/cli-adapters/magpie-context.d.ts +9 -0
  141. package/data/build/dist/host/cli-adapters/magpie-context.d.ts.map +1 -0
  142. package/data/build/dist/host/cli-adapters/magpie-context.js +128 -0
  143. package/data/build/dist/host/cli-adapters/magpie-context.js.map +1 -0
  144. package/data/build/dist/host/cli-adapters/magpie-update.d.ts.map +1 -1
  145. package/data/build/dist/host/cli-adapters/magpie-update.js +14 -4
  146. package/data/build/dist/host/cli-adapters/magpie-update.js.map +1 -1
  147. package/data/build/dist/host/cli-adapters/magpie-usage.d.ts +12 -2
  148. package/data/build/dist/host/cli-adapters/magpie-usage.d.ts.map +1 -1
  149. package/data/build/dist/host/cli-adapters/magpie-usage.js +120 -51
  150. package/data/build/dist/host/cli-adapters/magpie-usage.js.map +1 -1
  151. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  152. package/data/build/dist/host/cli-adapters/registry.js +6 -5
  153. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  154. package/data/build/dist/host/dsh-runtime-version.d.ts.map +1 -1
  155. package/data/build/dist/host/dsh-runtime-version.js +4 -1
  156. package/data/build/dist/host/dsh-runtime-version.js.map +1 -1
  157. package/data/build/dist/host/features/index.d.ts.map +1 -1
  158. package/data/build/dist/host/features/index.js +2 -0
  159. package/data/build/dist/host/features/index.js.map +1 -1
  160. package/data/build/dist/host/features/plugin-update.d.ts +6 -0
  161. package/data/build/dist/host/features/plugin-update.d.ts.map +1 -0
  162. package/data/build/dist/host/features/plugin-update.js +45 -0
  163. package/data/build/dist/host/features/plugin-update.js.map +1 -0
  164. package/data/build/dist/host/index.d.ts.map +1 -1
  165. package/data/build/dist/host/index.js +31 -1
  166. package/data/build/dist/host/index.js.map +1 -1
  167. package/data/build/dist/host/native-session-bridge.d.ts +8 -0
  168. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
  169. package/data/build/dist/host/native-session-bridge.js +43 -0
  170. package/data/build/dist/host/native-session-bridge.js.map +1 -1
  171. package/data/build/dist/host/rpc.d.ts +4 -1
  172. package/data/build/dist/host/rpc.d.ts.map +1 -1
  173. package/data/build/dist/host/rpc.js +33 -7
  174. package/data/build/dist/host/rpc.js.map +1 -1
  175. package/data/build/dist/host/session-handle-eviction.d.ts +29 -0
  176. package/data/build/dist/host/session-handle-eviction.d.ts.map +1 -0
  177. package/data/build/dist/host/session-handle-eviction.js +413 -0
  178. package/data/build/dist/host/session-handle-eviction.js.map +1 -0
  179. package/data/build/dist/host/settings.d.ts.map +1 -1
  180. package/data/build/dist/host/settings.js +12 -1
  181. package/data/build/dist/host/settings.js.map +1 -1
  182. package/data/build/dist/host/update/application-result.d.ts +3 -0
  183. package/data/build/dist/host/update/application-result.d.ts.map +1 -0
  184. package/data/build/dist/host/update/application-result.js +13 -0
  185. package/data/build/dist/host/update/application-result.js.map +1 -0
  186. package/data/build/dist/host/update/http.d.ts +7 -0
  187. package/data/build/dist/host/update/http.d.ts.map +1 -0
  188. package/data/build/dist/host/update/http.js +55 -0
  189. package/data/build/dist/host/update/http.js.map +1 -0
  190. package/data/build/dist/host/update/metadata.d.ts +14 -0
  191. package/data/build/dist/host/update/metadata.d.ts.map +1 -0
  192. package/data/build/dist/host/update/metadata.js +75 -0
  193. package/data/build/dist/host/update/metadata.js.map +1 -0
  194. package/data/build/dist/host/update/release-notes.d.ts +6 -0
  195. package/data/build/dist/host/update/release-notes.d.ts.map +1 -0
  196. package/data/build/dist/host/update/release-notes.js +52 -0
  197. package/data/build/dist/host/update/release-notes.js.map +1 -0
  198. package/data/build/dist/host/update/service.d.ts +25 -0
  199. package/data/build/dist/host/update/service.d.ts.map +1 -0
  200. package/data/build/dist/host/update/service.js +209 -0
  201. package/data/build/dist/host/update/service.js.map +1 -0
  202. package/data/build/dist/shared/contracts/cli-adapter.d.ts +2 -0
  203. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  204. package/data/build/dist/shared/contracts/config.d.ts +17 -0
  205. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  206. package/data/build/dist/shared/contracts/config.js +8 -0
  207. package/data/build/dist/shared/contracts/config.js.map +1 -1
  208. package/data/build/dist/shared/contracts/errors.d.ts +2 -2
  209. package/data/build/dist/shared/contracts/errors.d.ts.map +1 -1
  210. package/data/build/dist/shared/contracts/errors.js +1 -1
  211. package/data/build/dist/shared/contracts/errors.js.map +1 -1
  212. package/data/build/dist/shared/contracts/magpie-management.d.ts +40 -0
  213. package/data/build/dist/shared/contracts/magpie-management.d.ts.map +1 -1
  214. package/data/build/dist/shared/contracts/plugin-update.d.ts +93 -0
  215. package/data/build/dist/shared/contracts/plugin-update.d.ts.map +1 -0
  216. package/data/build/dist/shared/contracts/plugin-update.js +128 -0
  217. package/data/build/dist/shared/contracts/plugin-update.js.map +1 -0
  218. package/data/build/dist/shared/contracts/session-translation.d.ts +4 -0
  219. package/data/build/dist/shared/contracts/session-translation.d.ts.map +1 -1
  220. package/data/build/dist/shared/contracts/session-translation.js +21 -0
  221. package/data/build/dist/shared/contracts/session-translation.js.map +1 -1
  222. package/data/build/dist/shared/contracts/subscription.d.ts +3 -0
  223. package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
  224. package/data/build/dist/shared/contracts/subscription.js.map +1 -1
  225. package/data/build/dist/shared/contracts/version.d.ts +7 -7
  226. package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
  227. package/data/build/dist/shared/contracts/version.js +11 -17
  228. package/data/build/dist/shared/contracts/version.js.map +1 -1
  229. package/data/build/dist/shared/index.d.ts +1 -1
  230. package/data/build/dist/shared/index.d.ts.map +1 -1
  231. package/data/build/dist/shared/index.js +1 -1
  232. package/data/build/dist/shared/index.js.map +1 -1
  233. package/package.json +4 -3
  234. package/profile/README.md +6 -6
  235. package/profile/package.json +3 -3
  236. package/profile/scripts/check-dsh-install.mjs +14 -1
  237. package/profile/version.json +2 -2
  238. package/scripts/check-dsh-install.mjs +14 -1
  239. package/version.json +2 -2
@@ -0,0 +1,128 @@
1
+ const PART_KINDS = ['system', 'tools', 'memory', 'files', 'results', 'chat'];
2
+ const MAX_PARTS = 6;
3
+ const MAX_ITEMS = 24;
4
+ const MAX_POINTS = 160;
5
+ const MAX_TEXT = 240;
6
+ const MAX_IDENTITY = 512;
7
+ /** Reduce Magpie's internal context response to the metadata needed by the UI. */
8
+ export function parseMagpieContextResponse(value, options) {
9
+ const root = asRecord(value);
10
+ const sessions = root?.sessions;
11
+ if (!Array.isArray(sessions) || sessions.length > 80)
12
+ return null;
13
+ const agents = new Set(options.agents.map(cleanIdentity).filter((item) => item !== null));
14
+ const sessionIds = new Set(options.sessionIds.map(cleanIdentity).filter((item) => item !== null));
15
+ if (agents.size === 0 || sessionIds.size === 0)
16
+ return null;
17
+ const selected = sessions
18
+ .map(asRecord)
19
+ .filter((record) => record !== null)
20
+ .filter((record) => agents.has(cleanIdentity(record.agent) ?? '') && sessionIds.has(cleanIdentity(record.key) ?? ''))
21
+ .sort((left, right) => safeInt(right.latestId) - safeInt(left.latestId))[0];
22
+ if (selected === undefined)
23
+ return null;
24
+ const latest = asRecord(selected.latest);
25
+ const usedTokens = safeInt(latest?.tokens);
26
+ if (latest === null || usedTokens <= 0)
27
+ return null;
28
+ const parts = parseParts(latest.parts);
29
+ if (parts.length === 0)
30
+ return null;
31
+ const points = parsePoints(selected.points);
32
+ const contextWindow = positiveInt(latest.window) ?? positiveInt(selected.window);
33
+ if (contextWindow === null)
34
+ return null;
35
+ const countedTokens = points.reduce((sum, point) => sum + point.tokens, 0);
36
+ const cacheTokens = points.reduce((sum, point) => sum + point.cacheTokens, 0);
37
+ const cacheRate = countedTokens > 0 ? Math.min(1, cacheTokens / countedTokens) : 0;
38
+ const agent = cleanIdentity(selected.agent);
39
+ const key = cleanIdentity(selected.key);
40
+ const model = cleanText(selected.model);
41
+ if (agent === null || key === null || model === null)
42
+ return null;
43
+ return {
44
+ agent,
45
+ key,
46
+ title: cleanText(selected.title),
47
+ model,
48
+ requests: safeInt(selected.requests),
49
+ turns: safeInt(latest.turns),
50
+ usedTokens,
51
+ contextWindow,
52
+ cacheTokens,
53
+ cacheRate,
54
+ compacts: safeInt(selected.compacts),
55
+ latestId: positiveInt(selected.latestId),
56
+ parts,
57
+ points,
58
+ };
59
+ }
60
+ function parseParts(value) {
61
+ if (!Array.isArray(value) || value.length > MAX_PARTS)
62
+ return [];
63
+ return value.flatMap((item) => {
64
+ const record = asRecord(item);
65
+ const kind = readPartKind(record?.kind);
66
+ if (record === null || kind === null)
67
+ return [];
68
+ return [{ kind, tokens: safeInt(record.tokens), items: parseItems(record.items) }];
69
+ });
70
+ }
71
+ function parseItems(value) {
72
+ if (!Array.isArray(value) || value.length > MAX_ITEMS)
73
+ return [];
74
+ return value.flatMap((item) => {
75
+ const record = asRecord(item);
76
+ const name = cleanText(record?.name);
77
+ if (record === null || name === null)
78
+ return [];
79
+ const tag = cleanText(record.tag);
80
+ const count = positiveInt(record.n);
81
+ return [{ name, ...(tag === null ? {} : { tag }), ...(count === null ? {} : { count }), tokens: safeInt(record.tokens) }];
82
+ });
83
+ }
84
+ function parsePoints(value) {
85
+ if (!Array.isArray(value) || value.length > MAX_POINTS)
86
+ return [];
87
+ return value.flatMap((item) => {
88
+ const record = asRecord(item);
89
+ const id = positiveInt(record?.id);
90
+ if (record === null || id === null)
91
+ return [];
92
+ return [{
93
+ id,
94
+ time: cleanTime(record.time),
95
+ tokens: safeInt(record.tokens),
96
+ window: positiveInt(record.window),
97
+ cacheTokens: safeInt(record.cache),
98
+ }];
99
+ });
100
+ }
101
+ function readPartKind(value) {
102
+ const kind = cleanText(value);
103
+ return kind !== null && PART_KINDS.includes(kind) ? kind : null;
104
+ }
105
+ function asRecord(value) {
106
+ return typeof value === 'object' && value !== null && !Array.isArray(value) ? value : null;
107
+ }
108
+ function cleanIdentity(value) {
109
+ const text = cleanText(value);
110
+ return text !== null && text.length <= MAX_IDENTITY ? text : null;
111
+ }
112
+ function cleanText(value) {
113
+ if (typeof value !== 'string')
114
+ return null;
115
+ const text = value.trim().replace(/[\u0000-\u001f\u007f]/gu, '').slice(0, MAX_TEXT);
116
+ return text === '' ? null : text;
117
+ }
118
+ function cleanTime(value) {
119
+ const text = cleanText(value);
120
+ return text === null || Number.isNaN(Date.parse(text)) ? null : text;
121
+ }
122
+ function positiveInt(value) {
123
+ return typeof value === 'number' && Number.isSafeInteger(value) && value > 0 ? value : null;
124
+ }
125
+ function safeInt(value) {
126
+ return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0 ? value : 0;
127
+ }
128
+ //# sourceMappingURL=magpie-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"magpie-context.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/magpie-context.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,GAAqC,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;AAC9G,MAAM,SAAS,GAAG,CAAC,CAAA;AACnB,MAAM,SAAS,GAAG,EAAE,CAAA;AACpB,MAAM,UAAU,GAAG,GAAG,CAAA;AACtB,MAAM,QAAQ,GAAG,GAAG,CAAA;AACpB,MAAM,YAAY,GAAG,GAAG,CAAA;AAOxB,kFAAkF;AAClF,MAAM,UAAU,0BAA0B,CAAC,KAAc,EAAE,OAAqB;IAC9E,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5B,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,CAAA;IAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAA;IACjE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAA;IACzG,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAA;IACjH,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3D,MAAM,QAAQ,GAAG,QAAQ;SACtB,GAAG,CAAC,QAAQ,CAAC;SACb,MAAM,CAAC,CAAC,MAAM,EAAqC,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC;SACtE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;SACpH,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7E,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAEvC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,IAAI,MAAM,KAAK,IAAI,IAAI,UAAU,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IACnD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACnC,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAChF,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACvC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;IAC7E,MAAM,SAAS,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAClF,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACjE,OAAO;QACL,KAAK;QACL,GAAG;QACH,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChC,KAAK;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAC5B,UAAU;QACV,aAAa;QACb,WAAW;QACX,SAAS;QACT,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,KAAK;QACL,MAAM;KACP,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS;QAAE,OAAO,EAAE,CAAA;IAChE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAuB,EAAE;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACvC,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,EAAE,CAAA;QAC/C,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACpF,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS;QAAE,OAAO,EAAE,CAAA;IAChE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAuB,EAAE;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACpC,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,EAAE,CAAA;QAC/C,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACnC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC3H,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,UAAU;QAAE,OAAO,EAAE,CAAA;IACjE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAwB,EAAE;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC7B,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAClC,IAAI,MAAM,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,EAAE,CAAA;QAC7C,OAAO,CAAC;gBACN,EAAE;gBACF,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC9B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;aACnC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAC7B,OAAO,IAAI,KAAK,IAAI,IAAK,UAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAA6B,CAAC,CAAC,CAAC,IAAI,CAAA;AACjH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,IAAI,CAAA;AACvH,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAC7B,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;AACnE,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IACnF,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;AAClC,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAC7B,OAAO,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;AACtE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AAC7F,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"magpie-update.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/magpie-update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EAGjB,kBAAkB,EACnB,MAAM,6CAA6C,CAAA;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,iBAAiB,CAAA;AAEhF,eAAO,MAAM,6BAA6B,EAAG,UAAmB,CAAA;AAUhE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC,CAAA;IACnH,oFAAoF;IACpF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC9B,QAAQ,CAAC,IAAI,EAAE,oCAAoC,GAAG,gCAAgC,GAAG,8CAA8C;gBAA9H,IAAI,EAAE,oCAAoC,GAAG,gCAAgC,GAAG,8CAA8C,EAAE,OAAO,EAAE,MAAM;CAIrK;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,cAAc,CAA6B;gBAEvC,OAAO,GAAE,0BAA+B;IAS9C,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAM7D,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMjE,iFAAiF;IAC3E,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAcvE;;;;;OAKG;IACG,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAiB5F;;;OAGG;IACH,qBAAqB,IAAI,IAAI;IAQ7B,oBAAoB,IAAI,IAAI;IAM5B,OAAO,IAAI,IAAI;YAID,mBAAmB;IASjC,OAAO,CAAC,eAAe;YAUT,WAAW;YAKX,sBAAsB;YAQtB,eAAe;CAQ9B;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAqB1E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAmBxE"}
1
+ {"version":3,"file":"magpie-update.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/magpie-update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EAGjB,kBAAkB,EACnB,MAAM,6CAA6C,CAAA;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,iBAAiB,CAAA;AAEhF,eAAO,MAAM,6BAA6B,EAAG,UAAmB,CAAA;AAUhE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC,CAAA;IACnH,oFAAoF;IACpF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC9B,QAAQ,CAAC,IAAI,EAAE,oCAAoC,GAAG,gCAAgC,GAAG,8CAA8C;gBAA9H,IAAI,EAAE,oCAAoC,GAAG,gCAAgC,GAAG,8CAA8C,EAAE,OAAO,EAAE,MAAM;CAIrK;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,cAAc,CAA6B;gBAEvC,OAAO,GAAE,0BAA+B;IAS9C,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAM7D,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMjE,iFAAiF;IAC3E,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAcvE;;;;;OAKG;IACG,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAkB5F;;;OAGG;IACH,qBAAqB,IAAI,IAAI;IAQ7B,oBAAoB,IAAI,IAAI;IAM5B,OAAO,IAAI,IAAI;YAID,mBAAmB;IASjC,OAAO,CAAC,eAAe;YAUT,WAAW;YAKX,sBAAsB;YAQtB,eAAe;CAQ9B;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAqB1E;AAWD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAmBxE"}
@@ -83,10 +83,10 @@ export class MagpieUpdateService {
83
83
  method: 'POST',
84
84
  body: { view: 'codingns-magpie-management', when: 'now' },
85
85
  });
86
- const restartExpected = before.state === 'ready' || response === null;
87
- if (response === null)
88
- return { requested: true, restartExpected, status: null };
89
- const status = parseMagpieUpdateStatus(response);
86
+ // A successful install may return an acknowledgement before Magpie hands the Web
87
+ // process over to the new binary. Only status reads/checks require a full status shape.
88
+ const status = response === null ? null : parseInstallResponse(response);
89
+ const restartExpected = before.state === 'ready' || status === null;
90
90
  return { requested: true, restartExpected, status };
91
91
  }
92
92
  /**
@@ -175,6 +175,16 @@ export function parseMagpieUpdateStatus(value) {
175
175
  gaveUp: optionalBoolean(record.gaveUp, 'gaveUp'),
176
176
  };
177
177
  }
178
+ function parseInstallResponse(value) {
179
+ try {
180
+ return parseMagpieUpdateStatus(value);
181
+ }
182
+ catch (error) {
183
+ if (error instanceof MagpieUpdateError && error.code === 'CODINGNS_MAGPIE_UPDATE_INVALID')
184
+ return null;
185
+ throw error;
186
+ }
187
+ }
178
188
  export function parseMagpieUpdateNotes(value) {
179
189
  const record = asRecord(value);
180
190
  if (record === null || !Array.isArray(record.releases) || record.releases.length > MAX_RELEASES) {
@@ -1 +1 @@
1
- {"version":3,"file":"magpie-update.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/magpie-update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"magpie-update.js","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/magpie-update.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { CodingNsCliAdapterId, CodingNsCliModelCatalog, CodingNsCliServiceTier, CodingNsCliSessionConfig } from '../../shared/contracts/cli-adapter.js';
2
2
  import type { MagpieQuota, MagpieUsageSnapshot } from '../../shared/contracts/subscription.js';
3
- import type { MagpieDashboardPeriod, MagpieDashboardStreamChunk, MagpieDashboardStreamPart, MagpieDashboardQuota, MagpieQuotaHistory, MagpieUsageDashboard, MagpieUsageGroup, MagpieUsageMetrics, MagpieUsageRequestPage, MagpieUsageSeriesPoint, MagpieUsageSession } from '../../shared/contracts/magpie-management.js';
3
+ import type { MagpieDashboardPeriod, MagpieDashboardStreamChunk, MagpieDashboardStreamPart, MagpieDashboardQuota, MagpieContextSession, MagpieQuotaHistory, MagpieUsageDashboard, MagpieUsageGroup, MagpieUsageMetrics, MagpieUsageRequestPage, MagpieUsageSeriesPoint, MagpieUsageSession } from '../../shared/contracts/magpie-management.js';
4
4
  import type { MagpieWebService } from './magpie-web.js';
5
5
  /** A safe, non-sensitive title associated with a DSH session identity. */
6
6
  export interface MagpieSessionNameBinding {
@@ -61,6 +61,11 @@ export interface MagpieUsageRequestOptions {
61
61
  readonly sessionIds?: readonly string[];
62
62
  readonly sessionAgent?: string;
63
63
  }
64
+ export interface MagpieContextRequestOptions {
65
+ readonly agents: readonly string[];
66
+ readonly sessionIds: readonly string[];
67
+ readonly days?: number;
68
+ }
64
69
  /** Reads usage from the authenticated local Magpie Web API and exact-matches session identity. */
65
70
  export declare class MagpieUsageService {
66
71
  private readonly readModels;
@@ -84,7 +89,9 @@ export declare class MagpieUsageService {
84
89
  private readonly quotaLogoCache;
85
90
  private providerCatalog;
86
91
  constructor(options?: MagpieUsageServiceOptions);
87
- read(session: Pick<CodingNsCliSessionConfig, 'adapterId' | 'modelId' | 'providerSessionId'>, signal?: AbortSignal, includeRoute?: boolean, dshSessionId?: string): Promise<MagpieUsageSnapshot | null>;
92
+ read(session: Pick<CodingNsCliSessionConfig, 'adapterId' | 'modelId' | 'providerSessionId'>, signal?: AbortSignal, includeRoute?: boolean, dshSessionId?: string, options?: {
93
+ readonly allowPendingSession?: boolean;
94
+ }): Promise<MagpieUsageSnapshot | null>;
88
95
  /**
89
96
  * Mark Magpie models and enrich their public metadata. The marker is
90
97
  * transient catalog data used by model-list UIs, not session provenance.
@@ -92,6 +99,8 @@ export declare class MagpieUsageService {
92
99
  enrichModelCatalog(adapterId: CodingNsCliAdapterId, catalog: CodingNsCliModelCatalog | Promise<CodingNsCliModelCatalog>, signal?: AbortSignal): Promise<CodingNsCliModelCatalog>;
93
100
  /** Return an exact, CLI-confirmed Magpie model record for trusted Host use. */
94
101
  readModelMetadata(adapterId: CodingNsCliAdapterId, modelId: string, signal?: AbortSignal): Promise<MagpieModelMetadata | null>;
102
+ /** Read one exact, sanitized context session from Magpie's internal Web API. */
103
+ readContext(options: MagpieContextRequestOptions, signal?: AbortSignal): Promise<MagpieContextSession | null>;
95
104
  /** Read bounded, graph-ready usage and quota data through authenticated Magpie Web. */
96
105
  readDashboard(period: MagpieDashboardPeriod, signal?: AbortSignal): Promise<MagpieUsageDashboard>;
97
106
  /** Stream cumulative dashboard snapshots as each independent Web API part is ready. */
@@ -101,6 +110,7 @@ export declare class MagpieUsageService {
101
110
  private timedDashboardRead;
102
111
  /** Read one bounded Web API ledger page and exact-match session identities on Host. */
103
112
  readRequestPage(options: MagpieUsageRequestOptions, signal?: AbortSignal): Promise<MagpieUsageRequestPage | null>;
113
+ private readRequestAggregate;
104
114
  private readFromWeb;
105
115
  private attachQuotaLogos;
106
116
  private readMagpieLogoDataUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"magpie-usage.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/magpie-usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"magpie-usage.d.ts","sourceRoot":"","sources":["../../../../../src/host/cli-adapters/magpie-usage.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { spawnSync } from 'node:child_process';
2
2
  import { commandEnvironment, resolveCommandPath, runAsyncCommand, WINDOWS, withCommandSignal } from './process-utils.js';
3
3
  import { parseMagpieWebProviders } from './magpie-management.js';
4
+ import { parseMagpieContextResponse } from './magpie-context.js';
4
5
  const MAGPIE_CATALOG_TTL_MS = 60_000;
5
6
  const MAGPIE_MODEL_METADATA_TTL_MS = 60_000;
6
7
  const MAGPIE_FAILURE_CACHE_TTL_MS = 5_000;
@@ -81,7 +82,7 @@ export class MagpieUsageService {
81
82
  this.webApi = options.webApi;
82
83
  this.onDashboardTiming = options.onDashboardTiming;
83
84
  }
84
- async read(session, signal, includeRoute = false, dshSessionId) {
85
+ async read(session, signal, includeRoute = false, dshSessionId, options = {}) {
85
86
  signal?.throwIfAborted();
86
87
  const agent = magpieAgentForAdapter(session.adapterId);
87
88
  const requestedModelId = cleanText(session.modelId);
@@ -89,24 +90,25 @@ export class MagpieUsageService {
89
90
  return null;
90
91
  const providerSessionId = cleanText(session.providerSessionId);
91
92
  const nativeSessionId = cleanText(dshSessionId);
92
- // Native DSH requests use the DSH session ID as their Magpie session
93
- // identity. Other drivers must never treat that fallback as a provider ID.
94
- const sessionId = providerSessionId !== null && providerSessionId !== nativeSessionId
93
+ // Native DSH requests are tagged with the DSH session ID. Keep the older
94
+ // provider-session fallback for callers that do not have the native ID yet,
95
+ // and for Magpie ledgers written before native_session tagging was added.
96
+ const sessionId = agent === 'dsh'
97
+ ? nativeSessionId ?? providerSessionId
98
+ : providerSessionId !== null && providerSessionId !== nativeSessionId ? providerSessionId : null;
99
+ // Current Codex and Command Code gateway requests carry the Host's native
100
+ // session tag. Codex may use it only after the caller confirms Magpie.
101
+ const nativeTagged = agent === 'dsh' || agent === 'commandcode'
102
+ || agent === 'codex' && options.allowPendingSession === true;
103
+ const magpieSessionId = nativeTagged ? nativeSessionId ?? sessionId : sessionId;
104
+ // Older gateways can still index the same session by its provider ID.
105
+ const fallbackSessionId = nativeTagged
106
+ && nativeSessionId !== null && providerSessionId !== null && nativeSessionId !== providerSessionId
95
107
  ? providerSessionId
96
- : agent === 'dsh' ? nativeSessionId : null;
97
- // Command Code's ACP child tags loopback Magpie requests with the DSH
98
- // session ID injected by the Host, so the ledger key differs from the ACP
99
- // session ID shown in the panel. Older Hosts without that ID keep the
100
- // provider ID so the panel still reports the same "no usage" state.
101
- const magpieSessionId = agent === 'commandcode' ? nativeSessionId ?? sessionId : sessionId;
102
- // During a rolling update the ACP child may still tag requests with its ACP
103
- // session ID; fall back to it when the DSH-ID ledger row is absent.
104
- const fallbackSessionId = agent === 'commandcode' && nativeSessionId !== null && sessionId !== null && nativeSessionId !== sessionId
105
- ? sessionId
106
108
  : null;
107
- if (magpieSessionId === null)
109
+ if (magpieSessionId === null && !options.allowPendingSession)
108
110
  return null;
109
- return this.readFromWeb(agent, requestedModelId, sessionId, magpieSessionId, fallbackSessionId, signal, includeRoute);
111
+ return this.readFromWeb(agent, requestedModelId, sessionId, magpieSessionId, fallbackSessionId, signal, includeRoute, options.allowPendingSession === true);
110
112
  }
111
113
  /**
112
114
  * Mark Magpie models and enrich their public metadata. The marker is
@@ -133,9 +135,12 @@ export class MagpieUsageService {
133
135
  if (id === null)
134
136
  return model;
135
137
  const record = metadata?.get(id);
136
- const enriched = record === undefined
138
+ const metadataModel = record === undefined
137
139
  ? model.source === 'magpie' ? model : { ...model, source: 'magpie' }
138
140
  : mergeMagpieModelMetadata(model, record);
141
+ const providerId = providerFromModel(id);
142
+ const enriched = providerId === null || metadataModel.magpieProviderId === providerId
143
+ ? metadataModel : { ...metadataModel, magpieProviderId: providerId };
139
144
  if (enriched === model)
140
145
  return model;
141
146
  groupChanged = true;
@@ -152,11 +157,13 @@ export class MagpieUsageService {
152
157
  .filter((id) => !existingModelIds.has(id))
153
158
  .map((id) => {
154
159
  const record = metadata?.get(id);
160
+ const providerId = providerFromModel(id);
155
161
  const model = {
156
162
  id,
157
163
  name: record?.name ?? agentCatalog.displayNames.get(id) ?? id,
158
164
  efforts: record?.efforts ?? [],
159
165
  source: 'magpie',
166
+ ...(providerId === null ? {} : { magpieProviderId: providerId }),
160
167
  };
161
168
  return record === undefined ? model : mergeMagpieModelMetadata(model, record);
162
169
  });
@@ -192,6 +199,15 @@ export class MagpieUsageService {
192
199
  const metadata = await this.loadModelMetadata(catalog, signal);
193
200
  return metadata?.get(id) ?? null;
194
201
  }
202
+ /** Read one exact, sanitized context session from Magpie's internal Web API. */
203
+ async readContext(options, signal) {
204
+ signal?.throwIfAborted();
205
+ const days = options.days === undefined ? 7 : Math.max(1, Math.min(30, Math.trunc(options.days)));
206
+ const response = await this.readWebJson(`/api/context?days=${days}`, signal);
207
+ if (!response.ok)
208
+ return null;
209
+ return parseMagpieContextResponse(response.value, options);
210
+ }
195
211
  /** Read bounded, graph-ready usage and quota data through authenticated Magpie Web. */
196
212
  async readDashboard(period, signal) {
197
213
  signal?.throwIfAborted();
@@ -326,6 +342,9 @@ export class MagpieUsageService {
326
342
  : [...new Set([sessionId, ...sessionIds.filter((value) => value !== null)])];
327
343
  if (requestedSessionIds.length > MAX_MAGPIE_SESSION_IDENTITIES)
328
344
  return null;
345
+ // Usage summaries are returned separately from the request ledger. This keeps
346
+ // the cards complete without preloading rows that belong to later pages.
347
+ const aggregatePromise = this.readRequestAggregate(options.period, sessionAgent, requestedSessionIds, signal);
329
348
  const readCandidatePage = async (offset, limit, querySessionId) => {
330
349
  const query = new URLSearchParams({ period: magpieWebPeriod(options.period), limit: String(limit), offset: String(offset) });
331
350
  if (querySessionId !== null)
@@ -355,6 +374,7 @@ export class MagpieUsageService {
355
374
  hasMore: page.total === null ? page.rows.length >= options.limit : options.offset + page.rows.length < page.total,
356
375
  sessionId,
357
376
  sessionAgent,
377
+ aggregate: await aggregatePromise,
358
378
  items: items.slice(0, options.limit),
359
379
  };
360
380
  }
@@ -422,29 +442,63 @@ export class MagpieUsageService {
422
442
  hasMore: !fullyScanned || matching.length > requestedEnd,
423
443
  sessionId,
424
444
  sessionAgent,
445
+ aggregate: await aggregatePromise,
425
446
  items: matching.slice(options.offset, requestedEnd),
426
447
  };
427
448
  }
428
- async readFromWeb(agent, modelId, sessionId, magpieSessionId, fallbackSessionId, signal, includeRoute) {
449
+ async readRequestAggregate(period, sessionAgent, sessionIds, signal) {
450
+ const response = await this.readWebJson(`/api/usage?period=${magpieWebPeriod(period)}`, signal);
451
+ if (!response.ok)
452
+ return null;
453
+ const root = usageRecord(response.value);
454
+ if (root === null)
455
+ return null;
456
+ if (sessionIds.length === 0)
457
+ return readMagpieUsageMetrics(root);
458
+ const sessions = root.sessions;
459
+ if (!Array.isArray(sessions) || sessionAgent === null)
460
+ return null;
461
+ const acceptedAgents = MAGPIE_USAGE_AGENT_ALIASES[sessionAgent] ?? [sessionAgent];
462
+ const acceptedIds = new Set(sessionIds);
463
+ let aggregate = null;
464
+ for (const item of sessions) {
465
+ const record = asRecord(item);
466
+ if (record === null || !acceptedIds.has(usageSessionId(record) ?? '')
467
+ || !acceptedAgents.includes(cleanText(record.agent) ?? ''))
468
+ continue;
469
+ aggregate = aggregate === null
470
+ ? readMagpieUsageMetrics(record)
471
+ : sumMagpieUsageMetrics(aggregate, readMagpieUsageMetrics(record));
472
+ }
473
+ return aggregate;
474
+ }
475
+ async readFromWeb(agent, modelId, sessionId, magpieSessionId, fallbackSessionId, signal, includeRoute, allowPendingSession) {
429
476
  const capturedAt = new Date(this.now()).toISOString();
430
- const [usageResult, quotaResult] = await Promise.all([
477
+ const [usageResult, sessionResult, quotaResult] = await Promise.all([
431
478
  this.readWebJson('/api/usage?period=today', signal),
479
+ this.readWebJson('/api/usage?period=all', signal),
432
480
  this.readWebJson('/api/usage/quotas', signal),
433
481
  ]);
434
482
  const aggregate = usageResult.ok ? readTotals(usageResult.value) : null;
435
- const primarySession = usageResult.ok && magpieSessionId !== null
436
- ? readSession(usageResult.value, agent, magpieSessionId)
483
+ const primarySession = sessionResult.ok && magpieSessionId !== null
484
+ ? readSession(sessionResult.value, agent, magpieSessionId)
437
485
  : null;
438
- const fallbackSession = primarySession === null && usageResult.ok && fallbackSessionId !== null
439
- ? readSession(usageResult.value, agent, fallbackSessionId)
486
+ const fallbackSession = primarySession === null && sessionResult.ok && fallbackSessionId !== null
487
+ ? readSession(sessionResult.value, agent, fallbackSessionId)
440
488
  : null;
441
- const sessionUsage = primarySession ?? fallbackSession;
442
- const resolvedSessionId = primarySession !== null ? magpieSessionId : fallbackSession !== null ? fallbackSessionId : magpieSessionId;
443
- if (sessionUsage === null)
489
+ // Magpie's all-time summary can omit a session already present today.
490
+ // Preserve that exact daily match with its scope, rather than hiding it.
491
+ const todaySession = primarySession === null && fallbackSession === null && allowPendingSession && usageResult.ok
492
+ ? (magpieSessionId === null ? null : readSession(usageResult.value, agent, magpieSessionId))
493
+ ?? (fallbackSessionId === null ? null : readSession(usageResult.value, agent, fallbackSessionId))
494
+ : null;
495
+ const sessionUsage = primarySession ?? fallbackSession ?? todaySession;
496
+ const resolvedSessionId = sessionUsage?.id ?? magpieSessionId;
497
+ if (sessionUsage === null && (!allowPendingSession || aggregate === null))
444
498
  return null;
445
- const canReadRoute = includeRoute && resolvedSessionId !== null && resolvedSessionId.length <= 128;
499
+ const canReadRoute = sessionUsage !== null && includeRoute && resolvedSessionId !== null && resolvedSessionId.length <= 128;
446
500
  const routeHistoryResult = canReadRoute
447
- ? await this.readWebJson(`/api/usage/requests?period=today&offset=0&limit=100&q=${encodeURIComponent(resolvedSessionId)}`, signal)
501
+ ? await this.readWebJson(`/api/usage/requests?period=all&offset=0&limit=100&q=${encodeURIComponent(resolvedSessionId)}`, signal)
448
502
  : { ok: false };
449
503
  const routeRows = routeHistoryResult.ok ? asRecord(routeHistoryResult.value)?.rows : null;
450
504
  const routeHistoryValid = Array.isArray(routeRows) && routeRows.length <= 500;
@@ -458,7 +512,7 @@ export class MagpieUsageService {
458
512
  const route = routeHistory[0]?.route ?? null;
459
513
  const routeStatus = route !== null
460
514
  ? 'available'
461
- : resolvedSessionId === null
515
+ : sessionUsage === null || resolvedSessionId === null
462
516
  ? 'session-unavailable'
463
517
  : !includeRoute
464
518
  ? 'not-requested'
@@ -470,7 +524,7 @@ export class MagpieUsageService {
470
524
  providerFromRoute(route),
471
525
  ...routeHistory.map((record) => record.provider),
472
526
  ].filter((provider) => provider !== null))];
473
- const upstreamProviders = routeProviders.length > 0
527
+ const upstreamProviders = sessionUsage === null ? [] : routeProviders.length > 0
474
528
  ? routeProviders
475
529
  : [providerFromModelId(modelId, agent)].filter((provider) => provider !== null);
476
530
  const upstreamProvider = upstreamProviders[0] ?? null;
@@ -489,9 +543,10 @@ export class MagpieUsageService {
489
543
  capturedAt,
490
544
  usageStatus: aggregate === null ? 'unavailable' : 'available',
491
545
  aggregate,
492
- sessionId,
546
+ sessionId: sessionId ?? (sessionUsage === null ? null : resolvedSessionId),
493
547
  ...(resolvedSessionId === null ? {} : { requestSessionId: resolvedSessionId }),
494
548
  session: sessionUsage,
549
+ ...(todaySession === null ? {} : { sessionPeriod: 'today' }),
495
550
  routeStatus,
496
551
  route,
497
552
  upstreamProvider,
@@ -1052,30 +1107,35 @@ export function attachMagpieSessionNames(dashboard, bindings) {
1052
1107
  function mergeMagpieUsageSessions(current, row, owner) {
1053
1108
  return {
1054
1109
  ...current,
1110
+ ...sumMagpieUsageMetrics(current, row),
1055
1111
  id: owner?.dshSessionId ?? current.id,
1056
1112
  agent: owner?.agent ?? current.agent,
1057
- calls: sumMagpieUsageMetric(current.calls, row.calls),
1058
- errors: sumMagpieUsageMetric(current.errors, row.errors),
1059
- retried: sumMagpieUsageMetric(current.retried, row.retried),
1060
- inputTokens: sumMagpieUsageMetric(current.inputTokens, row.inputTokens),
1061
- outputTokens: sumMagpieUsageMetric(current.outputTokens, row.outputTokens),
1062
- cacheReadTokens: sumMagpieUsageMetric(current.cacheReadTokens, row.cacheReadTokens),
1063
- cacheWriteTokens: sumMagpieUsageMetric(current.cacheWriteTokens, row.cacheWriteTokens),
1064
- reasoningTokens: sumMagpieUsageMetric(current.reasoningTokens, row.reasoningTokens),
1065
- cost: sumMagpieUsageMetric(current.cost, row.cost),
1066
- unpriced: sumMagpieUsageMetric(current.unpriced, row.unpriced),
1067
- credits: sumMagpieUsageMetric(current.credits, row.credits),
1068
- credited: sumMagpieUsageMetric(current.credited, row.credited),
1069
- timed: sumMagpieUsageMetric(current.timed, row.timed),
1070
- ttftMs: sumMagpieUsageMetric(current.ttftMs, row.ttftMs),
1071
- decodeMs: sumMagpieUsageMetric(current.decodeMs, row.decodeMs),
1072
- decodeTokens: sumMagpieUsageMetric(current.decodeTokens, row.decodeTokens),
1073
- decodeCount: sumMagpieUsageMetric(current.decodeCount, row.decodeCount),
1074
1113
  ...(current.dshSessionName === undefined && owner?.name !== null && owner?.name !== undefined
1075
1114
  ? { dshSessionName: owner.name }
1076
1115
  : {}),
1077
1116
  };
1078
1117
  }
1118
+ function sumMagpieUsageMetrics(left, right) {
1119
+ return {
1120
+ calls: sumMagpieUsageMetric(left.calls, right.calls),
1121
+ errors: sumMagpieUsageMetric(left.errors, right.errors),
1122
+ retried: sumMagpieUsageMetric(left.retried, right.retried),
1123
+ inputTokens: sumMagpieUsageMetric(left.inputTokens, right.inputTokens),
1124
+ outputTokens: sumMagpieUsageMetric(left.outputTokens, right.outputTokens),
1125
+ cacheReadTokens: sumMagpieUsageMetric(left.cacheReadTokens, right.cacheReadTokens),
1126
+ cacheWriteTokens: sumMagpieUsageMetric(left.cacheWriteTokens, right.cacheWriteTokens),
1127
+ reasoningTokens: sumMagpieUsageMetric(left.reasoningTokens, right.reasoningTokens),
1128
+ cost: sumMagpieUsageMetric(left.cost, right.cost),
1129
+ unpriced: sumMagpieUsageMetric(left.unpriced, right.unpriced),
1130
+ credits: sumMagpieUsageMetric(left.credits, right.credits),
1131
+ credited: sumMagpieUsageMetric(left.credited, right.credited),
1132
+ timed: sumMagpieUsageMetric(left.timed, right.timed),
1133
+ ttftMs: sumMagpieUsageMetric(left.ttftMs, right.ttftMs),
1134
+ decodeMs: sumMagpieUsageMetric(left.decodeMs, right.decodeMs),
1135
+ decodeTokens: sumMagpieUsageMetric(left.decodeTokens, right.decodeTokens),
1136
+ decodeCount: sumMagpieUsageMetric(left.decodeCount, right.decodeCount),
1137
+ };
1138
+ }
1079
1139
  function sumMagpieUsageMetric(left, right) {
1080
1140
  return left === null && right === null ? null : (left ?? 0) + (right ?? 0);
1081
1141
  }
@@ -1136,7 +1196,7 @@ async function readBoundedJson(response) {
1136
1196
  }
1137
1197
  }
1138
1198
  function readTotals(value) {
1139
- const record = asRecord(value);
1199
+ const record = usageRecord(value);
1140
1200
  if (record === null)
1141
1201
  return null;
1142
1202
  const calls = safeCount(record.calls);
@@ -1151,20 +1211,29 @@ function readTotals(value) {
1151
1211
  return { calls, errors, inputTokens, outputTokens, cacheReadTokens, cacheWriteTokens, costUsd };
1152
1212
  }
1153
1213
  function readSession(value, agent, sessionId) {
1154
- const sessions = asRecord(value)?.sessions;
1214
+ const sessions = usageRecord(value)?.sessions;
1155
1215
  if (!Array.isArray(sessions))
1156
1216
  return null;
1157
1217
  const usageAgents = MAGPIE_USAGE_AGENT_ALIASES[agent] ?? [agent];
1158
1218
  const row = sessions.find((item) => {
1159
1219
  const record = asRecord(item);
1160
1220
  const usageAgent = cleanText(record?.agent);
1161
- return cleanText(record?.id) === sessionId && usageAgent !== null && usageAgents.includes(usageAgent);
1221
+ return usageSessionId(record) === sessionId && usageAgent !== null && usageAgents.includes(usageAgent);
1162
1222
  });
1163
1223
  const record = asRecord(row);
1164
1224
  const totals = readTotals(record);
1165
1225
  const usageAgent = cleanText(record?.agent);
1166
1226
  return record !== null && usageAgent !== null && totals !== null ? { id: sessionId, agent: usageAgent, ...totals } : null;
1167
1227
  }
1228
+ /** Magpie 0.1.14xx can wrap usage payloads in `data`; older versions do not. */
1229
+ function usageRecord(value) {
1230
+ const record = asRecord(value);
1231
+ const data = asRecord(record?.data);
1232
+ return data ?? record;
1233
+ }
1234
+ function usageSessionId(record) {
1235
+ return cleanText(record?.id) ?? cleanText(record?.session) ?? cleanText(record?.native_session);
1236
+ }
1168
1237
  /** Read the durable request ledger when Magpie's short in-memory trace has expired. */
1169
1238
  function readSessionRouteHistory(value, agent, sessionId, providerRecords = []) {
1170
1239
  const rows = asRecord(value)?.rows;