@duke-dsh-plugins/dsh-token-stats 1.5.1 → 1.5.2

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 (2) hide show
  1. package/client.js +11 -5
  2. package/package.json +1 -1
package/client.js CHANGED
@@ -140,9 +140,12 @@ window.__ModuleLoader__.load({
140
140
  // client assembly mounts only the five official namespaces, so a plugin
141
141
  // must mount its own. Mirrors the invocation in typert.host.js (id,
142
142
  // service/namespace/method). zod is not requirable in the browser module
143
- // loader, so codecs use passthrough schemas — the runtime contract only
144
- // requires typeSymbol + schema.parse().
143
+ // loader, so codecs use passthrough schemas. 0.1.7's client-side typert
144
+ // remote store REJECTS strict codecs without a create() factory (same
145
+ // contract as typert-loader — v1.5.1 shipped without these and every
146
+ // $mount failed with "has no create() factory", dead Remote namespace).
145
147
  const passthrough = () => ({ parse: (v) => v });
148
+ const createPassthrough = () => passthrough();
146
149
  const CLIENT_REMOTE = {
147
150
  package: "dsh-token-stats",
148
151
  descriptors: [
@@ -157,6 +160,7 @@ window.__ModuleLoader__.load({
157
160
  mode: "strict",
158
161
  typeSymbol: "dsh-token-stats#TokenStatsResult",
159
162
  schema: passthrough(),
163
+ create: createPassthrough,
160
164
  },
161
165
  },
162
166
  {
@@ -170,19 +174,20 @@ window.__ModuleLoader__.load({
170
174
  name: "provider",
171
175
  wire: "provider",
172
176
  source: "json",
173
- codec: { mode: "strict", typeSymbol: "dsh-token-stats#tokenStats/getQuota:provider", schema: passthrough() },
177
+ codec: { mode: "strict", typeSymbol: "dsh-token-stats#tokenStats/getQuota:provider", schema: passthrough(), create: createPassthrough },
174
178
  },
175
179
  {
176
180
  name: "force",
177
181
  wire: "force",
178
182
  source: "json",
179
- codec: { mode: "strict", typeSymbol: "dsh-token-stats#tokenStats/getQuota:force", schema: passthrough() },
183
+ codec: { mode: "strict", typeSymbol: "dsh-token-stats#tokenStats/getQuota:force", schema: passthrough(), create: createPassthrough },
180
184
  },
181
185
  ],
182
186
  result: {
183
187
  mode: "strict",
184
188
  typeSymbol: "dsh-token-stats#TokenStatsQuotaResult",
185
189
  schema: passthrough(),
190
+ create: createPassthrough,
186
191
  },
187
192
  },
188
193
  {
@@ -196,13 +201,14 @@ window.__ModuleLoader__.load({
196
201
  name: "force",
197
202
  wire: "force",
198
203
  source: "json",
199
- codec: { mode: "strict", typeSymbol: "dsh-token-stats#tokenStats/getAllQuotas:force", schema: passthrough() },
204
+ codec: { mode: "strict", typeSymbol: "dsh-token-stats#tokenStats/getAllQuotas:force", schema: passthrough(), create: createPassthrough },
200
205
  },
201
206
  ],
202
207
  result: {
203
208
  mode: "strict",
204
209
  typeSymbol: "dsh-token-stats#TokenStatsAllQuotasResult",
205
210
  schema: passthrough(),
211
+ create: createPassthrough,
206
212
  },
207
213
  },
208
214
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duke-dsh-plugins/dsh-token-stats",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "Token usage statistics for DeepSeek Harness (7/30-day per-model charts + yearly heatmap) plus an inline coding-plan balance/quota readout in the composer (minimax/deepseek/kimi/openrouter/zhipu).",
5
5
  "repository": {
6
6
  "type": "git",