@nuvin/session 0.4.0-rc.10 → 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.
- package/dist/chunk-4AOFJGGN.js +141 -0
- package/dist/{chunk-U6V6IQJR.js → chunk-B54P6RLO.js} +158 -10
- package/dist/{chunk-Y7JPSYTH.js → chunk-STY4IJ7W.js} +43 -1
- package/dist/client/control-center-socket.d.ts +14 -0
- package/dist/client/control-center-socket.d.ts.map +1 -0
- package/dist/client/daemon-client.d.ts.map +1 -1
- package/dist/client/data-client.d.ts +2 -1
- package/dist/client/data-client.d.ts.map +1 -1
- package/dist/client/http-data-client.d.ts.map +1 -1
- package/dist/client/index.js +209 -5
- package/dist/client/session-client.d.ts +4 -2
- package/dist/client/session-client.d.ts.map +1 -1
- package/dist/controller/agent-channel.d.ts +7 -2
- package/dist/controller/agent-channel.d.ts.map +1 -1
- package/dist/controller/index.js +394 -65
- package/dist/controller/session-controller.d.ts +25 -5
- package/dist/controller/session-controller.d.ts.map +1 -1
- package/dist/protocol/control-center.d.ts +141 -0
- package/dist/protocol/control-center.d.ts.map +1 -0
- package/dist/protocol/data-rpc.d.ts +5 -0
- package/dist/protocol/data-rpc.d.ts.map +1 -1
- package/dist/protocol/index.d.ts +2 -0
- package/dist/protocol/index.d.ts.map +1 -1
- package/dist/protocol/index.js +12 -2
- package/dist/protocol/submission-recovery.d.ts +6 -0
- package/dist/protocol/submission-recovery.d.ts.map +1 -0
- package/dist/protocol/types.d.ts +71 -6
- package/dist/protocol/types.d.ts.map +1 -1
- package/dist/protocol/version.d.ts +1 -1
- package/dist/state/index.js +9 -1
- package/dist/state/messages.d.ts +6 -2
- package/dist/state/messages.d.ts.map +1 -1
- package/dist/state/session.d.ts +4 -1
- package/dist/state/session.d.ts.map +1 -1
- package/dist/test-utils/index.js +2 -2
- package/package.json +2 -2
- package/dist/chunk-5PHEC5GZ.js +0 -85
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
// src/protocol/control-center.ts
|
|
2
|
+
function isRecord(value) {
|
|
3
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
4
|
+
}
|
|
5
|
+
function isStringArray(value) {
|
|
6
|
+
return Array.isArray(value) && value.every((entry) => typeof entry === "string");
|
|
7
|
+
}
|
|
8
|
+
function isScope(value) {
|
|
9
|
+
return isRecord(value) && ["profile", "workspace", "cwd"].every(
|
|
10
|
+
(key) => value[key] === void 0 || typeof value[key] === "string"
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
function isAgentDefinition(value) {
|
|
14
|
+
return isRecord(value) && ["filename", "name", "description", "systemPrompt"].every(
|
|
15
|
+
(key) => typeof value[key] === "string"
|
|
16
|
+
) && (value.model === void 0 || typeof value.model === "string") && typeof value.enabled === "boolean" && isStringArray(value.tools) && isStringArray(value.skills);
|
|
17
|
+
}
|
|
18
|
+
function isAgentMutation(value) {
|
|
19
|
+
return isRecord(value) && ["sourceKey", "agentId", "expectedRevision"].every((key) => typeof value[key] === "string");
|
|
20
|
+
}
|
|
21
|
+
var noArgs = (args) => args.length === 0;
|
|
22
|
+
var oneString = (args) => args.length === 1 && typeof args[0] === "string";
|
|
23
|
+
var argumentValidators = {
|
|
24
|
+
getState: noArgs,
|
|
25
|
+
completeSlashCommand: (args) => args.length === 2 && args.every((value) => typeof value === "string"),
|
|
26
|
+
runSlashCommand: oneString,
|
|
27
|
+
setConfig: (args) => args.length === 1 && Array.isArray(args[0]) && args[0].every(
|
|
28
|
+
(patch) => isRecord(patch) && typeof patch.key === "string" && Object.hasOwn(patch, "value") && patch.value !== void 0 && (patch.scope === "global" || patch.scope === "local")
|
|
29
|
+
),
|
|
30
|
+
listSkills: noArgs,
|
|
31
|
+
getSkill: oneString,
|
|
32
|
+
listAgents: noArgs,
|
|
33
|
+
getAgent: oneString,
|
|
34
|
+
getAgentEditorData: (args) => args.length === 0 || args.length === 1 && (args[0] === void 0 || typeof args[0] === "string"),
|
|
35
|
+
createAgent: (args) => args.length === 1 && isAgentDefinition(args[0]),
|
|
36
|
+
updateAgent: (args) => args.length === 1 && isAgentMutation(args[0]) && isAgentDefinition(args[0].definition),
|
|
37
|
+
deleteAgent: (args) => args.length === 1 && isAgentMutation(args[0]),
|
|
38
|
+
getCommand: oneString,
|
|
39
|
+
listMcpServers: noArgs,
|
|
40
|
+
mcpAction: (args) => args.length === 2 && ["enable", "disable", "reload", "login"].includes(args[0]) && typeof args[1] === "string",
|
|
41
|
+
listWorkspaceMemories: noArgs,
|
|
42
|
+
getWorkspaceMemory: oneString,
|
|
43
|
+
removeWorkspaceMemory: oneString,
|
|
44
|
+
listConsolidateProposals: noArgs,
|
|
45
|
+
getConsolidateProposal: oneString,
|
|
46
|
+
decideConsolidateProposal: (args) => (args.length === 2 || args.length === 3) && typeof args[0] === "string" && (args[1] === "approve" || args[1] === "reject") && (args.length === 2 || args[2] === void 0 || isStringArray(args[2])),
|
|
47
|
+
runConsolidate: noArgs
|
|
48
|
+
};
|
|
49
|
+
function parseControlCenterRequest(value) {
|
|
50
|
+
if (!isRecord(value) || !isScope(value.scope) || typeof value.operation !== "string" || !Object.hasOwn(argumentValidators, value.operation) || !Array.isArray(value.args) || !argumentValidators[value.operation](value.args)) {
|
|
51
|
+
throw new Error("Invalid management request.");
|
|
52
|
+
}
|
|
53
|
+
return value;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// src/protocol/history-text.ts
|
|
57
|
+
function stripTerminalStringSequences(value) {
|
|
58
|
+
let sanitized = "";
|
|
59
|
+
for (let index = 0; index < value.length; ) {
|
|
60
|
+
const code = value.charCodeAt(index);
|
|
61
|
+
const next = value.charCodeAt(index + 1);
|
|
62
|
+
const isSevenBitSequence = code === 27 && [80, 88, 93, 94, 95].includes(next);
|
|
63
|
+
const isEightBitSequence = [144, 152, 157, 158, 159].includes(code);
|
|
64
|
+
if (!isSevenBitSequence && !isEightBitSequence) {
|
|
65
|
+
sanitized += value[index];
|
|
66
|
+
index += 1;
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
index += isSevenBitSequence ? 2 : 1;
|
|
70
|
+
while (index < value.length) {
|
|
71
|
+
const terminator = value.charCodeAt(index);
|
|
72
|
+
if (terminator === 7 || terminator === 156) {
|
|
73
|
+
index += 1;
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
if (terminator === 27 && value.charCodeAt(index + 1) === 92) {
|
|
77
|
+
index += 2;
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
index += 1;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return sanitized;
|
|
84
|
+
}
|
|
85
|
+
function stripTerminalControlSequences(value) {
|
|
86
|
+
let sanitized = "";
|
|
87
|
+
for (let index = 0; index < value.length; ) {
|
|
88
|
+
const code = value.charCodeAt(index);
|
|
89
|
+
const isCsi = code === 155 || code === 27 && value.charCodeAt(index + 1) === 91;
|
|
90
|
+
if (isCsi) {
|
|
91
|
+
index += code === 27 ? 2 : 1;
|
|
92
|
+
while (index < value.length) {
|
|
93
|
+
const current = value.charCodeAt(index);
|
|
94
|
+
index += 1;
|
|
95
|
+
if (current >= 64 && current <= 126) break;
|
|
96
|
+
}
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
if (code === 27) {
|
|
100
|
+
index += 1;
|
|
101
|
+
while (index < value.length) {
|
|
102
|
+
const current = value.charCodeAt(index);
|
|
103
|
+
index += 1;
|
|
104
|
+
if (current < 32 || current > 47) break;
|
|
105
|
+
}
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
sanitized += value[index];
|
|
109
|
+
index += 1;
|
|
110
|
+
}
|
|
111
|
+
return sanitized;
|
|
112
|
+
}
|
|
113
|
+
function sanitizeHistoryDisplayText(value) {
|
|
114
|
+
return stripTerminalControlSequences(stripTerminalStringSequences(value.normalize("NFKC"))).replace(new RegExp("\\p{Cc}", "gu"), (control) => /\s/u.test(control) ? " " : "").replace(/\s+/gu, " ").trim();
|
|
115
|
+
}
|
|
116
|
+
function normalizeHistoryText(value) {
|
|
117
|
+
return sanitizeHistoryDisplayText(value).toLowerCase();
|
|
118
|
+
}
|
|
119
|
+
function escapeLikeLiteral(value) {
|
|
120
|
+
return value.replaceAll("\\", "\\\\").replaceAll("%", "\\%").replaceAll("_", "\\_");
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// src/protocol/model-identity.ts
|
|
124
|
+
function modelNameFromIdentity(modelIdentity) {
|
|
125
|
+
const separator = modelIdentity.indexOf(":");
|
|
126
|
+
return separator === -1 ? modelIdentity : modelIdentity.slice(separator + 1);
|
|
127
|
+
}
|
|
128
|
+
function providerFromIdentity(modelIdentity) {
|
|
129
|
+
const separator = modelIdentity.indexOf(":");
|
|
130
|
+
if (separator <= 0) return void 0;
|
|
131
|
+
return modelIdentity.slice(0, separator);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export {
|
|
135
|
+
parseControlCenterRequest,
|
|
136
|
+
sanitizeHistoryDisplayText,
|
|
137
|
+
normalizeHistoryText,
|
|
138
|
+
escapeLikeLiteral,
|
|
139
|
+
modelNameFromIdentity,
|
|
140
|
+
providerFromIdentity
|
|
141
|
+
};
|
|
@@ -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
|
|
642
|
-
|
|
643
|
-
if (
|
|
644
|
-
|
|
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
|
|
718
|
+
return cloned;
|
|
648
719
|
});
|
|
649
720
|
const nextId = normalizedMessages.reduce((max, message) => {
|
|
650
721
|
const match = /^message-(\d+)$/.exec(message.id);
|
|
@@ -670,14 +741,15 @@ function createMessageStateFromMessages(messages) {
|
|
|
670
741
|
toolMessageIds
|
|
671
742
|
};
|
|
672
743
|
}
|
|
673
|
-
function appendUserMessage(state, text, attachmentLabels, createdAt, steeredAt) {
|
|
744
|
+
function appendUserMessage(state, text, attachmentLabels, createdAt, steeredAt, submissionId) {
|
|
674
745
|
return addMessage(state, {
|
|
675
746
|
id: createMessageId(state),
|
|
676
747
|
role: "user",
|
|
677
748
|
text,
|
|
678
749
|
...attachmentLabels && attachmentLabels.length > 0 ? { attachmentLabels } : {},
|
|
679
750
|
...createdAt !== void 0 ? { createdAt } : {},
|
|
680
|
-
...steeredAt !== void 0 ? { steeredAt } : {}
|
|
751
|
+
...steeredAt !== void 0 ? { steeredAt } : {},
|
|
752
|
+
...submissionId === void 0 ? {} : { submissionId }
|
|
681
753
|
});
|
|
682
754
|
}
|
|
683
755
|
function appendErrorMessage(state, text) {
|
|
@@ -858,6 +930,13 @@ function applyAgentEvent(state, event, toolCallPath, now = Date.now()) {
|
|
|
858
930
|
toolCallPath,
|
|
859
931
|
now
|
|
860
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
|
+
}
|
|
861
940
|
case "delegated_model_resolved": {
|
|
862
941
|
const id = state.toolMessageIds[scopedToolKey(toolCallPath, event.parentToolCallId)];
|
|
863
942
|
if (id === void 0) return state;
|
|
@@ -1031,7 +1110,11 @@ function cloneQuestion2(question) {
|
|
|
1031
1110
|
return toolCallPath && toolCallPath.length > 0 ? { ...rootQuestion, toolCallPath: [...toolCallPath] } : rootQuestion;
|
|
1032
1111
|
}
|
|
1033
1112
|
function cloneMessage(message) {
|
|
1034
|
-
const cloned = message.role === "tool"
|
|
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;
|
|
1035
1118
|
const { toolCallPath, ...rootMessage } = cloned;
|
|
1036
1119
|
return toolCallPath && toolCallPath.length > 0 ? { ...rootMessage, toolCallPath: [...toolCallPath] } : rootMessage;
|
|
1037
1120
|
}
|
|
@@ -1047,6 +1130,8 @@ function cloneBackgroundWorkActive(active) {
|
|
|
1047
1130
|
function normalizeResetState(state) {
|
|
1048
1131
|
return {
|
|
1049
1132
|
...state,
|
|
1133
|
+
recall: copyRecallState(state.recall),
|
|
1134
|
+
activeHumanSubmission: state.activeHumanSubmission === null ? null : structuredClone(state.activeHumanSubmission),
|
|
1050
1135
|
backgroundAgents: {
|
|
1051
1136
|
...state.backgroundAgents,
|
|
1052
1137
|
runningRunIds: [...state.backgroundAgents.runningRunIds]
|
|
@@ -1074,6 +1159,8 @@ function normalizeResetState(state) {
|
|
|
1074
1159
|
}
|
|
1075
1160
|
function createSessionViewState() {
|
|
1076
1161
|
return {
|
|
1162
|
+
recall: { identity: null, entries: [] },
|
|
1163
|
+
activeHumanSubmission: null,
|
|
1077
1164
|
approval: createApprovalQueueState(),
|
|
1078
1165
|
authFlow: null,
|
|
1079
1166
|
backgroundAgents: { running: 0, queued: 0, runningRunIds: [] },
|
|
@@ -1090,6 +1177,32 @@ function createSessionViewState() {
|
|
|
1090
1177
|
}
|
|
1091
1178
|
function reduceSessionEvent(state, event) {
|
|
1092
1179
|
switch (event.type) {
|
|
1180
|
+
case "active-human-submission":
|
|
1181
|
+
return {
|
|
1182
|
+
...state,
|
|
1183
|
+
activeHumanSubmission: event.key === null ? null : structuredClone(event.key)
|
|
1184
|
+
};
|
|
1185
|
+
case "submission-retracted": {
|
|
1186
|
+
const { key, rawText } = event.result;
|
|
1187
|
+
const identity = state.recall.identity;
|
|
1188
|
+
if (identity === null || identity.profile !== key.identity.profile || identity.workspace !== key.identity.workspace || identity.sessionId !== key.identity.sessionId)
|
|
1189
|
+
return state;
|
|
1190
|
+
const recall = appendRecallEntry(state.recall, { key, rawText, retracted: true });
|
|
1191
|
+
const removed = new Set(event.removedMessageIds);
|
|
1192
|
+
return {
|
|
1193
|
+
...state,
|
|
1194
|
+
recall,
|
|
1195
|
+
activeHumanSubmission: state.activeHumanSubmission?.submissionId === key.submissionId ? null : state.activeHumanSubmission,
|
|
1196
|
+
messages: {
|
|
1197
|
+
...state.messages,
|
|
1198
|
+
messages: state.messages.messages.filter(
|
|
1199
|
+
(message) => !(message.role === "user" && message.submissionId === key.submissionId && removed.has(message.id))
|
|
1200
|
+
)
|
|
1201
|
+
}
|
|
1202
|
+
};
|
|
1203
|
+
}
|
|
1204
|
+
case "recall-state":
|
|
1205
|
+
return { ...state, recall: copyRecallState(event.recall) };
|
|
1093
1206
|
case "agent-event": {
|
|
1094
1207
|
let messages = applyAgentEvent(
|
|
1095
1208
|
state.messages,
|
|
@@ -1123,7 +1236,8 @@ function reduceSessionEvent(state, event) {
|
|
|
1123
1236
|
event.text,
|
|
1124
1237
|
event.attachmentLabels,
|
|
1125
1238
|
event.at,
|
|
1126
|
-
event.steeredAt
|
|
1239
|
+
event.steeredAt,
|
|
1240
|
+
event.submissionId
|
|
1127
1241
|
)
|
|
1128
1242
|
};
|
|
1129
1243
|
case "approval-requested":
|
|
@@ -1217,6 +1331,36 @@ function reduceSessionEvent(state, event) {
|
|
|
1217
1331
|
return state;
|
|
1218
1332
|
}
|
|
1219
1333
|
}
|
|
1334
|
+
function appendRecallEntry(state, entry) {
|
|
1335
|
+
const identity = state.identity;
|
|
1336
|
+
if (identity === null || identity.profile !== entry.key.identity.profile || identity.workspace !== entry.key.identity.workspace || identity.sessionId !== entry.key.identity.sessionId)
|
|
1337
|
+
return state;
|
|
1338
|
+
if (typeof entry.key.submissionId !== "string" || entry.key.submissionId.trim().length === 0 || typeof entry.rawText !== "string" || typeof entry.retracted !== "boolean") {
|
|
1339
|
+
throw new Error("Invalid recall entry");
|
|
1340
|
+
}
|
|
1341
|
+
const index = state.entries.findIndex((item) => item.key.submissionId === entry.key.submissionId);
|
|
1342
|
+
const previous = state.entries[index];
|
|
1343
|
+
if (previous !== void 0) {
|
|
1344
|
+
if (previous.rawText !== entry.rawText) throw new Error("Conflicting submission raw text");
|
|
1345
|
+
if (previous.retracted || !entry.retracted) return state;
|
|
1346
|
+
const entries = [...state.entries];
|
|
1347
|
+
entries[index] = { ...previous, retracted: true };
|
|
1348
|
+
return { ...state, entries };
|
|
1349
|
+
}
|
|
1350
|
+
return { ...state, entries: [structuredClone(entry), ...state.entries] };
|
|
1351
|
+
}
|
|
1352
|
+
function copyRecallState(recall) {
|
|
1353
|
+
let copy = {
|
|
1354
|
+
identity: recall.identity === null ? null : { ...recall.identity },
|
|
1355
|
+
entries: []
|
|
1356
|
+
};
|
|
1357
|
+
for (const entry of [...recall.entries].reverse()) {
|
|
1358
|
+
if (copy.identity === null || copy.identity.profile !== entry.key.identity.profile || copy.identity.workspace !== entry.key.identity.workspace || copy.identity.sessionId !== entry.key.identity.sessionId)
|
|
1359
|
+
throw new Error("Recall entry identity mismatch");
|
|
1360
|
+
copy = appendRecallEntry(copy, entry);
|
|
1361
|
+
}
|
|
1362
|
+
return copy;
|
|
1363
|
+
}
|
|
1220
1364
|
|
|
1221
1365
|
export {
|
|
1222
1366
|
BACKGROUNDLESS_TOOLS,
|
|
@@ -1231,6 +1375,8 @@ export {
|
|
|
1231
1375
|
asJsonObject,
|
|
1232
1376
|
scopedToolKey,
|
|
1233
1377
|
isProviderRetryMessage,
|
|
1378
|
+
cloneDelegatedMetrics,
|
|
1379
|
+
withDelegatedMetrics,
|
|
1234
1380
|
withDelegatedModel,
|
|
1235
1381
|
settleAllProviderRetries,
|
|
1236
1382
|
settleAllLiveReasoning,
|
|
@@ -1254,5 +1400,7 @@ export {
|
|
|
1254
1400
|
splitSanitizableDelivery,
|
|
1255
1401
|
sanitizeCoordinatorDeliveryText,
|
|
1256
1402
|
createSessionViewState,
|
|
1257
|
-
reduceSessionEvent
|
|
1403
|
+
reduceSessionEvent,
|
|
1404
|
+
appendRecallEntry,
|
|
1405
|
+
copyRecallState
|
|
1258
1406
|
};
|
|
@@ -197,8 +197,46 @@ function parseBackgroundWorkCancellation(value) {
|
|
|
197
197
|
return { workId: value.workId, outcome: value.outcome };
|
|
198
198
|
}
|
|
199
199
|
|
|
200
|
+
// src/protocol/submission-recovery.ts
|
|
201
|
+
function record(value) {
|
|
202
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
203
|
+
}
|
|
204
|
+
function exact(value, fields) {
|
|
205
|
+
return Object.keys(value).length === fields.length && fields.every((field) => Object.hasOwn(value, field));
|
|
206
|
+
}
|
|
207
|
+
function text(value) {
|
|
208
|
+
return typeof value === "string" && value.trim().length > 0;
|
|
209
|
+
}
|
|
210
|
+
function isSubmissionKey(value) {
|
|
211
|
+
return record(value) && exact(value, ["identity", "submissionId"]) && text(value.submissionId) && record(value.identity) && exact(value.identity, ["profile", "workspace", "sessionId"]) && text(value.identity.profile) && text(value.identity.workspace) && text(value.identity.sessionId);
|
|
212
|
+
}
|
|
213
|
+
function sameSubmissionKey(left, right) {
|
|
214
|
+
return left === null || right === null ? left === right : left.submissionId === right.submissionId && left.identity.profile === right.identity.profile && left.identity.workspace === right.identity.workspace && left.identity.sessionId === right.identity.sessionId;
|
|
215
|
+
}
|
|
216
|
+
function parseAbortRecoveryRequest(value) {
|
|
217
|
+
if (!record(value) || !exact(value, ["target"]) || value.target !== null && !isSubmissionKey(value.target))
|
|
218
|
+
throw new Error("Invalid abort recovery request");
|
|
219
|
+
return structuredClone(value);
|
|
220
|
+
}
|
|
221
|
+
function parseAbortRecoveryResult(value, request) {
|
|
222
|
+
if (!record(value)) throw new Error("Invalid abort recovery result");
|
|
223
|
+
let key;
|
|
224
|
+
if (value.status === "retracted" && exact(value, ["status", "key", "rawText"]) && isSubmissionKey(value.key) && typeof value.rawText === "string")
|
|
225
|
+
key = value.key;
|
|
226
|
+
else if (value.status === "not-retracted" && exact(value, ["status", "target", "reason"]) && (value.target === null || isSubmissionKey(value.target)) && typeof value.reason === "string" && ["no-active-human", "target-mismatch", "activity-started", "already-finished"].includes(
|
|
227
|
+
value.reason
|
|
228
|
+
))
|
|
229
|
+
key = value.target;
|
|
230
|
+
else if (value.status === "failed" && exact(value, ["status", "target", "code", "message"]) && (value.target === null || isSubmissionKey(value.target)) && typeof value.code === "string" && ["abort-failed", "persistence-failed", "persistence-unavailable"].includes(value.code) && typeof value.message === "string")
|
|
231
|
+
key = value.target;
|
|
232
|
+
else throw new Error("Invalid abort recovery result");
|
|
233
|
+
if (request !== void 0 && !sameSubmissionKey(key, request.target))
|
|
234
|
+
throw new Error("Mismatched abort recovery result");
|
|
235
|
+
return structuredClone(value);
|
|
236
|
+
}
|
|
237
|
+
|
|
200
238
|
// src/protocol/version.ts
|
|
201
|
-
var PROTOCOL_VERSION =
|
|
239
|
+
var PROTOCOL_VERSION = 72;
|
|
202
240
|
|
|
203
241
|
export {
|
|
204
242
|
BACKGROUND_WORK_PROTOCOL_LIMITS,
|
|
@@ -207,5 +245,9 @@ export {
|
|
|
207
245
|
parseBackgroundWorkPage,
|
|
208
246
|
parseBackgroundWorkInspection,
|
|
209
247
|
parseBackgroundWorkCancellation,
|
|
248
|
+
isSubmissionKey,
|
|
249
|
+
sameSubmissionKey,
|
|
250
|
+
parseAbortRecoveryRequest,
|
|
251
|
+
parseAbortRecoveryResult,
|
|
210
252
|
PROTOCOL_VERSION
|
|
211
253
|
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ControlCenterRequest, ControlCenterResult } from "../protocol/control-center.ts";
|
|
2
|
+
import type { GetEndpoint } from "./endpoint.ts";
|
|
3
|
+
import type { TransportSocket } from "./socket.ts";
|
|
4
|
+
export declare const CONTROL_CENTER_UNSUPPORTED = "Control Center is unavailable on this daemon. Update or restart the daemon and try again.";
|
|
5
|
+
/** A dedicated, authenticated management connection. It never sends attach. */
|
|
6
|
+
export declare function createControlCenterSocketClient(options: {
|
|
7
|
+
getEndpoint: GetEndpoint;
|
|
8
|
+
socketFactory: (url: string) => TransportSocket;
|
|
9
|
+
timeoutMs?: number;
|
|
10
|
+
}): {
|
|
11
|
+
request(input: ControlCenterRequest): Promise<ControlCenterResult>;
|
|
12
|
+
close(): void;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=control-center-socket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-center-socket.d.ts","sourceRoot":"","sources":["../../src/client/control-center-socket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE/F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,0BAA0B,8FACsD,CAAC;AAE9F,+EAA+E;AAC/E,wBAAgB,+BAA+B,CAAC,OAAO,EAAE;IACvD,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,eAAe,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;mBA2IwB,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;aAwB/D,IAAI;EAMhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-client.d.ts","sourceRoot":"","sources":["../../src/client/daemon-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"daemon-client.d.ts","sourceRoot":"","sources":["../../src/client/daemon-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzE,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC/B,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,kBAAkB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C,CAAC;AAEN,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,KAAK,CAAC;IAChD,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,eAAe,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GACnF,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GACjB,KAAK,CAAC;AAEV,MAAM,MAAM,qBAAqB,GAAG;KACjC,CAAC,IAAI,MAAM,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,wBAAwB,CAAC;IACpC,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,yBAAyB,EAAE,YAAY,GAAG,YAAY,CAAC,CAAC;AAEpG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,iBAAiB,IAAI,qBAAqB,CAAC;IAC3C,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,iBAAiB,CAAC;IACtF,KAAK,IAAI,IAAI,CAAC;CACf;AASD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,GACf,qBAAqB,CA2BvB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE,gBAAqB,GAC1B,YAAY,CA2Nd"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AddProviderInput, AgentModelSetsView, AgentModelTierMappings, ConfigMutationResult, DaemonDirectoryRow, HistoryPage, ListHistoryParams, ListHistoryWorkspacesParams, ListHistoryWorkspacesResult, ListWorkspaceHistoryParams, ModelReasoningCapabilityView, PersistenceIdentity, ProfileSummary, ProviderConfigSummary, ProviderCredentialInput, SessionSnapshot, UpdateWorkspaceInput, WorkspaceConfigSummary, WorkspaceHistoryPage } from "../protocol/index.ts";
|
|
1
|
+
import type { AddProviderInput, AgentModelSetsView, AgentModelTierMappings, ConfigMutationResult, ControlCenterRequest, ControlCenterResult, DaemonDirectoryRow, HistoryPage, ListHistoryParams, ListHistoryWorkspacesParams, ListHistoryWorkspacesResult, ListWorkspaceHistoryParams, ModelReasoningCapabilityView, PersistenceIdentity, ProfileSummary, ProviderConfigSummary, ProviderCredentialInput, SessionSnapshot, UpdateWorkspaceInput, WorkspaceConfigSummary, WorkspaceHistoryPage } from "../protocol/index.ts";
|
|
2
2
|
import type { TransportCredential } from "./endpoint.ts";
|
|
3
3
|
/** Discovery payload: the daemon directory (account-scoped cloud, machine-scoped local). */
|
|
4
4
|
export type DaemonDirectory = {
|
|
@@ -35,6 +35,7 @@ export interface DaemonDirectoryClient {
|
|
|
35
35
|
* message; everything else is a plain `Error`.
|
|
36
36
|
*/
|
|
37
37
|
export interface DaemonDataClient {
|
|
38
|
+
controlCenter(daemonId: string, input: ControlCenterRequest): Promise<ControlCenterResult>;
|
|
38
39
|
fetchTranscript(daemonId: string, identity: PersistenceIdentity): Promise<SessionSnapshot>;
|
|
39
40
|
fetchHistory(daemonId: string, opts?: ListHistoryParams): Promise<HistoryPage>;
|
|
40
41
|
listHistoryWorkspaces(daemonId: string, opts?: ListHistoryWorkspacesParams & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-client.d.ts","sourceRoot":"","sources":["../../src/client/data-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data-client.d.ts","sourceRoot":"","sources":["../../src/client/data-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-data-client.d.ts","sourceRoot":"","sources":["../../src/client/http-data-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"http-data-client.d.ts","sourceRoot":"","sources":["../../src/client/http-data-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAOV,YAAY,EASb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAmC,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGpF,MAAM,MAAM,qBAAqB,GAAG;IAClC,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B,CAAC;AAEF,qBAAa,kBAAmB,SAAQ,KAAK;IAEzC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;gBAA1B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EACnC,OAAO,EAAE,MAAM;CAKlB;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIvD;AA6CD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,qBAA0B,GAAG,UAAU,CAmgBpF"}
|