@nuvin/session 0.4.0-rc.11 → 0.4.0-rc.12

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.
@@ -164,6 +164,7 @@ function scopedToolKey(toolCallPath, toolCallId) {
164
164
  }
165
165
 
166
166
  // src/state/messages.ts
167
+ import { isModelUsageTotals } from "@nuvin/agent-core/agent";
167
168
  import { getReasoningTextFromMessage, getTextFromMessage } from "@nuvin/agent-core/formats";
168
169
  function isProviderRetryMessage(message) {
169
170
  return message.role === "warning" && message.providerRetry !== void 0;
@@ -177,8 +178,77 @@ function withUpdatedMessage(state, id, update) {
177
178
  messages: state.messages.map((message) => message.id === id ? update(message) : message)
178
179
  };
179
180
  }
181
+ function cloneDelegatedMetrics(metrics) {
182
+ const base = {
183
+ runId: metrics.runId,
184
+ turnNumber: metrics.turnNumber,
185
+ ...metrics.turnId === void 0 ? {} : { turnId: metrics.turnId },
186
+ cumulativeUsage: { ...metrics.cumulativeUsage }
187
+ };
188
+ if (metrics.phase === "start") return { ...base, phase: "start", revision: 0 };
189
+ if (metrics.phase === "terminal")
190
+ return { ...base, phase: "terminal", revision: metrics.revision };
191
+ return {
192
+ ...base,
193
+ phase: "active",
194
+ revision: metrics.revision,
195
+ ...metrics.live === void 0 ? {} : {
196
+ live: {
197
+ requestId: metrics.live.requestId,
198
+ attempt: metrics.live.attempt,
199
+ estimatedOutputTokensPerSecond: metrics.live.estimatedOutputTokensPerSecond
200
+ }
201
+ }
202
+ };
203
+ }
204
+ function isNonemptyString(value) {
205
+ return typeof value === "string" && value.length > 0;
206
+ }
207
+ function isNonnegativeSafeInteger(value) {
208
+ return typeof value === "number" && Number.isSafeInteger(value) && value >= 0;
209
+ }
210
+ function isValidDelegatedMetrics(metrics, source) {
211
+ if (typeof metrics !== "object" || metrics === null || Array.isArray(metrics)) return false;
212
+ if (!isNonemptyString(metrics.runId) || metrics.turnId !== void 0 && !isNonemptyString(metrics.turnId) || !isNonnegativeSafeInteger(metrics.turnNumber) || !isNonnegativeSafeInteger(metrics.revision) || !isModelUsageTotals(metrics.cumulativeUsage))
213
+ return false;
214
+ if (source === "recovery") {
215
+ return metrics.phase === "terminal" && metrics.revision === 0 && metrics.live === void 0 && (metrics.turnNumber > 0 || metrics.turnId === void 0);
216
+ }
217
+ if (metrics.turnNumber === 0) return false;
218
+ if (metrics.phase === "start") return metrics.revision === 0 && metrics.live === void 0;
219
+ if (metrics.phase !== "active" && metrics.phase !== "terminal") return false;
220
+ if (metrics.revision === 0) return false;
221
+ if (metrics.phase === "terminal") return metrics.live === void 0;
222
+ const live = metrics.live;
223
+ return live === void 0 || typeof live === "object" && live !== null && !Array.isArray(live) && isNonemptyString(live.requestId) && isNonnegativeSafeInteger(live.attempt) && typeof live.estimatedOutputTokensPerSecond === "number" && Number.isFinite(live.estimatedOutputTokensPerSecond) && live.estimatedOutputTokensPerSecond >= 0;
224
+ }
225
+ function withDelegatedMetrics(message, metrics, source) {
226
+ if (message.toolName !== "AssignTask" || !isValidDelegatedMetrics(metrics, source))
227
+ return message;
228
+ const bindings = delegatedRunBindings(message);
229
+ if (bindings.some((runId) => runId !== metrics.runId)) return message;
230
+ if (bindings.length === 0 && !(source === "event" && metrics.phase === "start") && !(source === "recovery" && metrics.phase === "terminal"))
231
+ return message;
232
+ if (message.delegatedModel !== void 0 && message.delegatedModel.turnNumber > metrics.turnNumber)
233
+ return message;
234
+ const prior = message.delegatedMetrics;
235
+ if (prior !== void 0) {
236
+ if (metrics.turnNumber < prior.turnNumber) return message;
237
+ if (metrics.turnNumber === prior.turnNumber && (prior.phase === "terminal" || prior.turnId !== metrics.turnId || metrics.revision <= prior.revision))
238
+ return message;
239
+ }
240
+ return { ...message, delegatedMetrics: cloneDelegatedMetrics(metrics) };
241
+ }
242
+ function delegatedRunBindings(message) {
243
+ return [
244
+ message.structured?.runId,
245
+ message.delegatedModel?.runId,
246
+ message.delegatedMetrics?.runId
247
+ ].filter((runId) => typeof runId === "string");
248
+ }
180
249
  function withDelegatedModel(message, model) {
181
250
  if (message.toolName !== "AssignTask") return message;
251
+ if (delegatedRunBindings(message).some((runId) => runId !== model.runId)) return message;
182
252
  const prior = message.delegatedModel;
183
253
  if (prior !== void 0) {
184
254
  if (prior.runId !== model.runId || prior.turnNumber > model.turnNumber) return message;
@@ -638,13 +708,14 @@ function createMessageState() {
638
708
  }
639
709
  function createMessageStateFromMessages(messages) {
640
710
  const normalizedMessages = messages.map((message) => {
641
- const toolCallPath = cloneToolCallPath(message.toolCallPath);
642
- if (toolCallPath) return { ...message, toolCallPath };
643
- if (message.toolCallPath !== void 0) {
644
- const { toolCallPath: _toolCallPath, ...rootMessage } = message;
711
+ const cloned = message.role === "tool" && message.delegatedMetrics !== void 0 ? { ...message, delegatedMetrics: cloneDelegatedMetrics(message.delegatedMetrics) } : message;
712
+ const toolCallPath = cloneToolCallPath(cloned.toolCallPath);
713
+ if (toolCallPath) return { ...cloned, toolCallPath };
714
+ if (cloned.toolCallPath !== void 0) {
715
+ const { toolCallPath: _toolCallPath, ...rootMessage } = cloned;
645
716
  return rootMessage;
646
717
  }
647
- return message;
718
+ return cloned;
648
719
  });
649
720
  const nextId = normalizedMessages.reduce((max, message) => {
650
721
  const match = /^message-(\d+)$/.exec(message.id);
@@ -859,6 +930,13 @@ function applyAgentEvent(state, event, toolCallPath, now = Date.now()) {
859
930
  toolCallPath,
860
931
  now
861
932
  );
933
+ case "delegated_metrics": {
934
+ const id = state.toolMessageIds[scopedToolKey(toolCallPath, event.parentToolCallId)];
935
+ const message = state.messages.find((item) => item.id === id);
936
+ if (message?.role !== "tool") return state;
937
+ const updated = withDelegatedMetrics(message, event, "event");
938
+ return updated === message ? state : withUpdatedMessage(state, message.id, () => updated);
939
+ }
862
940
  case "delegated_model_resolved": {
863
941
  const id = state.toolMessageIds[scopedToolKey(toolCallPath, event.parentToolCallId)];
864
942
  if (id === void 0) return state;
@@ -1032,7 +1110,11 @@ function cloneQuestion2(question) {
1032
1110
  return toolCallPath && toolCallPath.length > 0 ? { ...rootQuestion, toolCallPath: [...toolCallPath] } : rootQuestion;
1033
1111
  }
1034
1112
  function cloneMessage(message) {
1035
- const cloned = message.role === "tool" && message.delegatedModel !== void 0 ? { ...message, delegatedModel: { ...message.delegatedModel } } : message;
1113
+ const cloned = message.role === "tool" ? {
1114
+ ...message,
1115
+ ...message.delegatedModel === void 0 ? {} : { delegatedModel: { ...message.delegatedModel } },
1116
+ ...message.delegatedMetrics === void 0 ? {} : { delegatedMetrics: cloneDelegatedMetrics(message.delegatedMetrics) }
1117
+ } : message;
1036
1118
  const { toolCallPath, ...rootMessage } = cloned;
1037
1119
  return toolCallPath && toolCallPath.length > 0 ? { ...rootMessage, toolCallPath: [...toolCallPath] } : rootMessage;
1038
1120
  }
@@ -1293,6 +1375,8 @@ export {
1293
1375
  asJsonObject,
1294
1376
  scopedToolKey,
1295
1377
  isProviderRetryMessage,
1378
+ cloneDelegatedMetrics,
1379
+ withDelegatedMetrics,
1296
1380
  withDelegatedModel,
1297
1381
  settleAllProviderRetries,
1298
1382
  settleAllLiveReasoning,
@@ -236,7 +236,7 @@ function parseAbortRecoveryResult(value, request) {
236
236
  }
237
237
 
238
238
  // src/protocol/version.ts
239
- var PROTOCOL_VERSION = 71;
239
+ var PROTOCOL_VERSION = 72;
240
240
 
241
241
  export {
242
242
  BACKGROUND_WORK_PROTOCOL_LIMITS,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createSessionViewState,
3
3
  reduceSessionEvent
4
- } from "../chunk-4FXP5TSI.js";
4
+ } from "../chunk-B54P6RLO.js";
5
5
  import {
6
6
  PROTOCOL_VERSION,
7
7
  parseAbortRecoveryRequest,
@@ -9,7 +9,7 @@ import {
9
9
  parseBackgroundWorkCancellation,
10
10
  parseBackgroundWorkInspection,
11
11
  parseBackgroundWorkPage
12
- } from "../chunk-O3YF6Q77.js";
12
+ } from "../chunk-STY4IJ7W.js";
13
13
 
14
14
  // src/client/control-center-socket.ts
15
15
  var CONTROL_CENTER_UNSUPPORTED = "Control Center is unavailable on this daemon. Update or restart the daemon and try again.";
@@ -13,7 +13,7 @@ import {
13
13
  sanitizeCoordinatorDeliveryText,
14
14
  scopedToolKey,
15
15
  summarizeToolCallInput
16
- } from "../chunk-4FXP5TSI.js";
16
+ } from "../chunk-B54P6RLO.js";
17
17
 
18
18
  // src/controller/agent-channel.ts
19
19
  import { EventEmitter } from "events";
@@ -18,7 +18,7 @@ import {
18
18
  parseBackgroundWorkPage,
19
19
  sameSubmissionKey,
20
20
  truncateBackgroundWorkText
21
- } from "../chunk-O3YF6Q77.js";
21
+ } from "../chunk-STY4IJ7W.js";
22
22
  import {
23
23
  AGENT_MODEL_TIERS,
24
24
  GRANT_CAPABILITIES,
@@ -4,5 +4,5 @@
4
4
  * @nuvin/agent-core, which is wire-frozen by inclusion in ServerEvent.
5
5
  * Handshake policy is exact match (see spec §4.1).
6
6
  */
7
- export declare const PROTOCOL_VERSION = 71;
7
+ export declare const PROTOCOL_VERSION = 72;
8
8
  //# sourceMappingURL=version.d.ts.map
@@ -13,6 +13,7 @@ import {
13
13
  appendWarningMessage,
14
14
  applyAgentEvent,
15
15
  asJsonObject,
16
+ cloneDelegatedMetrics,
16
17
  copyRecallState,
17
18
  createApprovalQueueState,
18
19
  createMessageState,
@@ -40,8 +41,9 @@ import {
40
41
  settleAllProviderRetries,
41
42
  splitSanitizableDelivery,
42
43
  summarizeToolCallInput,
44
+ withDelegatedMetrics,
43
45
  withDelegatedModel
44
- } from "../chunk-4FXP5TSI.js";
46
+ } from "../chunk-B54P6RLO.js";
45
47
  export {
46
48
  BACKGROUNDLESS_TOOLS,
47
49
  DISPLAY_TEXT_MAX_BYTES,
@@ -53,6 +55,7 @@ export {
53
55
  appendWarningMessage,
54
56
  applyAgentEvent,
55
57
  asJsonObject,
58
+ cloneDelegatedMetrics,
56
59
  copyRecallState,
57
60
  createApprovalQueueState,
58
61
  createMessageState,
@@ -82,5 +85,6 @@ export {
82
85
  settleAllProviderRetries,
83
86
  splitSanitizableDelivery,
84
87
  summarizeToolCallInput,
88
+ withDelegatedMetrics,
85
89
  withDelegatedModel
86
90
  };
@@ -1,4 +1,4 @@
1
- import type { AgentEvent, DelegatedModelIdentity, JsonObject, JsonValue, ModelUsageTotals } from "@nuvin/agent-core/shared";
1
+ import type { AgentEvent, DelegatedMetricsSnapshot, DelegatedModelIdentity, JsonObject, JsonValue, ModelUsageTotals } from "@nuvin/agent-core/shared";
2
2
  import type { ResolvedSubagentReport, SubagentReportStatus } from "./subagent-report.ts";
3
3
  export type ToolMessageStatus = "approved" | "error" | "ok" | "pending" | "rejected" | "running";
4
4
  export type ProviderRetryAttemptRecord = {
@@ -76,6 +76,7 @@ export type ToolTuiMessage = {
76
76
  approvalKind?: "auto" | "user";
77
77
  completedAt?: number;
78
78
  delegatedModel?: DelegatedModelMetadata;
79
+ delegatedMetrics?: DelegatedMetricsSnapshot;
79
80
  id: string;
80
81
  /** Tool-call ancestry for nested rendering; omitted for root tools. */
81
82
  toolCallPath?: string[];
@@ -133,6 +134,8 @@ export type MessageState = {
133
134
  reasoningMessageIds: Record<string, string>;
134
135
  toolMessageIds: Record<string, string>;
135
136
  };
137
+ export declare function cloneDelegatedMetrics(metrics: DelegatedMetricsSnapshot): DelegatedMetricsSnapshot;
138
+ export declare function withDelegatedMetrics(message: ToolTuiMessage, metrics: DelegatedMetricsSnapshot, source: "event" | "recovery"): ToolTuiMessage;
136
139
  export declare function withDelegatedModel(message: ToolTuiMessage, model: DelegatedModelMetadata): ToolTuiMessage;
137
140
  /**
138
141
  * Settle every still-retrying provider row as "stopped": the turn ended (idle
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/state/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/state/messages.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/state/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAKV,WAAW,EACX,WAAW,EACX,WAAW,EACX,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAwF9B,wBAAgB,sBAAsB,IAAI,gBAAgB,CAiBzD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,GAAG,gBAAgB,CAuMhG;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CA2BrF;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAgBhE"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/state/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAKV,WAAW,EACX,WAAW,EACX,WAAW,EACX,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAiG9B,wBAAgB,sBAAsB,IAAI,gBAAgB,CAiBzD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,GAAG,gBAAgB,CAuMhG;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CA2BrF;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAgBhE"}
@@ -1,7 +1,7 @@
1
1
  import "../chunk-4AOFJGGN.js";
2
2
  import {
3
3
  PROTOCOL_VERSION
4
- } from "../chunk-O3YF6Q77.js";
4
+ } from "../chunk-STY4IJ7W.js";
5
5
  import {
6
6
  generateGrantKeyPair,
7
7
  signGrant
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuvin/session",
3
- "version": "0.4.0-rc.11",
3
+ "version": "0.4.0-rc.12",
4
4
  "private": false,
5
5
  "description": "Headless session layer for Nuvin: state reducers, wire protocol, session controller",
6
6
  "license": "Apache-2.0",
@@ -50,7 +50,7 @@
50
50
  },
51
51
  "dependencies": {
52
52
  "ws": "^8.20.0",
53
- "@nuvin/agent-core": "^0.4.0-rc.16"
53
+ "@nuvin/agent-core": "^0.4.0-rc.17"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/node": "^22.0.0",