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

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 (189) hide show
  1. package/README.en.md +3 -3
  2. package/README.md +3 -3
  3. package/data/build/dist/client/bundle.js +1672 -178
  4. package/data/build/dist/client/bundle.js.map +1 -1
  5. package/data/build/dist/client/cli-session-config-cache.d.ts.map +1 -1
  6. package/data/build/dist/client/cli-session-config-cache.js +9 -3
  7. package/data/build/dist/client/cli-session-config-cache.js.map +1 -1
  8. package/data/build/dist/client/client.native-workspace-store.js +7 -1
  9. package/data/build/dist/client/client.native-workspace-store.js.map +1 -1
  10. package/data/build/dist/client/client.transport.js +244 -50
  11. package/data/build/dist/client/client.transport.js.map +1 -1
  12. package/data/build/dist/client/desktop-assistant.js +242 -48
  13. package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
  14. package/data/build/dist/client/features/cli-adapters.js +13 -1
  15. package/data/build/dist/client/features/cli-adapters.js.map +1 -1
  16. package/data/build/dist/client/features/index.d.ts.map +1 -1
  17. package/data/build/dist/client/features/index.js +2 -0
  18. package/data/build/dist/client/features/index.js.map +1 -1
  19. package/data/build/dist/client/features/magpie-management-page.d.ts.map +1 -1
  20. package/data/build/dist/client/features/magpie-management-page.js +80 -31
  21. package/data/build/dist/client/features/magpie-management-page.js.map +1 -1
  22. package/data/build/dist/client/features/magpie-management.d.ts.map +1 -1
  23. package/data/build/dist/client/features/magpie-management.js +3 -2
  24. package/data/build/dist/client/features/magpie-management.js.map +1 -1
  25. package/data/build/dist/client/features/plugin-update.d.ts +3 -0
  26. package/data/build/dist/client/features/plugin-update.d.ts.map +1 -0
  27. package/data/build/dist/client/features/plugin-update.js +8 -0
  28. package/data/build/dist/client/features/plugin-update.js.map +1 -0
  29. package/data/build/dist/client/features/types.d.ts +3 -0
  30. package/data/build/dist/client/features/types.d.ts.map +1 -1
  31. package/data/build/dist/client/locale.d.ts.map +1 -1
  32. package/data/build/dist/client/locale.js +3 -0
  33. package/data/build/dist/client/locale.js.map +1 -1
  34. package/data/build/dist/client/locales/magpie.d.ts.map +1 -1
  35. package/data/build/dist/client/locales/magpie.js +60 -2
  36. package/data/build/dist/client/locales/magpie.js.map +1 -1
  37. package/data/build/dist/client/locales/pluginUpdate.d.ts +3 -0
  38. package/data/build/dist/client/locales/pluginUpdate.d.ts.map +1 -0
  39. package/data/build/dist/client/locales/pluginUpdate.js +131 -0
  40. package/data/build/dist/client/locales/pluginUpdate.js.map +1 -0
  41. package/data/build/dist/client/locales/usage.d.ts.map +1 -1
  42. package/data/build/dist/client/locales/usage.js +2 -0
  43. package/data/build/dist/client/locales/usage.js.map +1 -1
  44. package/data/build/dist/client/magpie-context-meter.d.ts +18 -0
  45. package/data/build/dist/client/magpie-context-meter.d.ts.map +1 -0
  46. package/data/build/dist/client/magpie-context-meter.js +274 -0
  47. package/data/build/dist/client/magpie-context-meter.js.map +1 -0
  48. package/data/build/dist/client/magpie-context-store.d.ts +32 -0
  49. package/data/build/dist/client/magpie-context-store.d.ts.map +1 -0
  50. package/data/build/dist/client/magpie-context-store.js +165 -0
  51. package/data/build/dist/client/magpie-context-store.js.map +1 -0
  52. package/data/build/dist/client/settings-promo-styles.d.ts +5 -0
  53. package/data/build/dist/client/settings-promo-styles.d.ts.map +1 -1
  54. package/data/build/dist/client/settings-promo-styles.js +15 -2
  55. package/data/build/dist/client/settings-promo-styles.js.map +1 -1
  56. package/data/build/dist/client/settings-promo.d.ts +4 -2
  57. package/data/build/dist/client/settings-promo.d.ts.map +1 -1
  58. package/data/build/dist/client/settings-promo.js +4 -4
  59. package/data/build/dist/client/settings-promo.js.map +1 -1
  60. package/data/build/dist/client/settings-section.d.ts +2 -3
  61. package/data/build/dist/client/settings-section.d.ts.map +1 -1
  62. package/data/build/dist/client/settings-section.js +7 -7
  63. package/data/build/dist/client/settings-section.js.map +1 -1
  64. package/data/build/dist/client/settings-update.d.ts +8 -0
  65. package/data/build/dist/client/settings-update.d.ts.map +1 -0
  66. package/data/build/dist/client/settings-update.js +57 -0
  67. package/data/build/dist/client/settings-update.js.map +1 -0
  68. package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
  69. package/data/build/dist/client/subscription-slot.js +47 -21
  70. package/data/build/dist/client/subscription-slot.js.map +1 -1
  71. package/data/build/dist/client/update-panel-styles.d.ts +29 -0
  72. package/data/build/dist/client/update-panel-styles.d.ts.map +1 -0
  73. package/data/build/dist/client/update-panel-styles.js +69 -0
  74. package/data/build/dist/client/update-panel-styles.js.map +1 -0
  75. package/data/build/dist/client/update-panel.d.ts +7 -0
  76. package/data/build/dist/client/update-panel.d.ts.map +1 -0
  77. package/data/build/dist/client/update-panel.js +52 -0
  78. package/data/build/dist/client/update-panel.js.map +1 -0
  79. package/data/build/dist/client/update-store.d.ts +43 -0
  80. package/data/build/dist/client/update-store.d.ts.map +1 -0
  81. package/data/build/dist/client/update-store.js +207 -0
  82. package/data/build/dist/client/update-store.js.map +1 -0
  83. package/data/build/dist/dsh-capabilities/client/plugin-reload-adapter.d.ts +4 -0
  84. package/data/build/dist/dsh-capabilities/client/plugin-reload-adapter.d.ts.map +1 -0
  85. package/data/build/dist/dsh-capabilities/client/plugin-reload-adapter.js +6 -0
  86. package/data/build/dist/dsh-capabilities/client/plugin-reload-adapter.js.map +1 -0
  87. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts +15 -1
  88. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.d.ts.map +1 -1
  89. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js +53 -21
  90. package/data/build/dist/dsh-capabilities/client/session-performance-adapter.js.map +1 -1
  91. package/data/build/dist/dsh-capabilities/host/plugin-update-adapter.d.ts +22 -0
  92. package/data/build/dist/dsh-capabilities/host/plugin-update-adapter.d.ts.map +1 -0
  93. package/data/build/dist/dsh-capabilities/host/plugin-update-adapter.js +71 -0
  94. package/data/build/dist/dsh-capabilities/host/plugin-update-adapter.js.map +1 -0
  95. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.d.ts +4 -0
  96. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.d.ts.map +1 -1
  97. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.js +16 -1
  98. package/data/build/dist/dsh-capabilities/host/session-model-selection-adapter.js.map +1 -1
  99. package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
  100. package/data/build/dist/dsh-capabilities/matrix.js +4 -0
  101. package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
  102. package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -1
  103. package/data/build/dist/dsh-capabilities/routes.js +10 -0
  104. package/data/build/dist/dsh-capabilities/routes.js.map +1 -1
  105. package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
  106. package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -1
  107. package/data/build/dist/dsh-capabilities/types.js.map +1 -1
  108. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  109. package/data/build/dist/host/cli-adapters/feature.js +174 -26
  110. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  111. package/data/build/dist/host/cli-adapters/magpie-context.d.ts +9 -0
  112. package/data/build/dist/host/cli-adapters/magpie-context.d.ts.map +1 -0
  113. package/data/build/dist/host/cli-adapters/magpie-context.js +128 -0
  114. package/data/build/dist/host/cli-adapters/magpie-context.js.map +1 -0
  115. package/data/build/dist/host/cli-adapters/magpie-update.d.ts.map +1 -1
  116. package/data/build/dist/host/cli-adapters/magpie-update.js +14 -4
  117. package/data/build/dist/host/cli-adapters/magpie-update.js.map +1 -1
  118. package/data/build/dist/host/cli-adapters/magpie-usage.d.ts +12 -2
  119. package/data/build/dist/host/cli-adapters/magpie-usage.d.ts.map +1 -1
  120. package/data/build/dist/host/cli-adapters/magpie-usage.js +114 -50
  121. package/data/build/dist/host/cli-adapters/magpie-usage.js.map +1 -1
  122. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  123. package/data/build/dist/host/cli-adapters/registry.js +6 -5
  124. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  125. package/data/build/dist/host/features/index.d.ts.map +1 -1
  126. package/data/build/dist/host/features/index.js +2 -0
  127. package/data/build/dist/host/features/index.js.map +1 -1
  128. package/data/build/dist/host/features/plugin-update.d.ts +6 -0
  129. package/data/build/dist/host/features/plugin-update.d.ts.map +1 -0
  130. package/data/build/dist/host/features/plugin-update.js +45 -0
  131. package/data/build/dist/host/features/plugin-update.js.map +1 -0
  132. package/data/build/dist/host/index.d.ts.map +1 -1
  133. package/data/build/dist/host/index.js +31 -1
  134. package/data/build/dist/host/index.js.map +1 -1
  135. package/data/build/dist/host/native-session-bridge.d.ts +8 -0
  136. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
  137. package/data/build/dist/host/native-session-bridge.js +43 -0
  138. package/data/build/dist/host/native-session-bridge.js.map +1 -1
  139. package/data/build/dist/host/rpc.d.ts +4 -1
  140. package/data/build/dist/host/rpc.d.ts.map +1 -1
  141. package/data/build/dist/host/rpc.js +33 -7
  142. package/data/build/dist/host/rpc.js.map +1 -1
  143. package/data/build/dist/host/session-handle-eviction.d.ts +29 -0
  144. package/data/build/dist/host/session-handle-eviction.d.ts.map +1 -0
  145. package/data/build/dist/host/session-handle-eviction.js +413 -0
  146. package/data/build/dist/host/session-handle-eviction.js.map +1 -0
  147. package/data/build/dist/host/settings.d.ts.map +1 -1
  148. package/data/build/dist/host/settings.js +12 -1
  149. package/data/build/dist/host/settings.js.map +1 -1
  150. package/data/build/dist/host/update/application-result.d.ts +3 -0
  151. package/data/build/dist/host/update/application-result.d.ts.map +1 -0
  152. package/data/build/dist/host/update/application-result.js +13 -0
  153. package/data/build/dist/host/update/application-result.js.map +1 -0
  154. package/data/build/dist/host/update/http.d.ts +7 -0
  155. package/data/build/dist/host/update/http.d.ts.map +1 -0
  156. package/data/build/dist/host/update/http.js +55 -0
  157. package/data/build/dist/host/update/http.js.map +1 -0
  158. package/data/build/dist/host/update/metadata.d.ts +14 -0
  159. package/data/build/dist/host/update/metadata.d.ts.map +1 -0
  160. package/data/build/dist/host/update/metadata.js +75 -0
  161. package/data/build/dist/host/update/metadata.js.map +1 -0
  162. package/data/build/dist/host/update/release-notes.d.ts +6 -0
  163. package/data/build/dist/host/update/release-notes.d.ts.map +1 -0
  164. package/data/build/dist/host/update/release-notes.js +52 -0
  165. package/data/build/dist/host/update/release-notes.js.map +1 -0
  166. package/data/build/dist/host/update/service.d.ts +25 -0
  167. package/data/build/dist/host/update/service.d.ts.map +1 -0
  168. package/data/build/dist/host/update/service.js +209 -0
  169. package/data/build/dist/host/update/service.js.map +1 -0
  170. package/data/build/dist/shared/contracts/config.d.ts +17 -0
  171. package/data/build/dist/shared/contracts/config.d.ts.map +1 -1
  172. package/data/build/dist/shared/contracts/config.js +8 -0
  173. package/data/build/dist/shared/contracts/config.js.map +1 -1
  174. package/data/build/dist/shared/contracts/magpie-management.d.ts +40 -0
  175. package/data/build/dist/shared/contracts/magpie-management.d.ts.map +1 -1
  176. package/data/build/dist/shared/contracts/plugin-update.d.ts +93 -0
  177. package/data/build/dist/shared/contracts/plugin-update.d.ts.map +1 -0
  178. package/data/build/dist/shared/contracts/plugin-update.js +128 -0
  179. package/data/build/dist/shared/contracts/plugin-update.js.map +1 -0
  180. package/data/build/dist/shared/contracts/subscription.d.ts +3 -0
  181. package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
  182. package/data/build/dist/shared/contracts/subscription.js.map +1 -1
  183. package/data/build/dist/shared/contracts/version.d.ts +1 -1
  184. package/data/build/dist/shared/contracts/version.js +1 -1
  185. package/package.json +2 -1
  186. package/profile/README.md +2 -2
  187. package/profile/package.json +2 -2
  188. package/profile/version.json +1 -1
  189. package/version.json +1 -1
