page-agent-sdk 3.19.0 → 3.20.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/README.md +5 -3
- package/README.zh-CN.md +5 -3
- package/dist/page-agent-sdk.headless.js +1038 -797
- package/dist/page-agent-sdk.iife.js +133 -134
- package/dist/page-agent-sdk.js +1339 -1062
- package/dist/page-agent-sdk.umd.cjs +46 -47
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/types/index.d.ts +90 -0
|
@@ -172,39 +172,39 @@ var S = () => {}, C = (e) => e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110
|
|
|
172
172
|
}, D = Object.prototype.hasOwnProperty, O = (e, t) => D.call(e, t), k = Array.isArray, A = (e) => re(e) === "[object Map]", ee = (e) => re(e) === "[object Set]", j = (e) => typeof e == "function", M = (e) => typeof e == "string", te = (e) => typeof e == "symbol", N = (e) => typeof e == "object" && !!e, P = (e) => (N(e) || j(e)) && j(e.then) && j(e.catch), ne = Object.prototype.toString, re = (e) => ne.call(e), ie = (e) => re(e).slice(8, -1), F = (e) => re(e) === "[object Object]", I = (e) => M(e) && e !== "NaN" && e[0] !== "-" && "" + parseInt(e, 10) === e, L = ((e) => {
|
|
173
173
|
let t = /* @__PURE__ */ Object.create(null);
|
|
174
174
|
return ((n) => t[n] || (t[n] = e(n)));
|
|
175
|
-
})((e) => e.charAt(0).toUpperCase() + e.slice(1)),
|
|
175
|
+
})((e) => e.charAt(0).toUpperCase() + e.slice(1)), R = (e, t) => !Object.is(e, t), ae = (e, t, n, r = !1) => {
|
|
176
176
|
Object.defineProperty(e, t, {
|
|
177
177
|
configurable: !0,
|
|
178
178
|
enumerable: !1,
|
|
179
179
|
writable: r,
|
|
180
180
|
value: n
|
|
181
181
|
});
|
|
182
|
-
},
|
|
183
|
-
function
|
|
182
|
+
}, oe, se = () => oe ||= typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : typeof global < "u" ? global : {};
|
|
183
|
+
function ce(e) {
|
|
184
184
|
if (k(e)) {
|
|
185
185
|
let t = {};
|
|
186
186
|
for (let n = 0; n < e.length; n++) {
|
|
187
|
-
let r = e[n], i = M(r) ?
|
|
187
|
+
let r = e[n], i = M(r) ? de(r) : ce(r);
|
|
188
188
|
if (i) for (let e in i) t[e] = i[e];
|
|
189
189
|
}
|
|
190
190
|
return t;
|
|
191
191
|
} else if (M(e) || N(e)) return e;
|
|
192
192
|
}
|
|
193
|
-
var
|
|
194
|
-
function
|
|
193
|
+
var le = /;(?![^(]*\))/g, ue = /:([^]+)/, z = /\/\*[^]*?\*\//g;
|
|
194
|
+
function de(e) {
|
|
195
195
|
let t = {};
|
|
196
|
-
return e.replace(
|
|
196
|
+
return e.replace(z, "").split(le).forEach((e) => {
|
|
197
197
|
if (e) {
|
|
198
|
-
let n = e.split(
|
|
198
|
+
let n = e.split(ue);
|
|
199
199
|
n.length > 1 && (t[n[0].trim()] = n[1].trim());
|
|
200
200
|
}
|
|
201
201
|
}), t;
|
|
202
202
|
}
|
|
203
|
-
function
|
|
203
|
+
function B(e) {
|
|
204
204
|
let t = "";
|
|
205
205
|
if (M(e)) t = e;
|
|
206
206
|
else if (k(e)) for (let n = 0; n < e.length; n++) {
|
|
207
|
-
let r =
|
|
207
|
+
let r = B(e[n]);
|
|
208
208
|
r && (t += r + " ");
|
|
209
209
|
}
|
|
210
210
|
else if (N(e)) for (let n in e) e[n] && (t += n + " ");
|
|
@@ -212,76 +212,76 @@ function z(e) {
|
|
|
212
212
|
}
|
|
213
213
|
//#endregion
|
|
214
214
|
//#region node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js
|
|
215
|
-
function
|
|
215
|
+
function V(e, ...t) {
|
|
216
216
|
console.warn(`[Vue warn] ${e}`, ...t);
|
|
217
217
|
}
|
|
218
|
-
var
|
|
219
|
-
function
|
|
220
|
-
return
|
|
218
|
+
var fe;
|
|
219
|
+
function pe() {
|
|
220
|
+
return fe;
|
|
221
221
|
}
|
|
222
|
-
var
|
|
222
|
+
var H, me = /* @__PURE__ */ new WeakSet(), he = class {
|
|
223
223
|
constructor(e) {
|
|
224
|
-
this.fn = e, this.deps = void 0, this.depsTail = void 0, this.flags = 5, this.next = void 0, this.cleanup = void 0, this.scheduler = void 0,
|
|
224
|
+
this.fn = e, this.deps = void 0, this.depsTail = void 0, this.flags = 5, this.next = void 0, this.cleanup = void 0, this.scheduler = void 0, fe && (fe.active ? fe.effects.push(this) : this.flags &= -2);
|
|
225
225
|
}
|
|
226
226
|
pause() {
|
|
227
227
|
this.flags |= 64;
|
|
228
228
|
}
|
|
229
229
|
resume() {
|
|
230
|
-
this.flags & 64 && (this.flags &= -65,
|
|
230
|
+
this.flags & 64 && (this.flags &= -65, me.has(this) && (me.delete(this), this.trigger()));
|
|
231
231
|
}
|
|
232
232
|
notify() {
|
|
233
|
-
this.flags & 2 && !(this.flags & 32) || this.flags & 8 ||
|
|
233
|
+
this.flags & 2 && !(this.flags & 32) || this.flags & 8 || U(this);
|
|
234
234
|
}
|
|
235
235
|
run() {
|
|
236
236
|
if (!(this.flags & 1)) return this.fn();
|
|
237
|
-
this.flags |= 2,
|
|
238
|
-
let e =
|
|
239
|
-
|
|
237
|
+
this.flags |= 2, ke(this), xe(this);
|
|
238
|
+
let e = H, t = G;
|
|
239
|
+
H = this, G = !0;
|
|
240
240
|
try {
|
|
241
241
|
return this.fn();
|
|
242
242
|
} finally {
|
|
243
|
-
process.env.NODE_ENV !== "production" &&
|
|
243
|
+
process.env.NODE_ENV !== "production" && H !== this && V("Active effect was not restored correctly - this is likely a Vue internal bug."), Se(this), H = e, G = t, this.flags &= -3;
|
|
244
244
|
}
|
|
245
245
|
}
|
|
246
246
|
stop() {
|
|
247
247
|
if (this.flags & 1) {
|
|
248
|
-
for (let e = this.deps; e; e = e.nextDep)
|
|
249
|
-
this.deps = this.depsTail = void 0,
|
|
248
|
+
for (let e = this.deps; e; e = e.nextDep) Te(e);
|
|
249
|
+
this.deps = this.depsTail = void 0, ke(this), this.onStop && this.onStop(), this.flags &= -2;
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
252
|
trigger() {
|
|
253
|
-
this.flags & 64 ?
|
|
253
|
+
this.flags & 64 ? me.add(this) : this.scheduler ? this.scheduler() : this.runIfDirty();
|
|
254
254
|
}
|
|
255
255
|
runIfDirty() {
|
|
256
|
-
|
|
256
|
+
Ce(this) && this.run();
|
|
257
257
|
}
|
|
258
258
|
get dirty() {
|
|
259
|
-
return
|
|
259
|
+
return Ce(this);
|
|
260
260
|
}
|
|
261
|
-
},
|
|
262
|
-
function
|
|
261
|
+
}, ge = 0, _e, ve;
|
|
262
|
+
function U(e, t = !1) {
|
|
263
263
|
if (e.flags |= 8, t) {
|
|
264
|
-
e.next =
|
|
264
|
+
e.next = ve, ve = e;
|
|
265
265
|
return;
|
|
266
266
|
}
|
|
267
|
-
e.next =
|
|
267
|
+
e.next = _e, _e = e;
|
|
268
268
|
}
|
|
269
|
-
function
|
|
270
|
-
|
|
269
|
+
function ye() {
|
|
270
|
+
ge++;
|
|
271
271
|
}
|
|
272
|
-
function
|
|
273
|
-
if (--
|
|
274
|
-
if (
|
|
275
|
-
let e =
|
|
276
|
-
for (
|
|
272
|
+
function be() {
|
|
273
|
+
if (--ge > 0) return;
|
|
274
|
+
if (ve) {
|
|
275
|
+
let e = ve;
|
|
276
|
+
for (ve = void 0; e;) {
|
|
277
277
|
let t = e.next;
|
|
278
278
|
e.next = void 0, e.flags &= -9, e = t;
|
|
279
279
|
}
|
|
280
280
|
}
|
|
281
281
|
let e;
|
|
282
|
-
for (;
|
|
283
|
-
let t =
|
|
284
|
-
for (
|
|
282
|
+
for (; _e;) {
|
|
283
|
+
let t = _e;
|
|
284
|
+
for (_e = void 0; t;) {
|
|
285
285
|
let n = t.next;
|
|
286
286
|
if (t.next = void 0, t.flags &= -9, t.flags & 1) try {
|
|
287
287
|
t.trigger();
|
|
@@ -293,127 +293,127 @@ function xe() {
|
|
|
293
293
|
}
|
|
294
294
|
if (e) throw e;
|
|
295
295
|
}
|
|
296
|
-
function
|
|
296
|
+
function xe(e) {
|
|
297
297
|
for (let t = e.deps; t; t = t.nextDep) t.version = -1, t.prevActiveLink = t.dep.activeLink, t.dep.activeLink = t;
|
|
298
298
|
}
|
|
299
|
-
function
|
|
299
|
+
function Se(e) {
|
|
300
300
|
let t, n = e.depsTail, r = n;
|
|
301
301
|
for (; r;) {
|
|
302
302
|
let e = r.prevDep;
|
|
303
|
-
r.version === -1 ? (r === n && (n = e),
|
|
303
|
+
r.version === -1 ? (r === n && (n = e), Te(r), W(r)) : t = r, r.dep.activeLink = r.prevActiveLink, r.prevActiveLink = void 0, r = e;
|
|
304
304
|
}
|
|
305
305
|
e.deps = t, e.depsTail = n;
|
|
306
306
|
}
|
|
307
|
-
function
|
|
308
|
-
for (let t = e.deps; t; t = t.nextDep) if (t.dep.version !== t.version || t.dep.computed && (
|
|
307
|
+
function Ce(e) {
|
|
308
|
+
for (let t = e.deps; t; t = t.nextDep) if (t.dep.version !== t.version || t.dep.computed && (we(t.dep.computed) || t.dep.version !== t.version)) return !0;
|
|
309
309
|
return !!e._dirty;
|
|
310
310
|
}
|
|
311
|
-
function
|
|
312
|
-
if (e.flags & 4 && !(e.flags & 16) || (e.flags &= -17, e.globalVersion ===
|
|
311
|
+
function we(e) {
|
|
312
|
+
if (e.flags & 4 && !(e.flags & 16) || (e.flags &= -17, e.globalVersion === Ae) || (e.globalVersion = Ae, !e.isSSR && e.flags & 128 && (!e.deps && !e._dirty || !Ce(e)))) return;
|
|
313
313
|
e.flags |= 2;
|
|
314
|
-
let t = e.dep, n =
|
|
315
|
-
|
|
314
|
+
let t = e.dep, n = H, r = G;
|
|
315
|
+
H = e, G = !0;
|
|
316
316
|
try {
|
|
317
|
-
|
|
317
|
+
xe(e);
|
|
318
318
|
let n = e.fn(e._value);
|
|
319
|
-
(t.version === 0 ||
|
|
319
|
+
(t.version === 0 || R(n, e._value)) && (e.flags |= 128, e._value = n, t.version++);
|
|
320
320
|
} catch (e) {
|
|
321
321
|
throw t.version++, e;
|
|
322
322
|
} finally {
|
|
323
|
-
|
|
323
|
+
H = n, G = r, Se(e), e.flags &= -3;
|
|
324
324
|
}
|
|
325
325
|
}
|
|
326
|
-
function
|
|
326
|
+
function Te(e, t = !1) {
|
|
327
327
|
let { dep: n, prevSub: r, nextSub: i } = e;
|
|
328
328
|
if (r && (r.nextSub = i, e.prevSub = void 0), i && (i.prevSub = r, e.nextSub = void 0), process.env.NODE_ENV !== "production" && n.subsHead === e && (n.subsHead = i), n.subs === e && (n.subs = r, !r && n.computed)) {
|
|
329
329
|
n.computed.flags &= -5;
|
|
330
|
-
for (let e = n.computed.deps; e; e = e.nextDep)
|
|
330
|
+
for (let e = n.computed.deps; e; e = e.nextDep) Te(e, !0);
|
|
331
331
|
}
|
|
332
332
|
!t && !--n.sc && n.map && n.map.delete(n.key);
|
|
333
333
|
}
|
|
334
|
-
function
|
|
334
|
+
function W(e) {
|
|
335
335
|
let { prevDep: t, nextDep: n } = e;
|
|
336
336
|
t && (t.nextDep = n, e.prevDep = void 0), n && (n.prevDep = t, e.nextDep = void 0);
|
|
337
337
|
}
|
|
338
|
-
var
|
|
339
|
-
function
|
|
340
|
-
|
|
338
|
+
var G = !0, Ee = [];
|
|
339
|
+
function De() {
|
|
340
|
+
Ee.push(G), G = !1;
|
|
341
341
|
}
|
|
342
|
-
function
|
|
343
|
-
let e =
|
|
344
|
-
|
|
342
|
+
function Oe() {
|
|
343
|
+
let e = Ee.pop();
|
|
344
|
+
G = e === void 0 || e;
|
|
345
345
|
}
|
|
346
|
-
function
|
|
346
|
+
function ke(e) {
|
|
347
347
|
let { cleanup: t } = e;
|
|
348
348
|
if (e.cleanup = void 0, t) {
|
|
349
|
-
let e =
|
|
350
|
-
|
|
349
|
+
let e = H;
|
|
350
|
+
H = void 0;
|
|
351
351
|
try {
|
|
352
352
|
t();
|
|
353
353
|
} finally {
|
|
354
|
-
|
|
354
|
+
H = e;
|
|
355
355
|
}
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
|
-
var
|
|
358
|
+
var Ae = 0, je = class {
|
|
359
359
|
constructor(e, t) {
|
|
360
360
|
this.sub = e, this.dep = t, this.version = t.version, this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;
|
|
361
361
|
}
|
|
362
|
-
},
|
|
362
|
+
}, Me = class {
|
|
363
363
|
constructor(e) {
|
|
364
364
|
this.computed = e, this.version = 0, this.activeLink = void 0, this.subs = void 0, this.map = void 0, this.key = void 0, this.sc = 0, this.__v_skip = !0, process.env.NODE_ENV !== "production" && (this.subsHead = void 0);
|
|
365
365
|
}
|
|
366
366
|
track(e) {
|
|
367
|
-
if (!
|
|
367
|
+
if (!H || !G || H === this.computed) return;
|
|
368
368
|
let t = this.activeLink;
|
|
369
|
-
if (t === void 0 || t.sub !==
|
|
369
|
+
if (t === void 0 || t.sub !== H) t = this.activeLink = new je(H, this), H.deps ? (t.prevDep = H.depsTail, H.depsTail.nextDep = t, H.depsTail = t) : H.deps = H.depsTail = t, Ne(t);
|
|
370
370
|
else if (t.version === -1 && (t.version = this.version, t.nextDep)) {
|
|
371
371
|
let e = t.nextDep;
|
|
372
|
-
e.prevDep = t.prevDep, t.prevDep && (t.prevDep.nextDep = e), t.prevDep =
|
|
372
|
+
e.prevDep = t.prevDep, t.prevDep && (t.prevDep.nextDep = e), t.prevDep = H.depsTail, t.nextDep = void 0, H.depsTail.nextDep = t, H.depsTail = t, H.deps === t && (H.deps = e);
|
|
373
373
|
}
|
|
374
|
-
return process.env.NODE_ENV !== "production" &&
|
|
374
|
+
return process.env.NODE_ENV !== "production" && H.onTrack && H.onTrack(T({ effect: H }, e)), t;
|
|
375
375
|
}
|
|
376
376
|
trigger(e) {
|
|
377
|
-
this.version++,
|
|
377
|
+
this.version++, Ae++, this.notify(e);
|
|
378
378
|
}
|
|
379
379
|
notify(e) {
|
|
380
|
-
|
|
380
|
+
ye();
|
|
381
381
|
try {
|
|
382
382
|
if (process.env.NODE_ENV !== "production") for (let t = this.subsHead; t; t = t.nextSub) t.sub.onTrigger && !(t.sub.flags & 8) && t.sub.onTrigger(T({ effect: t.sub }, e));
|
|
383
383
|
for (let e = this.subs; e; e = e.prevSub) e.sub.notify() && e.sub.dep.notify();
|
|
384
384
|
} finally {
|
|
385
|
-
|
|
385
|
+
be();
|
|
386
386
|
}
|
|
387
387
|
}
|
|
388
388
|
};
|
|
389
|
-
function
|
|
389
|
+
function Ne(e) {
|
|
390
390
|
if (e.dep.sc++, e.sub.flags & 4) {
|
|
391
391
|
let t = e.dep.computed;
|
|
392
392
|
if (t && !e.dep.subs) {
|
|
393
393
|
t.flags |= 20;
|
|
394
|
-
for (let e = t.deps; e; e = e.nextDep)
|
|
394
|
+
for (let e = t.deps; e; e = e.nextDep) Ne(e);
|
|
395
395
|
}
|
|
396
396
|
let n = e.dep.subs;
|
|
397
397
|
n !== e && (e.prevSub = n, n && (n.nextSub = e)), process.env.NODE_ENV !== "production" && e.dep.subsHead === void 0 && (e.dep.subsHead = e), e.dep.subs = e;
|
|
398
398
|
}
|
|
399
399
|
}
|
|
400
|
-
var
|
|
401
|
-
function
|
|
402
|
-
if (
|
|
403
|
-
let r =
|
|
404
|
-
r ||
|
|
400
|
+
var Pe = /* @__PURE__ */ new WeakMap(), Fe = /* @__PURE__ */ Symbol(process.env.NODE_ENV === "production" ? "" : "Object iterate"), Ie = /* @__PURE__ */ Symbol(process.env.NODE_ENV === "production" ? "" : "Map keys iterate"), Le = /* @__PURE__ */ Symbol(process.env.NODE_ENV === "production" ? "" : "Array iterate");
|
|
401
|
+
function K(e, t, n) {
|
|
402
|
+
if (G && H) {
|
|
403
|
+
let r = Pe.get(e);
|
|
404
|
+
r || Pe.set(e, r = /* @__PURE__ */ new Map());
|
|
405
405
|
let i = r.get(n);
|
|
406
|
-
i || (r.set(n, i = new
|
|
406
|
+
i || (r.set(n, i = new Me()), i.map = r, i.key = n), process.env.NODE_ENV === "production" ? i.track() : i.track({
|
|
407
407
|
target: e,
|
|
408
408
|
type: t,
|
|
409
409
|
key: n
|
|
410
410
|
});
|
|
411
411
|
}
|
|
412
412
|
}
|
|
413
|
-
function
|
|
414
|
-
let o =
|
|
413
|
+
function Re(e, t, n, r, i, a) {
|
|
414
|
+
let o = Pe.get(e);
|
|
415
415
|
if (!o) {
|
|
416
|
-
|
|
416
|
+
Ae++;
|
|
417
417
|
return;
|
|
418
418
|
}
|
|
419
419
|
let s = (o) => {
|
|
@@ -426,173 +426,173 @@ function ze(e, t, n, r, i, a) {
|
|
|
426
426
|
oldTarget: a
|
|
427
427
|
}));
|
|
428
428
|
};
|
|
429
|
-
if (
|
|
429
|
+
if (ye(), t === "clear") o.forEach(s);
|
|
430
430
|
else {
|
|
431
431
|
let i = k(e), a = i && I(n);
|
|
432
432
|
if (i && n === "length") {
|
|
433
433
|
let e = Number(r);
|
|
434
434
|
o.forEach((t, n) => {
|
|
435
|
-
(n === "length" || n ===
|
|
435
|
+
(n === "length" || n === Le || !te(n) && n >= e) && s(t);
|
|
436
436
|
});
|
|
437
|
-
} else switch ((n !== void 0 || o.has(void 0)) && s(o.get(n)), a && s(o.get(
|
|
437
|
+
} else switch ((n !== void 0 || o.has(void 0)) && s(o.get(n)), a && s(o.get(Le)), t) {
|
|
438
438
|
case "add":
|
|
439
|
-
i ? a && s(o.get("length")) : (s(o.get(
|
|
439
|
+
i ? a && s(o.get("length")) : (s(o.get(Fe)), A(e) && s(o.get(Ie)));
|
|
440
440
|
break;
|
|
441
441
|
case "delete":
|
|
442
|
-
i || (s(o.get(
|
|
442
|
+
i || (s(o.get(Fe)), A(e) && s(o.get(Ie)));
|
|
443
443
|
break;
|
|
444
444
|
case "set":
|
|
445
|
-
A(e) && s(o.get(
|
|
445
|
+
A(e) && s(o.get(Fe));
|
|
446
446
|
break;
|
|
447
447
|
}
|
|
448
448
|
}
|
|
449
|
-
|
|
449
|
+
be();
|
|
450
450
|
}
|
|
451
|
-
function
|
|
452
|
-
let t = /* @__PURE__ */
|
|
453
|
-
return t === e ? t : (
|
|
451
|
+
function ze(e) {
|
|
452
|
+
let t = /* @__PURE__ */ J(e);
|
|
453
|
+
return t === e ? t : (K(t, "iterate", Le), /* @__PURE__ */ wt(e) ? t : t.map(Dt));
|
|
454
454
|
}
|
|
455
|
-
function
|
|
456
|
-
return
|
|
455
|
+
function Be(e) {
|
|
456
|
+
return K(e = /* @__PURE__ */ J(e), "iterate", Le), e;
|
|
457
457
|
}
|
|
458
|
-
function
|
|
459
|
-
return /* @__PURE__ */
|
|
458
|
+
function Ve(e, t) {
|
|
459
|
+
return /* @__PURE__ */ Ct(e) ? Ot(/* @__PURE__ */ St(e) ? Dt(t) : t) : Dt(t);
|
|
460
460
|
}
|
|
461
|
-
var
|
|
461
|
+
var He = {
|
|
462
462
|
__proto__: null,
|
|
463
463
|
[Symbol.iterator]() {
|
|
464
|
-
return
|
|
464
|
+
return Ue(this, Symbol.iterator, (e) => Ve(this, e));
|
|
465
465
|
},
|
|
466
466
|
concat(...e) {
|
|
467
|
-
return
|
|
467
|
+
return ze(this).concat(...e.map((e) => k(e) ? ze(e) : e));
|
|
468
468
|
},
|
|
469
469
|
entries() {
|
|
470
|
-
return
|
|
470
|
+
return Ue(this, "entries", (e) => (e[1] = Ve(this, e[1]), e));
|
|
471
471
|
},
|
|
472
472
|
every(e, t) {
|
|
473
|
-
return
|
|
473
|
+
return Ge(this, "every", e, t, void 0, arguments);
|
|
474
474
|
},
|
|
475
475
|
filter(e, t) {
|
|
476
|
-
return
|
|
476
|
+
return Ge(this, "filter", e, t, (e) => e.map((e) => Ve(this, e)), arguments);
|
|
477
477
|
},
|
|
478
478
|
find(e, t) {
|
|
479
|
-
return
|
|
479
|
+
return Ge(this, "find", e, t, (e) => Ve(this, e), arguments);
|
|
480
480
|
},
|
|
481
481
|
findIndex(e, t) {
|
|
482
|
-
return
|
|
482
|
+
return Ge(this, "findIndex", e, t, void 0, arguments);
|
|
483
483
|
},
|
|
484
484
|
findLast(e, t) {
|
|
485
|
-
return
|
|
485
|
+
return Ge(this, "findLast", e, t, (e) => Ve(this, e), arguments);
|
|
486
486
|
},
|
|
487
487
|
findLastIndex(e, t) {
|
|
488
|
-
return
|
|
488
|
+
return Ge(this, "findLastIndex", e, t, void 0, arguments);
|
|
489
489
|
},
|
|
490
490
|
forEach(e, t) {
|
|
491
|
-
return
|
|
491
|
+
return Ge(this, "forEach", e, t, void 0, arguments);
|
|
492
492
|
},
|
|
493
493
|
includes(...e) {
|
|
494
|
-
return
|
|
494
|
+
return qe(this, "includes", e);
|
|
495
495
|
},
|
|
496
496
|
indexOf(...e) {
|
|
497
|
-
return
|
|
497
|
+
return qe(this, "indexOf", e);
|
|
498
498
|
},
|
|
499
499
|
join(e) {
|
|
500
|
-
return
|
|
500
|
+
return ze(this).join(e);
|
|
501
501
|
},
|
|
502
502
|
lastIndexOf(...e) {
|
|
503
|
-
return
|
|
503
|
+
return qe(this, "lastIndexOf", e);
|
|
504
504
|
},
|
|
505
505
|
map(e, t) {
|
|
506
|
-
return
|
|
506
|
+
return Ge(this, "map", e, t, void 0, arguments);
|
|
507
507
|
},
|
|
508
508
|
pop() {
|
|
509
|
-
return
|
|
509
|
+
return Je(this, "pop");
|
|
510
510
|
},
|
|
511
511
|
push(...e) {
|
|
512
|
-
return
|
|
512
|
+
return Je(this, "push", e);
|
|
513
513
|
},
|
|
514
514
|
reduce(e, ...t) {
|
|
515
|
-
return
|
|
515
|
+
return Ke(this, "reduce", e, t);
|
|
516
516
|
},
|
|
517
517
|
reduceRight(e, ...t) {
|
|
518
|
-
return
|
|
518
|
+
return Ke(this, "reduceRight", e, t);
|
|
519
519
|
},
|
|
520
520
|
shift() {
|
|
521
|
-
return
|
|
521
|
+
return Je(this, "shift");
|
|
522
522
|
},
|
|
523
523
|
some(e, t) {
|
|
524
|
-
return
|
|
524
|
+
return Ge(this, "some", e, t, void 0, arguments);
|
|
525
525
|
},
|
|
526
526
|
splice(...e) {
|
|
527
|
-
return
|
|
527
|
+
return Je(this, "splice", e);
|
|
528
528
|
},
|
|
529
529
|
toReversed() {
|
|
530
|
-
return
|
|
530
|
+
return ze(this).toReversed();
|
|
531
531
|
},
|
|
532
532
|
toSorted(e) {
|
|
533
|
-
return
|
|
533
|
+
return ze(this).toSorted(e);
|
|
534
534
|
},
|
|
535
535
|
toSpliced(...e) {
|
|
536
|
-
return
|
|
536
|
+
return ze(this).toSpliced(...e);
|
|
537
537
|
},
|
|
538
538
|
unshift(...e) {
|
|
539
|
-
return
|
|
539
|
+
return Je(this, "unshift", e);
|
|
540
540
|
},
|
|
541
541
|
values() {
|
|
542
|
-
return
|
|
542
|
+
return Ue(this, "values", (e) => Ve(this, e));
|
|
543
543
|
}
|
|
544
544
|
};
|
|
545
|
-
function
|
|
546
|
-
let r =
|
|
547
|
-
return r !== e && !/* @__PURE__ */
|
|
545
|
+
function Ue(e, t, n) {
|
|
546
|
+
let r = Be(e), i = r[t]();
|
|
547
|
+
return r !== e && !/* @__PURE__ */ wt(e) && (i._next = i.next, i.next = () => {
|
|
548
548
|
let e = i._next();
|
|
549
549
|
return e.done || (e.value = n(e.value)), e;
|
|
550
550
|
}), i;
|
|
551
551
|
}
|
|
552
|
-
var
|
|
553
|
-
function
|
|
554
|
-
let o =
|
|
555
|
-
if (c !==
|
|
552
|
+
var We = Array.prototype;
|
|
553
|
+
function Ge(e, t, n, r, i, a) {
|
|
554
|
+
let o = Be(e), s = o !== e && !/* @__PURE__ */ wt(e), c = o[t];
|
|
555
|
+
if (c !== We[t]) {
|
|
556
556
|
let t = c.apply(e, a);
|
|
557
|
-
return s ?
|
|
557
|
+
return s ? Dt(t) : t;
|
|
558
558
|
}
|
|
559
559
|
let l = n;
|
|
560
560
|
o !== e && (s ? l = function(t, r) {
|
|
561
|
-
return n.call(this,
|
|
561
|
+
return n.call(this, Ve(e, t), r, e);
|
|
562
562
|
} : n.length > 2 && (l = function(t, r) {
|
|
563
563
|
return n.call(this, t, r, e);
|
|
564
564
|
}));
|
|
565
565
|
let u = c.call(o, l, r);
|
|
566
566
|
return s && i ? i(u) : u;
|
|
567
567
|
}
|
|
568
|
-
function
|
|
569
|
-
let i =
|
|
568
|
+
function Ke(e, t, n, r) {
|
|
569
|
+
let i = Be(e), a = i !== e && !/* @__PURE__ */ wt(e), o = n, s = !1;
|
|
570
570
|
i !== e && (a ? (s = r.length === 0, o = function(t, r, i) {
|
|
571
|
-
return s && (s = !1, t =
|
|
571
|
+
return s && (s = !1, t = Ve(e, t)), n.call(this, t, Ve(e, r), i, e);
|
|
572
572
|
}) : n.length > 3 && (o = function(t, r, i) {
|
|
573
573
|
return n.call(this, t, r, i, e);
|
|
574
574
|
}));
|
|
575
575
|
let c = i[t](o, ...r);
|
|
576
|
-
return s ?
|
|
576
|
+
return s ? Ve(e, c) : c;
|
|
577
577
|
}
|
|
578
|
-
function
|
|
579
|
-
let r = /* @__PURE__ */
|
|
580
|
-
|
|
578
|
+
function qe(e, t, n) {
|
|
579
|
+
let r = /* @__PURE__ */ J(e);
|
|
580
|
+
K(r, "iterate", Le);
|
|
581
581
|
let i = r[t](...n);
|
|
582
|
-
return (i === -1 || i === !1) && /* @__PURE__ */
|
|
582
|
+
return (i === -1 || i === !1) && /* @__PURE__ */ Tt(n[0]) ? (n[0] = /* @__PURE__ */ J(n[0]), r[t](...n)) : i;
|
|
583
583
|
}
|
|
584
|
-
function
|
|
585
|
-
|
|
586
|
-
let r = (/* @__PURE__ */
|
|
587
|
-
return
|
|
584
|
+
function Je(e, t, n = []) {
|
|
585
|
+
De(), ye();
|
|
586
|
+
let r = (/* @__PURE__ */ J(e))[t].apply(e, n);
|
|
587
|
+
return be(), Oe(), r;
|
|
588
588
|
}
|
|
589
|
-
var
|
|
590
|
-
function
|
|
589
|
+
var Ye = /* @__PURE__ */ b("__proto__,__v_isRef,__isVue"), Xe = new Set(/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((e) => e !== "arguments" && e !== "caller").map((e) => Symbol[e]).filter(te));
|
|
590
|
+
function Ze(e) {
|
|
591
591
|
te(e) || (e = String(e));
|
|
592
|
-
let t = /* @__PURE__ */
|
|
593
|
-
return
|
|
592
|
+
let t = /* @__PURE__ */ J(this);
|
|
593
|
+
return K(t, "has", e), t.hasOwnProperty(e);
|
|
594
594
|
}
|
|
595
|
-
var
|
|
595
|
+
var Qe = class {
|
|
596
596
|
constructor(e = !1, t = !1) {
|
|
597
597
|
this._isReadonly = e, this._isShallow = t;
|
|
598
598
|
}
|
|
@@ -602,60 +602,60 @@ var $e = class {
|
|
|
602
602
|
if (t === "__v_isReactive") return !r;
|
|
603
603
|
if (t === "__v_isReadonly") return r;
|
|
604
604
|
if (t === "__v_isShallow") return i;
|
|
605
|
-
if (t === "__v_raw") return n === (r ? i ?
|
|
605
|
+
if (t === "__v_raw") return n === (r ? i ? gt : ht : i ? mt : pt).get(e) || Object.getPrototypeOf(e) === Object.getPrototypeOf(n) ? e : void 0;
|
|
606
606
|
let a = k(e);
|
|
607
607
|
if (!r) {
|
|
608
608
|
let e;
|
|
609
|
-
if (a && (e =
|
|
610
|
-
if (t === "hasOwnProperty") return
|
|
609
|
+
if (a && (e = He[t])) return e;
|
|
610
|
+
if (t === "hasOwnProperty") return Ze;
|
|
611
611
|
}
|
|
612
|
-
let o = Reflect.get(e, t, /* @__PURE__ */
|
|
613
|
-
if ((te(t) ?
|
|
614
|
-
if (/* @__PURE__ */
|
|
612
|
+
let o = Reflect.get(e, t, /* @__PURE__ */ kt(e) ? e : n);
|
|
613
|
+
if ((te(t) ? Xe.has(t) : Ye(t)) || (r || K(e, "get", t), i)) return o;
|
|
614
|
+
if (/* @__PURE__ */ kt(o)) {
|
|
615
615
|
let e = a && I(t) ? o : o.value;
|
|
616
|
-
return r && N(e) ? /* @__PURE__ */
|
|
616
|
+
return r && N(e) ? /* @__PURE__ */ yt(e) : e;
|
|
617
617
|
}
|
|
618
|
-
return N(o) ? r ? /* @__PURE__ */
|
|
618
|
+
return N(o) ? r ? /* @__PURE__ */ yt(o) : /* @__PURE__ */ vt(o) : o;
|
|
619
619
|
}
|
|
620
|
-
},
|
|
620
|
+
}, $e = class extends Qe {
|
|
621
621
|
constructor(e = !1) {
|
|
622
622
|
super(!1, e);
|
|
623
623
|
}
|
|
624
624
|
set(e, t, n, r) {
|
|
625
625
|
let i = e[t], a = k(e) && I(t);
|
|
626
626
|
if (!this._isShallow) {
|
|
627
|
-
let r = /* @__PURE__ */
|
|
628
|
-
if (!/* @__PURE__ */
|
|
627
|
+
let r = /* @__PURE__ */ Ct(i);
|
|
628
|
+
if (!/* @__PURE__ */ wt(n) && !/* @__PURE__ */ Ct(n) && (i = /* @__PURE__ */ J(i), n = /* @__PURE__ */ J(n)), !a && /* @__PURE__ */ kt(i) && !/* @__PURE__ */ kt(n)) return r ? (process.env.NODE_ENV !== "production" && V(`Set operation on key "${String(t)}" failed: target is readonly.`, e[t]), !0) : (i.value = n, !0);
|
|
629
629
|
}
|
|
630
|
-
let o = a ? Number(t) < e.length : O(e, t), s = Reflect.set(e, t, n, /* @__PURE__ */
|
|
631
|
-
return e === /* @__PURE__ */
|
|
630
|
+
let o = a ? Number(t) < e.length : O(e, t), s = Reflect.set(e, t, n, /* @__PURE__ */ kt(e) ? e : r);
|
|
631
|
+
return e === /* @__PURE__ */ J(r) && s && (o ? R(n, i) && Re(e, "set", t, n, i) : Re(e, "add", t, n)), s;
|
|
632
632
|
}
|
|
633
633
|
deleteProperty(e, t) {
|
|
634
634
|
let n = O(e, t), r = e[t], i = Reflect.deleteProperty(e, t);
|
|
635
|
-
return i && n &&
|
|
635
|
+
return i && n && Re(e, "delete", t, void 0, r), i;
|
|
636
636
|
}
|
|
637
637
|
has(e, t) {
|
|
638
638
|
let n = Reflect.has(e, t);
|
|
639
|
-
return (!te(t) || !
|
|
639
|
+
return (!te(t) || !Xe.has(t)) && K(e, "has", t), n;
|
|
640
640
|
}
|
|
641
641
|
ownKeys(e) {
|
|
642
|
-
return
|
|
642
|
+
return K(e, "iterate", k(e) ? "length" : Fe), Reflect.ownKeys(e);
|
|
643
643
|
}
|
|
644
|
-
},
|
|
644
|
+
}, et = class extends Qe {
|
|
645
645
|
constructor(e = !1) {
|
|
646
646
|
super(!0, e);
|
|
647
647
|
}
|
|
648
648
|
set(e, t) {
|
|
649
|
-
return process.env.NODE_ENV !== "production" &&
|
|
649
|
+
return process.env.NODE_ENV !== "production" && V(`Set operation on key "${String(t)}" failed: target is readonly.`, e), !0;
|
|
650
650
|
}
|
|
651
651
|
deleteProperty(e, t) {
|
|
652
|
-
return process.env.NODE_ENV !== "production" &&
|
|
652
|
+
return process.env.NODE_ENV !== "production" && V(`Delete operation on key "${String(t)}" failed: target is readonly.`, e), !0;
|
|
653
653
|
}
|
|
654
|
-
},
|
|
655
|
-
function
|
|
654
|
+
}, tt = /* @__PURE__ */ new $e(), nt = /* @__PURE__ */ new et(), rt = /* @__PURE__ */ new et(!0), it = (e) => e, q = (e) => Reflect.getPrototypeOf(e);
|
|
655
|
+
function at(e, t, n) {
|
|
656
656
|
return function(...r) {
|
|
657
|
-
let i = this.__v_raw, a = /* @__PURE__ */
|
|
658
|
-
return !t &&
|
|
657
|
+
let i = this.__v_raw, a = /* @__PURE__ */ J(i), o = A(a), s = e === "entries" || e === Symbol.iterator && o, c = e === "keys" && o, l = i[e](...r), u = n ? it : t ? Ot : Dt;
|
|
658
|
+
return !t && K(a, "iterate", c ? Ie : Fe), T(Object.create(l), { next() {
|
|
659
659
|
let { value: e, done: t } = l.next();
|
|
660
660
|
return t ? {
|
|
661
661
|
value: e,
|
|
@@ -667,64 +667,64 @@ function ot(e, t, n) {
|
|
|
667
667
|
} });
|
|
668
668
|
};
|
|
669
669
|
}
|
|
670
|
-
function
|
|
670
|
+
function ot(e) {
|
|
671
671
|
return function(...t) {
|
|
672
672
|
if (process.env.NODE_ENV !== "production") {
|
|
673
673
|
let n = t[0] ? `on key "${t[0]}" ` : "";
|
|
674
|
-
|
|
674
|
+
V(`${L(e)} operation ${n}failed: target is readonly.`, /* @__PURE__ */ J(this));
|
|
675
675
|
}
|
|
676
676
|
return e === "delete" ? !1 : e === "clear" ? void 0 : this;
|
|
677
677
|
};
|
|
678
678
|
}
|
|
679
|
-
function
|
|
679
|
+
function st(e, t) {
|
|
680
680
|
let n = {
|
|
681
681
|
get(n) {
|
|
682
|
-
let r = this.__v_raw, i = /* @__PURE__ */
|
|
683
|
-
e || (
|
|
684
|
-
let { has: o } =
|
|
682
|
+
let r = this.__v_raw, i = /* @__PURE__ */ J(r), a = /* @__PURE__ */ J(n);
|
|
683
|
+
e || (R(n, a) && K(i, "get", n), K(i, "get", a));
|
|
684
|
+
let { has: o } = q(i), s = t ? it : e ? Ot : Dt;
|
|
685
685
|
if (o.call(i, n)) return s(r.get(n));
|
|
686
686
|
if (o.call(i, a)) return s(r.get(a));
|
|
687
687
|
r !== i && r.get(n);
|
|
688
688
|
},
|
|
689
689
|
get size() {
|
|
690
690
|
let t = this.__v_raw;
|
|
691
|
-
return !e &&
|
|
691
|
+
return !e && K(/* @__PURE__ */ J(t), "iterate", Fe), t.size;
|
|
692
692
|
},
|
|
693
693
|
has(t) {
|
|
694
|
-
let n = this.__v_raw, r = /* @__PURE__ */
|
|
695
|
-
return e || (
|
|
694
|
+
let n = this.__v_raw, r = /* @__PURE__ */ J(n), i = /* @__PURE__ */ J(t);
|
|
695
|
+
return e || (R(t, i) && K(r, "has", t), K(r, "has", i)), t === i ? n.has(t) : n.has(t) || n.has(i);
|
|
696
696
|
},
|
|
697
697
|
forEach(n, r) {
|
|
698
|
-
let i = this, a = i.__v_raw, o = /* @__PURE__ */
|
|
699
|
-
return !e &&
|
|
698
|
+
let i = this, a = i.__v_raw, o = /* @__PURE__ */ J(a), s = t ? it : e ? Ot : Dt;
|
|
699
|
+
return !e && K(o, "iterate", Fe), a.forEach((e, t) => n.call(r, s(e), s(t), i));
|
|
700
700
|
}
|
|
701
701
|
};
|
|
702
702
|
return T(n, e ? {
|
|
703
|
-
add:
|
|
704
|
-
set:
|
|
705
|
-
delete:
|
|
706
|
-
clear:
|
|
703
|
+
add: ot("add"),
|
|
704
|
+
set: ot("set"),
|
|
705
|
+
delete: ot("delete"),
|
|
706
|
+
clear: ot("clear")
|
|
707
707
|
} : {
|
|
708
708
|
add(e) {
|
|
709
|
-
let n = /* @__PURE__ */
|
|
710
|
-
return r.has.call(n, a) ||
|
|
709
|
+
let n = /* @__PURE__ */ J(this), r = q(n), i = /* @__PURE__ */ J(e), a = !t && !/* @__PURE__ */ wt(e) && !/* @__PURE__ */ Ct(e) ? i : e;
|
|
710
|
+
return r.has.call(n, a) || R(e, a) && r.has.call(n, e) || R(i, a) && r.has.call(n, i) || (n.add(a), Re(n, "add", a, a)), this;
|
|
711
711
|
},
|
|
712
712
|
set(e, n) {
|
|
713
|
-
!t && !/* @__PURE__ */
|
|
714
|
-
let r = /* @__PURE__ */
|
|
715
|
-
o ? process.env.NODE_ENV !== "production" &&
|
|
713
|
+
!t && !/* @__PURE__ */ wt(n) && !/* @__PURE__ */ Ct(n) && (n = /* @__PURE__ */ J(n));
|
|
714
|
+
let r = /* @__PURE__ */ J(this), { has: i, get: a } = q(r), o = i.call(r, e);
|
|
715
|
+
o ? process.env.NODE_ENV !== "production" && ft(r, i, e) : (e = /* @__PURE__ */ J(e), o = i.call(r, e));
|
|
716
716
|
let s = a.call(r, e);
|
|
717
|
-
return r.set(e, n), o ?
|
|
717
|
+
return r.set(e, n), o ? R(n, s) && Re(r, "set", e, n, s) : Re(r, "add", e, n), this;
|
|
718
718
|
},
|
|
719
719
|
delete(e) {
|
|
720
|
-
let t = /* @__PURE__ */
|
|
721
|
-
i ? process.env.NODE_ENV !== "production" &&
|
|
720
|
+
let t = /* @__PURE__ */ J(this), { has: n, get: r } = q(t), i = n.call(t, e);
|
|
721
|
+
i ? process.env.NODE_ENV !== "production" && ft(t, n, e) : (e = /* @__PURE__ */ J(e), i = n.call(t, e));
|
|
722
722
|
let a = r ? r.call(t, e) : void 0, o = t.delete(e);
|
|
723
|
-
return i &&
|
|
723
|
+
return i && Re(t, "delete", e, void 0, a), o;
|
|
724
724
|
},
|
|
725
725
|
clear() {
|
|
726
|
-
let e = /* @__PURE__ */
|
|
727
|
-
return t &&
|
|
726
|
+
let e = /* @__PURE__ */ J(this), t = e.size !== 0, n = process.env.NODE_ENV === "production" ? void 0 : A(e) ? new Map(e) : new Set(e), r = e.clear();
|
|
727
|
+
return t && Re(e, "clear", void 0, void 0, n), r;
|
|
728
728
|
}
|
|
729
729
|
}), [
|
|
730
730
|
"keys",
|
|
@@ -732,23 +732,23 @@ function ct(e, t) {
|
|
|
732
732
|
"entries",
|
|
733
733
|
Symbol.iterator
|
|
734
734
|
].forEach((r) => {
|
|
735
|
-
n[r] =
|
|
735
|
+
n[r] = at(r, e, t);
|
|
736
736
|
}), n;
|
|
737
737
|
}
|
|
738
|
-
function
|
|
739
|
-
let n =
|
|
738
|
+
function ct(e, t) {
|
|
739
|
+
let n = st(e, t);
|
|
740
740
|
return (t, r, i) => r === "__v_isReactive" ? !e : r === "__v_isReadonly" ? e : r === "__v_raw" ? t : Reflect.get(O(n, r) && r in t ? n : t, r, i);
|
|
741
741
|
}
|
|
742
|
-
var
|
|
743
|
-
function
|
|
744
|
-
let r = /* @__PURE__ */
|
|
742
|
+
var lt = { get: /* @__PURE__ */ ct(!1, !1) }, ut = { get: /* @__PURE__ */ ct(!0, !1) }, dt = { get: /* @__PURE__ */ ct(!0, !0) };
|
|
743
|
+
function ft(e, t, n) {
|
|
744
|
+
let r = /* @__PURE__ */ J(n);
|
|
745
745
|
if (r !== n && t.call(e, r)) {
|
|
746
746
|
let t = ie(e);
|
|
747
|
-
|
|
747
|
+
V(`Reactive ${t} contains both the raw and reactive versions of the same object${t === "Map" ? " as keys" : ""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`);
|
|
748
748
|
}
|
|
749
749
|
}
|
|
750
|
-
var
|
|
751
|
-
function
|
|
750
|
+
var pt = /* @__PURE__ */ new WeakMap(), mt = /* @__PURE__ */ new WeakMap(), ht = /* @__PURE__ */ new WeakMap(), gt = /* @__PURE__ */ new WeakMap();
|
|
751
|
+
function _t(e) {
|
|
752
752
|
switch (e) {
|
|
753
753
|
case "Object":
|
|
754
754
|
case "Array": return 1;
|
|
@@ -760,54 +760,54 @@ function vt(e) {
|
|
|
760
760
|
}
|
|
761
761
|
}
|
|
762
762
|
// @__NO_SIDE_EFFECTS__
|
|
763
|
-
function
|
|
764
|
-
return /* @__PURE__ */
|
|
763
|
+
function vt(e) {
|
|
764
|
+
return /* @__PURE__ */ Ct(e) ? e : xt(e, !1, tt, lt, pt);
|
|
765
765
|
}
|
|
766
766
|
// @__NO_SIDE_EFFECTS__
|
|
767
|
-
function
|
|
768
|
-
return
|
|
767
|
+
function yt(e) {
|
|
768
|
+
return xt(e, !0, nt, ut, ht);
|
|
769
769
|
}
|
|
770
770
|
// @__NO_SIDE_EFFECTS__
|
|
771
|
-
function
|
|
772
|
-
return
|
|
771
|
+
function bt(e) {
|
|
772
|
+
return xt(e, !0, rt, dt, gt);
|
|
773
773
|
}
|
|
774
|
-
function
|
|
775
|
-
if (!N(e)) return process.env.NODE_ENV !== "production" &&
|
|
774
|
+
function xt(e, t, n, r, i) {
|
|
775
|
+
if (!N(e)) return process.env.NODE_ENV !== "production" && V(`value cannot be made ${t ? "readonly" : "reactive"}: ${String(e)}`), e;
|
|
776
776
|
if (e.__v_raw && !(t && e.__v_isReactive) || e.__v_skip || !Object.isExtensible(e)) return e;
|
|
777
777
|
let a = i.get(e);
|
|
778
778
|
if (a) return a;
|
|
779
|
-
let o =
|
|
779
|
+
let o = _t(ie(e));
|
|
780
780
|
if (o === 0) return e;
|
|
781
781
|
let s = new Proxy(e, o === 2 ? r : n);
|
|
782
782
|
return i.set(e, s), s;
|
|
783
783
|
}
|
|
784
784
|
// @__NO_SIDE_EFFECTS__
|
|
785
|
-
function
|
|
786
|
-
return /* @__PURE__ */
|
|
785
|
+
function St(e) {
|
|
786
|
+
return /* @__PURE__ */ Ct(e) ? /* @__PURE__ */ St(e.__v_raw) : !!(e && e.__v_isReactive);
|
|
787
787
|
}
|
|
788
788
|
// @__NO_SIDE_EFFECTS__
|
|
789
|
-
function
|
|
789
|
+
function Ct(e) {
|
|
790
790
|
return !!(e && e.__v_isReadonly);
|
|
791
791
|
}
|
|
792
792
|
// @__NO_SIDE_EFFECTS__
|
|
793
|
-
function
|
|
793
|
+
function wt(e) {
|
|
794
794
|
return !!(e && e.__v_isShallow);
|
|
795
795
|
}
|
|
796
796
|
// @__NO_SIDE_EFFECTS__
|
|
797
|
-
function
|
|
797
|
+
function Tt(e) {
|
|
798
798
|
return e ? !!e.__v_raw : !1;
|
|
799
799
|
}
|
|
800
800
|
// @__NO_SIDE_EFFECTS__
|
|
801
|
-
function
|
|
801
|
+
function J(e) {
|
|
802
802
|
let t = e && e.__v_raw;
|
|
803
|
-
return t ? /* @__PURE__ */
|
|
803
|
+
return t ? /* @__PURE__ */ J(t) : e;
|
|
804
804
|
}
|
|
805
|
-
function
|
|
806
|
-
return !O(e, "__v_skip") && Object.isExtensible(e) &&
|
|
805
|
+
function Et(e) {
|
|
806
|
+
return !O(e, "__v_skip") && Object.isExtensible(e) && ae(e, "__v_skip", !0), e;
|
|
807
807
|
}
|
|
808
|
-
var
|
|
808
|
+
var Dt = (e) => N(e) ? /* @__PURE__ */ vt(e) : e, Ot = (e) => N(e) ? /* @__PURE__ */ yt(e) : e;
|
|
809
809
|
// @__NO_SIDE_EFFECTS__
|
|
810
|
-
function
|
|
810
|
+
function kt(e) {
|
|
811
811
|
return e ? e.__v_isRef === !0 : !1;
|
|
812
812
|
}
|
|
813
813
|
// @__NO_SIDE_EFFECTS__
|
|
@@ -819,11 +819,11 @@ function jt(e) {
|
|
|
819
819
|
return Mt(e, !0);
|
|
820
820
|
}
|
|
821
821
|
function Mt(e, t) {
|
|
822
|
-
return /* @__PURE__ */
|
|
822
|
+
return /* @__PURE__ */ kt(e) ? e : new Nt(e, t);
|
|
823
823
|
}
|
|
824
824
|
var Nt = class {
|
|
825
825
|
constructor(e, t) {
|
|
826
|
-
this.dep = new
|
|
826
|
+
this.dep = new Me(), this.__v_isRef = !0, this.__v_isShallow = !1, this._rawValue = t ? e : /* @__PURE__ */ J(e), this._value = t ? e : Dt(e), this.__v_isShallow = t;
|
|
827
827
|
}
|
|
828
828
|
get value() {
|
|
829
829
|
return process.env.NODE_ENV === "production" ? this.dep.track() : this.dep.track({
|
|
@@ -833,8 +833,8 @@ var Nt = class {
|
|
|
833
833
|
}), this._value;
|
|
834
834
|
}
|
|
835
835
|
set value(e) {
|
|
836
|
-
let t = this._rawValue, n = this.__v_isShallow || /* @__PURE__ */
|
|
837
|
-
e = n ? e : /* @__PURE__ */
|
|
836
|
+
let t = this._rawValue, n = this.__v_isShallow || /* @__PURE__ */ wt(e) || /* @__PURE__ */ Ct(e);
|
|
837
|
+
e = n ? e : /* @__PURE__ */ J(e), R(e, t) && (this._rawValue = e, this._value = n ? e : Dt(e), process.env.NODE_ENV === "production" ? this.dep.trigger() : this.dep.trigger({
|
|
838
838
|
target: this,
|
|
839
839
|
type: "set",
|
|
840
840
|
key: "value",
|
|
@@ -852,24 +852,24 @@ function Pt(e) {
|
|
|
852
852
|
}));
|
|
853
853
|
}
|
|
854
854
|
function Ft(e) {
|
|
855
|
-
return /* @__PURE__ */
|
|
855
|
+
return /* @__PURE__ */ kt(e) ? e.value : e;
|
|
856
856
|
}
|
|
857
857
|
var It = {
|
|
858
858
|
get: (e, t, n) => t === "__v_raw" ? e : Ft(Reflect.get(e, t, n)),
|
|
859
859
|
set: (e, t, n, r) => {
|
|
860
860
|
let i = e[t];
|
|
861
|
-
return /* @__PURE__ */
|
|
861
|
+
return /* @__PURE__ */ kt(i) && !/* @__PURE__ */ kt(n) ? (i.value = n, !0) : Reflect.set(e, t, n, r);
|
|
862
862
|
}
|
|
863
863
|
};
|
|
864
864
|
function Lt(e) {
|
|
865
|
-
return /* @__PURE__ */
|
|
865
|
+
return /* @__PURE__ */ St(e) ? e : new Proxy(e, It);
|
|
866
866
|
}
|
|
867
867
|
var Rt = class {
|
|
868
868
|
constructor(e, t, n) {
|
|
869
|
-
this.fn = e, this.setter = t, this._value = void 0, this.dep = new
|
|
869
|
+
this.fn = e, this.setter = t, this._value = void 0, this.dep = new Me(this), this.__v_isRef = !0, this.deps = void 0, this.depsTail = void 0, this.flags = 16, this.globalVersion = Ae - 1, this.next = void 0, this.effect = this, this.__v_isReadonly = !t, this.isSSR = n;
|
|
870
870
|
}
|
|
871
871
|
notify() {
|
|
872
|
-
if (this.flags |= 16, !(this.flags & 8) &&
|
|
872
|
+
if (this.flags |= 16, !(this.flags & 8) && H !== this) return U(this, !0), !0;
|
|
873
873
|
process.env.NODE_ENV;
|
|
874
874
|
}
|
|
875
875
|
get value() {
|
|
@@ -878,10 +878,10 @@ var Rt = class {
|
|
|
878
878
|
type: "get",
|
|
879
879
|
key: "value"
|
|
880
880
|
});
|
|
881
|
-
return
|
|
881
|
+
return we(this), e && (e.version = this.dep.version), this._value;
|
|
882
882
|
}
|
|
883
883
|
set value(e) {
|
|
884
|
-
this.setter ? this.setter(e) : process.env.NODE_ENV !== "production" &&
|
|
884
|
+
this.setter ? this.setter(e) : process.env.NODE_ENV !== "production" && V("Write operation failed: computed value is readonly");
|
|
885
885
|
}
|
|
886
886
|
};
|
|
887
887
|
// @__NO_SIDE_EFFECTS__
|
|
@@ -896,24 +896,24 @@ function Ut(e, t = !1, n = Ht) {
|
|
|
896
896
|
if (n) {
|
|
897
897
|
let t = Vt.get(n);
|
|
898
898
|
t || Vt.set(n, t = []), t.push(e);
|
|
899
|
-
} else process.env.NODE_ENV !== "production" && !t &&
|
|
899
|
+
} else process.env.NODE_ENV !== "production" && !t && V("onWatcherCleanup() was called when there was no active watcher to associate with.");
|
|
900
900
|
}
|
|
901
901
|
function Wt(e, t, n = x) {
|
|
902
902
|
let { immediate: r, deep: i, once: a, scheduler: o, augmentJob: s, call: c } = n, l = (e) => {
|
|
903
|
-
(n.onWarn ||
|
|
904
|
-
}, u = (e) => i ? e : /* @__PURE__ */
|
|
905
|
-
if (/* @__PURE__ */
|
|
906
|
-
if (/* @__PURE__ */
|
|
907
|
-
if (/* @__PURE__ */
|
|
903
|
+
(n.onWarn || V)("Invalid watch source: ", e, "A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.");
|
|
904
|
+
}, u = (e) => i ? e : /* @__PURE__ */ wt(e) || i === !1 || i === 0 ? Gt(e, 1) : Gt(e), d, f, p, m, h = !1, g = !1;
|
|
905
|
+
if (/* @__PURE__ */ kt(e) ? (f = () => e.value, h = /* @__PURE__ */ wt(e)) : /* @__PURE__ */ St(e) ? (f = () => u(e), h = !0) : k(e) ? (g = !0, h = e.some((e) => /* @__PURE__ */ St(e) || /* @__PURE__ */ wt(e)), f = () => e.map((e) => {
|
|
906
|
+
if (/* @__PURE__ */ kt(e)) return e.value;
|
|
907
|
+
if (/* @__PURE__ */ St(e)) return u(e);
|
|
908
908
|
if (j(e)) return c ? c(e, 2) : e();
|
|
909
909
|
process.env.NODE_ENV !== "production" && l(e);
|
|
910
910
|
})) : j(e) ? f = t ? c ? () => c(e, 2) : e : () => {
|
|
911
911
|
if (p) {
|
|
912
|
-
|
|
912
|
+
De();
|
|
913
913
|
try {
|
|
914
914
|
p();
|
|
915
915
|
} finally {
|
|
916
|
-
|
|
916
|
+
Oe();
|
|
917
917
|
}
|
|
918
918
|
}
|
|
919
919
|
let t = Ht;
|
|
@@ -927,7 +927,7 @@ function Wt(e, t, n = x) {
|
|
|
927
927
|
let e = f, t = i === !0 ? Infinity : i;
|
|
928
928
|
f = () => Gt(e(), t);
|
|
929
929
|
}
|
|
930
|
-
let _ =
|
|
930
|
+
let _ = pe(), v = () => {
|
|
931
931
|
d.stop(), _ && _.active && E(_.effects, d);
|
|
932
932
|
};
|
|
933
933
|
if (a && t) {
|
|
@@ -940,7 +940,7 @@ function Wt(e, t, n = x) {
|
|
|
940
940
|
let y = g ? Array(e.length).fill(Bt) : Bt, b = (e) => {
|
|
941
941
|
if (!(!(d.flags & 1) || !d.dirty && !e)) if (t) {
|
|
942
942
|
let n = d.run();
|
|
943
|
-
if (e || i || h || (g ? n.some((e, t) =>
|
|
943
|
+
if (e || i || h || (g ? n.some((e, t) => R(e, y[t])) : R(n, y))) {
|
|
944
944
|
p && p();
|
|
945
945
|
let e = Ht;
|
|
946
946
|
Ht = d;
|
|
@@ -957,7 +957,7 @@ function Wt(e, t, n = x) {
|
|
|
957
957
|
}
|
|
958
958
|
} else d.run();
|
|
959
959
|
};
|
|
960
|
-
return s && s(b), d = new
|
|
960
|
+
return s && s(b), d = new he(f), d.scheduler = o ? () => o(b, !1) : b, m = (e) => Ut(e, !1, d), p = d.onStop = () => {
|
|
961
961
|
let e = Vt.get(d);
|
|
962
962
|
if (e) {
|
|
963
963
|
if (c) c(e, 4);
|
|
@@ -968,7 +968,7 @@ function Wt(e, t, n = x) {
|
|
|
968
968
|
}
|
|
969
969
|
function Gt(e, t = Infinity, n) {
|
|
970
970
|
if (t <= 0 || !N(e) || e.__v_skip || (n ||= /* @__PURE__ */ new Map(), (n.get(e) || 0) >= t)) return e;
|
|
971
|
-
if (n.set(e, t), t--, /* @__PURE__ */
|
|
971
|
+
if (n.set(e, t), t--, /* @__PURE__ */ kt(e)) Gt(e.value, t, n);
|
|
972
972
|
else if (k(e)) for (let r = 0; r < e.length; r++) Gt(e[r], t, n);
|
|
973
973
|
else if (ee(e) || A(e)) e.forEach((e) => {
|
|
974
974
|
Gt(e, t, n);
|
|
@@ -991,7 +991,7 @@ function Jt() {
|
|
|
991
991
|
var Yt = !1;
|
|
992
992
|
function Xt(e, ...t) {
|
|
993
993
|
if (Yt) return;
|
|
994
|
-
Yt = !0,
|
|
994
|
+
Yt = !0, De();
|
|
995
995
|
let n = Kt.length ? Kt[Kt.length - 1].component : null, r = n && n.appContext.config.warnHandler, i = Zt();
|
|
996
996
|
if (r) rn(r, n, 11, [
|
|
997
997
|
e + t.map((e) => e.toString?.call(e) ?? JSON.stringify(e)).join(""),
|
|
@@ -1003,7 +1003,7 @@ function Xt(e, ...t) {
|
|
|
1003
1003
|
let n = [`[Vue warn]: ${e}`, ...t];
|
|
1004
1004
|
i.length && n.push("\n", ...Qt(i)), console.warn(...n);
|
|
1005
1005
|
}
|
|
1006
|
-
|
|
1006
|
+
Oe(), Yt = !1;
|
|
1007
1007
|
}
|
|
1008
1008
|
function Zt() {
|
|
1009
1009
|
let e = Kt[Kt.length - 1];
|
|
@@ -1041,11 +1041,11 @@ function en(e) {
|
|
|
1041
1041
|
}), n.length > 3 && t.push(" ..."), t;
|
|
1042
1042
|
}
|
|
1043
1043
|
function tn(e, t, n) {
|
|
1044
|
-
return M(t) ? (t = JSON.stringify(t), n ? t : [`${e}=${t}`]) : typeof t == "number" || typeof t == "boolean" || t == null ? n ? t : [`${e}=${t}`] : /* @__PURE__ */
|
|
1044
|
+
return M(t) ? (t = JSON.stringify(t), n ? t : [`${e}=${t}`]) : typeof t == "number" || typeof t == "boolean" || t == null ? n ? t : [`${e}=${t}`] : /* @__PURE__ */ kt(t) ? (t = tn(e, /* @__PURE__ */ J(t.value), !0), n ? t : [
|
|
1045
1045
|
`${e}=Ref<`,
|
|
1046
1046
|
t,
|
|
1047
1047
|
">"
|
|
1048
|
-
]) : j(t) ? [`${e}=fn${t.name ? `<${t.name}>` : ""}`] : (t = /* @__PURE__ */
|
|
1048
|
+
]) : j(t) ? [`${e}=fn${t.name ? `<${t.name}>` : ""}`] : (t = /* @__PURE__ */ J(t), n ? t : [`${e}=`, t]);
|
|
1049
1049
|
}
|
|
1050
1050
|
var nn = {
|
|
1051
1051
|
sp: "serverPrefetch hook",
|
|
@@ -1112,11 +1112,11 @@ function on(e, t, n, r = !0) {
|
|
|
1112
1112
|
r = r.parent;
|
|
1113
1113
|
}
|
|
1114
1114
|
if (a) {
|
|
1115
|
-
|
|
1115
|
+
De(), rn(a, null, 10, [
|
|
1116
1116
|
e,
|
|
1117
1117
|
i,
|
|
1118
1118
|
o
|
|
1119
|
-
]),
|
|
1119
|
+
]), Oe();
|
|
1120
1120
|
return;
|
|
1121
1121
|
}
|
|
1122
1122
|
}
|
|
@@ -1198,7 +1198,7 @@ function wn(e, t) {
|
|
|
1198
1198
|
return e.set(t, n + 1), !1;
|
|
1199
1199
|
}
|
|
1200
1200
|
var Tn = /* @__PURE__ */ new Map();
|
|
1201
|
-
process.env.NODE_ENV !== "production" && (
|
|
1201
|
+
process.env.NODE_ENV !== "production" && (se().__VUE_HMR_RUNTIME__ = {
|
|
1202
1202
|
createRecord: Mn(Dn),
|
|
1203
1203
|
rerender: Mn(kn),
|
|
1204
1204
|
reload: Mn(An)
|
|
@@ -1317,15 +1317,15 @@ var Wn = (e) => e.__isTeleport;
|
|
|
1317
1317
|
function Gn(e, t) {
|
|
1318
1318
|
e.shapeFlag & 6 && e.component ? (e.transition = t, Gn(e.component.subTree, t)) : e.shapeFlag & 128 ? (e.ssContent.transition = t.clone(e.ssContent), e.ssFallback.transition = t.clone(e.ssFallback)) : e.transition = t;
|
|
1319
1319
|
}
|
|
1320
|
-
|
|
1320
|
+
se().requestIdleCallback, se().cancelIdleCallback;
|
|
1321
1321
|
var Kn = /* @__PURE__ */ Symbol.for("v-ndc"), qn = (e) => e ? Ir(e) ? Rr(e) : qn(e.parent) : null, Jn = /* @__PURE__ */ T(/* @__PURE__ */ Object.create(null), {
|
|
1322
1322
|
$: (e) => e,
|
|
1323
1323
|
$el: (e) => e.vnode.el,
|
|
1324
1324
|
$data: (e) => e.data,
|
|
1325
|
-
$props: (e) => process.env.NODE_ENV === "production" ? e.props : /* @__PURE__ */
|
|
1326
|
-
$attrs: (e) => process.env.NODE_ENV === "production" ? e.attrs : /* @__PURE__ */
|
|
1327
|
-
$slots: (e) => process.env.NODE_ENV === "production" ? e.slots : /* @__PURE__ */
|
|
1328
|
-
$refs: (e) => process.env.NODE_ENV === "production" ? e.refs : /* @__PURE__ */
|
|
1325
|
+
$props: (e) => process.env.NODE_ENV === "production" ? e.props : /* @__PURE__ */ bt(e.props),
|
|
1326
|
+
$attrs: (e) => process.env.NODE_ENV === "production" ? e.attrs : /* @__PURE__ */ bt(e.attrs),
|
|
1327
|
+
$slots: (e) => process.env.NODE_ENV === "production" ? e.slots : /* @__PURE__ */ bt(e.slots),
|
|
1328
|
+
$refs: (e) => process.env.NODE_ENV === "production" ? e.refs : /* @__PURE__ */ bt(e.refs),
|
|
1329
1329
|
$parent: (e) => qn(e.parent),
|
|
1330
1330
|
$root: (e) => qn(e.root),
|
|
1331
1331
|
$host: (e) => e.ce,
|
|
@@ -1356,7 +1356,7 @@ var Kn = /* @__PURE__ */ Symbol.for("v-ndc"), qn = (e) => e ? Ir(e) ? Rr(e) : qn
|
|
|
1356
1356
|
else Qn && (o[t] = 0);
|
|
1357
1357
|
}
|
|
1358
1358
|
let l = Jn[t], u, d;
|
|
1359
|
-
if (l) return t === "$attrs" ? (
|
|
1359
|
+
if (l) return t === "$attrs" ? (K(e.attrs, "get", ""), process.env.NODE_ENV) : process.env.NODE_ENV !== "production" && t === "$slots" && K(e, "get", t), l(e);
|
|
1360
1360
|
if ((u = s.__cssModules) && (u = u[t])) return u;
|
|
1361
1361
|
if (n !== x && O(n, t)) return o[t] = 4, n[t];
|
|
1362
1362
|
if (d = c.config.globalProperties, O(d, t)) return d[t];
|
|
@@ -1463,7 +1463,7 @@ var hr = /* @__PURE__ */ Symbol.for("v-fgt"), gr = /* @__PURE__ */ Symbol.for("v
|
|
|
1463
1463
|
function vr(e) {
|
|
1464
1464
|
return e ? e.__v_isVNode === !0 : !1;
|
|
1465
1465
|
}
|
|
1466
|
-
var yr, br = (...e) => Tr(...yr ? yr(e, In) : e), xr = ({ key: e }) => e ?? null, Sr = ({ ref: e, ref_key: t, ref_for: n }) => (typeof e == "number" && (e = "" + e), e == null ? null : M(e) || /* @__PURE__ */
|
|
1466
|
+
var yr, br = (...e) => Tr(...yr ? yr(e, In) : e), xr = ({ key: e }) => e ?? null, Sr = ({ ref: e, ref_key: t, ref_for: n }) => (typeof e == "number" && (e = "" + e), e == null ? null : M(e) || /* @__PURE__ */ kt(e) || j(e) ? {
|
|
1467
1467
|
i: In,
|
|
1468
1468
|
r: e,
|
|
1469
1469
|
k: t,
|
|
@@ -1510,13 +1510,13 @@ function Tr(e, t = null, n = null, r = 0, i = null, a = !1) {
|
|
|
1510
1510
|
if (Ur(e) && (e = e.__vccOpts), t) {
|
|
1511
1511
|
t = Er(t);
|
|
1512
1512
|
let { class: e, style: n } = t;
|
|
1513
|
-
e && !M(e) && (t.class =
|
|
1513
|
+
e && !M(e) && (t.class = B(e)), N(n) && (/* @__PURE__ */ Tt(n) && !k(n) && (n = T({}, n)), t.style = ce(n));
|
|
1514
1514
|
}
|
|
1515
1515
|
let o = M(e) ? 1 : pr(e) ? 128 : Wn(e) ? 64 : N(e) ? 4 : j(e) ? 2 : 0;
|
|
1516
|
-
return process.env.NODE_ENV !== "production" && o & 4 && /* @__PURE__ */
|
|
1516
|
+
return process.env.NODE_ENV !== "production" && o & 4 && /* @__PURE__ */ Tt(e) && (e = /* @__PURE__ */ J(e), Xt("Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with `markRaw` or using `shallowRef` instead of `ref`.", "\nComponent that was made reactive: ", e)), Cr(e, t, n, r, i, o, a, !0);
|
|
1517
1517
|
}
|
|
1518
1518
|
function Er(e) {
|
|
1519
|
-
return e ? /* @__PURE__ */
|
|
1519
|
+
return e ? /* @__PURE__ */ Tt(e) || dr(e) ? T({}, e) : e : null;
|
|
1520
1520
|
}
|
|
1521
1521
|
function Dr(e, t, n = !1, r = !1) {
|
|
1522
1522
|
let { props: i, ref: a, patchFlag: o, children: s, transition: c } = e, l = t ? jr(i || {}, t) : i, u = {
|
|
@@ -1584,8 +1584,8 @@ function jr(...e) {
|
|
|
1584
1584
|
let t = {};
|
|
1585
1585
|
for (let n = 0; n < e.length; n++) {
|
|
1586
1586
|
let r = e[n];
|
|
1587
|
-
for (let e in r) if (e === "class") t.class !== r.class && (t.class =
|
|
1588
|
-
else if (e === "style") t.style =
|
|
1587
|
+
for (let e in r) if (e === "class") t.class !== r.class && (t.class = B([t.class, r.class]));
|
|
1588
|
+
else if (e === "style") t.style = ce([t.style, r.style]);
|
|
1589
1589
|
else if (C(e)) {
|
|
1590
1590
|
let n = t[e], i = r[e];
|
|
1591
1591
|
i && n !== i && !(k(n) && n.includes(i)) ? t[e] = n ? [].concat(n, i) : i : i == null && n == null && !w(e) && (t[e] = i);
|
|
@@ -1595,7 +1595,7 @@ function jr(...e) {
|
|
|
1595
1595
|
}
|
|
1596
1596
|
var Mr = null, Nr = () => Mr || In, Pr;
|
|
1597
1597
|
{
|
|
1598
|
-
let e =
|
|
1598
|
+
let e = se(), t = (t, n) => {
|
|
1599
1599
|
let r;
|
|
1600
1600
|
return (r = e[t]) || (r = e[t] = []), r.push(n), (e) => {
|
|
1601
1601
|
r.length > 1 ? r.forEach((t) => t(e)) : r[0](e);
|
|
@@ -1615,7 +1615,7 @@ function Ir(e) {
|
|
|
1615
1615
|
var Lr = !1;
|
|
1616
1616
|
process.env.NODE_ENV;
|
|
1617
1617
|
function Rr(e) {
|
|
1618
|
-
return e.exposed ? e.exposeProxy ||= new Proxy(Lt(
|
|
1618
|
+
return e.exposed ? e.exposeProxy ||= new Proxy(Lt(Et(e.exposed)), {
|
|
1619
1619
|
get(t, n) {
|
|
1620
1620
|
if (n in t) return t[n];
|
|
1621
1621
|
if (n in Jn) return Jn[n](e);
|
|
@@ -1665,10 +1665,10 @@ function Gr() {
|
|
|
1665
1665
|
e,
|
|
1666
1666
|
"VueInstance"
|
|
1667
1667
|
];
|
|
1668
|
-
if (/* @__PURE__ */
|
|
1669
|
-
|
|
1668
|
+
if (/* @__PURE__ */ kt(t)) {
|
|
1669
|
+
De();
|
|
1670
1670
|
let n = t.value;
|
|
1671
|
-
return
|
|
1671
|
+
return Oe(), [
|
|
1672
1672
|
"div",
|
|
1673
1673
|
{},
|
|
1674
1674
|
[
|
|
@@ -1680,25 +1680,25 @@ function Gr() {
|
|
|
1680
1680
|
s(n),
|
|
1681
1681
|
">"
|
|
1682
1682
|
];
|
|
1683
|
-
} else if (/* @__PURE__ */
|
|
1683
|
+
} else if (/* @__PURE__ */ St(t)) return [
|
|
1684
1684
|
"div",
|
|
1685
1685
|
{},
|
|
1686
1686
|
[
|
|
1687
1687
|
"span",
|
|
1688
1688
|
e,
|
|
1689
|
-
/* @__PURE__ */
|
|
1689
|
+
/* @__PURE__ */ wt(t) ? "ShallowReactive" : "Reactive"
|
|
1690
1690
|
],
|
|
1691
1691
|
"<",
|
|
1692
1692
|
s(t),
|
|
1693
|
-
`>${/* @__PURE__ */
|
|
1693
|
+
`>${/* @__PURE__ */ Ct(t) ? " (readonly)" : ""}`
|
|
1694
1694
|
];
|
|
1695
|
-
else if (/* @__PURE__ */
|
|
1695
|
+
else if (/* @__PURE__ */ Ct(t)) return [
|
|
1696
1696
|
"div",
|
|
1697
1697
|
{},
|
|
1698
1698
|
[
|
|
1699
1699
|
"span",
|
|
1700
1700
|
e,
|
|
1701
|
-
/* @__PURE__ */
|
|
1701
|
+
/* @__PURE__ */ wt(t) ? "ShallowReadonly" : "Readonly"
|
|
1702
1702
|
],
|
|
1703
1703
|
"<",
|
|
1704
1704
|
s(t),
|
|
@@ -1719,7 +1719,7 @@ function Gr() {
|
|
|
1719
1719
|
};
|
|
1720
1720
|
function a(e) {
|
|
1721
1721
|
let t = [];
|
|
1722
|
-
e.type.props && e.props && t.push(o("props", /* @__PURE__ */
|
|
1722
|
+
e.type.props && e.props && t.push(o("props", /* @__PURE__ */ J(e.props))), e.setupState !== x && t.push(o("setup", e.setupState)), e.data !== x && t.push(o("data", /* @__PURE__ */ J(e.data)));
|
|
1723
1723
|
let n = c(e, "computed");
|
|
1724
1724
|
n && t.push(o("computed", n));
|
|
1725
1725
|
let i = c(e, "inject");
|
|
@@ -1772,7 +1772,7 @@ function Gr() {
|
|
|
1772
1772
|
"span",
|
|
1773
1773
|
r,
|
|
1774
1774
|
e
|
|
1775
|
-
] : N(e) ? ["object", { object: i ? /* @__PURE__ */
|
|
1775
|
+
] : N(e) ? ["object", { object: i ? /* @__PURE__ */ J(e) : e }] : [
|
|
1776
1776
|
"span",
|
|
1777
1777
|
n,
|
|
1778
1778
|
String(e)
|
|
@@ -1790,7 +1790,7 @@ function Gr() {
|
|
|
1790
1790
|
if (k(r) && r.includes(t) || N(r) && t in r || e.extends && l(e.extends, t, n) || e.mixins && e.mixins.some((e) => l(e, t, n))) return !0;
|
|
1791
1791
|
}
|
|
1792
1792
|
function u(e) {
|
|
1793
|
-
return /* @__PURE__ */
|
|
1793
|
+
return /* @__PURE__ */ wt(e) ? "ShallowRef" : e.effect ? "ComputedRef" : "Ref";
|
|
1794
1794
|
}
|
|
1795
1795
|
window.devtoolsFormatters ? window.devtoolsFormatters.push(i) : window.devtoolsFormatters = [i];
|
|
1796
1796
|
}
|
|
@@ -2403,13 +2403,13 @@ function Wi(e) {
|
|
|
2403
2403
|
};
|
|
2404
2404
|
I.value.push(n), I.value.length > Ri && I.value.splice(0, I.value.length - Ri), Pt(I), A?.(n), te && console.log(`%c[Agent] ${e}`, "color:#667eea;font-weight:bold", t);
|
|
2405
2405
|
}
|
|
2406
|
-
let
|
|
2406
|
+
let R = (e) => {
|
|
2407
2407
|
I.value.push(e), I.value.length > Ri && I.value.splice(0, I.value.length - Ri), Pt(I);
|
|
2408
|
-
},
|
|
2409
|
-
function
|
|
2410
|
-
if (!
|
|
2408
|
+
}, ae = /* @__PURE__ */ jt([]), oe = 0, se = !!ee || !!j;
|
|
2409
|
+
function ce(e, t, n, r = {}) {
|
|
2410
|
+
if (!se) return null;
|
|
2411
2411
|
let i = {
|
|
2412
|
-
id: `span-${++
|
|
2412
|
+
id: `span-${++oe}`,
|
|
2413
2413
|
parentId: e,
|
|
2414
2414
|
name: n,
|
|
2415
2415
|
type: t,
|
|
@@ -2417,12 +2417,12 @@ function Wi(e) {
|
|
|
2417
2417
|
status: "ok",
|
|
2418
2418
|
attributes: r
|
|
2419
2419
|
};
|
|
2420
|
-
return
|
|
2420
|
+
return ae.value.push(i), ae.value.length > Ri && ae.value.splice(0, ae.value.length - Ri), Pt(ae), i;
|
|
2421
2421
|
}
|
|
2422
|
-
function
|
|
2423
|
-
!e || !
|
|
2422
|
+
function le(e, t = "ok", n) {
|
|
2423
|
+
!e || !se || (e.endTs = Date.now(), e.durationMs = e.endTs - e.startTs, e.status = t, n && Object.assign(e.attributes, n), Pt(ae), ee?.(e));
|
|
2424
2424
|
}
|
|
2425
|
-
let
|
|
2425
|
+
let ue = [...x.flatMap((e) => e.tools || []), ...b], z = e.llm ?? new n({
|
|
2426
2426
|
apiKey: t,
|
|
2427
2427
|
model: c,
|
|
2428
2428
|
temperature: l,
|
|
@@ -2433,44 +2433,44 @@ function Wi(e) {
|
|
|
2433
2433
|
...m
|
|
2434
2434
|
},
|
|
2435
2435
|
...p ? { modelKwargs: p } : {}
|
|
2436
|
-
}),
|
|
2437
|
-
function
|
|
2438
|
-
|
|
2436
|
+
}), de = ue.length > 0 ? z.bindTools?.(ue) ?? z : z;
|
|
2437
|
+
function B() {
|
|
2438
|
+
de = ue.length > 0 ? z.bindTools?.(ue) ?? z : z;
|
|
2439
2439
|
}
|
|
2440
|
-
let
|
|
2441
|
-
function
|
|
2440
|
+
let V = ui(), fe = .25, pe = /* @__PURE__ */ new Set(["mission", "workingMemory"]);
|
|
2441
|
+
function H() {
|
|
2442
2442
|
let e = v || "你是一个智能助手。", t = [];
|
|
2443
2443
|
for (let e of x) if (e.augmentPrompt) {
|
|
2444
|
-
let n = e.augmentPrompt(
|
|
2444
|
+
let n = e.augmentPrompt(V);
|
|
2445
2445
|
n && t.push({
|
|
2446
2446
|
name: e.name,
|
|
2447
2447
|
text: n,
|
|
2448
2448
|
tokens: X(n),
|
|
2449
|
-
pin:
|
|
2449
|
+
pin: pe.has(e.name)
|
|
2450
2450
|
});
|
|
2451
2451
|
}
|
|
2452
|
-
let n = Math.max(2e3, Math.round(P.contextWindow *
|
|
2452
|
+
let n = Math.max(2e3, Math.round(P.contextWindow * fe)), r = X(e) + t.reduce((e, t) => e + t.tokens, 0);
|
|
2453
2453
|
if (r > n) {
|
|
2454
2454
|
let e = r, i = [];
|
|
2455
2455
|
for (let e of t.filter((e) => !e.pin).sort((e, t) => t.tokens - e.tokens)) {
|
|
2456
2456
|
if (r <= n) break;
|
|
2457
2457
|
i.push(`${e.name}(${e.tokens})`), r -= e.tokens, e.text = "";
|
|
2458
2458
|
}
|
|
2459
|
-
i.length && console.warn(`[page-agent-sdk] 系统段超预算(${e} > ${n} tokens,窗口 ${P.contextWindow} 的 ${
|
|
2459
|
+
i.length && console.warn(`[page-agent-sdk] 系统段超预算(${e} > ${n} tokens,窗口 ${P.contextWindow} 的 ${fe * 100}%),drop 非核心段:${i.join(", ")}(保 base/mission/workingMemory)`);
|
|
2460
2460
|
}
|
|
2461
2461
|
return [e, ...t.filter((e) => e.text).map((e) => e.text)].join("\n\n");
|
|
2462
2462
|
}
|
|
2463
|
-
function
|
|
2464
|
-
let t = [new o(
|
|
2463
|
+
function me(e) {
|
|
2464
|
+
let t = [new o(H())];
|
|
2465
2465
|
for (let n of e) n.role === "user" ? t.push(new a(n.content)) : n.role === "assistant" ? t.push(new i(n.content)) : n.role === "system" && t.push(new o(n.content));
|
|
2466
2466
|
return t;
|
|
2467
2467
|
}
|
|
2468
|
-
function
|
|
2469
|
-
let t = e[0] &&
|
|
2470
|
-
return [new o(
|
|
2468
|
+
function he(e) {
|
|
2469
|
+
let t = e[0] && ve(e[0]) === "system" ? e.slice(1) : e.slice();
|
|
2470
|
+
return [new o(H()), ...t];
|
|
2471
2471
|
}
|
|
2472
|
-
async function
|
|
2473
|
-
let a = r ??
|
|
2472
|
+
async function ge(e, t, n, r) {
|
|
2473
|
+
let a = r ?? de, o = {
|
|
2474
2474
|
signal: n,
|
|
2475
2475
|
maxRetries: w,
|
|
2476
2476
|
baseDelayMs: T,
|
|
@@ -2508,14 +2508,14 @@ function Wi(e) {
|
|
|
2508
2508
|
};
|
|
2509
2509
|
if (yi(a) && !e._ctxRetry) {
|
|
2510
2510
|
e._ctxRetry = !0;
|
|
2511
|
-
let i = (e) => X(typeof e.content == "string" ? e.content : JSON.stringify(e.content)), a = e.messages.reduce((e, t) => e + i(t), 0), o =
|
|
2511
|
+
let i = (e) => X(typeof e.content == "string" ? e.content : JSON.stringify(e.content)), a = e.messages.reduce((e, t) => e + i(t), 0), o = U(e.messages, Math.round(P.contextWindow * .3)), s = o.reduce((e, t) => e + i(t), 0);
|
|
2512
2512
|
return L("error", {
|
|
2513
2513
|
stage: "context_overflow_retry",
|
|
2514
2514
|
at: "launch",
|
|
2515
2515
|
beforeTokens: a,
|
|
2516
2516
|
afterTokens: s,
|
|
2517
2517
|
window: P.contextWindow
|
|
2518
|
-
}), console.warn(`[page-agent-sdk] 上下文超限(启动)→ 激进 trim 重试:${a} → ${s} tokens`),
|
|
2518
|
+
}), console.warn(`[page-agent-sdk] 上下文超限(启动)→ 激进 trim 重试:${a} → ${s} tokens`), ge({
|
|
2519
2519
|
...e,
|
|
2520
2520
|
messages: o
|
|
2521
2521
|
}, t, n, r);
|
|
@@ -2557,13 +2557,13 @@ function Wi(e) {
|
|
|
2557
2557
|
};
|
|
2558
2558
|
if (yi(a) && l === null && u === "" && !e._ctxRetry) {
|
|
2559
2559
|
e._ctxRetry = !0;
|
|
2560
|
-
let i = (e) => X(typeof e.content == "string" ? e.content : JSON.stringify(e.content)), a = e.messages.reduce((e, t) => e + i(t), 0), o =
|
|
2560
|
+
let i = (e) => X(typeof e.content == "string" ? e.content : JSON.stringify(e.content)), a = e.messages.reduce((e, t) => e + i(t), 0), o = U(e.messages, Math.round(P.contextWindow * .3)), s = o.reduce((e, t) => e + i(t), 0);
|
|
2561
2561
|
return L("error", {
|
|
2562
2562
|
stage: "context_overflow_retry",
|
|
2563
2563
|
beforeTokens: a,
|
|
2564
2564
|
afterTokens: s,
|
|
2565
2565
|
window: P.contextWindow
|
|
2566
|
-
}), console.warn(`[page-agent-sdk] 上下文超限 → 激进 trim 重试:${a} → ${s} tokens(窗口 ${P.contextWindow})`),
|
|
2566
|
+
}), console.warn(`[page-agent-sdk] 上下文超限 → 激进 trim 重试:${a} → ${s} tokens(窗口 ${P.contextWindow})`), ge({
|
|
2567
2567
|
...e,
|
|
2568
2568
|
messages: o
|
|
2569
2569
|
}, t, n, r);
|
|
@@ -2577,22 +2577,25 @@ function Wi(e) {
|
|
|
2577
2577
|
content: u
|
|
2578
2578
|
};
|
|
2579
2579
|
}
|
|
2580
|
-
async function
|
|
2581
|
-
let t =
|
|
2580
|
+
async function _e(e) {
|
|
2581
|
+
let t = ue.find((t) => t.name === e.name);
|
|
2582
2582
|
if (!t) return {
|
|
2583
2583
|
content: `工具 "${e.name}" 不存在`,
|
|
2584
2584
|
status: "error"
|
|
2585
2585
|
};
|
|
2586
2586
|
try {
|
|
2587
|
-
let n =
|
|
2588
|
-
|
|
2587
|
+
let n = {
|
|
2588
|
+
__pgDataScope: "",
|
|
2589
|
+
...e.callConfig ?? {}
|
|
2590
|
+
}, r = await t.invoke(e.args, { configurable: n }), i = typeof r == "string" ? r : JSON.stringify(r);
|
|
2591
|
+
return i = ti(i, {
|
|
2589
2592
|
files: e.state.files,
|
|
2590
|
-
vfsAvailable:
|
|
2593
|
+
vfsAvailable: ue.some((e) => e.name === "vfs_read"),
|
|
2591
2594
|
toolName: e.name,
|
|
2592
2595
|
threshold: re,
|
|
2593
2596
|
passThroughChars: ie
|
|
2594
2597
|
}).content, {
|
|
2595
|
-
content:
|
|
2598
|
+
content: i,
|
|
2596
2599
|
status: "done"
|
|
2597
2600
|
};
|
|
2598
2601
|
} catch (e) {
|
|
@@ -2602,15 +2605,15 @@ function Wi(e) {
|
|
|
2602
2605
|
};
|
|
2603
2606
|
}
|
|
2604
2607
|
}
|
|
2605
|
-
function
|
|
2608
|
+
function ve(e) {
|
|
2606
2609
|
return e instanceof a ? "human" : e instanceof i ? "ai" : e instanceof o ? "system" : e instanceof s ? "tool" : "unknown";
|
|
2607
2610
|
}
|
|
2608
|
-
function
|
|
2611
|
+
function U(e, t) {
|
|
2609
2612
|
return Bi(e, t);
|
|
2610
2613
|
}
|
|
2611
|
-
function
|
|
2614
|
+
function ye(e) {
|
|
2612
2615
|
return !te && !A ? [] : e.map((e) => {
|
|
2613
|
-
let t =
|
|
2616
|
+
let t = ve(e), n = { role: t === "human" ? "user" : t === "ai" ? "assistant" : t }, r = typeof e.content == "string" ? e.content : JSON.stringify(e.content);
|
|
2614
2617
|
r && (n.content = r.length > zi ? r.slice(0, zi) + `…(截断 ${r.length - zi} 字符)` : r);
|
|
2615
2618
|
let i = e.tool_calls;
|
|
2616
2619
|
Array.isArray(i) && i.length && (n.tool_calls = i.map((e) => ({
|
|
@@ -2625,20 +2628,20 @@ function Wi(e) {
|
|
|
2625
2628
|
return a && (n.tool_call_id = a), n;
|
|
2626
2629
|
});
|
|
2627
2630
|
}
|
|
2628
|
-
async function
|
|
2629
|
-
I.value = [],
|
|
2631
|
+
async function be(e, t, n) {
|
|
2632
|
+
I.value = [], ae.value = [], oe = 0, V = ui(), V.messages = e, V = await xi(x, V);
|
|
2630
2633
|
let r = e;
|
|
2631
2634
|
for (let e of x) if (e.compressInput) {
|
|
2632
|
-
let t =
|
|
2633
|
-
r = Array.isArray(n) ? n : n.messages, n && !Array.isArray(n) && n.stats ? (
|
|
2634
|
-
...
|
|
2635
|
+
let t = ce(void 0, "compression", `compress:${e.name}`, {}), n = await e.compressInput(r);
|
|
2636
|
+
r = Array.isArray(n) ? n : n.messages, n && !Array.isArray(n) && n.stats ? (V = {
|
|
2637
|
+
...V,
|
|
2635
2638
|
lastCompression: n.stats
|
|
2636
|
-
},
|
|
2639
|
+
}, le(t, "ok", { stats: n.stats })) : le(t);
|
|
2637
2640
|
}
|
|
2638
2641
|
{
|
|
2639
|
-
let e = X(v || "你是一个智能助手。"), n = Math.max(2e3, Math.round(P.contextWindow *
|
|
2642
|
+
let e = X(v || "你是一个智能助手。"), n = Math.max(2e3, Math.round(P.contextWindow * fe));
|
|
2640
2643
|
if (e > n) {
|
|
2641
|
-
let r = `[page-agent-sdk] systemPrompt 本身(${e} tokens)超过系统段预算(${n} tokens,窗口 ${P.contextWindow} 的 ${
|
|
2644
|
+
let r = `[page-agent-sdk] systemPrompt 本身(${e} tokens)超过系统段预算(${n} tokens,窗口 ${P.contextWindow} 的 ${fe * 100}%);请缩减 systemPrompt 或换更大窗口模型`;
|
|
2642
2645
|
return console.error(r), t({
|
|
2643
2646
|
type: "error",
|
|
2644
2647
|
message: r,
|
|
@@ -2650,13 +2653,13 @@ function Wi(e) {
|
|
|
2650
2653
|
}), "";
|
|
2651
2654
|
}
|
|
2652
2655
|
}
|
|
2653
|
-
let i =
|
|
2656
|
+
let i = me(r);
|
|
2654
2657
|
L("context", {
|
|
2655
2658
|
model: c,
|
|
2656
|
-
tools:
|
|
2659
|
+
tools: ue.map((e) => e.name),
|
|
2657
2660
|
middleware: x.map((e) => e.name)
|
|
2658
2661
|
});
|
|
2659
|
-
let l = Ei(x, (e) =>
|
|
2662
|
+
let l = Ei(x, (e) => ge(e, t, n)), u = Di(x, _e), d = {
|
|
2660
2663
|
rounds: 0,
|
|
2661
2664
|
maxToolRounds: N,
|
|
2662
2665
|
invokeUsage: {
|
|
@@ -2667,7 +2670,7 @@ function Wi(e) {
|
|
|
2667
2670
|
writeFailures: {},
|
|
2668
2671
|
budgetHinted: !1
|
|
2669
2672
|
};
|
|
2670
|
-
|
|
2673
|
+
V.loopProgress = d;
|
|
2671
2674
|
let f = 0, p = 0, m = Vi(N, C), h = null, g = 0, b = !1, S = 0;
|
|
2672
2675
|
try {
|
|
2673
2676
|
for (; (f < N || b) && p < m && (p++, !n?.aborted);) {
|
|
@@ -2692,38 +2695,38 @@ function Wi(e) {
|
|
|
2692
2695
|
content: e
|
|
2693
2696
|
}), e;
|
|
2694
2697
|
}
|
|
2695
|
-
let e =
|
|
2698
|
+
let e = ce(void 0, "round", `round ${p}`, { round: p })?.id;
|
|
2696
2699
|
t({
|
|
2697
2700
|
type: "round_start",
|
|
2698
2701
|
round: p
|
|
2699
|
-
}),
|
|
2702
|
+
}), V = Si(x, {
|
|
2700
2703
|
messages: i,
|
|
2701
|
-
state:
|
|
2702
|
-
}), i =
|
|
2703
|
-
let r =
|
|
2704
|
+
state: V
|
|
2705
|
+
}), i = he(i), i = U(i, Math.round(P.contextWindow * .6));
|
|
2706
|
+
let r = ce(e, "model", c, {
|
|
2704
2707
|
round: f + 1,
|
|
2705
|
-
tools:
|
|
2708
|
+
tools: ue.map((e) => e.name)
|
|
2706
2709
|
});
|
|
2707
2710
|
L("llm_request", {
|
|
2708
2711
|
round: f + 1,
|
|
2709
2712
|
model: c,
|
|
2710
|
-
tools:
|
|
2711
|
-
messages:
|
|
2713
|
+
tools: ue.map((e) => e.name),
|
|
2714
|
+
messages: ye(i)
|
|
2712
2715
|
});
|
|
2713
2716
|
let o = await l({
|
|
2714
2717
|
messages: i,
|
|
2715
|
-
state:
|
|
2718
|
+
state: V
|
|
2716
2719
|
});
|
|
2717
2720
|
i.push(o.message), L("llm_response", {
|
|
2718
2721
|
round: f + 1,
|
|
2719
2722
|
content: o.content,
|
|
2720
2723
|
toolCalls: o.toolCalls
|
|
2721
|
-
}),
|
|
2724
|
+
}), le(r, o.aborted ? "timeout" : "ok", { usage: _(o.message) });
|
|
2722
2725
|
{
|
|
2723
2726
|
let e = y(o.message);
|
|
2724
2727
|
e && (d.invokeUsage.prompt_tokens += e.prompt_tokens ?? 0, d.invokeUsage.completion_tokens += e.completion_tokens ?? 0, d.invokeUsage.total_tokens += e.total_tokens ?? 0);
|
|
2725
2728
|
}
|
|
2726
|
-
if (
|
|
2729
|
+
if (V = Ci(x, o, V), o.aborted) return t({
|
|
2727
2730
|
type: "done",
|
|
2728
2731
|
content: o.content
|
|
2729
2732
|
}), o.content;
|
|
@@ -2769,17 +2772,17 @@ function Wi(e) {
|
|
|
2769
2772
|
}), i.push(new a("⚠️ 你刚才输出的是计划/过渡性表述(如「我先看看」「稍后委派」),任务尚未完成。请立即继续执行 —— 调用所需工具把任务做完,全部完成后再给出总结回复。"));
|
|
2770
2773
|
continue;
|
|
2771
2774
|
}
|
|
2772
|
-
if (!e && O > 0 &&
|
|
2775
|
+
if (!e && O > 0 && V.verifyAttempts < O) {
|
|
2773
2776
|
let e = await Ti(x, {
|
|
2774
2777
|
messages: i,
|
|
2775
|
-
state:
|
|
2778
|
+
state: V,
|
|
2776
2779
|
response: o,
|
|
2777
2780
|
log: (e, t) => L(e, t)
|
|
2778
2781
|
});
|
|
2779
2782
|
if (e) {
|
|
2780
|
-
h = o.content,
|
|
2783
|
+
h = o.content, V.verifyAttempts += 1, i.push(new a(`⚠️ 验证未通过,请修正:${e}`)), L("middleware", {
|
|
2781
2784
|
stage: "verify_retry",
|
|
2782
|
-
attempt:
|
|
2785
|
+
attempt: V.verifyAttempts,
|
|
2783
2786
|
feedback: e
|
|
2784
2787
|
});
|
|
2785
2788
|
continue;
|
|
@@ -2807,15 +2810,15 @@ function Wi(e) {
|
|
|
2807
2810
|
id: r,
|
|
2808
2811
|
name: e.name,
|
|
2809
2812
|
args: e.args,
|
|
2810
|
-
state:
|
|
2813
|
+
state: V,
|
|
2811
2814
|
signal: n,
|
|
2812
2815
|
emit: t,
|
|
2813
|
-
logSink:
|
|
2816
|
+
logSink: R
|
|
2814
2817
|
}
|
|
2815
2818
|
};
|
|
2816
2819
|
}), v = await ni(m, D, async (r) => {
|
|
2817
2820
|
if (n?.aborted) return;
|
|
2818
|
-
let i =
|
|
2821
|
+
let i = ce(e, "tool", r.call.name, { name: r.call.name }), a = Date.now();
|
|
2819
2822
|
t({
|
|
2820
2823
|
type: "tool_call",
|
|
2821
2824
|
name: r.call.name,
|
|
@@ -2849,7 +2852,7 @@ function Wi(e) {
|
|
|
2849
2852
|
result: o.content,
|
|
2850
2853
|
status: o.status,
|
|
2851
2854
|
durationMs: s
|
|
2852
|
-
}),
|
|
2855
|
+
}), le(i, o.status === "error" ? "error" : "ok", { resultSnippet: String(o.content).slice(0, 100) }), o;
|
|
2853
2856
|
}, n);
|
|
2854
2857
|
for (let e = 0; e < m.length; e++) {
|
|
2855
2858
|
let t = v[e];
|
|
@@ -2876,19 +2879,19 @@ function Wi(e) {
|
|
|
2876
2879
|
content: h
|
|
2877
2880
|
}), h;
|
|
2878
2881
|
let e = i[i.length - 1];
|
|
2879
|
-
if (e &&
|
|
2880
|
-
let e = i[0] &&
|
|
2882
|
+
if (e && ve(e) === "tool") {
|
|
2883
|
+
let e = i[0] && ve(i[0]) === "system" ? i.slice(1) : i.slice(), r = [new o(H() + "\n\n工具调用次数已达上限,请基于已有工具结果直接给出最终回答,不要再调用工具。"), ...e];
|
|
2881
2884
|
L("llm_request", {
|
|
2882
2885
|
round: "wrap_up",
|
|
2883
2886
|
model: c,
|
|
2884
2887
|
tools: [],
|
|
2885
|
-
messages:
|
|
2888
|
+
messages: ye(r)
|
|
2886
2889
|
});
|
|
2887
|
-
let a = await Ei(x, (e) =>
|
|
2890
|
+
let a = await Ei(x, (e) => ge(e, t, n, z))({
|
|
2888
2891
|
messages: r,
|
|
2889
|
-
state:
|
|
2892
|
+
state: V
|
|
2890
2893
|
});
|
|
2891
|
-
if (
|
|
2894
|
+
if (V = Ci(x, a, V), L("llm_response", {
|
|
2892
2895
|
round: "wrap_up",
|
|
2893
2896
|
content: a.content
|
|
2894
2897
|
}), a.aborted) return t({
|
|
@@ -2923,41 +2926,41 @@ function Wi(e) {
|
|
|
2923
2926
|
}), r;
|
|
2924
2927
|
} finally {
|
|
2925
2928
|
try {
|
|
2926
|
-
await wi(x,
|
|
2929
|
+
await wi(x, V);
|
|
2927
2930
|
} catch (e) {
|
|
2928
2931
|
let t = Zr(e, "observable");
|
|
2929
2932
|
console.warn("[Agent] afterAgent 清理出错(observable,已忽略):", t.message);
|
|
2930
2933
|
}
|
|
2931
|
-
if (
|
|
2932
|
-
j(
|
|
2934
|
+
if (se && j) try {
|
|
2935
|
+
j(ae.value, li(ae.value));
|
|
2933
2936
|
} catch {}
|
|
2934
2937
|
}
|
|
2935
2938
|
}
|
|
2936
|
-
async function
|
|
2939
|
+
async function xe(e, t, n) {
|
|
2937
2940
|
let r = "";
|
|
2938
|
-
return await
|
|
2941
|
+
return await be(e, (e) => {
|
|
2939
2942
|
e.type === "done" && (r = e.content), n?.(e);
|
|
2940
2943
|
}, t), r;
|
|
2941
2944
|
}
|
|
2942
|
-
function
|
|
2943
|
-
|
|
2945
|
+
function Se(e) {
|
|
2946
|
+
ue = [...x.flatMap((e) => e.tools || []), ...e], B();
|
|
2944
2947
|
}
|
|
2945
|
-
function
|
|
2946
|
-
|
|
2948
|
+
function Ce(e) {
|
|
2949
|
+
z = e, B(), M?.(e);
|
|
2947
2950
|
}
|
|
2948
2951
|
return {
|
|
2949
|
-
invoke:
|
|
2950
|
-
stream:
|
|
2951
|
-
getState: () =>
|
|
2952
|
+
invoke: xe,
|
|
2953
|
+
stream: be,
|
|
2954
|
+
getState: () => V,
|
|
2952
2955
|
get allTools() {
|
|
2953
|
-
return
|
|
2956
|
+
return ue;
|
|
2954
2957
|
},
|
|
2955
|
-
setTools:
|
|
2956
|
-
setLlm:
|
|
2958
|
+
setTools: Se,
|
|
2959
|
+
setLlm: Ce,
|
|
2957
2960
|
setModelCaps: F,
|
|
2958
2961
|
debugLogs: I,
|
|
2959
|
-
spans:
|
|
2960
|
-
getEffectiveSystemPrompt: () =>
|
|
2962
|
+
spans: ae,
|
|
2963
|
+
getEffectiveSystemPrompt: () => H()
|
|
2961
2964
|
};
|
|
2962
2965
|
}
|
|
2963
2966
|
//#endregion
|
|
@@ -3777,7 +3780,8 @@ function Qa(e) {
|
|
|
3777
3780
|
let n = [
|
|
3778
3781
|
"## 当前精修目标",
|
|
3779
3782
|
t.map((e) => `· ${e.path}${e.label ? `(${e.label})` : ""}`).join("\n"),
|
|
3780
|
-
`仅操作上述 ${t.length} 个聚焦子树${t.length > 1 ? "之一" : ""},用户未指明目标的指令默认作用于聚焦组件;不要改动其他组件;${i}
|
|
3783
|
+
`仅操作上述 ${t.length} 个聚焦子树${t.length > 1 ? "之一" : ""},用户未指明目标的指令默认作用于聚焦组件;不要改动其他组件;${i}`,
|
|
3784
|
+
"read 不带路径时默认只返回聚焦子树;需要全量主数据时显式列顶层键(read({jsonPaths:[...]}) )"
|
|
3781
3785
|
], r = e.getSchema();
|
|
3782
3786
|
if (r) {
|
|
3783
3787
|
let e = t.map((e) => {
|
|
@@ -3806,6 +3810,22 @@ function Qa(e) {
|
|
|
3806
3810
|
if (!r.length) return o("(整体数据)");
|
|
3807
3811
|
for (let n of r) if (!t.some((e) => Xa(n, e.path)) && !Za(n, e.getBind?.())) return o(n);
|
|
3808
3812
|
}
|
|
3813
|
+
if (n.name === "read") {
|
|
3814
|
+
let e = n.args;
|
|
3815
|
+
if (!e?.jsonPath && !e?.jsonPaths) {
|
|
3816
|
+
let i = t.map((e) => e.path), a = await r({
|
|
3817
|
+
...n,
|
|
3818
|
+
args: {
|
|
3819
|
+
...e,
|
|
3820
|
+
jsonPaths: i
|
|
3821
|
+
}
|
|
3822
|
+
}), o = `【聚焦模式】read 未带路径 → 默认返回聚焦子树(${i.join(", ")});需要全量主数据时显式列顶层键,如 read({jsonPaths:['<顶层键1>','<顶层键2>']})\n`;
|
|
3823
|
+
return {
|
|
3824
|
+
...a,
|
|
3825
|
+
content: o + a.content
|
|
3826
|
+
};
|
|
3827
|
+
}
|
|
3828
|
+
}
|
|
3809
3829
|
}
|
|
3810
3830
|
return r(n);
|
|
3811
3831
|
},
|
|
@@ -4882,12 +4902,12 @@ function Ss(e, t) {
|
|
|
4882
4902
|
return t.some((t) => e === t || e.startsWith(t + ".") || e.startsWith(t + "["));
|
|
4883
4903
|
}
|
|
4884
4904
|
function Cs(e, t) {
|
|
4885
|
-
let n = e.invoke.bind(e), r = async (e) => {
|
|
4905
|
+
let n = e.invoke.bind(e), r = async (e, r) => {
|
|
4886
4906
|
if (Array.isArray(e?.patches) && e.patches.some((e) => !e || typeof e.jsonPath != "string" || !e.jsonPath)) return `PATH_OUT_OF_SCOPE:patches 含无 jsonPath 项(作用于根),子 agent 仅可写 ${t.join(", ")} 范围内子路径。请为每个 patch 指定 jsonPath。`;
|
|
4887
|
-
let
|
|
4888
|
-
if (!
|
|
4889
|
-
for (let e of
|
|
4890
|
-
return n(e);
|
|
4907
|
+
let i = xs(e);
|
|
4908
|
+
if (!i.length) return `PATH_OUT_OF_SCOPE:子 agent 仅可增量 patch(writablePaths: ${t.join(", ")}),不能整体替换(无 jsonPath)。用 write({patch:{jsonPath,...}}) 增量改。`;
|
|
4909
|
+
for (let e of i) if (!Ss(e, t)) return `PATH_OUT_OF_SCOPE:子 agent 写 "${e}" 越界(仅可写 ${t.join(", ")})。`;
|
|
4910
|
+
return r === void 0 ? n(e) : n(e, r);
|
|
4891
4911
|
};
|
|
4892
4912
|
return new Proxy(e, { get(e, t, n) {
|
|
4893
4913
|
return t === "invoke" ? r : Reflect.get(e, t, n);
|
|
@@ -6874,17 +6894,19 @@ function nl(e) {
|
|
|
6874
6894
|
let n = $c(t) ? t : null, r = $c(t) ? null : t;
|
|
6875
6895
|
if (r && !r.apiKey) return;
|
|
6876
6896
|
let i = n;
|
|
6877
|
-
return async (
|
|
6878
|
-
let
|
|
6897
|
+
return async (t) => {
|
|
6898
|
+
let n = t.filter((e) => e.role === "user" || e.role === "assistant").map((e) => `${e.role === "user" ? "用户" : "助手"}: ${e.content}`).join("\n").slice(0, 800), s = new AbortController(), c = setTimeout(() => s.abort(), 1e4);
|
|
6879
6899
|
try {
|
|
6880
|
-
|
|
6900
|
+
!i && r && (i = await m(r, {
|
|
6881
6901
|
temperature: 0,
|
|
6882
6902
|
maxTokens: 30
|
|
6883
|
-
}))
|
|
6903
|
+
}));
|
|
6904
|
+
let t = await i.invoke([new o(e.dialog?.locale === "en-US" ? "Generate a short English title (max 10 words) summarizing the conversation below. Output the title text only, no quotes or punctuation." : "根据以下对话的主旨,生成一个简短的中文标题(不超过15个字,不要标点和引号,直接输出标题文字)。"), new a(n)], { signal: s.signal }), c = e.dialog?.locale === "en-US" ? 60 : 20;
|
|
6905
|
+
return el(t).trim().replace(/^["'""「『]|["'""」』]$/g, "").split("\n")[0].slice(0, c);
|
|
6884
6906
|
} catch {
|
|
6885
6907
|
return "";
|
|
6886
6908
|
} finally {
|
|
6887
|
-
clearTimeout(
|
|
6909
|
+
clearTimeout(c);
|
|
6888
6910
|
}
|
|
6889
6911
|
};
|
|
6890
6912
|
}
|
|
@@ -8635,7 +8657,7 @@ function Pu(e, n = {}) {
|
|
|
8635
8657
|
resourceStore: p.resourceStore
|
|
8636
8658
|
}));
|
|
8637
8659
|
let a = $(s);
|
|
8638
|
-
return b(a, n), i === void 0 ? `主数据${r ? ` @ ${r}` : ""} = (undefined) (hash=${a})` : `主数据${r ? ` @ ${r}` : ""} = ${Q(i)} (hash=${a})
|
|
8660
|
+
return b(a, n), i === void 0 ? `主数据${r ? ` @ ${r}` : ""} = (undefined) (hash=${a})` : (i = ku(i, n === "", C, S), `主数据${r ? ` @ ${r}` : ""} = ${Q(i)} (hash=${a})`);
|
|
8639
8661
|
}, {
|
|
8640
8662
|
name: "get_data",
|
|
8641
8663
|
description: "@deprecated(改用 read,等价且支持 fields/depth/分页)。读取主数据当前值(返回含 hash 供乐观锁);jsonPath 可选读子路径。大结果自动外存 vfs。",
|
|
@@ -8861,15 +8883,16 @@ function Pu(e, n = {}) {
|
|
|
8861
8883
|
jsonPath: t.string().optional().describe("只看快照的某子路径(相对主数据根);不传则整个快照"),
|
|
8862
8884
|
list: t.boolean().optional().describe("true 则列出快照时间线元信息(序号/操作/标签/时间/大小);不传则查看单条快照内容")
|
|
8863
8885
|
})
|
|
8864
|
-
}), re = r(async ({ expr: e, limit: t }) => {
|
|
8886
|
+
}), re = r(async ({ expr: e, limit: t }, n) => {
|
|
8887
|
+
let r = v(n);
|
|
8865
8888
|
if (typeof s != "object" || !s) return Y({
|
|
8866
8889
|
code: "NOT_OBJECT",
|
|
8867
8890
|
message: `主数据不是对象/数组,无法查询(当前为 ${s === void 0 ? "undefined" : typeof s})`,
|
|
8868
8891
|
hint: "query 仅适用于对象/数组;叶子用 get_data 读"
|
|
8869
8892
|
});
|
|
8870
|
-
let
|
|
8893
|
+
let i = l ? ea(s, o) : s, a;
|
|
8871
8894
|
try {
|
|
8872
|
-
|
|
8895
|
+
a = eu(i, e);
|
|
8873
8896
|
} catch (t) {
|
|
8874
8897
|
return Y({
|
|
8875
8898
|
code: "JSONPATH_SYNTAX",
|
|
@@ -8878,8 +8901,8 @@ function Pu(e, n = {}) {
|
|
|
8878
8901
|
details: { expr: e }
|
|
8879
8902
|
});
|
|
8880
8903
|
}
|
|
8881
|
-
let
|
|
8882
|
-
return `{"matched":${
|
|
8904
|
+
let c = t ?? 50, u = a.slice(0, c), d = u.map((e) => `{"path":${JSON.stringify(e.path)},"index":${e.index === void 0 ? "null" : e.index},"value":${Q(ku(e.value, r === "", C, S))}}`);
|
|
8905
|
+
return `{"matched":${a.length},"returned":${u.length},"truncated":${a.length > c},"results":[${d.join(",")}]}`;
|
|
8883
8906
|
}, {
|
|
8884
8907
|
name: "query_data",
|
|
8885
8908
|
description: "用 JSONPath 查询主数据(只读):$ 根/.key/[n]/[*]/[?(==/!=/</<=/>/>=,&&/||)]/..key 递归。返回匹配元素 path/index/value(path 可作 write patch 的 jsonPath);大数组筛选定位用它。",
|
|
@@ -9050,30 +9073,31 @@ function Pu(e, n = {}) {
|
|
|
9050
9073
|
A(F, (e) => e?.mode === "transform");
|
|
9051
9074
|
let I = r(async ({ jsonPath: e, jsonPaths: t, fields: r, depth: i, offset: a, limit: u }, d) => {
|
|
9052
9075
|
let f = v(d), m = $(s);
|
|
9053
|
-
if (
|
|
9054
|
-
let e = t.map((
|
|
9055
|
-
let
|
|
9056
|
-
if (!Ki(
|
|
9057
|
-
|
|
9058
|
-
|
|
9076
|
+
if (t && t.length) {
|
|
9077
|
+
let e = !1, a = t.map((t) => {
|
|
9078
|
+
let a = t || "";
|
|
9079
|
+
if (!Ki(a, o, l)) return `- ${a || "(根)"}: [PATH_DENIED: 不在 schema 声明字段内]`;
|
|
9080
|
+
e = !0;
|
|
9081
|
+
let c = a ? Z(s, a) : s;
|
|
9082
|
+
if (!a && l) c = ea(c, o);
|
|
9059
9083
|
else if (l) {
|
|
9060
|
-
let e = Ji(o,
|
|
9061
|
-
e && (
|
|
9084
|
+
let e = Ji(o, a);
|
|
9085
|
+
e && (c = ea(c, e));
|
|
9062
9086
|
}
|
|
9063
|
-
let
|
|
9064
|
-
if (p && (
|
|
9065
|
-
jp:
|
|
9066
|
-
resolved:
|
|
9087
|
+
let u = c;
|
|
9088
|
+
if (p && (u = gu({
|
|
9089
|
+
jp: a,
|
|
9090
|
+
resolved: u,
|
|
9067
9091
|
resourcesByPath: p.resourcesByPath,
|
|
9068
9092
|
resourceStore: p.resourceStore
|
|
9069
9093
|
})), n.interceptors?.read) try {
|
|
9070
|
-
|
|
9094
|
+
u = n.interceptors.read(u);
|
|
9071
9095
|
} catch (e) {
|
|
9072
|
-
return `- ${
|
|
9096
|
+
return `- ${a}: [READ_INTERCEPT: ${e.message}]`;
|
|
9073
9097
|
}
|
|
9074
|
-
return r && r.length && (
|
|
9098
|
+
return r && r.length && (u = La(u, r)), i != null && (u = Ra(u, i)), u = ku(u, f === "", C, S), u === void 0 ? `- ${a} = (undefined)` : `- ${a} = ${Q(u)}`;
|
|
9075
9099
|
});
|
|
9076
|
-
return `多路径读取(共 ${t.length} 项,hash=${m}):\n${
|
|
9100
|
+
return e && b(m, f), `多路径读取(共 ${t.length} 项,hash=${m}):\n${a.join("\n")}`;
|
|
9077
9101
|
}
|
|
9078
9102
|
let h = e || "";
|
|
9079
9103
|
if (ja(h)) return Y({
|
|
@@ -9106,7 +9130,7 @@ function Pu(e, n = {}) {
|
|
|
9106
9130
|
message: `read 拦截器抛错: ${e.message}`
|
|
9107
9131
|
});
|
|
9108
9132
|
}
|
|
9109
|
-
r && r.length && (_ = La(_, r)), i != null && (_ = Ra(_, i)), _ = ku(_, f === "", C, S);
|
|
9133
|
+
b(m, f), r && r.length && (_ = La(_, r)), i != null && (_ = Ra(_, i)), _ = ku(_, f === "", C, S);
|
|
9110
9134
|
let y = e ? "" : `主数据说明: ${c}\n格式: 写入值需为 JSON,且通过声明的 schema 校验(校验失败时 write 会返回结构化错误)。字段约束(类型/min/max/enum/必填/默认)见 systemPrompt「可操作数据」段,或用 schema_data({ jsonPath }) 按需查。\n\n`, x = r && r.length ? `(字段裁剪:${r.join(",")})` : "", w = i == null ? "" : `(深度≤${i})`, T = x || w ? ` ${x}${w}` : "";
|
|
9111
9135
|
if ((a !== void 0 || u !== void 0) && Array.isArray(_)) {
|
|
9112
9136
|
let e = _.length, t = Math.max(0, a ?? 0), n = Math.min(200, Math.max(1, u ?? 50)), r = _.slice(t, t + n), i = t + n < e;
|
|
@@ -9285,7 +9309,7 @@ function Pu(e, n = {}) {
|
|
|
9285
9309
|
})
|
|
9286
9310
|
});
|
|
9287
9311
|
A(L);
|
|
9288
|
-
let
|
|
9312
|
+
let R = r(async ({ jsonPath: e }) => {
|
|
9289
9313
|
let t = e || "", n = t ? Ji(o, t) : o;
|
|
9290
9314
|
return n ? `schema${t ? ` @ ${t}` : ""} = ${Q(sa(n))}` : Y({
|
|
9291
9315
|
code: "PATH_DENIED",
|
|
@@ -9296,7 +9320,7 @@ function Pu(e, n = {}) {
|
|
|
9296
9320
|
name: "schema_data",
|
|
9297
9321
|
description: "查看主数据(或子路径)的字段约束:类型/min/max/enum/必填/默认值/嵌套 shape。写前查约束,避免写错重试。不传 jsonPath 查根;传子路径(如 components.0)查该位置约束。",
|
|
9298
9322
|
schema: t.object({ jsonPath: t.string().optional().describe("要查约束的子路径;不传查根 schema") })
|
|
9299
|
-
}),
|
|
9323
|
+
}), ae = r(async ({ snapshotId: e, against: t }) => {
|
|
9300
9324
|
let n = t != null, r, i;
|
|
9301
9325
|
if (n) {
|
|
9302
9326
|
let e = t;
|
|
@@ -9328,7 +9352,7 @@ function Pu(e, n = {}) {
|
|
|
9328
9352
|
snapshotId: t.number().int().optional().describe("对比的快照序号;不传则最近一次"),
|
|
9329
9353
|
against: t.unknown().optional().describe("对比的一段 JSON 值(与 snapshotId 互斥;传则忽略快照)")
|
|
9330
9354
|
})
|
|
9331
|
-
}),
|
|
9355
|
+
}), oe = [];
|
|
9332
9356
|
if (n.vfsStore) {
|
|
9333
9357
|
let e = n.vfsStore, i = (e) => `drafts/${e}.json`, c = r(({ draftId: t, chunk: n, mode: r }) => {
|
|
9334
9358
|
let a = i(t), o = e.files[a], s = r === "append" && o, c = s ? o.content + n : n;
|
|
@@ -9393,9 +9417,9 @@ function Pu(e, n = {}) {
|
|
|
9393
9417
|
expectedHash: t.string().optional().describe("乐观锁:改前 read/get 返回的 hash;传入则校验,不一致拒绝写入防覆盖。不传则自动用你最后读到的 hash(autoLock)")
|
|
9394
9418
|
})
|
|
9395
9419
|
});
|
|
9396
|
-
A(u),
|
|
9420
|
+
A(u), oe.push(c, u);
|
|
9397
9421
|
}
|
|
9398
|
-
let
|
|
9422
|
+
let se = [];
|
|
9399
9423
|
if (e.resources?.length && d) {
|
|
9400
9424
|
let e = r(async ({ path: e, handle: t }) => {
|
|
9401
9425
|
let n = e;
|
|
@@ -9499,9 +9523,9 @@ function Pu(e, n = {}) {
|
|
|
9499
9523
|
handle: t.string().optional().describe("占位符句柄(与 path 二选一)")
|
|
9500
9524
|
})
|
|
9501
9525
|
});
|
|
9502
|
-
A(a),
|
|
9526
|
+
A(a), se.push(e, n, i, a);
|
|
9503
9527
|
}
|
|
9504
|
-
let
|
|
9528
|
+
let ce = [
|
|
9505
9529
|
ee,
|
|
9506
9530
|
j,
|
|
9507
9531
|
M,
|
|
@@ -9514,23 +9538,23 @@ function Pu(e, n = {}) {
|
|
|
9514
9538
|
F,
|
|
9515
9539
|
I,
|
|
9516
9540
|
L,
|
|
9541
|
+
R,
|
|
9517
9542
|
ae,
|
|
9518
|
-
oe,
|
|
9519
|
-
...se
|
|
9520
|
-
...ce
|
|
9543
|
+
...oe,
|
|
9544
|
+
...se
|
|
9521
9545
|
];
|
|
9522
|
-
Object.defineProperty(
|
|
9546
|
+
Object.defineProperty(ce, "controller", {
|
|
9523
9547
|
value: E,
|
|
9524
9548
|
enumerable: !1,
|
|
9525
9549
|
configurable: !1,
|
|
9526
9550
|
writable: !1
|
|
9527
9551
|
});
|
|
9528
|
-
for (let e of
|
|
9552
|
+
for (let e of ce) Object.defineProperty(e, "__dataOpsScoped", {
|
|
9529
9553
|
value: !0,
|
|
9530
9554
|
enumerable: !1,
|
|
9531
9555
|
configurable: !1
|
|
9532
9556
|
});
|
|
9533
|
-
return
|
|
9557
|
+
return ce;
|
|
9534
9558
|
}
|
|
9535
9559
|
//#endregion
|
|
9536
9560
|
//#region src/core/tools/fetchDoc.ts
|
|
@@ -9998,23 +10022,23 @@ function Cd(e, n) {
|
|
|
9998
10022
|
prompt_tokens: 0,
|
|
9999
10023
|
completion_tokens: 0,
|
|
10000
10024
|
total_tokens: 0
|
|
10001
|
-
}, a = ll(() =>
|
|
10025
|
+
}, a = ll(() => q), o = /* @__PURE__ */ At(0), s = Fl(e.storage);
|
|
10002
10026
|
e.debug && s && s.onEvent((e) => console.log("[page-agent-sdk][storage]", e));
|
|
10003
10027
|
let { modelCaps: c, summaryLlmInvoke: l, titleLlmInvoke: u, compressDecisionInvoke: d } = cl(e), f = c;
|
|
10004
10028
|
if (e.debug && console.log("[page-agent-sdk][modelCaps]", f), f.contextWindow < 2e5) throw Error(`[page-agent-sdk] 模型上下文窗口 ${f.contextWindow} 小于最小支持 ${ai}(需 ≥200K 窗口模型,如 GLM-5.2/Claude/Kimi/Qwen-1M/DeepSeek-v4)`);
|
|
10005
10029
|
let h = Hl(e, f.contextWindow), g = h.enableLLMSummary !== !1, _ = (e.contextOptions && e.contextOptions.preserveLastToolResults) ?? Vl[e.contextPreset ?? "auto"], v = new Set(_), y = e.llm;
|
|
10006
10030
|
e.debug && !l && console.warn("[page-agent-sdk][summarization] 未构造 llmInvoke(apiKey 缺失?),摘要回退零成本索引摘要");
|
|
10007
|
-
let b = /* @__PURE__ */
|
|
10031
|
+
let b = /* @__PURE__ */ vt([]), x = cc(e.vfs?.initialFiles, {
|
|
10008
10032
|
persist: s ? { save: (e) => {
|
|
10009
|
-
|
|
10033
|
+
Ft({ vfs: e });
|
|
10010
10034
|
} } : void 0,
|
|
10011
10035
|
maxBytes: e.vfs?.maxBytes,
|
|
10012
10036
|
poolBytes: e.vfs?.poolBytes
|
|
10013
10037
|
}), S = Ta([], { maxPlanRevisions: e.maxPlanRevisions }), C = ka(), w = Qa({
|
|
10014
|
-
getSchema: () =>
|
|
10015
|
-
getBind: () =>
|
|
10038
|
+
getSchema: () => B()?.schema,
|
|
10039
|
+
getBind: () => B()?.bind,
|
|
10016
10040
|
unfocusGuidance: e.toolMode === "advanced" ? "tool" : "ask-user",
|
|
10017
|
-
onChange: (e) =>
|
|
10041
|
+
onChange: (e) => q({
|
|
10018
10042
|
type: "focus_change",
|
|
10019
10043
|
focuses: e
|
|
10020
10044
|
})
|
|
@@ -10032,40 +10056,40 @@ function Cd(e, n) {
|
|
|
10032
10056
|
t.length ? (e._codeAsset.writablePaths = t, Array.isArray(e.writablePaths) && (e.writablePaths = t), e._rebuildCodeAssetPaths?.(t[0]), console.info(`[page-agent-sdk][createHtmlSubagent] 未传 writablePaths,已从 schema 推断: [${t.map((e) => `'${e}'`).join(", ")}]`)) : (console.warn("[page-agent-sdk][createHtmlSubagent] 未能从 schema 推断 writablePaths(开放 schema(z.any()/z.record())/嵌套容器(如 sections[].children[])/点路径 codeField(如 props.html_code)不支持自动推断),已跳过该 html 子 agent(整体不受影响);如确需代码资产机制(vfs + 格式校验 + 增量 commit),请显式传 writablePaths(代码组件 data 区,如 ['components'])"), j.add(e));
|
|
10033
10057
|
}
|
|
10034
10058
|
let M = j.size ? ee.filter((e) => !j.has(e)) : ee, te = j.size ? (A ?? []).filter((e) => !j.has(e)) : A, N = M.length > 0, P = M.flatMap((e) => e._codeAsset.writablePaths), ne = M.flatMap((e) => e._codeAsset.writablePaths.map((t) => `${t}.${e._codeAsset.codeField}`)), re = e.checkpoint, ie = re !== void 0 && re !== !1, F = ie ? Bo({
|
|
10035
|
-
getData: () =>
|
|
10036
|
-
consumeDataDirty: () =>
|
|
10059
|
+
getData: () => B()?.bind,
|
|
10060
|
+
consumeDataDirty: () => z?.consumeDataDirty?.() ?? !0,
|
|
10037
10061
|
slotPaths: O ? [""] : [],
|
|
10038
10062
|
vfsStore: x,
|
|
10039
10063
|
todosMw: S,
|
|
10040
10064
|
getTodos: () => D.current?.getState?.()?.todos ?? [],
|
|
10041
10065
|
messages: b,
|
|
10042
10066
|
maxCheckpoints: re && typeof re == "object" ? re.maxCheckpoints : void 0
|
|
10043
|
-
}) : null, I = !re || typeof re != "object" || re.auto !== !1, L = Rl(e.capabilities),
|
|
10067
|
+
}) : null, I = !re || typeof re != "object" || re.auto !== !1, L = Rl(e.capabilities), R = L.dataOps, ae = L.draftWrite, oe = L.tracing, se = L.automation, ce = ic(e);
|
|
10044
10068
|
if (N) {
|
|
10045
10069
|
let e = M.map((e) => e._codeAsset.orchestratorPrompt).filter(Boolean).join("\n\n");
|
|
10046
|
-
e && (
|
|
10047
|
-
} else O?.schema && Qi(O.schema) && (
|
|
10048
|
-
let
|
|
10070
|
+
e && (ce += "\n\n" + e);
|
|
10071
|
+
} else O?.schema && Qi(O.schema) && (ce += "\n\n" + ga.htmlDirectWriteFallback, console.warn("[page-agent-sdk] 检测到 schema 含 code 字段但未注册 html 子 agent:已自动注入「主 agent 自己写 HTML」编排(code 作普通字段直接 write,无 vfs 工作副本 / 无格式校验门禁)。如需代码资产机制(vfs + 格式校验 + 增量 commit + 主上下文 code 摘要),注册 createHtmlSubagent;若确为降级意图可忽略。"));
|
|
10072
|
+
let le = R && O ? Pu(O, {
|
|
10049
10073
|
onAudit: e.onAudit ?? (e.debug ? (e) => console.log("[page-agent-sdk][data audit]", e) : void 0),
|
|
10050
10074
|
maxSnapshots: e.maxSnapshots,
|
|
10051
10075
|
onConflict: a.set,
|
|
10052
10076
|
autoLock: e.autoLock,
|
|
10053
10077
|
interceptors: e.interceptors,
|
|
10054
|
-
vfsStore:
|
|
10078
|
+
vfsStore: ae || O?.resources?.length ? x : void 0,
|
|
10055
10079
|
...P.length ? { pgIdPaths: P } : {},
|
|
10056
10080
|
...ne.length ? { largeTextPaths: ne } : {}
|
|
10057
|
-
}) : [],
|
|
10058
|
-
getResourcesSnapshot: () =>
|
|
10081
|
+
}) : [], ue = R ? Tu(le, e.toolMode) : [], z = R && O ? le.controller ?? null : null, de = R && O?.resources?.length && z?.getResourcesSnapshot ? sd({
|
|
10082
|
+
getResourcesSnapshot: () => z?.getResourcesSnapshot?.() ?? [],
|
|
10059
10083
|
toolsExposed: e.toolMode === "advanced"
|
|
10060
|
-
}) : void 0,
|
|
10061
|
-
|
|
10062
|
-
let
|
|
10063
|
-
|
|
10064
|
-
let
|
|
10065
|
-
|
|
10066
|
-
let
|
|
10067
|
-
|
|
10068
|
-
let
|
|
10084
|
+
}) : void 0, B = () => z?.get() ?? O, V = /* @__PURE__ */ new Map(), fe = rd(L, ue, Iu, Hu, Yu);
|
|
10085
|
+
fe.forEach((e) => V.set(e.name, "builtin"));
|
|
10086
|
+
let pe = [...e.tools || []];
|
|
10087
|
+
pe.forEach((e) => V.set(e.name, "user"));
|
|
10088
|
+
let H = Qu(e.actions ?? {});
|
|
10089
|
+
H.forEach((e) => V.set(e.name, "action"));
|
|
10090
|
+
let me = [], he = !1, ge = e.humanConfirm !== !1 && (!e.approval || e.approval.humanConfirmTool !== !1), _e = ge ? Mo() : null;
|
|
10091
|
+
_e && V.set(Ao, "builtin");
|
|
10092
|
+
let ve = ie && F ? [r(async () => {
|
|
10069
10093
|
let e = F.list();
|
|
10070
10094
|
return e.length ? F.restore() ? `已回退到最近一次正常状态(checkpoint #${e[e.length - 1].id})。对话历史、主数据、vfs、todos 已整体还原。请基于回退后的状态重新判断并继续。` : "回退失败:无可用 checkpoint。" : "无可用 checkpoint,无法回退。";
|
|
10071
10095
|
}, {
|
|
@@ -10080,9 +10104,9 @@ function Cd(e, n) {
|
|
|
10080
10104
|
description: "列出可用会话 checkpoint(回退点)。",
|
|
10081
10105
|
schema: t.object({}).optional()
|
|
10082
10106
|
})] : [];
|
|
10083
|
-
|
|
10084
|
-
let
|
|
10085
|
-
let n =
|
|
10107
|
+
ve.forEach((e) => V.set(e.name, "builtin"));
|
|
10108
|
+
let U = L.focus, ye = r(async ({ path: e, label: t }) => {
|
|
10109
|
+
let n = B()?.schema;
|
|
10086
10110
|
return n ? Ji(n, e) ? (w.setFocus({
|
|
10087
10111
|
path: e,
|
|
10088
10112
|
...t ? { label: t } : {}
|
|
@@ -10094,12 +10118,12 @@ function Cd(e, n) {
|
|
|
10094
10118
|
path: t.string().describe("要聚焦的组件 jsonPath,如 components.3"),
|
|
10095
10119
|
label: t.string().optional().describe("人类可读标签,如「导航栏」")
|
|
10096
10120
|
})
|
|
10097
|
-
}),
|
|
10121
|
+
}), be = r(async () => (w.clearFocus(), "已清除聚焦,恢复全量可操作范围(可读写所有组件)。"), {
|
|
10098
10122
|
name: "clear_focus",
|
|
10099
10123
|
description: "清除当前聚焦,退出精修模式,恢复对全部组件的读写权限。",
|
|
10100
10124
|
schema: t.object({}).optional()
|
|
10101
|
-
}),
|
|
10102
|
-
let n =
|
|
10125
|
+
}), xe = r(async ({ path: e, label: t }) => {
|
|
10126
|
+
let n = B()?.schema;
|
|
10103
10127
|
if (!n) return "聚焦失败:当前无主数据 schema,无法聚焦。";
|
|
10104
10128
|
if (!Ji(n, e)) return `PATH_DENIED · 聚焦失败:path "${e}" 不在 schema 内。请先用 read 查看可操作路径再聚焦。`;
|
|
10105
10129
|
w.addFocus({
|
|
@@ -10115,7 +10139,7 @@ function Cd(e, n) {
|
|
|
10115
10139
|
path: t.string().describe("要追加聚焦的组件 jsonPath,如 components.3"),
|
|
10116
10140
|
label: t.string().optional().describe("人类可读标签")
|
|
10117
10141
|
})
|
|
10118
|
-
}),
|
|
10142
|
+
}), Se = r(async ({ path: e }) => {
|
|
10119
10143
|
let t = w.getFocuses().length;
|
|
10120
10144
|
w.removeFocus(e);
|
|
10121
10145
|
let n = w.getFocuses();
|
|
@@ -10124,81 +10148,81 @@ function Cd(e, n) {
|
|
|
10124
10148
|
name: "remove_focus",
|
|
10125
10149
|
description: "移除单个聚焦焦点(by path),保留其他焦点。移除最后一个等价退出精修。全部退出用 clear_focus。",
|
|
10126
10150
|
schema: t.object({ path: t.string().describe("要移除的焦点 jsonPath") })
|
|
10127
|
-
}),
|
|
10151
|
+
}), Ce = U && e.toolMode === "advanced" ? [
|
|
10152
|
+
ye,
|
|
10128
10153
|
be,
|
|
10129
10154
|
xe,
|
|
10130
|
-
Se
|
|
10131
|
-
Ce
|
|
10155
|
+
Se
|
|
10132
10156
|
] : [];
|
|
10133
|
-
|
|
10134
|
-
let
|
|
10135
|
-
function
|
|
10157
|
+
Ce.forEach((e) => V.set(e.name, "builtin"));
|
|
10158
|
+
let we = [], Te = /* @__PURE__ */ new Map(), W = G();
|
|
10159
|
+
function G() {
|
|
10136
10160
|
let { tools: e, collisions: t } = id([
|
|
10137
10161
|
{
|
|
10138
10162
|
label: "builtin",
|
|
10139
|
-
tools:
|
|
10163
|
+
tools: fe
|
|
10140
10164
|
},
|
|
10141
10165
|
{
|
|
10142
10166
|
label: "user",
|
|
10143
|
-
tools:
|
|
10167
|
+
tools: pe
|
|
10144
10168
|
},
|
|
10145
10169
|
{
|
|
10146
10170
|
label: "action",
|
|
10147
|
-
tools:
|
|
10171
|
+
tools: H
|
|
10148
10172
|
},
|
|
10149
10173
|
{
|
|
10150
10174
|
label: "humanConfirm",
|
|
10151
|
-
tools:
|
|
10175
|
+
tools: _e ? [_e] : []
|
|
10152
10176
|
},
|
|
10153
10177
|
{
|
|
10154
10178
|
label: "checkpoint",
|
|
10155
|
-
tools:
|
|
10179
|
+
tools: ve
|
|
10156
10180
|
},
|
|
10157
10181
|
{
|
|
10158
10182
|
label: "focus",
|
|
10159
|
-
tools:
|
|
10183
|
+
tools: Ce
|
|
10160
10184
|
},
|
|
10161
10185
|
{
|
|
10162
10186
|
label: "mcp",
|
|
10163
|
-
tools:
|
|
10187
|
+
tools: me
|
|
10164
10188
|
},
|
|
10165
10189
|
{
|
|
10166
10190
|
label: "skill",
|
|
10167
|
-
tools:
|
|
10191
|
+
tools: we
|
|
10168
10192
|
}
|
|
10169
10193
|
]);
|
|
10170
10194
|
return t.length && console.warn("[page-agent-sdk] 工具重名,后注册覆盖先注册:", t.map((e) => `${e.name}(${e.loser}→${e.winner})`).join(", ")), e;
|
|
10171
10195
|
}
|
|
10172
|
-
let
|
|
10173
|
-
if (
|
|
10174
|
-
if (
|
|
10175
|
-
let
|
|
10196
|
+
let Ee = L.planning, De = L.missionAnchor, Oe = L.workingMemory, ke = L.skills, Ae = L.vfs || N;
|
|
10197
|
+
if (Ae) for (let e of hc) V.set(e, "builtin");
|
|
10198
|
+
if (Ee) for (let e of S.tools ?? []) V.set(e.name, "builtin");
|
|
10199
|
+
let je = L.summarization, Me = L.agentCompression && !!d;
|
|
10176
10200
|
e.debug && L.agentCompression && !d && console.warn("[page-agent-sdk][agentCompression] agentCompression 开启但 summaryLlm 不可用(或缺 apiKey / 模型不支持工具),压缩决策不启用,回退静态压缩");
|
|
10177
|
-
let
|
|
10178
|
-
|
|
10179
|
-
let
|
|
10180
|
-
llm:
|
|
10181
|
-
allTools: () =>
|
|
10182
|
-
allowedTools:
|
|
10183
|
-
systemPrompt:
|
|
10184
|
-
temperature:
|
|
10185
|
-
maxTokens:
|
|
10186
|
-
skills:
|
|
10187
|
-
maxDepth:
|
|
10188
|
-
maxParallel:
|
|
10201
|
+
let Ne = L.memory, Pe = L.subagent, Fe = Pe ? us() : void 0, Ie = e.verify?.maxAttempts ?? 2, Le = !!(e.verify?.check || e.verify?.maxAttempts || e.verify?.adversarial), K = e.capabilities?.verify === !1, Re = (L.verify || Le && !K) && e.verify?.enabled !== !1 && Ie > 0, ze = L.contextInspector;
|
|
10202
|
+
Le && !Re && e.verify?.enabled !== !1 && console.warn("[page-agent-sdk][verify] 检测到 verify 配置(check/maxAttempts/adversarial)但未装载(capabilities.verify:false 显式关闭 或 maxAttempts≤0)");
|
|
10203
|
+
let Be = e.subagent, Ve = Be?.allowedTools ?? [], He = e.permissions?.length ? Oo(e.permissions) : void 0, Ue = e.approval && (e.approval.tools !== void 0 || e.approval.confirm) ? ko(e.approval) : void 0, We = [...He ? [He] : [], ...Ue ? [Ue] : []], Ge = !Pe || Be?.enabled === !1 ? void 0 : Es({
|
|
10204
|
+
llm: Be?.llm ?? e.llm,
|
|
10205
|
+
allTools: () => J.agent?.allTools ?? W,
|
|
10206
|
+
allowedTools: Ve.length ? Ve : void 0,
|
|
10207
|
+
systemPrompt: Be?.systemPrompt,
|
|
10208
|
+
temperature: Be?.temperature,
|
|
10209
|
+
maxTokens: Be?.maxTokens,
|
|
10210
|
+
skills: Be?.skills,
|
|
10211
|
+
maxDepth: Be?.maxDepth,
|
|
10212
|
+
maxParallel: Be?.maxParallel,
|
|
10189
10213
|
debug: e.debug,
|
|
10190
10214
|
getFocuses: () => w.getFocuses(),
|
|
10191
|
-
getSchema: () =>
|
|
10192
|
-
tracker:
|
|
10193
|
-
guardMiddleware:
|
|
10194
|
-
getVfsFiles:
|
|
10195
|
-
enterDataScope:
|
|
10196
|
-
exitDataScope:
|
|
10215
|
+
getSchema: () => B()?.schema ?? null,
|
|
10216
|
+
tracker: Fe,
|
|
10217
|
+
guardMiddleware: We.length ? We : void 0,
|
|
10218
|
+
getVfsFiles: Ae ? () => x.files : void 0,
|
|
10219
|
+
enterDataScope: z?.enterScope ? (e) => z.enterScope(e) : void 0,
|
|
10220
|
+
exitDataScope: z?.exitScope ? (e) => z.exitScope(e) : void 0,
|
|
10197
10221
|
onUsage: (e) => {
|
|
10198
10222
|
i.prompt_tokens = (i.prompt_tokens ?? 0) + (e.prompt_tokens ?? 0), i.completion_tokens = (i.completion_tokens ?? 0) + (e.completion_tokens ?? 0), i.total_tokens = (i.total_tokens ?? 0) + (e.total_tokens ?? 0);
|
|
10199
10223
|
},
|
|
10200
|
-
timeoutMs:
|
|
10201
|
-
}),
|
|
10224
|
+
timeoutMs: Be?.timeoutMs
|
|
10225
|
+
}), Ke = te?.map((e) => {
|
|
10202
10226
|
if (!e._codeAsset) return e;
|
|
10203
10227
|
let t = e._codeAsset, n = Nc({
|
|
10204
10228
|
writablePaths: t.writablePaths,
|
|
@@ -10207,165 +10231,165 @@ function Cd(e, n) {
|
|
|
10207
10231
|
codeField: t.codeField,
|
|
10208
10232
|
craftNotes: t.craftNotes,
|
|
10209
10233
|
onWarning: (e) => console.warn(`[page-agent-sdk][code-asset] ${e}`),
|
|
10210
|
-
getController: () =>
|
|
10234
|
+
getController: () => z,
|
|
10211
10235
|
vfsStore: x
|
|
10212
10236
|
}), r = [...e.middleware ?? [], n];
|
|
10213
|
-
for (let e of r) e && typeof e == "object" && typeof e._setGetController == "function" && e._setGetController(() =>
|
|
10237
|
+
for (let e of r) e && typeof e == "object" && typeof e._setGetController == "function" && e._setGetController(() => z);
|
|
10214
10238
|
return {
|
|
10215
10239
|
...e,
|
|
10216
10240
|
middleware: r
|
|
10217
10241
|
};
|
|
10218
|
-
}),
|
|
10219
|
-
getBind: () =>
|
|
10242
|
+
}), qe = N && Pe ? Pc() : void 0, Je = qe ? Bc({
|
|
10243
|
+
getBind: () => B()?.bind,
|
|
10220
10244
|
writablePaths: P,
|
|
10221
|
-
getLocked: () =>
|
|
10222
|
-
tools:
|
|
10223
|
-
}) : void 0,
|
|
10245
|
+
getLocked: () => qe.locked(),
|
|
10246
|
+
tools: W
|
|
10247
|
+
}) : void 0, Ye = Pe && Ke !== void 0 ? ks(Ke, {
|
|
10224
10248
|
llm: e.llm,
|
|
10225
|
-
allTools: () =>
|
|
10249
|
+
allTools: () => J.agent?.allTools ?? W,
|
|
10226
10250
|
debug: e.debug,
|
|
10227
10251
|
getFocuses: () => w.getFocuses(),
|
|
10228
|
-
getSchema: () =>
|
|
10229
|
-
getBind: () =>
|
|
10230
|
-
tracker:
|
|
10231
|
-
guardMiddleware:
|
|
10232
|
-
getVfsFiles:
|
|
10233
|
-
enterDataScope:
|
|
10234
|
-
exitDataScope:
|
|
10252
|
+
getSchema: () => B()?.schema ?? null,
|
|
10253
|
+
getBind: () => B()?.bind,
|
|
10254
|
+
tracker: Fe,
|
|
10255
|
+
guardMiddleware: We.length ? We : void 0,
|
|
10256
|
+
getVfsFiles: Ae ? () => x.files : void 0,
|
|
10257
|
+
enterDataScope: z?.enterScope ? (e) => z.enterScope(e) : void 0,
|
|
10258
|
+
exitDataScope: z?.exitScope ? (e) => z.exitScope(e) : void 0,
|
|
10235
10259
|
onUsage: (e) => {
|
|
10236
10260
|
i.prompt_tokens = (i.prompt_tokens ?? 0) + (e.prompt_tokens ?? 0), i.completion_tokens = (i.completion_tokens ?? 0) + (e.completion_tokens ?? 0), i.total_tokens = (i.total_tokens ?? 0) + (e.total_tokens ?? 0);
|
|
10237
10261
|
},
|
|
10238
10262
|
timeoutMs: e.subagent?.timeoutMs,
|
|
10239
|
-
...
|
|
10240
|
-
componentLock:
|
|
10241
|
-
resolveComponents: (e) => Fc(e, kc(
|
|
10263
|
+
...qe ? {
|
|
10264
|
+
componentLock: qe,
|
|
10265
|
+
resolveComponents: (e) => Fc(e, kc(B()?.bind, P))
|
|
10242
10266
|
} : {}
|
|
10243
|
-
}) : void 0,
|
|
10267
|
+
}) : void 0, Xe = Ye ? Ye.controller : null, Ze = [
|
|
10244
10268
|
"get_data",
|
|
10245
10269
|
"describe_data",
|
|
10246
10270
|
"read",
|
|
10247
10271
|
"fetch_document"
|
|
10248
|
-
],
|
|
10272
|
+
], Qe = W.filter((e) => Ze.includes(e.name)), $e = Re ? As({
|
|
10249
10273
|
check: e.verify.check ?? Is({
|
|
10250
|
-
schemas: () =>
|
|
10251
|
-
root: () =>
|
|
10274
|
+
schemas: () => B() ? { "": B().schema } : {},
|
|
10275
|
+
root: () => B()?.bind
|
|
10252
10276
|
}),
|
|
10253
10277
|
adversarial: e.verify?.adversarial ? {
|
|
10254
10278
|
llm: e.llm,
|
|
10255
|
-
tools:
|
|
10279
|
+
tools: Qe
|
|
10256
10280
|
} : void 0
|
|
10257
|
-
}) : void 0,
|
|
10281
|
+
}) : void 0, et = ze ? Xs({
|
|
10258
10282
|
contextWindow: f.contextWindow,
|
|
10259
10283
|
thresholdRatio: Hl(e, f.contextWindow).summaryThresholdRatio
|
|
10260
|
-
}) : void 0,
|
|
10284
|
+
}) : void 0, tt = od({
|
|
10261
10285
|
...L,
|
|
10262
|
-
humanConfirm:
|
|
10286
|
+
humanConfirm: ge,
|
|
10263
10287
|
subagents: te?.map((e) => ({
|
|
10264
10288
|
id: e.id,
|
|
10265
10289
|
description: e.description,
|
|
10266
10290
|
temperature: e.temperature
|
|
10267
10291
|
}))
|
|
10268
|
-
},
|
|
10292
|
+
}, R && !!O, e.toolMode, !!O?.resources?.length, { promptSoftCap: as(f.contextWindow, h.promptSoftCapTokens) }), nt = O ? {
|
|
10269
10293
|
name: "dataHint",
|
|
10270
|
-
augmentPrompt: () => rc(
|
|
10271
|
-
} : null,
|
|
10294
|
+
augmentPrompt: () => rc(B(), e.schemaHint) || void 0
|
|
10295
|
+
} : null, rt = e.augmentSystem ? {
|
|
10272
10296
|
name: "augmentSystem",
|
|
10273
10297
|
augmentPrompt: (t) => {
|
|
10274
10298
|
try {
|
|
10275
10299
|
return e.augmentSystem({
|
|
10276
10300
|
state: t,
|
|
10277
|
-
data:
|
|
10301
|
+
data: B()
|
|
10278
10302
|
});
|
|
10279
10303
|
} catch (t) {
|
|
10280
10304
|
e.debug && console.log("[page-agent-sdk][augmentSystem] 回调抛错,降级跳过:", t.message);
|
|
10281
10305
|
return;
|
|
10282
10306
|
}
|
|
10283
10307
|
}
|
|
10284
|
-
} : null,
|
|
10308
|
+
} : null, it = zl(e.onEvent), q = it.emit, at, ot = [], st = (e) => ({
|
|
10285
10309
|
name: e.name,
|
|
10286
10310
|
description: e.description,
|
|
10287
10311
|
content: typeof e.getContent == "function" ? e.getContent() : ""
|
|
10288
|
-
}),
|
|
10312
|
+
}), ct = (e) => ({
|
|
10289
10313
|
name: e.name,
|
|
10290
10314
|
description: e.description,
|
|
10291
10315
|
getContent: () => e.content
|
|
10292
|
-
}),
|
|
10316
|
+
}), lt = e.skillStorage === !1 ? null : fd({
|
|
10293
10317
|
...typeof e.skillStorage == "object" ? e.skillStorage : {},
|
|
10294
10318
|
id: e.skillStorage && typeof e.skillStorage == "object" && e.skillStorage.id ? e.skillStorage.id : `agent::${n}`
|
|
10295
|
-
}),
|
|
10296
|
-
let t =
|
|
10319
|
+
}), ut = () => {
|
|
10320
|
+
let t = at ? at.controller : null;
|
|
10297
10321
|
if (t) {
|
|
10298
|
-
let n = (e.skills || []).filter((e) => !
|
|
10299
|
-
t.set([...n, ...
|
|
10322
|
+
let n = (e.skills || []).filter((e) => !ot.some((t) => t.name === e.name));
|
|
10323
|
+
t.set([...n, ...ot]);
|
|
10300
10324
|
}
|
|
10301
|
-
|
|
10302
|
-
},
|
|
10303
|
-
if (
|
|
10304
|
-
let t = await
|
|
10325
|
+
J.infoTick.value++;
|
|
10326
|
+
}, dt = async () => {
|
|
10327
|
+
if (lt) try {
|
|
10328
|
+
let t = await lt.list();
|
|
10305
10329
|
if (t.length) {
|
|
10306
|
-
|
|
10307
|
-
let n =
|
|
10330
|
+
ot = t.map(ct);
|
|
10331
|
+
let n = at ? at.controller : null;
|
|
10308
10332
|
if (n) {
|
|
10309
|
-
let t = (e.skills || []).filter((e) => !
|
|
10310
|
-
n.set([...t, ...
|
|
10333
|
+
let t = (e.skills || []).filter((e) => !ot.some((t) => t.name === e.name));
|
|
10334
|
+
n.set([...t, ...ot]);
|
|
10311
10335
|
}
|
|
10312
|
-
|
|
10336
|
+
J.infoTick.value++;
|
|
10313
10337
|
}
|
|
10314
10338
|
} catch {}
|
|
10315
|
-
},
|
|
10339
|
+
}, ft = je ? ls({
|
|
10316
10340
|
...h,
|
|
10317
10341
|
llmInvoke: l,
|
|
10318
|
-
getRegisteredData: () =>
|
|
10342
|
+
getRegisteredData: () => B() ? [{ description: B().description ?? "主数据对象" }] : [],
|
|
10319
10343
|
preserveLastToolResults: _,
|
|
10320
|
-
...
|
|
10344
|
+
...Me ? {
|
|
10321
10345
|
decideInvoke: d,
|
|
10322
|
-
getSnapshot: () =>
|
|
10346
|
+
getSnapshot: () => et?.getSnapshot()
|
|
10323
10347
|
} : {}
|
|
10324
|
-
}) : void 0,
|
|
10325
|
-
...
|
|
10326
|
-
|
|
10327
|
-
...
|
|
10328
|
-
...
|
|
10329
|
-
...
|
|
10330
|
-
readVfs:
|
|
10348
|
+
}) : void 0, pt = Wl([
|
|
10349
|
+
...nt ? [nt] : [],
|
|
10350
|
+
tt,
|
|
10351
|
+
...De ? [C] : [],
|
|
10352
|
+
...Ee ? [S] : [],
|
|
10353
|
+
...ke ? [at = xo(e.skills || [], {
|
|
10354
|
+
readVfs: Ae ? (e) => x.files[e]?.content : void 0,
|
|
10331
10355
|
hostScriptEnabled: L.skillHostScript,
|
|
10332
10356
|
onToolsReady: (e, t) => {
|
|
10333
10357
|
for (let n of t) {
|
|
10334
|
-
let t =
|
|
10335
|
-
t >= 0 &&
|
|
10358
|
+
let t = we.findIndex((e) => e.name === n.name);
|
|
10359
|
+
t >= 0 && we.splice(t, 1), we.push(n), Te.set(n.name, e), V.set(n.name, `skill:${e}`);
|
|
10336
10360
|
}
|
|
10337
|
-
|
|
10361
|
+
W = G(), J.agent && J.agent.setTools(W), J.infoTick.value++;
|
|
10338
10362
|
}
|
|
10339
10363
|
})] : [],
|
|
10340
|
-
...
|
|
10341
|
-
...
|
|
10342
|
-
...
|
|
10343
|
-
...
|
|
10344
|
-
...
|
|
10345
|
-
...
|
|
10346
|
-
...
|
|
10364
|
+
...Ae ? [_c(x)] : [],
|
|
10365
|
+
...ft ? [ft] : [],
|
|
10366
|
+
...Oe ? [T] : [],
|
|
10367
|
+
...U ? [w] : [],
|
|
10368
|
+
...de ? [de] : [],
|
|
10369
|
+
...Ne ? [E] : [],
|
|
10370
|
+
...He ? [He] : [],
|
|
10347
10371
|
...ie && I && F ? [Vo(F)] : [],
|
|
10348
|
-
...
|
|
10349
|
-
...
|
|
10350
|
-
|
|
10351
|
-
...
|
|
10352
|
-
...Xe ? [Xe] : [],
|
|
10372
|
+
...ge ? [No()] : [],
|
|
10373
|
+
...Ue ? [Ue] : [],
|
|
10374
|
+
...$e ? [$e] : [],
|
|
10375
|
+
...Ge ? [Ge] : [],
|
|
10353
10376
|
...Ye ? [Ye] : [],
|
|
10354
|
-
...
|
|
10355
|
-
...
|
|
10377
|
+
...Je ? [Je] : [],
|
|
10378
|
+
...rt ? [rt] : [],
|
|
10379
|
+
...et ? [et] : [],
|
|
10356
10380
|
...e.middleware || [],
|
|
10357
|
-
...
|
|
10381
|
+
...se ? [Xu(i, {
|
|
10358
10382
|
tokenBudget: e.tokenBudget,
|
|
10359
10383
|
timeBudgetMs: e.timeBudgetMs
|
|
10360
|
-
},
|
|
10361
|
-
xd(
|
|
10362
|
-
]),
|
|
10363
|
-
function
|
|
10364
|
-
if (
|
|
10384
|
+
}, q)] : [],
|
|
10385
|
+
xd(q, b, B, i)
|
|
10386
|
+
]), mt = e.maxMemoryRounds ?? _d, ht = e.approval?.timeoutMs, gt = ht === void 0 || ht === 0 ? 3e4 : !Number.isFinite(ht) || ht < 0 ? 0 : ht;
|
|
10387
|
+
function _t(e) {
|
|
10388
|
+
if (gt) return (t) => {
|
|
10365
10389
|
if (t.type !== "approval_request") return;
|
|
10366
10390
|
let n = Date.now(), r = t.toolName;
|
|
10367
10391
|
setTimeout(() => {
|
|
10368
|
-
e?.aborted || (t.resolve(!1),
|
|
10392
|
+
e?.aborted || (t.resolve(!1), q({
|
|
10369
10393
|
type: "error",
|
|
10370
10394
|
message: `确认请求(${r})${Math.round((Date.now() - n) / 1e3)}s 无响应已自动拒绝 —— send/batch 路径无 UI 响应方;可传 approval.timeoutMs 调整(Infinity = 无限等)`,
|
|
10371
10395
|
severity: "observable",
|
|
@@ -10375,41 +10399,43 @@ function Cd(e, n) {
|
|
|
10375
10399
|
waitedMs: Date.now() - n
|
|
10376
10400
|
}
|
|
10377
10401
|
}));
|
|
10378
|
-
},
|
|
10402
|
+
}, gt);
|
|
10379
10403
|
};
|
|
10380
10404
|
}
|
|
10381
|
-
function
|
|
10382
|
-
let t =
|
|
10405
|
+
function yt(e) {
|
|
10406
|
+
let t = _t(e);
|
|
10383
10407
|
return (e) => {
|
|
10384
|
-
t?.(e), e.type === "error" &&
|
|
10408
|
+
t?.(e), e.type === "error" && q(e);
|
|
10385
10409
|
};
|
|
10386
10410
|
}
|
|
10387
|
-
let
|
|
10388
|
-
async function
|
|
10411
|
+
let bt = /* @__PURE__ */ At([]);
|
|
10412
|
+
async function xt() {
|
|
10389
10413
|
if (s) try {
|
|
10390
|
-
|
|
10414
|
+
bt.value = (await s.listSessions(n)).sort((e, t) => t.lastAccessed - e.lastAccessed);
|
|
10391
10415
|
} catch (t) {
|
|
10392
10416
|
e.debug && console.warn("[page-agent-sdk][persist] refreshSessions 失败(已吞):", t);
|
|
10393
10417
|
}
|
|
10394
10418
|
}
|
|
10395
|
-
let
|
|
10396
|
-
function
|
|
10397
|
-
let t = new AbortController();
|
|
10398
|
-
return e && (e.aborted ? t.abort() : e.addEventListener("abort",
|
|
10419
|
+
let St = gd(), Ct = /* @__PURE__ */ new Set();
|
|
10420
|
+
function wt(e) {
|
|
10421
|
+
let t = new AbortController(), n = () => t.abort();
|
|
10422
|
+
return e && (e.aborted ? t.abort() : e.addEventListener("abort", n, { once: !0 })), Ct.add(t), {
|
|
10399
10423
|
controller: t,
|
|
10400
|
-
untrack: () =>
|
|
10424
|
+
untrack: () => {
|
|
10425
|
+
Ct.delete(t), e?.removeEventListener("abort", n);
|
|
10426
|
+
}
|
|
10401
10427
|
};
|
|
10402
10428
|
}
|
|
10403
|
-
function
|
|
10404
|
-
for (let e of
|
|
10405
|
-
|
|
10429
|
+
function Tt() {
|
|
10430
|
+
for (let e of Ct) e.abort();
|
|
10431
|
+
Ct.clear();
|
|
10406
10432
|
}
|
|
10407
|
-
let
|
|
10433
|
+
let J = {
|
|
10408
10434
|
agentId: n,
|
|
10409
10435
|
store: s,
|
|
10410
10436
|
messages: b,
|
|
10411
10437
|
vfsStore: x,
|
|
10412
|
-
listeners:
|
|
10438
|
+
listeners: it.listeners,
|
|
10413
10439
|
todosMw: S,
|
|
10414
10440
|
memoryMw: E,
|
|
10415
10441
|
missionMw: C,
|
|
@@ -10422,55 +10448,55 @@ function Cd(e, n) {
|
|
|
10422
10448
|
mcpClosers: [],
|
|
10423
10449
|
mcpServers: [],
|
|
10424
10450
|
checkpoint: F,
|
|
10425
|
-
dataOpsController:
|
|
10426
|
-
skillsController:
|
|
10451
|
+
dataOpsController: z,
|
|
10452
|
+
skillsController: at ? at.controller : null,
|
|
10427
10453
|
infoTick: o,
|
|
10428
10454
|
pendingConflict: a.pendingConflict,
|
|
10429
|
-
sessions:
|
|
10430
|
-
refreshSessions:
|
|
10431
|
-
liveData:
|
|
10455
|
+
sessions: bt,
|
|
10456
|
+
refreshSessions: xt,
|
|
10457
|
+
liveData: B,
|
|
10432
10458
|
usage: i,
|
|
10433
|
-
emit:
|
|
10434
|
-
runSerial:
|
|
10435
|
-
trackActive:
|
|
10436
|
-
abortAllActive:
|
|
10459
|
+
emit: q,
|
|
10460
|
+
runSerial: St,
|
|
10461
|
+
trackActive: wt,
|
|
10462
|
+
abortAllActive: Tt,
|
|
10437
10463
|
unloadSkillTools(e) {
|
|
10438
10464
|
if (e) {
|
|
10439
|
-
let t =
|
|
10440
|
-
if (
|
|
10465
|
+
let t = we.length;
|
|
10466
|
+
if (we = we.filter((t) => Te.get(t.name) === e ? (V.delete(t.name), Te.delete(t.name), !1) : !0), we.length === t) return;
|
|
10441
10467
|
} else {
|
|
10442
|
-
if (!
|
|
10443
|
-
for (let e of
|
|
10444
|
-
|
|
10468
|
+
if (!we.length) return;
|
|
10469
|
+
for (let e of we) V.delete(e.name), Te.delete(e.name);
|
|
10470
|
+
we = [];
|
|
10445
10471
|
}
|
|
10446
|
-
|
|
10472
|
+
W = G(), J.agent && J.agent.setTools(W);
|
|
10447
10473
|
},
|
|
10448
10474
|
applySnapshot(t) {
|
|
10449
|
-
if (t.messages?.length && b.push(...t.messages), t.vfs && x.hydrate && x.hydrate(t.vfs), t.todos?.length && S.reset(t.todos), t.memory && !e.memory && E.reset(t.memory), t.checkpoints?.length && F && F.importStack(t.checkpoints), t.usage && Object.assign(i, t.usage), t.mission &&
|
|
10475
|
+
if (t.messages?.length && b.push(...t.messages), t.vfs && x.hydrate && x.hydrate(t.vfs), t.todos?.length && S.reset(t.todos), t.memory && !e.memory && E.reset(t.memory), t.checkpoints?.length && F && F.importStack(t.checkpoints), t.usage && Object.assign(i, t.usage), t.mission && De && C.setMission(t.mission), t.workingMemory && Oe && T.restore(t.workingMemory), U) {
|
|
10450
10476
|
let n = t.focus, r = n ? Array.isArray(n) ? n : [n] : [];
|
|
10451
10477
|
if (r.length) {
|
|
10452
|
-
let t =
|
|
10478
|
+
let t = B()?.schema, n = t ? r.filter((e) => Ji(t, e.path)) : [];
|
|
10453
10479
|
if (n.length && (w.setFocus(null), n.forEach((e) => w.addFocus(e))), e.debug && n.length < r.length) {
|
|
10454
10480
|
let e = r.filter((e) => !n.includes(e)).map((e) => e.path);
|
|
10455
10481
|
console.warn("[page-agent-sdk][focus] 恢复的焦点部分 path 已失效(schema 变化/无 schema),剔除:", e);
|
|
10456
10482
|
}
|
|
10457
10483
|
}
|
|
10458
10484
|
}
|
|
10459
|
-
|
|
10485
|
+
kt();
|
|
10460
10486
|
},
|
|
10461
10487
|
addSkill(e) {
|
|
10462
|
-
let t =
|
|
10463
|
-
t >= 0 ?
|
|
10488
|
+
let t = ot.findIndex((t) => t.name === e.name);
|
|
10489
|
+
t >= 0 ? ot[t] = e : ot.push(e), ut(), lt && lt.put(st(e));
|
|
10464
10490
|
},
|
|
10465
10491
|
removeSkill(e) {
|
|
10466
|
-
let t =
|
|
10467
|
-
return t < 0 ? !1 : (
|
|
10492
|
+
let t = ot.findIndex((t) => t.name === e);
|
|
10493
|
+
return t < 0 ? !1 : (ot.splice(t, 1), ut(), lt && lt.remove(e), !0);
|
|
10468
10494
|
},
|
|
10469
10495
|
listUserSkills() {
|
|
10470
|
-
return
|
|
10496
|
+
return ot.map((e) => e.name);
|
|
10471
10497
|
},
|
|
10472
10498
|
getUserSkill(e) {
|
|
10473
|
-
let t =
|
|
10499
|
+
let t = ot.find((t) => t.name === e);
|
|
10474
10500
|
if (t) return {
|
|
10475
10501
|
name: t.name,
|
|
10476
10502
|
description: t.description,
|
|
@@ -10478,16 +10504,17 @@ function Cd(e, n) {
|
|
|
10478
10504
|
};
|
|
10479
10505
|
},
|
|
10480
10506
|
afterRound() {
|
|
10481
|
-
jt(),
|
|
10507
|
+
jt(), Lt();
|
|
10482
10508
|
},
|
|
10483
10509
|
async send(e, t) {
|
|
10484
|
-
await
|
|
10510
|
+
if (await J.initDone, J.refCount <= 0) throw Error("page-agent-sdk: agent 已释放(unmount),拒绝排队中的 send");
|
|
10511
|
+
t ??= {}, t?.mission && De && C.setMission(t.mission);
|
|
10485
10512
|
let n = e;
|
|
10486
10513
|
if (t.interceptors?.input) try {
|
|
10487
10514
|
let r = t.interceptors.input(e);
|
|
10488
10515
|
typeof r == "string" && (n = r);
|
|
10489
10516
|
} catch {}
|
|
10490
|
-
let r =
|
|
10517
|
+
let r = se ? t.maxAutoRetries ?? 1 : 0, i = 0, a = !1, o = yt(t.signal), c = J.sessionId;
|
|
10491
10518
|
for (;;) {
|
|
10492
10519
|
a ||= (b.push({
|
|
10493
10520
|
role: "user",
|
|
@@ -10495,7 +10522,17 @@ function Cd(e, n) {
|
|
|
10495
10522
|
timestamp: Date.now()
|
|
10496
10523
|
}), !0);
|
|
10497
10524
|
try {
|
|
10498
|
-
let e = await
|
|
10525
|
+
let e = await J.agent.invoke(b, t.signal, o);
|
|
10526
|
+
if (t.signal?.aborted || J.sessionId !== c || J.refCount <= 0) return J.agent?.debugLogs?.value?.push({
|
|
10527
|
+
timestamp: Date.now(),
|
|
10528
|
+
type: "middleware",
|
|
10529
|
+
data: {
|
|
10530
|
+
stage: "orphan_round_dropped",
|
|
10531
|
+
fromSession: c,
|
|
10532
|
+
aborted: !!t.signal?.aborted,
|
|
10533
|
+
sessionChanged: J.sessionId !== c
|
|
10534
|
+
}
|
|
10535
|
+
}), e;
|
|
10499
10536
|
if (t.interceptors?.output) try {
|
|
10500
10537
|
let n = t.interceptors.output(e);
|
|
10501
10538
|
typeof n == "string" && (e = n);
|
|
@@ -10504,12 +10541,12 @@ function Cd(e, n) {
|
|
|
10504
10541
|
role: "assistant",
|
|
10505
10542
|
content: e,
|
|
10506
10543
|
timestamp: Date.now()
|
|
10507
|
-
}),
|
|
10544
|
+
}), J.afterRound(), s && await s.flush(), e;
|
|
10508
10545
|
} catch (e) {
|
|
10509
10546
|
if (di(e, t.signal)) throw e;
|
|
10510
10547
|
let n = Zr(e, "fatal");
|
|
10511
10548
|
if (i < r && F?.canRestore()) {
|
|
10512
|
-
i += 1, F.restore(), a = !0,
|
|
10549
|
+
i += 1, F.restore(), a = !0, q({
|
|
10513
10550
|
type: "error",
|
|
10514
10551
|
message: `致命错误自动恢复(${i}/${r}):${n.message},已回退 checkpoint 重试`,
|
|
10515
10552
|
severity: "observable",
|
|
@@ -10521,7 +10558,7 @@ function Cd(e, n) {
|
|
|
10521
10558
|
});
|
|
10522
10559
|
continue;
|
|
10523
10560
|
}
|
|
10524
|
-
throw
|
|
10561
|
+
throw q({
|
|
10525
10562
|
type: "error",
|
|
10526
10563
|
message: n.message,
|
|
10527
10564
|
severity: n.severity,
|
|
@@ -10532,8 +10569,9 @@ function Cd(e, n) {
|
|
|
10532
10569
|
}
|
|
10533
10570
|
},
|
|
10534
10571
|
async batch(e, t, n) {
|
|
10535
|
-
if (await
|
|
10536
|
-
|
|
10572
|
+
if (await J.initDone, !e.length) return [];
|
|
10573
|
+
if (J.refCount <= 0) throw Error("page-agent-sdk: agent 已释放(unmount),拒绝排队中的 batch");
|
|
10574
|
+
let r = [], i = yt(n);
|
|
10537
10575
|
for (let a = 0; a < e.length; a++) {
|
|
10538
10576
|
if (n?.aborted) {
|
|
10539
10577
|
for (let t = a; t < e.length; t++) r.push({
|
|
@@ -10553,12 +10591,12 @@ function Cd(e, n) {
|
|
|
10553
10591
|
content: o,
|
|
10554
10592
|
timestamp: Date.now()
|
|
10555
10593
|
});
|
|
10556
|
-
let c = await
|
|
10594
|
+
let c = await J.agent.invoke(b, n, i);
|
|
10557
10595
|
b.push({
|
|
10558
10596
|
role: "assistant",
|
|
10559
10597
|
content: c,
|
|
10560
10598
|
timestamp: Date.now()
|
|
10561
|
-
}),
|
|
10599
|
+
}), J.afterRound(), s && await s.flush(), r.push({
|
|
10562
10600
|
index: a,
|
|
10563
10601
|
task: o,
|
|
10564
10602
|
reply: c,
|
|
@@ -10586,7 +10624,7 @@ function Cd(e, n) {
|
|
|
10586
10624
|
break;
|
|
10587
10625
|
}
|
|
10588
10626
|
let s = Zr(i, "fatal");
|
|
10589
|
-
|
|
10627
|
+
q({
|
|
10590
10628
|
type: "error",
|
|
10591
10629
|
message: `批量任务 ${a + 1}/${e.length} 失败:${s.message}`,
|
|
10592
10630
|
severity: "observable",
|
|
@@ -10611,72 +10649,72 @@ function Cd(e, n) {
|
|
|
10611
10649
|
return r;
|
|
10612
10650
|
},
|
|
10613
10651
|
async switchSession(t) {
|
|
10614
|
-
if (await
|
|
10615
|
-
if (a.resolve("keep_external"),
|
|
10616
|
-
if (
|
|
10652
|
+
if (await J.initDone, !s) throw Error("page-agent-sdk: storage 未开启,无法切换会话(请传 storage 选项)");
|
|
10653
|
+
if (a.resolve("keep_external"), J.sessionId && s) {
|
|
10654
|
+
if (De) {
|
|
10617
10655
|
let e = C.getMission();
|
|
10618
|
-
e &&
|
|
10656
|
+
e && Ft({ mission: e });
|
|
10619
10657
|
}
|
|
10620
|
-
if (
|
|
10658
|
+
if (Oe) {
|
|
10621
10659
|
let e = T.getWorkingMemory();
|
|
10622
|
-
e &&
|
|
10660
|
+
e && Ft({ workingMemory: e });
|
|
10623
10661
|
}
|
|
10624
|
-
if (
|
|
10662
|
+
if (U) {
|
|
10625
10663
|
let e = w.getFocuses();
|
|
10626
|
-
|
|
10664
|
+
Ft({ focus: e.length ? e : null });
|
|
10627
10665
|
}
|
|
10628
10666
|
}
|
|
10629
10667
|
x.flush?.(), await s.flush();
|
|
10630
10668
|
let r = t ?? "", i;
|
|
10631
|
-
return r ? (i = await s.load(n, r), i || await s.createSession(n, e.session?.title, r)) : r = await s.createSession(n, e.session?.title),
|
|
10669
|
+
return r ? (i = await s.load(n, r), i || await s.createSession(n, e.session?.title, r)) : r = await s.createSession(n, e.session?.title), J.sessionId = r, b.splice(0, b.length), x.clear?.(), S.reset([]), e.memory || E.reset(""), C.reset(), T.reset(), w.reset(), F && F.importStack([]), J.agent.debugLogs.value = [], i ||= await s.load(n, r), i && (J.applySnapshot(i), q({
|
|
10632
10670
|
type: "session_restored",
|
|
10633
10671
|
sessionId: r,
|
|
10634
10672
|
rounds: i.messages?.length ?? 0
|
|
10635
|
-
})), e.memory &&
|
|
10673
|
+
})), e.memory && Ft({ memory: E.get() || (typeof e.memory == "string" ? e.memory : "") }), xt(), Mt = void 0, Nt = !1, J.infoTick.value++, r;
|
|
10636
10674
|
},
|
|
10637
10675
|
resetSession: () => {
|
|
10638
|
-
|
|
10676
|
+
Tt(), a.resolve("keep_external"), J.sessionId = ul(), b.splice(0, b.length), x.clear?.(), S.reset([]), e.memory || E.reset(""), C.reset(), T.reset(), w.reset(), F && F.importStack([]), J.agent && (J.agent.debugLogs.value = []), s && s.createSession(J.agentId, e.session?.title, J.sessionId).catch((t) => {
|
|
10639
10677
|
e.debug && console.warn("[page-agent-sdk][persist] createSession 失败(已吞):", t);
|
|
10640
|
-
}),
|
|
10678
|
+
}), q({
|
|
10641
10679
|
type: "session_restored",
|
|
10642
|
-
sessionId:
|
|
10680
|
+
sessionId: J.sessionId,
|
|
10643
10681
|
rounds: 0
|
|
10644
|
-
}),
|
|
10682
|
+
}), J.infoTick.value++, xt(), Mt = void 0, Nt = !1;
|
|
10645
10683
|
},
|
|
10646
10684
|
stream: (e, t, n) => {
|
|
10647
|
-
if (!
|
|
10685
|
+
if (!J.agent) throw Error("page-agent-sdk: agent 尚未初始化完成,请先 await mount()");
|
|
10648
10686
|
x?.setProtectedRefs?.(md(e));
|
|
10649
10687
|
let r = (e) => {
|
|
10650
|
-
t?.(e),
|
|
10688
|
+
t?.(e), q(e), e.type === "subagent" && (e.kind === "tool_call" || e.kind === "tool_result") && J.infoTick.value++;
|
|
10651
10689
|
};
|
|
10652
10690
|
if (n) {
|
|
10653
10691
|
let e = () => a.resolve("keep_external");
|
|
10654
10692
|
n.aborted ? e() : n.addEventListener("abort", e, { once: !0 });
|
|
10655
10693
|
}
|
|
10656
|
-
let { controller: i, untrack: o } =
|
|
10657
|
-
return
|
|
10694
|
+
let { controller: i, untrack: o } = wt(n);
|
|
10695
|
+
return J.agent.stream(e, r, i.signal).finally(o);
|
|
10658
10696
|
},
|
|
10659
10697
|
release() {
|
|
10660
|
-
if (
|
|
10661
|
-
|
|
10662
|
-
let e =
|
|
10698
|
+
if (J.refCount--, J.refCount <= 0) {
|
|
10699
|
+
Tt(), he = !0, s && (x.flush?.(), s.flush(), s.dispose()), lt && lt.dispose();
|
|
10700
|
+
let e = J.mcpClosers.splice(0);
|
|
10663
10701
|
e.length && Promise.allSettled(e.map((e) => e())), vd.delete(n);
|
|
10664
10702
|
}
|
|
10665
10703
|
},
|
|
10666
10704
|
resolveConflict: a.resolve,
|
|
10667
10705
|
setTools(e) {
|
|
10668
|
-
|
|
10669
|
-
|
|
10670
|
-
}),
|
|
10706
|
+
pe.length = 0, e.forEach((e) => {
|
|
10707
|
+
pe.push(e), V.set(e.name, "user");
|
|
10708
|
+
}), W = G(), J.agent && J.agent.setTools(W), J.infoTick.value++;
|
|
10671
10709
|
},
|
|
10672
10710
|
addTool(e) {
|
|
10673
|
-
|
|
10674
|
-
for (let t =
|
|
10675
|
-
|
|
10711
|
+
W.some((t) => t.name === e.name) && console.warn(`[page-agent-sdk] 工具 "${e.name}" 已存在,新工具覆盖(后注册覆盖先注册)`);
|
|
10712
|
+
for (let t = pe.length - 1; t >= 0; t--) pe[t].name === e.name && pe.splice(t, 1);
|
|
10713
|
+
pe.push(e), V.set(e.name, "user"), W = G(), J.agent && J.agent.setTools(W), J.infoTick.value++;
|
|
10676
10714
|
},
|
|
10677
10715
|
removeTool(e) {
|
|
10678
|
-
let t =
|
|
10679
|
-
return t < 0 ? !1 : (
|
|
10716
|
+
let t = pe.findIndex((t) => t.name === e);
|
|
10717
|
+
return t < 0 ? !1 : (pe.splice(t, 1), V.delete(e), W = G(), J.agent && J.agent.setTools(W), J.infoTick.value++, !0);
|
|
10680
10718
|
},
|
|
10681
10719
|
setLlm(t) {
|
|
10682
10720
|
let n;
|
|
@@ -10693,58 +10731,58 @@ function Cd(e, n) {
|
|
|
10693
10731
|
contextWindow: e.contextWindow ?? r?.contextWindow,
|
|
10694
10732
|
maxOutputTokens: e.maxOutputTokens ?? r?.maxOutputTokens
|
|
10695
10733
|
}), f.contextWindow < 2e5) throw Error(`[page-agent-sdk][setLlm] 新模型上下文窗口 ${f.contextWindow} 小于最小支持 ${ai}(需 ≥200K 窗口模型)`);
|
|
10696
|
-
|
|
10734
|
+
J.agent && (J.agent.setLlm(n), J.agent.setModelCaps?.(f)), ft?.setContextWindow?.(f.contextWindow), et?.setContextWindow?.(f.contextWindow), J.infoTick.value++, e.debug && console.log("[page-agent-sdk][setLlm] 重解析 modelCaps + 回灌:", f);
|
|
10697
10735
|
},
|
|
10698
10736
|
setMemory(e) {
|
|
10699
|
-
E.reset(e), typeof e == "function" && E.refresh(),
|
|
10737
|
+
E.reset(e), typeof e == "function" && E.refresh(), J.infoTick.value++;
|
|
10700
10738
|
},
|
|
10701
10739
|
refreshMemory() {
|
|
10702
10740
|
return E.refresh();
|
|
10703
10741
|
},
|
|
10704
10742
|
setSubagents(t) {
|
|
10705
|
-
if (!
|
|
10743
|
+
if (!Xe) {
|
|
10706
10744
|
e.debug && console.warn("[page-agent-sdk][setSubagents] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略");
|
|
10707
10745
|
return;
|
|
10708
10746
|
}
|
|
10709
|
-
|
|
10747
|
+
Xe.set(t), J.infoTick.value++;
|
|
10710
10748
|
},
|
|
10711
10749
|
addSubagent(t) {
|
|
10712
|
-
if (!
|
|
10750
|
+
if (!Xe) {
|
|
10713
10751
|
e.debug && console.warn("[page-agent-sdk][addSubagent] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略");
|
|
10714
10752
|
return;
|
|
10715
10753
|
}
|
|
10716
|
-
|
|
10754
|
+
Xe.add(t), J.infoTick.value++;
|
|
10717
10755
|
},
|
|
10718
10756
|
removeSubagent(t) {
|
|
10719
|
-
if (!
|
|
10720
|
-
let n =
|
|
10721
|
-
return n &&
|
|
10757
|
+
if (!Xe) return e.debug && console.warn("[page-agent-sdk][removeSubagent] 未配 subagents:[] 或 capabilities.subagent 关闭,忽略"), !1;
|
|
10758
|
+
let n = Xe.remove(t);
|
|
10759
|
+
return n && J.infoTick.value++, n;
|
|
10722
10760
|
},
|
|
10723
10761
|
getActiveSubagents() {
|
|
10724
|
-
return
|
|
10762
|
+
return Fe?.getActive() ?? [];
|
|
10725
10763
|
},
|
|
10726
10764
|
get subagentHistory() {
|
|
10727
|
-
return
|
|
10765
|
+
return Fe?.getHistory() ?? [];
|
|
10728
10766
|
},
|
|
10729
10767
|
getInfo() {
|
|
10730
10768
|
return {
|
|
10731
10769
|
id: n,
|
|
10732
|
-
sessionId:
|
|
10770
|
+
sessionId: J.sessionId,
|
|
10733
10771
|
model: $c(y) ? y.model ?? y.modelName : y.model,
|
|
10734
|
-
systemPrompt:
|
|
10735
|
-
tools: (
|
|
10772
|
+
systemPrompt: J.agent?.getEffectiveSystemPrompt?.() ?? ce + rc(B(), e.schemaHint),
|
|
10773
|
+
tools: (J.agent?.allTools ?? W).map((e) => ({
|
|
10736
10774
|
name: e.name,
|
|
10737
10775
|
description: e.description,
|
|
10738
10776
|
schema: e.schema,
|
|
10739
|
-
source:
|
|
10777
|
+
source: V.get(e.name) || "user"
|
|
10740
10778
|
})),
|
|
10741
|
-
skills: (
|
|
10779
|
+
skills: (at ? at.controller.get() : e.skills ?? []).map((e) => ({
|
|
10742
10780
|
name: e.name,
|
|
10743
10781
|
description: e.description
|
|
10744
10782
|
})),
|
|
10745
|
-
data:
|
|
10746
|
-
description:
|
|
10747
|
-
schema:
|
|
10783
|
+
data: B() ? {
|
|
10784
|
+
description: B().description,
|
|
10785
|
+
schema: B().schema
|
|
10748
10786
|
} : void 0,
|
|
10749
10787
|
contextPreset: e.contextPreset ?? "auto",
|
|
10750
10788
|
compression: {
|
|
@@ -10753,8 +10791,8 @@ function Cd(e, n) {
|
|
|
10753
10791
|
promptSoftCap: as(f.contextWindow, h.promptSoftCapTokens)
|
|
10754
10792
|
},
|
|
10755
10793
|
memory: E.get(),
|
|
10756
|
-
middleware:
|
|
10757
|
-
todos: (
|
|
10794
|
+
middleware: pt.map((e) => e.name),
|
|
10795
|
+
todos: (J.agent?.getState?.()?.todos ?? []).map((e) => ({
|
|
10758
10796
|
id: e.id,
|
|
10759
10797
|
content: e.content,
|
|
10760
10798
|
status: e.status,
|
|
@@ -10764,40 +10802,40 @@ function Cd(e, n) {
|
|
|
10764
10802
|
...e.evidence === void 0 ? {} : { evidence: e.evidence }
|
|
10765
10803
|
})),
|
|
10766
10804
|
planPhase: S.getPlanPhase(),
|
|
10767
|
-
mission:
|
|
10768
|
-
workingMemory:
|
|
10769
|
-
focus:
|
|
10770
|
-
focuses:
|
|
10771
|
-
trace:
|
|
10772
|
-
spans:
|
|
10773
|
-
metrics: li(
|
|
10805
|
+
mission: De ? C.getMission() : void 0,
|
|
10806
|
+
workingMemory: Oe ? T.getWorkingMemory() : void 0,
|
|
10807
|
+
focus: U ? w.getFocus() : void 0,
|
|
10808
|
+
focuses: U ? w.getFocuses() : [],
|
|
10809
|
+
trace: oe && J.agent?.spans ? {
|
|
10810
|
+
spans: J.agent.spans.value,
|
|
10811
|
+
metrics: li(J.agent.spans.value)
|
|
10774
10812
|
} : void 0,
|
|
10775
10813
|
actions: $u(e.actions ?? {}),
|
|
10776
10814
|
subagent: {
|
|
10777
|
-
enabled: !!
|
|
10815
|
+
enabled: !!Ge,
|
|
10778
10816
|
maxDepth: e.subagent?.maxDepth ?? 1,
|
|
10779
10817
|
maxParallel: e.subagent?.maxParallel ?? 4,
|
|
10780
10818
|
allowedTools: e.subagent?.allowedTools ?? [],
|
|
10781
|
-
subagents:
|
|
10782
|
-
active:
|
|
10783
|
-
history:
|
|
10784
|
-
lockedComponents:
|
|
10819
|
+
subagents: Xe?.get() ?? [],
|
|
10820
|
+
active: Fe?.getActive() ?? [],
|
|
10821
|
+
history: Fe?.getHistory() ?? [],
|
|
10822
|
+
lockedComponents: qe?.locked() ?? {}
|
|
10785
10823
|
},
|
|
10786
10824
|
verify: {
|
|
10787
|
-
enabled:
|
|
10788
|
-
maxAttempts:
|
|
10789
|
-
adversarial:
|
|
10825
|
+
enabled: !!$e,
|
|
10826
|
+
maxAttempts: Re ? Ie : 0,
|
|
10827
|
+
adversarial: Re && !!e.verify?.adversarial
|
|
10790
10828
|
},
|
|
10791
10829
|
context: (() => {
|
|
10792
|
-
let e =
|
|
10830
|
+
let e = et?.getSnapshot();
|
|
10793
10831
|
if (e) {
|
|
10794
|
-
let t =
|
|
10832
|
+
let t = J.agent?.getState?.()?.lastCompression;
|
|
10795
10833
|
t && (e.compression = t);
|
|
10796
10834
|
}
|
|
10797
10835
|
return e;
|
|
10798
10836
|
})(),
|
|
10799
|
-
mcp: { servers:
|
|
10800
|
-
lastCompression:
|
|
10837
|
+
mcp: { servers: J.mcpServers },
|
|
10838
|
+
lastCompression: J.agent?.getState?.()?.lastCompression,
|
|
10801
10839
|
checkpoints: F ? {
|
|
10802
10840
|
enabled: !0,
|
|
10803
10841
|
auto: I,
|
|
@@ -10806,69 +10844,69 @@ function Cd(e, n) {
|
|
|
10806
10844
|
};
|
|
10807
10845
|
},
|
|
10808
10846
|
getMission() {
|
|
10809
|
-
return
|
|
10847
|
+
return De ? C.getMission() : void 0;
|
|
10810
10848
|
},
|
|
10811
10849
|
setMission(t) {
|
|
10812
|
-
if (!
|
|
10850
|
+
if (!De) {
|
|
10813
10851
|
e.debug && console.warn("[page-agent-sdk][mission] capabilities.missionAnchor 关闭,setMission 忽略");
|
|
10814
10852
|
return;
|
|
10815
10853
|
}
|
|
10816
|
-
C.setMission(t),
|
|
10854
|
+
C.setMission(t), J.infoTick.value++;
|
|
10817
10855
|
},
|
|
10818
10856
|
getFocus() {
|
|
10819
|
-
return
|
|
10857
|
+
return U ? w.getFocus() : void 0;
|
|
10820
10858
|
},
|
|
10821
10859
|
getFocuses() {
|
|
10822
|
-
return
|
|
10860
|
+
return U ? w.getFocuses() : [];
|
|
10823
10861
|
},
|
|
10824
10862
|
setFocus(t) {
|
|
10825
|
-
let n = Sd(t, "setFocus",
|
|
10826
|
-
return n.ok ? (w.setFocus(t),
|
|
10863
|
+
let n = Sd(t, "setFocus", U, () => B()?.schema, e.debug);
|
|
10864
|
+
return n.ok ? (w.setFocus(t), J.infoTick.value++, { ok: !0 }) : n;
|
|
10827
10865
|
},
|
|
10828
10866
|
addFocus(t) {
|
|
10829
|
-
let n = Sd(t, "addFocus",
|
|
10867
|
+
let n = Sd(t, "addFocus", U, () => B()?.schema, e.debug);
|
|
10830
10868
|
return n.ok ? w.getFocuses().length >= 8 ? (e.debug && console.warn("[page-agent-sdk][focus] addFocus 拒绝:焦点数已达上限 8(augmentPrompt 注入每焦点子树 schema,过多致 system prompt 超预算)"), {
|
|
10831
10869
|
ok: !1,
|
|
10832
10870
|
error: "焦点数上限 8(避免 system prompt 撑爆)"
|
|
10833
|
-
}) : (w.addFocus(t),
|
|
10871
|
+
}) : (w.addFocus(t), J.infoTick.value++, { ok: !0 }) : n;
|
|
10834
10872
|
},
|
|
10835
10873
|
removeFocus(e) {
|
|
10836
|
-
|
|
10874
|
+
U && (w.removeFocus(e), J.infoTick.value++);
|
|
10837
10875
|
},
|
|
10838
10876
|
clearFocus() {
|
|
10839
|
-
|
|
10877
|
+
U && (w.clearFocus(), J.infoTick.value++);
|
|
10840
10878
|
}
|
|
10841
10879
|
};
|
|
10842
|
-
async function
|
|
10880
|
+
async function Et() {
|
|
10843
10881
|
if (!s) return;
|
|
10844
10882
|
await s.ready;
|
|
10845
10883
|
let t = e.session || {};
|
|
10846
10884
|
if (t.id) {
|
|
10847
|
-
|
|
10848
|
-
let e = await s.load(n,
|
|
10849
|
-
e ? (
|
|
10885
|
+
J.sessionId = t.id;
|
|
10886
|
+
let e = await s.load(n, J.sessionId);
|
|
10887
|
+
e ? (J.applySnapshot(e), q({
|
|
10850
10888
|
type: "session_restored",
|
|
10851
|
-
sessionId:
|
|
10889
|
+
sessionId: J.sessionId,
|
|
10852
10890
|
rounds: e.messages?.length ?? 0
|
|
10853
|
-
})) : await s.createSession(n, t.title,
|
|
10891
|
+
})) : await s.createSession(n, t.title, J.sessionId);
|
|
10854
10892
|
} else if (t.autoResume !== !1) {
|
|
10855
10893
|
let r = await s.listSessions(n);
|
|
10856
10894
|
if (e.debug && console.log("[page-agent-sdk][restore] listSessions", n, r.length, r.map((e) => e.sessionId)), r.length) {
|
|
10857
|
-
|
|
10858
|
-
let t = await s.load(n,
|
|
10859
|
-
t ? (
|
|
10895
|
+
J.sessionId = r[0].sessionId;
|
|
10896
|
+
let t = await s.load(n, J.sessionId);
|
|
10897
|
+
t ? (J.applySnapshot(t), q({
|
|
10860
10898
|
type: "session_restored",
|
|
10861
|
-
sessionId:
|
|
10899
|
+
sessionId: J.sessionId,
|
|
10862
10900
|
rounds: t.messages?.length ?? 0
|
|
10863
|
-
}), e.debug && console.log("[page-agent-sdk][restore] 恢复会话",
|
|
10864
|
-
} else
|
|
10865
|
-
} else
|
|
10866
|
-
e.memory &&
|
|
10901
|
+
}), e.debug && console.log("[page-agent-sdk][restore] 恢复会话", J.sessionId, `${t.messages?.length ?? 0} msgs`)) : e.debug && console.log("[page-agent-sdk][restore] 会话 meta 存在但快照为空", J.sessionId);
|
|
10902
|
+
} else J.sessionId = await s.createSession(n, t.title), e.debug && console.log("[page-agent-sdk][restore] 新建会话(无历史)", J.sessionId);
|
|
10903
|
+
} else J.sessionId = await s.createSession(n, t.title);
|
|
10904
|
+
e.memory && Ft({ memory: E.get() || (typeof e.memory == "string" ? e.memory : "") }), xt();
|
|
10867
10905
|
}
|
|
10868
|
-
async function
|
|
10869
|
-
await
|
|
10906
|
+
async function Dt() {
|
|
10907
|
+
await dt();
|
|
10870
10908
|
}
|
|
10871
|
-
function
|
|
10909
|
+
function Ot(e) {
|
|
10872
10910
|
let t = {};
|
|
10873
10911
|
for (let n of md(e)) {
|
|
10874
10912
|
let e = x.files[n];
|
|
@@ -10876,15 +10914,15 @@ function Cd(e, n) {
|
|
|
10876
10914
|
}
|
|
10877
10915
|
return t;
|
|
10878
10916
|
}
|
|
10879
|
-
function
|
|
10917
|
+
function kt() {
|
|
10880
10918
|
let e = hd(x.files, md(b));
|
|
10881
10919
|
for (let t of e) delete x.files[t];
|
|
10882
10920
|
}
|
|
10883
10921
|
function jt() {
|
|
10884
|
-
let e = Xo(b,
|
|
10922
|
+
let e = Xo(b, mt);
|
|
10885
10923
|
if (!e.trimmed) return;
|
|
10886
10924
|
let { older: t, summary: n } = e;
|
|
10887
|
-
if (
|
|
10925
|
+
if (q({
|
|
10888
10926
|
type: "context_trimmed",
|
|
10889
10927
|
dropped: t.map((e) => ({
|
|
10890
10928
|
round: e.round,
|
|
@@ -10892,75 +10930,91 @@ function Cd(e, n) {
|
|
|
10892
10930
|
assistant: e.assistantMsgs.map((e) => e.content),
|
|
10893
10931
|
steps: e.assistantMsgs.flatMap((e) => e.steps ?? [])
|
|
10894
10932
|
})),
|
|
10895
|
-
vfsResults:
|
|
10933
|
+
vfsResults: Ot(t.flatMap((e) => [e.userMsg, ...e.assistantMsgs])),
|
|
10896
10934
|
summary: n.content,
|
|
10897
10935
|
reason: "max_memory_rounds"
|
|
10898
|
-
}), b.splice(e.deleteFrom, e.deleteCount, n),
|
|
10936
|
+
}), b.splice(e.deleteFrom, e.deleteCount, n), kt(), g && l) {
|
|
10899
10937
|
let n = e.summary, { prevSeg: r } = e;
|
|
10900
10938
|
(async () => {
|
|
10901
10939
|
try {
|
|
10902
10940
|
let e = await l(ts(t, v)), i = b.indexOf(n);
|
|
10903
10941
|
if (i < 0) return;
|
|
10904
|
-
b[i].content = Yo(t, r, e),
|
|
10942
|
+
b[i].content = Yo(t, r, e), Lt();
|
|
10905
10943
|
} catch {}
|
|
10906
10944
|
})();
|
|
10907
10945
|
}
|
|
10908
10946
|
}
|
|
10909
10947
|
let Mt, Nt = !1;
|
|
10910
|
-
function Pt(t) {
|
|
10911
|
-
|
|
10912
|
-
|
|
10948
|
+
function Pt(t, n) {
|
|
10949
|
+
e.debug && console.warn(`[page-agent-sdk][persist] ${t} 失败(已吞):`, n);
|
|
10950
|
+
let r = J.agent?.debugLogs;
|
|
10951
|
+
r && r.value.push({
|
|
10952
|
+
timestamp: Date.now(),
|
|
10953
|
+
type: "middleware",
|
|
10954
|
+
data: {
|
|
10955
|
+
stage: "persist_save_failed",
|
|
10956
|
+
kind: t,
|
|
10957
|
+
error: String(n).slice(0, 160)
|
|
10958
|
+
}
|
|
10913
10959
|
});
|
|
10914
10960
|
}
|
|
10915
|
-
function Ft(
|
|
10916
|
-
s
|
|
10917
|
-
|
|
10918
|
-
|
|
10961
|
+
function Ft(e) {
|
|
10962
|
+
!J.sessionId || !s || s.save(n, J.sessionId, e).catch((e) => Pt("save", e));
|
|
10963
|
+
}
|
|
10964
|
+
function It(e, t) {
|
|
10965
|
+
s && s.updateTitle(n, e, t).catch((e) => Pt("updateTitle", e));
|
|
10919
10966
|
}
|
|
10920
|
-
function
|
|
10921
|
-
if (!
|
|
10922
|
-
if (
|
|
10967
|
+
function Lt() {
|
|
10968
|
+
if (!J.sessionId || !s) return;
|
|
10969
|
+
if (Ft({ messages: JSON.parse(JSON.stringify(b)) }), Ft({ todos: J.agent?.getState?.()?.todos ?? [] }), De) {
|
|
10923
10970
|
let e = C.getMission();
|
|
10924
|
-
e &&
|
|
10971
|
+
e && Ft({ mission: e });
|
|
10925
10972
|
}
|
|
10926
|
-
if (
|
|
10973
|
+
if (Oe) {
|
|
10927
10974
|
let e = T.getWorkingMemory();
|
|
10928
|
-
e &&
|
|
10975
|
+
e && Ft({ workingMemory: e });
|
|
10929
10976
|
}
|
|
10930
|
-
if (
|
|
10977
|
+
if (U) {
|
|
10931
10978
|
let e = w.getFocuses();
|
|
10932
|
-
|
|
10979
|
+
Ft({ focus: e.length ? e : null });
|
|
10933
10980
|
}
|
|
10934
|
-
|
|
10981
|
+
se && F && (Ft({ checkpoints: F.exportStack() }), Ft({ usage: i }));
|
|
10935
10982
|
let t = Qc(b);
|
|
10936
|
-
if (t && t !== Mt && (Mt = t,
|
|
10983
|
+
if (t && t !== Mt && (Mt = t, It(J.sessionId, t)), e.autoTitle !== !1 && u && !Nt && b.some((e) => e.role === "user") && b.some((e) => e.role === "assistant")) {
|
|
10937
10984
|
Nt = !0;
|
|
10938
|
-
let e =
|
|
10985
|
+
let e = J.sessionId;
|
|
10939
10986
|
(async () => {
|
|
10940
10987
|
try {
|
|
10941
10988
|
let t = await u(b);
|
|
10942
|
-
t &&
|
|
10989
|
+
if (t && J.refCount > 0 && J.sessionId === e) {
|
|
10990
|
+
try {
|
|
10991
|
+
await s.updateTitle(n, e, t);
|
|
10992
|
+
} catch (e) {
|
|
10993
|
+
Pt("updateTitle", e);
|
|
10994
|
+
}
|
|
10995
|
+
await xt();
|
|
10996
|
+
}
|
|
10943
10997
|
} catch {}
|
|
10944
10998
|
})();
|
|
10945
10999
|
}
|
|
10946
|
-
e.debug && console.log("[page-agent-sdk][persist] save",
|
|
11000
|
+
e.debug && console.log("[page-agent-sdk][persist] save", J.sessionId, `${b.length} msgs`);
|
|
10947
11001
|
}
|
|
10948
|
-
return
|
|
10949
|
-
await
|
|
11002
|
+
return J.initDone = (async () => {
|
|
11003
|
+
await Et(), await Dt(), e.mcp?.length && (async () => {
|
|
10950
11004
|
let t = await Promise.allSettled(e.mcp.map((e) => tc(e))), n = t.flatMap((e) => e.status === "fulfilled" ? [e.value.close] : []);
|
|
10951
|
-
if (
|
|
11005
|
+
if (he) {
|
|
10952
11006
|
Promise.allSettled(n.map((e) => e()));
|
|
10953
11007
|
return;
|
|
10954
11008
|
}
|
|
10955
|
-
|
|
11009
|
+
J.mcpClosers = n, J.mcpServers = [];
|
|
10956
11010
|
let r = /* @__PURE__ */ new Set();
|
|
10957
|
-
for (let e of
|
|
10958
|
-
let t =
|
|
11011
|
+
for (let e of W) {
|
|
11012
|
+
let t = V.get(e.name);
|
|
10959
11013
|
t && !t.startsWith("mcp:") && r.add(e.name);
|
|
10960
11014
|
}
|
|
10961
11015
|
t.forEach((t, n) => {
|
|
10962
11016
|
let i = e.mcp[n], a = i.name ?? i.url;
|
|
10963
|
-
t.status === "fulfilled" ? (
|
|
11017
|
+
t.status === "fulfilled" ? (J.mcpServers.push({
|
|
10964
11018
|
name: a,
|
|
10965
11019
|
url: i.url,
|
|
10966
11020
|
toolCount: t.value.tools.length
|
|
@@ -10969,30 +11023,30 @@ function Cd(e, n) {
|
|
|
10969
11023
|
console.warn(`[page-agent-sdk][mcp] 工具 "${e.name}" 与内置工具重名,已拒绝注入(安全保留字保护)`);
|
|
10970
11024
|
return;
|
|
10971
11025
|
}
|
|
10972
|
-
|
|
11026
|
+
V.set(e.name, `mcp:${a}`), me.push(e);
|
|
10973
11027
|
})) : console.warn(`[page-agent-sdk][mcp] server ${a} 连接失败:`, t.reason);
|
|
10974
|
-
}),
|
|
11028
|
+
}), me.length && (W = G(), J.agent && J.agent.setTools(W), J.infoTick.value++), e.debug && console.log(`[page-agent-sdk][mcp] 注入 ${me.length} 个工具,${J.mcpServers.length} 个 server`);
|
|
10975
11029
|
})();
|
|
10976
11030
|
let t = $c(e.llm) ? e.llm : await m(e.llm);
|
|
10977
|
-
|
|
11031
|
+
J.agent = Wi({
|
|
10978
11032
|
llm: t,
|
|
10979
|
-
systemPrompt:
|
|
10980
|
-
tools:
|
|
10981
|
-
middleware:
|
|
11033
|
+
systemPrompt: ce,
|
|
11034
|
+
tools: W,
|
|
11035
|
+
middleware: pt,
|
|
10982
11036
|
maxToolRounds: e.maxToolRounds,
|
|
10983
11037
|
maxRetries: e.maxRetries,
|
|
10984
11038
|
stallMs: e.streamStallMs ?? 9e4,
|
|
10985
11039
|
maxParallelTools: e.maxParallelTools,
|
|
10986
11040
|
contextWindow: f.contextWindow,
|
|
10987
11041
|
maxOutputTokens: f.maxOutputTokens,
|
|
10988
|
-
maxVerifyAttempts:
|
|
11042
|
+
maxVerifyAttempts: Re ? Ie : 0,
|
|
10989
11043
|
roundTokenBudget: e.roundTokenBudget ?? 0,
|
|
10990
11044
|
onLlmChange: (e) => {
|
|
10991
11045
|
y = e;
|
|
10992
11046
|
},
|
|
10993
|
-
onTrace:
|
|
11047
|
+
onTrace: oe ? (e, t) => {
|
|
10994
11048
|
try {
|
|
10995
|
-
|
|
11049
|
+
q({
|
|
10996
11050
|
type: "trace",
|
|
10997
11051
|
spans: e,
|
|
10998
11052
|
metrics: t
|
|
@@ -11000,10 +11054,10 @@ function Cd(e, n) {
|
|
|
11000
11054
|
} catch {}
|
|
11001
11055
|
} : void 0,
|
|
11002
11056
|
debug: e.debug
|
|
11003
|
-
}), D.current =
|
|
11004
|
-
|
|
11057
|
+
}), D.current = J.agent, Ye && Ye.setReconfigureHook && Ye.setReconfigureHook(() => {
|
|
11058
|
+
J.agent && J.agent.setTools(G());
|
|
11005
11059
|
});
|
|
11006
|
-
})(),
|
|
11060
|
+
})(), J;
|
|
11007
11061
|
}
|
|
11008
11062
|
function wd(e, t) {
|
|
11009
11063
|
let n = e.id ?? ul();
|
|
@@ -11340,7 +11394,7 @@ async function jd(e) {
|
|
|
11340
11394
|
//#region src/core/composables/useChat.ts
|
|
11341
11395
|
var Md = 4e3;
|
|
11342
11396
|
function Nd(e = {}) {
|
|
11343
|
-
let { fetchResponse: t, fetchStream: n, onPersist: r, onClear: i, onQueuedCleared: a } = e, o = /* @__PURE__ */
|
|
11397
|
+
let { fetchResponse: t, fetchStream: n, onPersist: r, onClear: i, onQueuedCleared: a } = e, o = /* @__PURE__ */ vt({
|
|
11344
11398
|
messages: e.messages ?? [],
|
|
11345
11399
|
loading: !1,
|
|
11346
11400
|
error: null
|
|
@@ -11366,7 +11420,7 @@ function Nd(e = {}) {
|
|
|
11366
11420
|
}
|
|
11367
11421
|
async function g(e) {
|
|
11368
11422
|
if (c.value = !0, n) {
|
|
11369
|
-
let t = /* @__PURE__ */
|
|
11423
|
+
let t = /* @__PURE__ */ vt({
|
|
11370
11424
|
role: "assistant",
|
|
11371
11425
|
content: "",
|
|
11372
11426
|
timestamp: Date.now(),
|
|
@@ -11556,12 +11610,197 @@ function Fd(e) {
|
|
|
11556
11610
|
let n = e[r];
|
|
11557
11611
|
typeof n == "string" && (t[r] = n);
|
|
11558
11612
|
}
|
|
11559
|
-
return e.assistantAvatar && (t.assistantAvatar = e.assistantAvatar), e.userAvatar && (t.userAvatar = e.userAvatar), t;
|
|
11613
|
+
return e.assistantAvatar && (t.assistantAvatar = e.assistantAvatar), e.userAvatar && (t.userAvatar = e.userAvatar), e.send && (t.send = e.send), t;
|
|
11614
|
+
}
|
|
11615
|
+
//#endregion
|
|
11616
|
+
//#region src/core/components/messages.ts
|
|
11617
|
+
var Id = {
|
|
11618
|
+
defaultTitle: "AI 助手",
|
|
11619
|
+
inputPlaceholder: "输入消息,Enter 发送...",
|
|
11620
|
+
newSession: "新建会话",
|
|
11621
|
+
history: "历史记录",
|
|
11622
|
+
more: "更多",
|
|
11623
|
+
close: "关闭",
|
|
11624
|
+
debugMenu: "调试 / 日志",
|
|
11625
|
+
debugMenuTitle: "日志 / 执行流程 / Agent 信息",
|
|
11626
|
+
skillMenu: "Skill 管理",
|
|
11627
|
+
skillMenuTitle: "创建 / 管理自定义 Skill",
|
|
11628
|
+
clearChat: "清空对话",
|
|
11629
|
+
sessionFallbackPrefix: "会话 ",
|
|
11630
|
+
justNow: "刚刚",
|
|
11631
|
+
minutesAgoSuffix: "分钟前",
|
|
11632
|
+
emptyGreeting: "有什么可以帮你的?",
|
|
11633
|
+
retry: "重试",
|
|
11634
|
+
undo: "↩ 回退",
|
|
11635
|
+
undoTitle: "回退到上次正常状态(还原对话历史 + 页面属性 + 工作区)",
|
|
11636
|
+
thinking: "思考中...",
|
|
11637
|
+
statusRunning: "执行中",
|
|
11638
|
+
statusDone: "成功",
|
|
11639
|
+
statusError: "失败",
|
|
11640
|
+
subagentBadge: "子",
|
|
11641
|
+
subagentBadgeTitle: "子 agent 委派(独立上下文,只回结论)",
|
|
11642
|
+
subagentProgress: "子 agent 进度",
|
|
11643
|
+
nthCallPrefix: "第 ",
|
|
11644
|
+
nthCallSuffix: " 次",
|
|
11645
|
+
argsLabel: "入参",
|
|
11646
|
+
resultLabel: "返回值",
|
|
11647
|
+
copy: "复制",
|
|
11648
|
+
copied: "已复制",
|
|
11649
|
+
regenerate: "重新生成",
|
|
11650
|
+
expand: "展开",
|
|
11651
|
+
collapse: "收起",
|
|
11652
|
+
noResult: "(无返回值)",
|
|
11653
|
+
displayTruncatedSuffix: "\n…(展示截断,复制可得全量)",
|
|
11654
|
+
thinkingCountPrefix: "思考中… ",
|
|
11655
|
+
charCountSuffix: "字",
|
|
11656
|
+
reasoningTitle: "思考过程",
|
|
11657
|
+
truncatedNotePrefix: "(仅显最近 ",
|
|
11658
|
+
truncatedNoteSuffix: " 字)",
|
|
11659
|
+
copyThinking: "复制完整思考内容",
|
|
11660
|
+
copyThinkingTruncTitle: "复制完整思考(渲染已截尾,复制取全量)",
|
|
11661
|
+
focusChipTitlePrefix: "精修中:",
|
|
11662
|
+
focusChipTitleHint: "(点击回看 · ✕ 移除)",
|
|
11663
|
+
historyFocusChipTitlePrefix: "回看 ",
|
|
11664
|
+
removeFocus: "移除此焦点",
|
|
11665
|
+
sendHint: "Enter 发送 · Shift+Enter 换行",
|
|
11666
|
+
sendTitle: "发送",
|
|
11667
|
+
stopTitle: "停止生成",
|
|
11668
|
+
queuedTitle: "排队中 · 生成完后自动执行",
|
|
11669
|
+
queuedEditTitle: "修改(填回输入框编辑)",
|
|
11670
|
+
removeQueuedTitle: "撤销该任务",
|
|
11671
|
+
humanConfirmTitle: "AI 需要你确认",
|
|
11672
|
+
recommendPrefix: " 推荐:",
|
|
11673
|
+
approve: "允许",
|
|
11674
|
+
deny: "拒绝",
|
|
11675
|
+
toolConfirmPrefix: "需确认工具调用:",
|
|
11676
|
+
viewArgs: "查看参数",
|
|
11677
|
+
collapseArgs: "收起参数",
|
|
11678
|
+
argsTruncatedSuffix: "\n…(已截断)",
|
|
11679
|
+
conflictTitlePrefix: "写入冲突:",
|
|
11680
|
+
conflictTitleSuffix: " 已被外部修改",
|
|
11681
|
+
conflictDetailTemplate: "AI 基于「读取时的旧值」准备{op},但该属性在你读取之后被外部代码/其他 agent/手动改过。",
|
|
11682
|
+
conflictOpWrite: "写入",
|
|
11683
|
+
conflictOpDelete: "删除",
|
|
11684
|
+
viewDiff: "查看值对比",
|
|
11685
|
+
collapseDiff: "收起对比",
|
|
11686
|
+
agentValueLabel: "AI 想写的值",
|
|
11687
|
+
currentValueLabel: "外部改后的当前值",
|
|
11688
|
+
deleteNoValue: "(delete 操作无值)",
|
|
11689
|
+
keepExternal: "保留外部",
|
|
11690
|
+
keepExternalTitle: "不写入,保留外部修改后的值,AI 重新读取再改",
|
|
11691
|
+
overwrite: "强制覆盖",
|
|
11692
|
+
overwriteTitle: "用 AI 的值覆盖外部修改",
|
|
11693
|
+
restore: "回退",
|
|
11694
|
+
restoreTitle: "回退到最近一次历史快照(agent 之前操作的检查点),撤销外部修改 + AI 不写入",
|
|
11695
|
+
switchFocusTitle: "切换聚焦路径",
|
|
11696
|
+
exitFocusTitle: "退出精修",
|
|
11697
|
+
focusPathPlaceholder: "jsonPath,如 components.3",
|
|
11698
|
+
focusLabelPlaceholder: "标签(可选)",
|
|
11699
|
+
focusSubmit: "聚焦"
|
|
11700
|
+
}, Ld = {
|
|
11701
|
+
"zh-CN": Id,
|
|
11702
|
+
"en-US": {
|
|
11703
|
+
defaultTitle: "AI Assistant",
|
|
11704
|
+
inputPlaceholder: "Type a message, Enter to send...",
|
|
11705
|
+
newSession: "New chat",
|
|
11706
|
+
history: "History",
|
|
11707
|
+
more: "More",
|
|
11708
|
+
close: "Close",
|
|
11709
|
+
debugMenu: "Debug / Logs",
|
|
11710
|
+
debugMenuTitle: "Logs / execution flow / agent info",
|
|
11711
|
+
skillMenu: "Skills",
|
|
11712
|
+
skillMenuTitle: "Create / manage custom skills",
|
|
11713
|
+
clearChat: "Clear conversation",
|
|
11714
|
+
sessionFallbackPrefix: "Session ",
|
|
11715
|
+
justNow: "just now",
|
|
11716
|
+
minutesAgoSuffix: " min ago",
|
|
11717
|
+
emptyGreeting: "How can I help you?",
|
|
11718
|
+
retry: "Retry",
|
|
11719
|
+
undo: "↩ Undo",
|
|
11720
|
+
undoTitle: "Restore the last good state (conversation + page data + workspace)",
|
|
11721
|
+
thinking: "Thinking...",
|
|
11722
|
+
statusRunning: "Running",
|
|
11723
|
+
statusDone: "Success",
|
|
11724
|
+
statusError: "Failed",
|
|
11725
|
+
subagentBadge: "sub",
|
|
11726
|
+
subagentBadgeTitle: "Sub-agent delegation (isolated context, conclusion only)",
|
|
11727
|
+
subagentProgress: "Sub-agent progress",
|
|
11728
|
+
nthCallPrefix: "Call #",
|
|
11729
|
+
nthCallSuffix: "",
|
|
11730
|
+
argsLabel: "Args",
|
|
11731
|
+
resultLabel: "Result",
|
|
11732
|
+
copy: "Copy",
|
|
11733
|
+
copied: "Copied",
|
|
11734
|
+
regenerate: "Regenerate",
|
|
11735
|
+
expand: "Expand",
|
|
11736
|
+
collapse: "Collapse",
|
|
11737
|
+
noResult: "(no result)",
|
|
11738
|
+
displayTruncatedSuffix: "\n…(truncated for display, copy for full)",
|
|
11739
|
+
thinkingCountPrefix: "Thinking… ",
|
|
11740
|
+
charCountSuffix: " chars",
|
|
11741
|
+
reasoningTitle: "Reasoning",
|
|
11742
|
+
truncatedNotePrefix: "(last ",
|
|
11743
|
+
truncatedNoteSuffix: " chars only)",
|
|
11744
|
+
copyThinking: "Copy full reasoning",
|
|
11745
|
+
copyThinkingTruncTitle: "Copy full reasoning (display truncated, copy gets all)",
|
|
11746
|
+
focusChipTitlePrefix: "Focus:",
|
|
11747
|
+
focusChipTitleHint: "(click to view · ✕ remove)",
|
|
11748
|
+
historyFocusChipTitlePrefix: "View ",
|
|
11749
|
+
removeFocus: "Remove this focus",
|
|
11750
|
+
sendHint: "Enter to send · Shift+Enter for newline",
|
|
11751
|
+
sendTitle: "Send",
|
|
11752
|
+
stopTitle: "Stop generating",
|
|
11753
|
+
queuedTitle: "Queued · runs when current finishes",
|
|
11754
|
+
queuedEditTitle: "Edit (fill back into input)",
|
|
11755
|
+
removeQueuedTitle: "Drop this task",
|
|
11756
|
+
humanConfirmTitle: "AI needs your confirmation",
|
|
11757
|
+
recommendPrefix: " Recommend:",
|
|
11758
|
+
approve: "Allow",
|
|
11759
|
+
deny: "Deny",
|
|
11760
|
+
toolConfirmPrefix: "Confirm tool call:",
|
|
11761
|
+
viewArgs: "View args",
|
|
11762
|
+
collapseArgs: "Collapse args",
|
|
11763
|
+
argsTruncatedSuffix: "\n…(truncated)",
|
|
11764
|
+
conflictTitlePrefix: "Write conflict:",
|
|
11765
|
+
conflictTitleSuffix: " was modified externally",
|
|
11766
|
+
conflictDetailTemplate: "The AI prepared to {op} based on the stale value it read, but the property was changed afterwards by external code / another agent / manual edit.",
|
|
11767
|
+
conflictOpWrite: "write",
|
|
11768
|
+
conflictOpDelete: "delete",
|
|
11769
|
+
viewDiff: "View diff",
|
|
11770
|
+
collapseDiff: "Collapse diff",
|
|
11771
|
+
agentValueLabel: "Value AI wants to write",
|
|
11772
|
+
currentValueLabel: "Current value (external)",
|
|
11773
|
+
deleteNoValue: "(delete op has no value)",
|
|
11774
|
+
keepExternal: "Keep external",
|
|
11775
|
+
keepExternalTitle: "Skip the write, keep the external value; AI re-reads then retries",
|
|
11776
|
+
overwrite: "Overwrite",
|
|
11777
|
+
overwriteTitle: "Overwrite external changes with the AI value",
|
|
11778
|
+
restore: "Restore",
|
|
11779
|
+
restoreTitle: "Restore the latest snapshot (checkpoint before the agent op); undo external change, AI does not write",
|
|
11780
|
+
switchFocusTitle: "Switch focus path",
|
|
11781
|
+
exitFocusTitle: "Exit focus",
|
|
11782
|
+
focusPathPlaceholder: "jsonPath, e.g. components.3",
|
|
11783
|
+
focusLabelPlaceholder: "Label (optional)",
|
|
11784
|
+
focusSubmit: "Focus"
|
|
11785
|
+
}
|
|
11786
|
+
};
|
|
11787
|
+
function Rd(e = "zh-CN", t) {
|
|
11788
|
+
let n = {
|
|
11789
|
+
...Id,
|
|
11790
|
+
...Ld[e]
|
|
11791
|
+
};
|
|
11792
|
+
if (!t) return n;
|
|
11793
|
+
let r = { ...n };
|
|
11794
|
+
for (let e of Object.keys(n)) {
|
|
11795
|
+
let n = t[e];
|
|
11796
|
+
typeof n == "string" && (r[e] = n);
|
|
11797
|
+
}
|
|
11798
|
+
return r;
|
|
11560
11799
|
}
|
|
11561
11800
|
//#endregion
|
|
11562
11801
|
//#region src/core/composables/chatContext.ts
|
|
11563
|
-
var
|
|
11564
|
-
function
|
|
11802
|
+
var zd = Symbol("chatContext");
|
|
11803
|
+
function Bd(e = {}) {
|
|
11565
11804
|
let t = Nd({
|
|
11566
11805
|
fetchResponse: e.fetchResponse,
|
|
11567
11806
|
fetchStream: e.fetchStream,
|
|
@@ -11595,7 +11834,7 @@ function Ld(e = {}) {
|
|
|
11595
11834
|
};
|
|
11596
11835
|
}), x = Wr(() => (n.messages.length, typeof e.canUndo == "function" && !!e.canUndo())), S = () => {
|
|
11597
11836
|
e.onUndo?.() && (n.error = null);
|
|
11598
|
-
}, C = (e) => new Date(e).toLocaleTimeString(
|
|
11837
|
+
}, C = (e) => new Date(e).toLocaleTimeString(te, {
|
|
11599
11838
|
hour: "2-digit",
|
|
11600
11839
|
minute: "2-digit"
|
|
11601
11840
|
}), w = () => {
|
|
@@ -11609,7 +11848,16 @@ function Ld(e = {}) {
|
|
|
11609
11848
|
if (!r || r.role !== "assistant") return !1;
|
|
11610
11849
|
let i = "reasoning" in r ? r.reasoning : void 0;
|
|
11611
11850
|
return n.loading && e === t.length - 1 && !r.content && !i;
|
|
11612
|
-
}, O = Wr(() => (e.infoTick?.value, e.getFocuses?.() ?? []))
|
|
11851
|
+
}, O = Wr(() => (e.infoTick?.value, e.getFocuses?.() ?? [])), k = (t) => e.onAddFocus ? e.onAddFocus(t) : {
|
|
11852
|
+
ok: !1,
|
|
11853
|
+
error: "focus 未启用"
|
|
11854
|
+
}, A = (t) => {
|
|
11855
|
+
e.onRemoveFocus?.(t);
|
|
11856
|
+
}, ee = () => {
|
|
11857
|
+
e.onClearFocus?.();
|
|
11858
|
+
}, j = (t) => {
|
|
11859
|
+
e.onFocusChipClick?.(t);
|
|
11860
|
+
}, M = Fd(e.icons), te = e.locale ?? "zh-CN";
|
|
11613
11861
|
return {
|
|
11614
11862
|
chat: t,
|
|
11615
11863
|
inputText: o,
|
|
@@ -11635,31 +11883,24 @@ function Ld(e = {}) {
|
|
|
11635
11883
|
editQueued: E,
|
|
11636
11884
|
isPendingAssistant: D,
|
|
11637
11885
|
focuses: O,
|
|
11638
|
-
addFocus:
|
|
11639
|
-
|
|
11640
|
-
|
|
11641
|
-
|
|
11642
|
-
|
|
11643
|
-
|
|
11644
|
-
|
|
11645
|
-
clearFocus: () => {
|
|
11646
|
-
e.onClearFocus?.();
|
|
11647
|
-
},
|
|
11648
|
-
focusChipClick: (t) => {
|
|
11649
|
-
e.onFocusChipClick?.(t);
|
|
11650
|
-
},
|
|
11651
|
-
icons: Fd(e.icons)
|
|
11886
|
+
addFocus: k,
|
|
11887
|
+
removeFocus: A,
|
|
11888
|
+
clearFocus: ee,
|
|
11889
|
+
focusChipClick: j,
|
|
11890
|
+
icons: M,
|
|
11891
|
+
locale: te,
|
|
11892
|
+
messages: Rd(te, e.dialogMessages)
|
|
11652
11893
|
};
|
|
11653
11894
|
}
|
|
11654
|
-
function
|
|
11655
|
-
let e = Rn(
|
|
11895
|
+
function Vd() {
|
|
11896
|
+
let e = Rn(zd);
|
|
11656
11897
|
if (!e) throw Error("useChatContext 必须在 provide(chatContextKey) 的组件子树内调用");
|
|
11657
11898
|
return e;
|
|
11658
11899
|
}
|
|
11659
11900
|
//#endregion
|
|
11660
11901
|
//#region src/core/index.headless.ts
|
|
11661
|
-
function
|
|
11902
|
+
function Hd(e) {
|
|
11662
11903
|
return wd(e);
|
|
11663
11904
|
}
|
|
11664
11905
|
//#endregion
|
|
11665
|
-
export { Ll as CAPABILITIES, Bl as CONTEXT_PRESETS, Zc as CompressDecisionSchema, is as DEFAULT_PROMPT_SOFT_CAP, nc as DEFAULT_SYSTEM_PROMPT, vc as HTML_VOID_TAGS, Ao as HUMAN_CONFIRM_TOOL_NAME, ai as MIN_CONTEXT_WINDOW, rs as SOFT_CAP_MIN_WINDOW, Zo as STOP_WORDS, Aa as UNSAFE_KEYS, $u as actionsToInspectInfo, Qu as actionsToTools, Qr as agentError, Ys as analyzeContext, Ba as applyPatchToClone, Ua as applyPatchToLive, Zr as asAgentError, rc as buildDataPrompt, ic as buildSystemPrompt,
|
|
11906
|
+
export { Ll as CAPABILITIES, Bl as CONTEXT_PRESETS, Zc as CompressDecisionSchema, is as DEFAULT_PROMPT_SOFT_CAP, nc as DEFAULT_SYSTEM_PROMPT, vc as HTML_VOID_TAGS, Ao as HUMAN_CONFIRM_TOOL_NAME, ai as MIN_CONTEXT_WINDOW, rs as SOFT_CAP_MIN_WINDOW, Zo as STOP_WORDS, Aa as UNSAFE_KEYS, $u as actionsToInspectInfo, Qu as actionsToTools, Qr as agentError, Ys as analyzeContext, Ba as applyPatchToClone, Ua as applyPatchToLive, Zr as asAgentError, rc as buildDataPrompt, ic as buildSystemPrompt, zd as chatContextKey, Eu as commitSetToBind, tc as connectMcp, m as constructLlmFromConfig, p as constructOpenLlmSync, jd as copyText, Wi as createAgent, ko as createApprovalMiddleware, Bd as createChatContext, Hd as createChatSdk, Bo as createCheckpointManager, Vo as createCheckpointMiddleware, ll as createConflictManager, Xs as createContextInspectorMiddleware, Pu as createDataOps, Wc as createHtmlFormatCheck, qc as createHtmlSubagent, No as createHumanConfirmMiddleware, Mo as createHumanConfirmTool, Al as createMemoryBackend, So as createMemoryMiddleware, u as createProxyLlm, Ad as createRagSubagent, ao as createSandboxRunner, zl as createSdkEvents, gd as createSerialRunner, Pl as createSessionStore, fd as createSkillStore, Es as createSubagentMiddleware, us as createSubagentTracker, ks as createSubagentsMiddleware, od as createUsageHintsMiddleware, As as createVerifyMiddleware, cc as createVfs, Ml as createWebStorageBackend, Is as createWriteBackCheck, Fa as deepClone, nd as defineDataToolset, so as defineSkill, Jc as defineTool, Pa as deleteByPath, Qc as deriveTitle, sa as describeSchemaNode, Oi as detectGarbledToolCall, qa as diffObjects, Bu as domToStructure, Hu as domTools, td as domToolsStatic, $o as estimateMessageTokens, es as estimateRoundTokens, X as estimateTokens, g as extractReasoningDelta, ba as extractSchemaHint, Zs as extractText, h as extractTextDelta, _ as extractUsage, Iu as fetchDocTools, ed as fetchTools, Tu as filterByToolMode, Ka as findStrippedKeys, ca as formatConstraints, qr as formatZodIssues, Z as getByPath, Vu as getDomTool, Gu as getEnvSummary, Ji as getSchemaAtPath, Gi as getSchemaTopKeys, li as getTraceMetrics, $ as hashValue, ha as htmlOrchestratorPrompt, ts as indexSummarize, Ju as inspectEnvTool, Yu as inspectTools, $c as isChatModel, yi as isContextLengthError, Ki as isPathAllowed, Sl as isQuotaError, ja as isUnsafePath, eu as jpEval, Yr as jsonParseError, Ra as limitDepth, Ia as maybeParseValue, y as normalizeUsage, ci as offloadPassThroughChars, si as offloadThresholdChars, ma as presets, ta as projectBySchema, ea as projectBySchemaDeep, La as projectFields, ns as recallRounds, la as renderSchemaHint, ua as renderSchemaOverview, pa as renderSchemaShallow, Rl as resolveCapabilities, Hl as resolveContextOptions, Il as resolveDialogConfig, cl as resolveLlm, oi as resolveModelCaps, as as resolvePromptSoftCap, Fl as resolveStorage, Ga as restoreInPlace, Wa as restoreLive, Xr as routeError, oo as runHostScript, iu as runSandboxedScript, Ma as safeMerge, Wu as safeSerialize, Q as safeStringify, nu as searchJson, rd as selectBuiltinTools, Na as setByPath, os as shouldTriggerCompression, ga as systemPromptHelpers, Qo as tokenize, Y as toolError, qi as unwrapSchema, Nd as useChat, Vd as useChatContext, bc as validateHtmlFormat, e as z, Jr as zodError };
|