agentfootprint 9.95.0 → 9.97.0
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/CHANGELOG.md +46 -0
- package/CLAUDE.md +2 -1
- package/dist/core/Agent.js +80 -7
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/RunnerBase.js +10 -0
- package/dist/core/RunnerBase.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +12 -0
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/evidence/gate.js +13 -1
- package/dist/core/agent/evidence/gate.js.map +1 -1
- package/dist/core/agent/evidence/recovery.js +75 -0
- package/dist/core/agent/evidence/recovery.js.map +1 -0
- package/dist/core/agent/stages/callLLM.js +24 -3
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core/agent/stages/evidenceRecheck.js +12 -22
- package/dist/core/agent/stages/evidenceRecheck.js.map +1 -1
- package/dist/core/agent/stages/seed.js +6 -1
- package/dist/core/agent/stages/seed.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +22 -3
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/inputRequest.js +202 -0
- package/dist/core/inputRequest.js.map +1 -0
- package/dist/core/pause.js +17 -1
- package/dist/core/pause.js.map +1 -1
- package/dist/core/runCheckpoint.js +22 -1
- package/dist/core/runCheckpoint.js.map +1 -1
- package/dist/core/toolSessions.js +10 -8
- package/dist/core/toolSessions.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +6 -2
- package/dist/esm/core/Agent.js +80 -7
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/RunnerBase.d.ts +7 -0
- package/dist/esm/core/RunnerBase.js +10 -0
- package/dist/esm/core/RunnerBase.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +12 -0
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/evidence/gate.js +13 -1
- package/dist/esm/core/agent/evidence/gate.js.map +1 -1
- package/dist/esm/core/agent/evidence/index.d.ts +1 -1
- package/dist/esm/core/agent/evidence/recovery.d.ts +21 -0
- package/dist/esm/core/agent/evidence/recovery.js +69 -0
- package/dist/esm/core/agent/evidence/recovery.js.map +1 -0
- package/dist/esm/core/agent/evidence/types.d.ts +30 -0
- package/dist/esm/core/agent/stages/callLLM.d.ts +2 -0
- package/dist/esm/core/agent/stages/callLLM.js +24 -3
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/agent/stages/evidenceRecheck.d.ts +3 -6
- package/dist/esm/core/agent/stages/evidenceRecheck.js +13 -23
- package/dist/esm/core/agent/stages/evidenceRecheck.js.map +1 -1
- package/dist/esm/core/agent/stages/seed.d.ts +3 -0
- package/dist/esm/core/agent/stages/seed.js +6 -1
- package/dist/esm/core/agent/stages/seed.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.d.ts +1 -0
- package/dist/esm/core/agent/stages/toolCalls.js +22 -3
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +6 -1
- package/dist/esm/core/inputRequest.d.ts +62 -0
- package/dist/esm/core/inputRequest.js +194 -0
- package/dist/esm/core/inputRequest.js.map +1 -0
- package/dist/esm/core/pause.d.ts +9 -0
- package/dist/esm/core/pause.js +14 -0
- package/dist/esm/core/pause.js.map +1 -1
- package/dist/esm/core/runCheckpoint.d.ts +17 -1
- package/dist/esm/core/runCheckpoint.js +22 -1
- package/dist/esm/core/runCheckpoint.js.map +1 -1
- package/dist/esm/core/toolSessions.d.ts +10 -7
- package/dist/esm/core/toolSessions.js +10 -8
- package/dist/esm/core/toolSessions.js.map +1 -1
- package/dist/esm/events/types.d.ts +1 -1
- package/dist/esm/hosting/httpHost.js +7 -2
- package/dist/esm/hosting/httpHost.js.map +1 -1
- package/dist/esm/hosting/index.d.ts +1 -1
- package/dist/esm/hosting/index.js +1 -1
- package/dist/esm/hosting/index.js.map +1 -1
- package/dist/esm/hosting/ingressRecord.js +8 -3
- package/dist/esm/hosting/ingressRecord.js.map +1 -1
- package/dist/esm/hosting/sessionWire.d.ts +7 -0
- package/dist/esm/hosting/sessionWire.js +6 -3
- package/dist/esm/hosting/sessionWire.js.map +1 -1
- package/dist/esm/hosting/standingAgent.js +70 -4
- package/dist/esm/hosting/standingAgent.js.map +1 -1
- package/dist/esm/hosting/types.d.ts +3 -0
- package/dist/esm/hosting/types.js.map +1 -1
- package/dist/esm/hosting/wireOps.d.ts +2 -0
- package/dist/esm/hosting/wireOps.js +4 -1
- package/dist/esm/hosting/wireOps.js.map +1 -1
- package/dist/esm/index.d.ts +4 -2
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/time-travel/servedView.js +5 -2
- package/dist/esm/lib/time-travel/servedView.js.map +1 -1
- package/dist/esm/recorders/core/contextEngineering.js +1 -0
- package/dist/esm/recorders/core/contextEngineering.js.map +1 -1
- package/dist/hosting/httpHost.js +6 -1
- package/dist/hosting/httpHost.js.map +1 -1
- package/dist/hosting/index.js +2 -1
- package/dist/hosting/index.js.map +1 -1
- package/dist/hosting/ingressRecord.js +7 -2
- package/dist/hosting/ingressRecord.js.map +1 -1
- package/dist/hosting/sessionWire.js +7 -4
- package/dist/hosting/sessionWire.js.map +1 -1
- package/dist/hosting/standingAgent.js +69 -3
- package/dist/hosting/standingAgent.js.map +1 -1
- package/dist/hosting/types.js.map +1 -1
- package/dist/hosting/wireOps.js +4 -1
- package/dist/hosting/wireOps.js.map +1 -1
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/lib/time-travel/servedView.js +5 -2
- package/dist/lib/time-travel/servedView.js.map +1 -1
- package/dist/recorders/core/contextEngineering.js +1 -0
- package/dist/recorders/core/contextEngineering.js.map +1 -1
- package/dist/types/core/Agent.d.ts +6 -2
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/RunnerBase.d.ts +7 -0
- package/dist/types/core/RunnerBase.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/gate.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/index.d.ts +1 -1
- package/dist/types/core/agent/evidence/index.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/recovery.d.ts +22 -0
- package/dist/types/core/agent/evidence/recovery.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/types.d.ts +30 -0
- package/dist/types/core/agent/evidence/types.d.ts.map +1 -1
- package/dist/types/core/agent/stages/callLLM.d.ts +2 -0
- package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
- package/dist/types/core/agent/stages/evidenceRecheck.d.ts +3 -6
- package/dist/types/core/agent/stages/evidenceRecheck.d.ts.map +1 -1
- package/dist/types/core/agent/stages/seed.d.ts +3 -0
- package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +1 -0
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +6 -1
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/inputRequest.d.ts +63 -0
- package/dist/types/core/inputRequest.d.ts.map +1 -0
- package/dist/types/core/pause.d.ts +9 -0
- package/dist/types/core/pause.d.ts.map +1 -1
- package/dist/types/core/runCheckpoint.d.ts +17 -1
- package/dist/types/core/runCheckpoint.d.ts.map +1 -1
- package/dist/types/core/toolSessions.d.ts +10 -7
- package/dist/types/core/toolSessions.d.ts.map +1 -1
- package/dist/types/events/types.d.ts +1 -1
- package/dist/types/events/types.d.ts.map +1 -1
- package/dist/types/hosting/httpHost.d.ts.map +1 -1
- package/dist/types/hosting/index.d.ts +1 -1
- package/dist/types/hosting/index.d.ts.map +1 -1
- package/dist/types/hosting/ingressRecord.d.ts.map +1 -1
- package/dist/types/hosting/sessionWire.d.ts +7 -0
- package/dist/types/hosting/sessionWire.d.ts.map +1 -1
- package/dist/types/hosting/standingAgent.d.ts.map +1 -1
- package/dist/types/hosting/types.d.ts +3 -0
- package/dist/types/hosting/types.d.ts.map +1 -1
- package/dist/types/hosting/wireOps.d.ts +2 -0
- package/dist/types/hosting/wireOps.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/time-travel/servedView.d.ts.map +1 -1
- package/dist/types/recorders/core/contextEngineering.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyInputResponse = exports.readAwaitingInput = exports.stampInputRequest = exports.validateInputDeclaration = exports.InputRequestError = void 0;
|
|
4
|
+
const own = (o, k) => Object.prototype.hasOwnProperty.call(o, k);
|
|
5
|
+
function object(value) {
|
|
6
|
+
return (typeof value === 'object' &&
|
|
7
|
+
value !== null &&
|
|
8
|
+
!Array.isArray(value) &&
|
|
9
|
+
(Object.getPrototypeOf(value) === Object.prototype || Object.getPrototypeOf(value) === null));
|
|
10
|
+
}
|
|
11
|
+
function nonempty(value) {
|
|
12
|
+
return typeof value === 'string' && value.trim().length > 0 && value.length <= 4096;
|
|
13
|
+
}
|
|
14
|
+
function jsonValue(value, seen = new Set(), depth = 0) {
|
|
15
|
+
if (depth > 32)
|
|
16
|
+
return false;
|
|
17
|
+
if (value === null || typeof value === 'string' || typeof value === 'boolean')
|
|
18
|
+
return true;
|
|
19
|
+
if (typeof value === 'number')
|
|
20
|
+
return Number.isFinite(value);
|
|
21
|
+
if (!Array.isArray(value) && !object(value))
|
|
22
|
+
return false;
|
|
23
|
+
if (seen.has(value))
|
|
24
|
+
return false;
|
|
25
|
+
seen.add(value);
|
|
26
|
+
const valid = Object.values(value).every((child) => jsonValue(child, seen, depth + 1));
|
|
27
|
+
seen.delete(value);
|
|
28
|
+
return valid;
|
|
29
|
+
}
|
|
30
|
+
function fail(reason) {
|
|
31
|
+
throw new InputRequestError(reason);
|
|
32
|
+
}
|
|
33
|
+
/** A malformed or stale data reply; no value was consumed and the ask remains live. */
|
|
34
|
+
class InputRequestError extends TypeError {
|
|
35
|
+
code = 'ERR_INPUT_REQUEST_INVALID';
|
|
36
|
+
constructor(reason) {
|
|
37
|
+
super(`[input request] ${reason}. No input was accepted.`);
|
|
38
|
+
this.name = 'InputRequestError';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.InputRequestError = InputRequestError;
|
|
42
|
+
function validateValues(fields, raw) {
|
|
43
|
+
if (!object(raw))
|
|
44
|
+
fail('values must be an object');
|
|
45
|
+
const values = {};
|
|
46
|
+
for (const [id, value] of Object.entries(raw)) {
|
|
47
|
+
const field = fields.find((f) => f.id === id);
|
|
48
|
+
if (!field)
|
|
49
|
+
fail('values contain an undeclared field');
|
|
50
|
+
if (typeof value !== field.type ||
|
|
51
|
+
(typeof value === 'number' && !Number.isFinite(value)) ||
|
|
52
|
+
(typeof value === 'string' && (value.length > 4096 || value.trim().length === 0)) ||
|
|
53
|
+
(field.enum !== undefined && !field.enum.includes(value))) {
|
|
54
|
+
fail('a value does not satisfy its declared field type or choices');
|
|
55
|
+
}
|
|
56
|
+
Object.defineProperty(values, id, {
|
|
57
|
+
value,
|
|
58
|
+
enumerable: true,
|
|
59
|
+
writable: true,
|
|
60
|
+
configurable: true,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return values;
|
|
64
|
+
}
|
|
65
|
+
/** One validation owner, shared by the declaration and durable-pause readers. */
|
|
66
|
+
function validateInputDeclaration(raw) {
|
|
67
|
+
if (!object(raw) ||
|
|
68
|
+
!nonempty(raw.id) ||
|
|
69
|
+
!nonempty(raw.question) ||
|
|
70
|
+
!Array.isArray(raw.fields) ||
|
|
71
|
+
raw.fields.length < 1 ||
|
|
72
|
+
raw.fields.length > 32) {
|
|
73
|
+
fail('declare an id, question and between one and 32 fields');
|
|
74
|
+
}
|
|
75
|
+
if (Object.keys(raw).some((k) => !['id', 'question', 'fields', 'supplied', 'context'].includes(k)))
|
|
76
|
+
fail('unknown declaration field');
|
|
77
|
+
const ids = new Set();
|
|
78
|
+
const fields = raw.fields.map((field) => {
|
|
79
|
+
if (!object(field) ||
|
|
80
|
+
!nonempty(field.id) ||
|
|
81
|
+
ids.has(field.id) ||
|
|
82
|
+
typeof field.type !== 'string' ||
|
|
83
|
+
!['string', 'number', 'boolean'].includes(String(field.type)) ||
|
|
84
|
+
(field.required !== undefined && typeof field.required !== 'boolean') ||
|
|
85
|
+
(field.description !== undefined && !nonempty(field.description)) ||
|
|
86
|
+
Object.keys(field).some((k) => !['id', 'type', 'required', 'enum', 'description'].includes(k)))
|
|
87
|
+
fail('invalid or duplicate input field');
|
|
88
|
+
ids.add(field.id);
|
|
89
|
+
const copy = { ...field };
|
|
90
|
+
if (field.enum !== undefined) {
|
|
91
|
+
if (!Array.isArray(field.enum) || field.enum.length === 0 || field.enum.length > 100)
|
|
92
|
+
fail('enum must contain between one and 100 choices');
|
|
93
|
+
for (const value of field.enum)
|
|
94
|
+
validateValues([{ ...copy, enum: undefined }], { [field.id]: value });
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
id: copy.id,
|
|
98
|
+
type: copy.type,
|
|
99
|
+
...(copy.required !== undefined && { required: copy.required }),
|
|
100
|
+
...(copy.description !== undefined && { description: copy.description }),
|
|
101
|
+
...(copy.enum !== undefined && { enum: [...copy.enum] }),
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
const supplied = validateValues(fields, raw.supplied ?? {});
|
|
105
|
+
let context;
|
|
106
|
+
if (raw.context !== undefined) {
|
|
107
|
+
if (!object(raw.context) || !jsonValue(raw.context))
|
|
108
|
+
fail('context must be a JSON object');
|
|
109
|
+
const json = JSON.stringify(raw.context, (_key, value) => {
|
|
110
|
+
if (value === undefined ||
|
|
111
|
+
typeof value === 'function' ||
|
|
112
|
+
typeof value === 'symbol' ||
|
|
113
|
+
typeof value === 'bigint' ||
|
|
114
|
+
(typeof value === 'number' && !Number.isFinite(value)))
|
|
115
|
+
fail('context must contain JSON values');
|
|
116
|
+
return value;
|
|
117
|
+
});
|
|
118
|
+
if (json.length > 16384)
|
|
119
|
+
fail('context exceeds 16384 characters');
|
|
120
|
+
context = JSON.parse(json);
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
id: raw.id,
|
|
124
|
+
question: raw.question,
|
|
125
|
+
fields,
|
|
126
|
+
...(raw.supplied !== undefined && { supplied }),
|
|
127
|
+
...(context !== undefined && { context }),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
exports.validateInputDeclaration = validateInputDeclaration;
|
|
131
|
+
/** Runtime-only stamping: a model cannot choose its saved skill or original request. */
|
|
132
|
+
function stampInputRequest(declaration, requestId, origin) {
|
|
133
|
+
const clean = validateInputDeclaration(declaration);
|
|
134
|
+
const supplied = { ...clean.supplied };
|
|
135
|
+
return {
|
|
136
|
+
...clean,
|
|
137
|
+
status: 'awaiting_input',
|
|
138
|
+
requestId,
|
|
139
|
+
supplied,
|
|
140
|
+
origins: Object.fromEntries(Object.keys(supplied).map((k) => [k, 'declaration'])),
|
|
141
|
+
missing: clean.fields
|
|
142
|
+
.filter((f) => f.required !== false && !own(supplied, f.id))
|
|
143
|
+
.map((f) => f.id),
|
|
144
|
+
origin: JSON.parse(JSON.stringify(origin)),
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
exports.stampInputRequest = stampInputRequest;
|
|
148
|
+
/** Read only an explicitly declared, well-shaped input pause; never assistant prose. */
|
|
149
|
+
function readAwaitingInput(pauseData) {
|
|
150
|
+
if (!object(pauseData) || !own(pauseData, 'awaitingInput'))
|
|
151
|
+
return undefined;
|
|
152
|
+
const value = pauseData.awaitingInput;
|
|
153
|
+
if (!object(value) ||
|
|
154
|
+
value.status !== 'awaiting_input' ||
|
|
155
|
+
!nonempty(value.requestId) ||
|
|
156
|
+
!object(value.origin) ||
|
|
157
|
+
typeof value.origin.originalRequest !== 'string' ||
|
|
158
|
+
!nonempty(value.origin.toolCallId))
|
|
159
|
+
fail('malformed stored input request');
|
|
160
|
+
const clean = validateInputDeclaration({
|
|
161
|
+
id: value.id,
|
|
162
|
+
question: value.question,
|
|
163
|
+
fields: value.fields,
|
|
164
|
+
supplied: value.supplied,
|
|
165
|
+
...(value.context !== undefined && { context: value.context }),
|
|
166
|
+
});
|
|
167
|
+
const origins = value.origins;
|
|
168
|
+
if (!object(origins) ||
|
|
169
|
+
Object.keys(clean.supplied ?? {}).some((k) => !['declaration', 'response'].includes(String(origins[k]))))
|
|
170
|
+
fail('malformed input origins');
|
|
171
|
+
return JSON.parse(JSON.stringify({ ...value, ...clean }));
|
|
172
|
+
}
|
|
173
|
+
exports.readAwaitingInput = readAwaitingInput;
|
|
174
|
+
/** Accept typed fields, or explicit cancellation, without coercing free text. */
|
|
175
|
+
function applyInputResponse(waiting, raw) {
|
|
176
|
+
if (!object(raw) || raw.requestId !== waiting.requestId)
|
|
177
|
+
fail('response names a different input request');
|
|
178
|
+
if (raw.cancel === true) {
|
|
179
|
+
if (Object.keys(raw).some((k) => !['requestId', 'cancel'].includes(k)))
|
|
180
|
+
fail('cancellation cannot carry values');
|
|
181
|
+
return { requestId: waiting.requestId, cancel: true };
|
|
182
|
+
}
|
|
183
|
+
if (Object.keys(raw).some((k) => !['requestId', 'values'].includes(k)))
|
|
184
|
+
fail('unknown response field');
|
|
185
|
+
const values = validateValues(waiting.fields, raw.values);
|
|
186
|
+
if (Object.keys(values).length === 0)
|
|
187
|
+
fail('supply at least one field or cancel explicitly');
|
|
188
|
+
const supplied = { ...waiting.supplied, ...values };
|
|
189
|
+
return {
|
|
190
|
+
...waiting,
|
|
191
|
+
supplied,
|
|
192
|
+
origins: {
|
|
193
|
+
...waiting.origins,
|
|
194
|
+
...Object.fromEntries(Object.keys(values).map((k) => [k, 'response'])),
|
|
195
|
+
},
|
|
196
|
+
missing: waiting.fields
|
|
197
|
+
.filter((f) => f.required !== false && !own(supplied, f.id))
|
|
198
|
+
.map((f) => f.id),
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
exports.applyInputResponse = applyInputResponse;
|
|
202
|
+
//# sourceMappingURL=inputRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputRequest.js","sourceRoot":"","sources":["../../src/core/inputRequest.ts"],"names":[],"mappings":"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"}
|
package/dist/core/pause.js
CHANGED
|
@@ -17,13 +17,29 @@
|
|
|
17
17
|
* the tool API clean (tools are pure-ish) while still supporting pause.
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.askHuman = exports.isPauseRequest = exports.pauseHere = exports.PauseRequest = exports.PauseAnswerRequiredError = exports.DecisionRequiredError = exports.StaleDecisionError = exports.pauseDemandsDecision = exports.assertDecisionIsNotStale = exports.isAskPause = exports.isCheckInPause = exports.isPaused = void 0;
|
|
20
|
+
exports.askHuman = exports.isPauseRequest = exports.pauseHere = exports.PauseRequest = exports.PauseAnswerRequiredError = exports.DecisionRequiredError = exports.StaleDecisionError = exports.pauseDemandsDecision = exports.assertDecisionIsNotStale = exports.isAskPause = exports.isCheckInPause = exports.requestInput = exports.isInputPause = exports.isPaused = void 0;
|
|
21
21
|
const askComponent_js_1 = require("./askComponent.js");
|
|
22
|
+
const inputRequest_js_1 = require("./inputRequest.js");
|
|
22
23
|
/** Type guard — discriminates `RunnerPauseOutcome` from a normal `TOut`. */
|
|
23
24
|
function isPaused(result) {
|
|
24
25
|
return (typeof result === 'object' && result !== null && result.paused === true);
|
|
25
26
|
}
|
|
26
27
|
exports.isPaused = isPaused;
|
|
28
|
+
/** A missing-input pause, distinct from every consent gate. */
|
|
29
|
+
function isInputPause(result) {
|
|
30
|
+
return isPaused(result) && result.awaitingInput !== undefined;
|
|
31
|
+
}
|
|
32
|
+
exports.isInputPause = isInputPause;
|
|
33
|
+
/** Collect declared fields using a dedicated tool. The query itself runs afterwards. */
|
|
34
|
+
function requestInput(declaration) {
|
|
35
|
+
const inputRequest = (0, inputRequest_js_1.validateInputDeclaration)(declaration);
|
|
36
|
+
if (!inputRequest.fields.some((field) => field.required !== false &&
|
|
37
|
+
!Object.prototype.hasOwnProperty.call(inputRequest.supplied ?? {}, field.id))) {
|
|
38
|
+
throw new inputRequest_js_1.InputRequestError('no required fields are missing; continue without requesting input');
|
|
39
|
+
}
|
|
40
|
+
return pauseHere({ question: inputRequest.question, inputRequest });
|
|
41
|
+
}
|
|
42
|
+
exports.requestInput = requestInput;
|
|
27
43
|
/**
|
|
28
44
|
* Type guard — is this a check-in pause (evidence-carrying human consent),
|
|
29
45
|
* as opposed to a plain `askHuman` pause? Narrows `checkIn` to present.
|
package/dist/core/pause.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pause.js","sourceRoot":"","sources":["../../src/core/pause.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,uDAAqD;
|
|
1
|
+
{"version":3,"file":"pause.js","sourceRoot":"","sources":["../../src/core/pause.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
58
|
exports.classifyFailurePhase = exports.validateCheckpoint = exports.buildCheckpoint = exports.assertContinuable = exports.ConversationMismatchError = exports.canResume = exports.RunCheckpointError = void 0;
|
|
59
59
|
const contextWindow_js_1 = require("../adapters/llm/contextWindow.js");
|
|
60
|
+
const recovery_js_1 = require("./agent/evidence/recovery.js");
|
|
60
61
|
/**
|
|
61
62
|
* Thrown by `agent.run()` when a fault occurs mid-run. Carries the
|
|
62
63
|
* underlying error AND the last-known-good checkpoint. Catch this
|
|
@@ -300,7 +301,7 @@ owner,
|
|
|
300
301
|
* lose it on the other. Passed only when the graph declared
|
|
301
302
|
* `continuity: 'conversation'`.
|
|
302
303
|
*/
|
|
303
|
-
skillCursor) {
|
|
304
|
+
skillCursor, evidenceRecovery) {
|
|
304
305
|
return {
|
|
305
306
|
version: 1,
|
|
306
307
|
runId: tracker.runId,
|
|
@@ -313,6 +314,7 @@ skillCursor) {
|
|
|
313
314
|
...(owner?.identity !== undefined && { identity: owner.identity }),
|
|
314
315
|
...(owner?.agentId !== undefined && { agent: { id: owner.agentId } }),
|
|
315
316
|
...(skillCursor !== undefined && { skillCursor }),
|
|
317
|
+
...(evidenceRecovery !== undefined && { evidenceRecovery }),
|
|
316
318
|
};
|
|
317
319
|
}
|
|
318
320
|
exports.buildCheckpoint = buildCheckpoint;
|
|
@@ -350,6 +352,25 @@ function validateCheckpoint(value) {
|
|
|
350
352
|
`(got ${typeof c.skillCursor}). It is written by a graph with ` +
|
|
351
353
|
`continuity: 'conversation' and names the node the stored turn ended on.`);
|
|
352
354
|
}
|
|
355
|
+
if (c.evidenceRecovery !== undefined) {
|
|
356
|
+
const recovery = c.evidenceRecovery;
|
|
357
|
+
const pending = recovery?.pending;
|
|
358
|
+
if (recovery === null ||
|
|
359
|
+
typeof recovery !== 'object' ||
|
|
360
|
+
Array.isArray(recovery) ||
|
|
361
|
+
recovery.revisionSpent !== true ||
|
|
362
|
+
Object.keys(recovery).some((key) => key !== 'revisionSpent' && key !== 'pending') ||
|
|
363
|
+
(pending !== undefined &&
|
|
364
|
+
(pending === null ||
|
|
365
|
+
typeof pending !== 'object' ||
|
|
366
|
+
Array.isArray(pending) ||
|
|
367
|
+
Object.keys(pending).some((key) => key !== 'instruction') ||
|
|
368
|
+
typeof pending.instruction !== 'string' ||
|
|
369
|
+
pending.instruction.length === 0 ||
|
|
370
|
+
pending.instruction.length > recovery_js_1.MAX_EVIDENCE_RECOVERY_CHARS))) {
|
|
371
|
+
throw new TypeError('[resumeOnError] checkpoint evidenceRecovery must carry a spent revision and optional bounded instruction.');
|
|
372
|
+
}
|
|
373
|
+
}
|
|
353
374
|
// The conversation itself, message by message (8.18.0). `Array.isArray` was
|
|
354
375
|
// the whole check, one field away from `originalInput.message` — which HAS
|
|
355
376
|
// been string-checked since this function was written. A checkpoint that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runCheckpoint.js","sourceRoot":"","sources":["../../src/core/runCheckpoint.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;;;AAGH,uEAG0C;
|
|
1
|
+
{"version":3,"file":"runCheckpoint.js","sourceRoot":"","sources":["../../src/core/runCheckpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -258,24 +258,26 @@ class ToolSessionTier {
|
|
|
258
258
|
* Called from `Agent.run`/`resume` at a terminal that is NOT a pause — and
|
|
259
259
|
* deliberately not from a `finally`, which also runs on the two pause shapes.
|
|
260
260
|
*
|
|
261
|
-
* **`runId` is optional
|
|
261
|
+
* **`runId` is optional for unhosted callers.** A `'run'` scope means
|
|
262
262
|
* "release this when the TURN that opened it ends", and a turn is not a
|
|
263
263
|
* runId: a pause and its resume are one turn across two runs (`resume()`
|
|
264
264
|
* builds a fresh executor with a fresh id). Filtering on the id would leave
|
|
265
265
|
* every session a paused turn had opened alive forever — the failure would
|
|
266
266
|
* look like nothing at all, because the run answered fine.
|
|
267
267
|
*
|
|
268
|
-
*
|
|
269
|
-
*
|
|
270
|
-
*
|
|
271
|
-
* and it lands the right way round too — the next completed turn releases
|
|
272
|
-
* what the abandoned one left holding.
|
|
268
|
+
* Hosted agents use `fireSessionRuns` instead: one runner can retain pauses
|
|
269
|
+
* for several conversations even though only one run executes at a time.
|
|
270
|
+
* A session terminal must never close another conversation's resources.
|
|
273
271
|
*
|
|
274
272
|
* Pass an id where a caller really does mean one specific run.
|
|
275
273
|
*/
|
|
276
274
|
fireRun(runId) {
|
|
277
275
|
return this.fire((r) => r.scope === 'run' && (runId === undefined || r.origin.runId === runId), 'run-end').then(() => undefined);
|
|
278
276
|
}
|
|
277
|
+
/** End run resources for one hosting conversation across pause/resume run IDs. */
|
|
278
|
+
fireSessionRuns(sessionId) {
|
|
279
|
+
return this.fire((r) => r.scope === 'run' && r.origin.sessionId === sessionId, 'run-end');
|
|
280
|
+
}
|
|
279
281
|
/**
|
|
280
282
|
* Fire the `'session'` registrations for one hosting session — or, with no
|
|
281
283
|
* `sessionId`, every `'session'` registration there is.
|
|
@@ -355,7 +357,7 @@ class ToolSessionTier {
|
|
|
355
357
|
...base,
|
|
356
358
|
kind: 'closed',
|
|
357
359
|
durationMs: this.now() - startedAt,
|
|
358
|
-
});
|
|
360
|
+
}, registration.origin);
|
|
359
361
|
}
|
|
360
362
|
catch (err) {
|
|
361
363
|
// Law 5: swallowed at the caller, never silent on the wire.
|
|
@@ -365,7 +367,7 @@ class ToolSessionTier {
|
|
|
365
367
|
durationMs: this.now() - startedAt,
|
|
366
368
|
error: err instanceof Error ? err.message : String(err),
|
|
367
369
|
...(err instanceof Error && { errorClass: err.constructor?.name ?? err.name }),
|
|
368
|
-
});
|
|
370
|
+
}, registration.origin);
|
|
369
371
|
}
|
|
370
372
|
}
|
|
371
373
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolSessions.js","sourceRoot":"","sources":["../../src/core/toolSessions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;;;AAEH,0DAAkE;AAClE,8CAAwC;AACxC,0DAAoD;
|
|
1
|
+
{"version":3,"file":"toolSessions.js","sourceRoot":"","sources":["../../src/core/toolSessions.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/core/Agent.d.ts
CHANGED
|
@@ -362,6 +362,8 @@ export declare class Agent extends RunnerBase<AgentInput, AgentOutput> {
|
|
|
362
362
|
* function restores `scope.history` from this instead of starting
|
|
363
363
|
* fresh. Cleared on first read so subsequent runs start clean. */
|
|
364
364
|
private pendingResumeHistory?;
|
|
365
|
+
/** Retried request's repair state; never inherited by a new human turn. */
|
|
366
|
+
private pendingEvidenceRecovery?;
|
|
365
367
|
/** Its sibling for the folded spans. A restored conversation that dropped
|
|
366
368
|
* them would carry summaries nobody could unpack — the evidence would be
|
|
367
369
|
* destroyed by the act of continuing, which is the one thing retention
|
|
@@ -827,7 +829,7 @@ export declare class Agent extends RunnerBase<AgentInput, AgentOutput> {
|
|
|
827
829
|
* Fired for the TURN, not for `currentRunContext.runId` — `resume()` mints a
|
|
828
830
|
* fresh run id, so a pause and its resume are one turn across two runs, and
|
|
829
831
|
* filtering on the id would leave everything a paused turn opened alive
|
|
830
|
-
* forever. See `ToolSessionTier.fireRun`.
|
|
832
|
+
* forever. Hosted turns are scoped to their session, preserving other pauses. See `ToolSessionTier.fireRun`.
|
|
831
833
|
*
|
|
832
834
|
* @param outcome what `run()`/`resume()` is about to return, or about to throw.
|
|
833
835
|
*/
|
|
@@ -875,6 +877,8 @@ export declare class Agent extends RunnerBase<AgentInput, AgentOutput> {
|
|
|
875
877
|
* ```
|
|
876
878
|
*/
|
|
877
879
|
checkpoint(): AgentRunCheckpoint | undefined;
|
|
880
|
+
/** Both checkpoint doors keep the repair budget separately from conversation text. */
|
|
881
|
+
private evidenceRecoveryOf;
|
|
878
882
|
/**
|
|
879
883
|
* The graph cursor a conversation carrier stores — the run's final
|
|
880
884
|
* committed `currentSkillId`, read from the SNAPSHOT (the state the run
|
|
@@ -1036,7 +1040,7 @@ export declare class Agent extends RunnerBase<AgentInput, AgentOutput> {
|
|
|
1036
1040
|
* hardcodes `runId: 'consumer-scope'`, and a teardown event stamped that way
|
|
1037
1041
|
* cannot be joined to the run that OPENED the session — the exact
|
|
1038
1042
|
* unjoinability 9.4.0 spent a release fixing for credential events. So the
|
|
1039
|
-
* meta comes from
|
|
1043
|
+
* meta comes from the registration-time run context, with a STATED pseudo-stage, the same
|
|
1040
1044
|
* move as the `'<stageId>#paused'` stamp at the pause boundary.
|
|
1041
1045
|
*/
|
|
1042
1046
|
private emitToolSessionReport;
|