@@ -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":"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"}
@@ -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":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAGpE,MAAM,CAAC,MAAM,6BAA6B,GAAG,UAAmB,CAAA;AAChE,MAAM,4BAA4B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AACvD,MAAM,uBAAuB,GAAG,GAAG,CAAA;AACnC,MAAM,sBAAsB,GAAG,MAAM,CAAA;AACrC,MAAM,YAAY,GAAG,GAAG,CAAA;AACxB,MAAM,eAAe,GAAG,OAAO,CAAA;AAC/B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAoB;IAC/C,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS;CACjG,CAAC,CAAA;AAYF,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACrB;IAArB,YAAqB,IAA8H,EAAE,OAAe;QAClK,KAAK,CAAC,OAAO,CAAC,CAAA;QADK,SAAI,GAAJ,IAAI,CAA0H;QAEjJ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IACb,MAAM,CAAsC;IAC5C,OAAO,CAAqB;IAC5B,GAAG,CAAc;IACjB,KAAK,CAAyC;IAC9C,cAAc,CAAQ;IACtB,aAAa,CAAQ;IAC9B,eAAe,GAA0C,IAAI,CAAA;IAC7D,cAAc,GAAyB,IAAI,CAAA;IAEnD,YAAY,UAAsC,EAAE;QAClD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAA;QAClC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAA;QACnC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,uBAAuB,CAAA;QACvE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,sBAAsB,CAAA;IACtE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAoB;QACnC,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QAC3D,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAoB;QAClC,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;QACjE,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,cAAc,CAAC,MAAoB;QACvC,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QACrF,IAAI,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAA;QAC3C,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU;YAAE,OAAO,MAAM,CAAA;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;QAChD,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC5D,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YACvD,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACxC,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QAC1F,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,KAAc,EAAE,MAAoB;QACtD,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,iBAAiB,CAAC,8CAA8C,EAAE,8CAA8C,CAAC,CAAA;QAC3J,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,EAAE,2CAA2C,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAC1H,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,EAAE,MAAM,EAAE;YAChF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,KAAK,EAAE;SAC1D,CAAC,CAAA;QACF,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,QAAQ,KAAK,IAAI,CAAA;QACrE,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAChF,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAA;QAChD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAA;IACrD,CAAC;IAED;;;OAGG;IACH,qBAAqB;QACnB,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI;YAAE,OAAM;QACzC,KAAK,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC/B,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,mBAAmB,EAAE,CAAA,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAA;QAC3G,MAAM,KAAK,GAAG,IAAI,CAAC,eAAoD,CAAA;QACvE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAA;IACjB,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI;YAAE,OAAM;QACzC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;IAC7B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,oBAAoB,EAAE,CAAA;IAC7B,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,cAAc,CAAA;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC;YAAC,MAAM,IAAI,CAAA;QAAC,CAAC;gBAAS,CAAC;YAC1B,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;gBAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC9D,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAC9B,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,6BAA6B,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,iBAAiB,CACzB,oCAAoC,EACpC,yCAAyC,6BAA6B,WAAW,CAClF,CAAA;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAA+D,EAAE,MAAoB,EAAE,UAAmC,EAAE;QACpJ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAC/E,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;IACnG,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,IAA2B,EAAE,MAAoB,EAAE,UAAmC,EAAE;QAC3H,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAC/E,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;QAC9G,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;IACnG,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,YAAoB,EAAE,MAAoB;QACtE,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACzD,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QACzG,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YACxB,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;SAClL,CAAC,CAAA;IACJ,CAAC;CACF;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9B,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAA0B,CAAC;WAC3G,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACvE,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,EAAE,8CAA8C,CAAC,CAAA;IAC/G,CAAC;IACD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAA0B;QACxC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;QAClD,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC;QAC3D,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC;QAC5B,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC;QAC/C,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC;QAC3D,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;QAC7C,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7C,KAAK,EAAE,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/C,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7C,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC;QACnD,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;KACjD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9B,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;QAChG,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,EAAE,0CAA0C,CAAC,CAAA;IAC3G,CAAC;IACD,MAAM,QAAQ,GAA8B,EAAE,CAAA;IAC9C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG;eACtF,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YACjF,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,EAAE,gDAAgD,CAAC,CAAA;QACjH,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAClG,CAAC;IACD,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC;QAClD,QAAQ;QACR,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC;KAC5D,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9B,OAAO,MAAM,EAAE,SAAS,KAAK,IAAI,CAAA;AACnC,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,OAAe,EAAE,KAAa;IAClE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,EAAE,uBAAuB,KAAK,aAAa,CAAC,CAAA;IAC1G,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QACtD,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,EAAE,8BAA8B,CAAC,CAAA;IAC/F,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;QAC1B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,EAAE,8BAA8B,CAAC,CAAA;IAC/F,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACtD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAK,KAAgB,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,EAAE,mCAAmC,CAAC,CAAA;IACpG,CAAC;IACD,OAAO,KAAe,CAAA;AACxB,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,KAAa;IACpD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IACvD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,EAAE,uBAAuB,KAAK,aAAa,CAAC,CAAA;IAC1G,CAAC;IACD,OAAO,KAAK,CAAA;AACd,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,KAAK,CAAC,YAAoB;IACjC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;AAClE,CAAC"}
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":"AACA,OAAO,KAAK,EACV,oBAAoB,EAEpB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EACV,WAAW,EAKX,mBAAmB,EAEpB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,KAAK,EACV,qBAAqB,EAErB,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAElB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAEnB,MAAM,6CAA6C,CAAA;AAGpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAiDvD,0EAA0E;AAC1E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAA;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,wEAAwE;AACxE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACpC,wEAAwE;IACxE,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClD,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3C,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CACtC;AAQD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAA;IACzD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAeD,MAAM,WAAW,yBAAyB;IACxC,iEAAiE;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC1F,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,CAAA;IAChH,sGAAsG;IACtG,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAA;IACrC,8EAA8E;IAC9E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAA;CACrE;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,GAAG,aAAa,CAAA;IACxD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,kGAAkG;AAClG,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsD;IACjF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuD;IACnF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuD;IACzF,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4C;IACrE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6D;IAC1F,uGAAuG;IACvG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6C;IAC3E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA8E;IACjH,OAAO,CAAC,YAAY,CAAgH;IACpI,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4G;IAC3I,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAkE;IACrG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmC;IAClE,OAAO,CAAC,eAAe,CAAwG;gBAEnH,OAAO,GAAE,yBAA8B;IAe7C,IAAI,CACR,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,WAAW,GAAG,SAAS,GAAG,mBAAmB,CAAC,EACtF,MAAM,CAAC,EAAE,WAAW,EACpB,YAAY,UAAQ,EACpB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IA2BtC;;;OAGG;IACG,kBAAkB,CAAC,SAAS,EAAE,oBAAoB,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA8DtL,+EAA+E;IACzE,iBAAiB,CAAC,SAAS,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAapI,uFAAuF;IACjF,aAAa,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAYvG,uFAAuF;IAChF,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,UAAQ,GAAG,aAAa,CAAC,0BAA0B,CAAC;YAgB3H,gBAAgB;YAgBf,oBAAoB;YAkDrB,kBAAkB;IAShC,uFAAuF;IACjF,eAAe,CAAC,OAAO,EAAE,yBAAyB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;YAiHzG,WAAW;YAqFX,gBAAgB;YAoBhB,qBAAqB;YAcrB,WAAW;YAmCX,iBAAiB;YAuCjB,YAAY;IAoB1B,OAAO,CAAC,0BAA0B;YAMpB,eAAe;YAuBf,WAAW;IAUzB,gGAAgG;YAClF,mBAAmB;CASlC;AAmBD,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,kBAAkB,GAAG,IAAI,CA2CpG;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,IAAI,CAmCxG;AAiGD,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAWpE;AA0CD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,oBAAoB,GAAG,WAAW,GAAG,IAAI,CAGzF;AAED,yEAAyE;AACzE,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS,MAAM,EAAE,CAG1F;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,SAAS,wBAAwB,EAAE,GAC5C,oBAAoB,CAgFtB;AAuQD,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,WAAW,EAAE,GAAG,IAAI,CAkC/E;AAED,qEAAqE;AACrE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG;IACzD,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,CAAA;IAClD,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC5C,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC9C,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAChD,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC,GAAG,IAAI,CAsBP;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,oBAAoB,EAAE,GAAG,IAAI,CAyD5F;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,kBAAkB,EAAE,GAAG,IAAI,CA8B5F"}
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
@@ -192,6 +194,15 @@ export class MagpieUsageService {
192
194
  const metadata = await this.loadModelMetadata(catalog, signal);
193
195
  return metadata?.get(id) ?? null;
194
196
  }
197
+ /** Read one exact, sanitized context session from Magpie's internal Web API. */
198
+ async readContext(options, signal) {
199
+ signal?.throwIfAborted();
200
+ const days = options.days === undefined ? 7 : Math.max(1, Math.min(30, Math.trunc(options.days)));
201
+ const response = await this.readWebJson(`/api/context?days=${days}`, signal);
202
+ if (!response.ok)
203
+ return null;
204
+ return parseMagpieContextResponse(response.value, options);
205
+ }
195
206
  /** Read bounded, graph-ready usage and quota data through authenticated Magpie Web. */
196
207
  async readDashboard(period, signal) {
197
208
  signal?.throwIfAborted();
@@ -326,6 +337,9 @@ export class MagpieUsageService {
326
337
  : [...new Set([sessionId, ...sessionIds.filter((value) => value !== null)])];
327
338
  if (requestedSessionIds.length > MAX_MAGPIE_SESSION_IDENTITIES)
328
339
  return null;
340
+ // Usage summaries are returned separately from the request ledger. This keeps
341
+ // the cards complete without preloading rows that belong to later pages.
342
+ const aggregatePromise = this.readRequestAggregate(options.period, sessionAgent, requestedSessionIds, signal);
329
343
  const readCandidatePage = async (offset, limit, querySessionId) => {
330
344
  const query = new URLSearchParams({ period: magpieWebPeriod(options.period), limit: String(limit), offset: String(offset) });
331
345
  if (querySessionId !== null)
@@ -355,6 +369,7 @@ export class MagpieUsageService {
355
369
  hasMore: page.total === null ? page.rows.length >= options.limit : options.offset + page.rows.length < page.total,
356
370
  sessionId,
357
371
  sessionAgent,
372
+ aggregate: await aggregatePromise,
358
373
  items: items.slice(0, options.limit),
359
374
  };
360
375
  }
@@ -422,29 +437,63 @@ export class MagpieUsageService {
422
437
  hasMore: !fullyScanned || matching.length > requestedEnd,
423
438
  sessionId,
424
439
  sessionAgent,
440
+ aggregate: await aggregatePromise,
425
441
  items: matching.slice(options.offset, requestedEnd),
426
442
  };
427
443
  }
428
- async readFromWeb(agent, modelId, sessionId, magpieSessionId, fallbackSessionId, signal, includeRoute) {
444
+ async readRequestAggregate(period, sessionAgent, sessionIds, signal) {
445
+ const response = await this.readWebJson(`/api/usage?period=${magpieWebPeriod(period)}`, signal);
446
+ if (!response.ok)
447
+ return null;
448
+ const root = usageRecord(response.value);
449
+ if (root === null)
450
+ return null;
451
+ if (sessionIds.length === 0)
452
+ return readMagpieUsageMetrics(root);
453
+ const sessions = root.sessions;
454
+ if (!Array.isArray(sessions) || sessionAgent === null)
455
+ return null;
456
+ const acceptedAgents = MAGPIE_USAGE_AGENT_ALIASES[sessionAgent] ?? [sessionAgent];
457
+ const acceptedIds = new Set(sessionIds);
458
+ let aggregate = null;
459
+ for (const item of sessions) {
460
+ const record = asRecord(item);
461
+ if (record === null || !acceptedIds.has(usageSessionId(record) ?? '')
462
+ || !acceptedAgents.includes(cleanText(record.agent) ?? ''))
463
+ continue;
464
+ aggregate = aggregate === null
465
+ ? readMagpieUsageMetrics(record)
466
+ : sumMagpieUsageMetrics(aggregate, readMagpieUsageMetrics(record));
467
+ }
468
+ return aggregate;
469
+ }
470
+ async readFromWeb(agent, modelId, sessionId, magpieSessionId, fallbackSessionId, signal, includeRoute, allowPendingSession) {
429
471
  const capturedAt = new Date(this.now()).toISOString();
430
- const [usageResult, quotaResult] = await Promise.all([
472
+ const [usageResult, sessionResult, quotaResult] = await Promise.all([
431
473
  this.readWebJson('/api/usage?period=today', signal),
474
+ this.readWebJson('/api/usage?period=all', signal),
432
475
  this.readWebJson('/api/usage/quotas', signal),
433
476
  ]);
434
477
  const aggregate = usageResult.ok ? readTotals(usageResult.value) : null;
435
- const primarySession = usageResult.ok && magpieSessionId !== null
436
- ? readSession(usageResult.value, agent, magpieSessionId)
478
+ const primarySession = sessionResult.ok && magpieSessionId !== null
479
+ ? readSession(sessionResult.value, agent, magpieSessionId)
437
480
  : null;
438
- const fallbackSession = primarySession === null && usageResult.ok && fallbackSessionId !== null
439
- ? readSession(usageResult.value, agent, fallbackSessionId)
481
+ const fallbackSession = primarySession === null && sessionResult.ok && fallbackSessionId !== null
482
+ ? readSession(sessionResult.value, agent, fallbackSessionId)
440
483
  : null;
441
- const sessionUsage = primarySession ?? fallbackSession;
442
- const resolvedSessionId = primarySession !== null ? magpieSessionId : fallbackSession !== null ? fallbackSessionId : magpieSessionId;
443
- if (sessionUsage === null)
484
+ // Magpie's all-time summary can omit a session already present today.
485
+ // Preserve that exact daily match with its scope, rather than hiding it.
486
+ const todaySession = primarySession === null && fallbackSession === null && allowPendingSession && usageResult.ok
487
+ ? (magpieSessionId === null ? null : readSession(usageResult.value, agent, magpieSessionId))
488
+ ?? (fallbackSessionId === null ? null : readSession(usageResult.value, agent, fallbackSessionId))
489
+ : null;
490
+ const sessionUsage = primarySession ?? fallbackSession ?? todaySession;
491
+ const resolvedSessionId = sessionUsage?.id ?? magpieSessionId;
492
+ if (sessionUsage === null && (!allowPendingSession || aggregate === null))
444
493
  return null;
445
- const canReadRoute = includeRoute && resolvedSessionId !== null && resolvedSessionId.length <= 128;
494
+ const canReadRoute = sessionUsage !== null && includeRoute && resolvedSessionId !== null && resolvedSessionId.length <= 128;
446
495
  const routeHistoryResult = canReadRoute
447
- ? await this.readWebJson(`/api/usage/requests?period=today&offset=0&limit=100&q=${encodeURIComponent(resolvedSessionId)}`, signal)
496
+ ? await this.readWebJson(`/api/usage/requests?period=all&offset=0&limit=100&q=${encodeURIComponent(resolvedSessionId)}`, signal)
448
497
  : { ok: false };
449
498
  const routeRows = routeHistoryResult.ok ? asRecord(routeHistoryResult.value)?.rows : null;
450
499
  const routeHistoryValid = Array.isArray(routeRows) && routeRows.length <= 500;
@@ -458,7 +507,7 @@ export class MagpieUsageService {
458
507
  const route = routeHistory[0]?.route ?? null;
459
508
  const routeStatus = route !== null
460
509
  ? 'available'
461
- : resolvedSessionId === null
510
+ : sessionUsage === null || resolvedSessionId === null
462
511
  ? 'session-unavailable'
463
512
  : !includeRoute
464
513
  ? 'not-requested'
@@ -470,7 +519,7 @@ export class MagpieUsageService {
470
519
  providerFromRoute(route),
471
520
  ...routeHistory.map((record) => record.provider),
472
521
  ].filter((provider) => provider !== null))];
473
- const upstreamProviders = routeProviders.length > 0
522
+ const upstreamProviders = sessionUsage === null ? [] : routeProviders.length > 0
474
523
  ? routeProviders
475
524
  : [providerFromModelId(modelId, agent)].filter((provider) => provider !== null);
476
525
  const upstreamProvider = upstreamProviders[0] ?? null;
@@ -489,9 +538,10 @@ export class MagpieUsageService {
489
538
  capturedAt,
490
539
  usageStatus: aggregate === null ? 'unavailable' : 'available',
491
540
  aggregate,
492
- sessionId,
541
+ sessionId: sessionId ?? (sessionUsage === null ? null : resolvedSessionId),
493
542
  ...(resolvedSessionId === null ? {} : { requestSessionId: resolvedSessionId }),
494
543
  session: sessionUsage,
544
+ ...(todaySession === null ? {} : { sessionPeriod: 'today' }),
495
545
  routeStatus,
496
546
  route,
497
547
  upstreamProvider,
@@ -1052,30 +1102,35 @@ export function attachMagpieSessionNames(dashboard, bindings) {
1052
1102
  function mergeMagpieUsageSessions(current, row, owner) {
1053
1103
  return {
1054
1104
  ...current,
1105
+ ...sumMagpieUsageMetrics(current, row),
1055
1106
  id: owner?.dshSessionId ?? current.id,
1056
1107
  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
1108
  ...(current.dshSessionName === undefined && owner?.name !== null && owner?.name !== undefined
1075
1109
  ? { dshSessionName: owner.name }
1076
1110
  : {}),
1077
1111
  };
1078
1112
  }
1113
+ function sumMagpieUsageMetrics(left, right) {
1114
+ return {
1115
+ calls: sumMagpieUsageMetric(left.calls, right.calls),
1116
+ errors: sumMagpieUsageMetric(left.errors, right.errors),
1117
+ retried: sumMagpieUsageMetric(left.retried, right.retried),
1118
+ inputTokens: sumMagpieUsageMetric(left.inputTokens, right.inputTokens),
1119
+ outputTokens: sumMagpieUsageMetric(left.outputTokens, right.outputTokens),
1120
+ cacheReadTokens: sumMagpieUsageMetric(left.cacheReadTokens, right.cacheReadTokens),
1121
+ cacheWriteTokens: sumMagpieUsageMetric(left.cacheWriteTokens, right.cacheWriteTokens),
1122
+ reasoningTokens: sumMagpieUsageMetric(left.reasoningTokens, right.reasoningTokens),
1123
+ cost: sumMagpieUsageMetric(left.cost, right.cost),
1124
+ unpriced: sumMagpieUsageMetric(left.unpriced, right.unpriced),
1125
+ credits: sumMagpieUsageMetric(left.credits, right.credits),
1126
+ credited: sumMagpieUsageMetric(left.credited, right.credited),
1127
+ timed: sumMagpieUsageMetric(left.timed, right.timed),
1128
+ ttftMs: sumMagpieUsageMetric(left.ttftMs, right.ttftMs),
1129
+ decodeMs: sumMagpieUsageMetric(left.decodeMs, right.decodeMs),
1130
+ decodeTokens: sumMagpieUsageMetric(left.decodeTokens, right.decodeTokens),
1131
+ decodeCount: sumMagpieUsageMetric(left.decodeCount, right.decodeCount),
1132
+ };
1133
+ }
1079
1134
  function sumMagpieUsageMetric(left, right) {
1080
1135
  return left === null && right === null ? null : (left ?? 0) + (right ?? 0);
1081
1136
  }
@@ -1136,7 +1191,7 @@ async function readBoundedJson(response) {
1136
1191
  }
1137
1192
  }
1138
1193
  function readTotals(value) {
1139
- const record = asRecord(value);
1194
+ const record = usageRecord(value);
1140
1195
  if (record === null)
1141
1196
  return null;
1142
1197
  const calls = safeCount(record.calls);
@@ -1151,20 +1206,29 @@ function readTotals(value) {
1151
1206
  return { calls, errors, inputTokens, outputTokens, cacheReadTokens, cacheWriteTokens, costUsd };
1152
1207
  }
1153
1208
  function readSession(value, agent, sessionId) {
1154
- const sessions = asRecord(value)?.sessions;
1209
+ const sessions = usageRecord(value)?.sessions;
1155
1210
  if (!Array.isArray(sessions))
1156
1211
  return null;
1157
1212
  const usageAgents = MAGPIE_USAGE_AGENT_ALIASES[agent] ?? [agent];
1158
1213
  const row = sessions.find((item) => {
1159
1214
  const record = asRecord(item);
1160
1215
  const usageAgent = cleanText(record?.agent);
1161
- return cleanText(record?.id) === sessionId && usageAgent !== null && usageAgents.includes(usageAgent);
1216
+ return usageSessionId(record) === sessionId && usageAgent !== null && usageAgents.includes(usageAgent);
1162
1217
  });
1163
1218
  const record = asRecord(row);
1164
1219
  const totals = readTotals(record);
1165
1220
  const usageAgent = cleanText(record?.agent);
1166
1221
  return record !== null && usageAgent !== null && totals !== null ? { id: sessionId, agent: usageAgent, ...totals } : null;
1167
1222
  }
1223
+ /** Magpie 0.1.14xx can wrap usage payloads in `data`; older versions do not. */
1224
+ function usageRecord(value) {
1225
+ const record = asRecord(value);
1226
+ const data = asRecord(record?.data);
1227
+ return data ?? record;
1228
+ }
1229
+ function usageSessionId(record) {
1230
+ return cleanText(record?.id) ?? cleanText(record?.session) ?? cleanText(record?.native_session);
1231
+ }
1168
1232
  /** Read the durable request ledger when Magpie's short in-memory trace has expired. */
1169
1233
  function readSessionRouteHistory(value, agent, sessionId, providerRecords = []) {
1170
1234
  const rows = asRecord(value)?.rows;