open-agents-ai 0.187.345 → 0.187.346
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +321 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -269122,6 +269122,319 @@ var init_proceduralMemoryStore = __esm({
|
|
|
269122
269122
|
}
|
|
269123
269123
|
});
|
|
269124
269124
|
|
|
269125
|
+
// packages/memory/dist/splanifold.js
|
|
269126
|
+
function h00(t2) {
|
|
269127
|
+
return 2 * t2 * t2 * t2 - 3 * t2 * t2 + 1;
|
|
269128
|
+
}
|
|
269129
|
+
function h01(t2) {
|
|
269130
|
+
return -2 * t2 * t2 * t2 + 3 * t2 * t2;
|
|
269131
|
+
}
|
|
269132
|
+
function h10(t2) {
|
|
269133
|
+
return t2 * (t2 - 1) * (t2 - 1);
|
|
269134
|
+
}
|
|
269135
|
+
function h11(t2) {
|
|
269136
|
+
return t2 * t2 * (t2 - 1);
|
|
269137
|
+
}
|
|
269138
|
+
function evaluate(controls, r2) {
|
|
269139
|
+
const { K: K2, N, P: P2, E: Eb, Pd, Ed, expansion, epsSigma, deltaMax } = controls;
|
|
269140
|
+
const eps2 = epsSigma * epsSigma;
|
|
269141
|
+
const u = new Float64Array(K2);
|
|
269142
|
+
const scale = 1 + 2 * expansion;
|
|
269143
|
+
for (let k = 0; k < K2; k++) {
|
|
269144
|
+
u[k] = scale * r2[k] - expansion;
|
|
269145
|
+
}
|
|
269146
|
+
let sigma = 0;
|
|
269147
|
+
for (let k = 0; k < K2; k++)
|
|
269148
|
+
sigma += u[k];
|
|
269149
|
+
const t2 = sigma / K2;
|
|
269150
|
+
const delta = new Float64Array(K2);
|
|
269151
|
+
for (let k = 0; k < K2; k++)
|
|
269152
|
+
delta[k] = u[k] - t2;
|
|
269153
|
+
let deltaTilde = delta;
|
|
269154
|
+
if (isFinite(deltaMax)) {
|
|
269155
|
+
const normSq = delta.reduce((s2, d2) => s2 + d2 * d2, 0);
|
|
269156
|
+
const norm = Math.sqrt(normSq);
|
|
269157
|
+
if (norm > 0) {
|
|
269158
|
+
const warpScale = 1 / Math.sqrt(1 + (norm / deltaMax) ** 2);
|
|
269159
|
+
deltaTilde = new Float64Array(K2);
|
|
269160
|
+
for (let k = 0; k < K2; k++)
|
|
269161
|
+
deltaTilde[k] = delta[k] * warpScale;
|
|
269162
|
+
}
|
|
269163
|
+
}
|
|
269164
|
+
const w = new Float64Array(K2);
|
|
269165
|
+
const denom = sigma * sigma + eps2;
|
|
269166
|
+
for (let k = 0; k < K2; k++) {
|
|
269167
|
+
w[k] = (sigma * u[k] + eps2 / K2) / denom;
|
|
269168
|
+
}
|
|
269169
|
+
const V0 = matVecColMajor(Pd[0], N, K2, w);
|
|
269170
|
+
const V1 = matVecColMajor(Pd[1], N, K2, w);
|
|
269171
|
+
const spine = hermite(P2[0], P2[1], V0, V1, t2, N);
|
|
269172
|
+
const D0 = matVecColMajor(Eb[0], N, K2, deltaTilde);
|
|
269173
|
+
const D1 = matVecColMajor(Eb[1], N, K2, deltaTilde);
|
|
269174
|
+
const T0 = matVecColMajor(Ed[0], N, K2, deltaTilde);
|
|
269175
|
+
const T1 = matVecColMajor(Ed[1], N, K2, deltaTilde);
|
|
269176
|
+
const trans = hermite(D0, D1, T0, T1, t2, N);
|
|
269177
|
+
const out = new Float64Array(N);
|
|
269178
|
+
for (let n2 = 0; n2 < N; n2++)
|
|
269179
|
+
out[n2] = spine[n2] + trans[n2];
|
|
269180
|
+
return out;
|
|
269181
|
+
}
|
|
269182
|
+
function hermite(A, B, Ad, Bd, t2, N) {
|
|
269183
|
+
const h0 = h00(t2), h1 = h01(t2), d0 = h10(t2), d1 = h11(t2);
|
|
269184
|
+
const out = new Float64Array(N);
|
|
269185
|
+
for (let n2 = 0; n2 < N; n2++) {
|
|
269186
|
+
out[n2] = h0 * A[n2] + h1 * B[n2] + d0 * Ad[n2] + d1 * Bd[n2];
|
|
269187
|
+
}
|
|
269188
|
+
return out;
|
|
269189
|
+
}
|
|
269190
|
+
function matVecColMajor(M, N, K2, x) {
|
|
269191
|
+
const y = new Float64Array(N);
|
|
269192
|
+
for (let k = 0; k < K2; k++) {
|
|
269193
|
+
const xk = x[k];
|
|
269194
|
+
const offset = k * N;
|
|
269195
|
+
for (let n2 = 0; n2 < N; n2++) {
|
|
269196
|
+
y[n2] += M[offset + n2] * xk;
|
|
269197
|
+
}
|
|
269198
|
+
}
|
|
269199
|
+
return y;
|
|
269200
|
+
}
|
|
269201
|
+
function fit(samples, K2, N, config) {
|
|
269202
|
+
const expansion = config?.expansion ?? 0;
|
|
269203
|
+
const epsSigma = config?.epsSigma ?? 0.02;
|
|
269204
|
+
const deltaMax = config?.deltaMax ?? Infinity;
|
|
269205
|
+
const lambda = config?.ridgeLambda ?? 1e-4;
|
|
269206
|
+
const eps2 = epsSigma * epsSigma;
|
|
269207
|
+
const S = samples.length;
|
|
269208
|
+
const cols = 2 + 6 * K2;
|
|
269209
|
+
const F = new Float64Array(cols * S);
|
|
269210
|
+
const X = new Float64Array(N * S);
|
|
269211
|
+
const scale = 1 + 2 * expansion;
|
|
269212
|
+
for (let j = 0; j < S; j++) {
|
|
269213
|
+
const r2 = samples[j].input;
|
|
269214
|
+
const x = samples[j].output;
|
|
269215
|
+
const u = new Float64Array(K2);
|
|
269216
|
+
for (let k = 0; k < K2; k++)
|
|
269217
|
+
u[k] = scale * r2[k] - expansion;
|
|
269218
|
+
let sigma = 0;
|
|
269219
|
+
for (let k = 0; k < K2; k++)
|
|
269220
|
+
sigma += u[k];
|
|
269221
|
+
const t2 = sigma / K2;
|
|
269222
|
+
const deltaTilde = new Float64Array(K2);
|
|
269223
|
+
for (let k = 0; k < K2; k++)
|
|
269224
|
+
deltaTilde[k] = u[k] - t2;
|
|
269225
|
+
if (isFinite(deltaMax)) {
|
|
269226
|
+
const normSq = deltaTilde.reduce((s2, d2) => s2 + d2 * d2, 0);
|
|
269227
|
+
const norm = Math.sqrt(normSq);
|
|
269228
|
+
if (norm > 0) {
|
|
269229
|
+
const warpScale = 1 / Math.sqrt(1 + (norm / deltaMax) ** 2);
|
|
269230
|
+
for (let k = 0; k < K2; k++)
|
|
269231
|
+
deltaTilde[k] *= warpScale;
|
|
269232
|
+
}
|
|
269233
|
+
}
|
|
269234
|
+
const w = new Float64Array(K2);
|
|
269235
|
+
const denom = sigma * sigma + eps2;
|
|
269236
|
+
for (let k = 0; k < K2; k++) {
|
|
269237
|
+
w[k] = (sigma * u[k] + eps2 / K2) / denom;
|
|
269238
|
+
}
|
|
269239
|
+
const a0 = h00(t2), a1 = h01(t2), b0 = h10(t2), b1 = h11(t2);
|
|
269240
|
+
let col2 = 0;
|
|
269241
|
+
F[col2 * S + j] = a0;
|
|
269242
|
+
col2++;
|
|
269243
|
+
F[col2 * S + j] = a1;
|
|
269244
|
+
col2++;
|
|
269245
|
+
for (let k = 0; k < K2; k++) {
|
|
269246
|
+
F[col2 * S + j] = b0 * w[k];
|
|
269247
|
+
col2++;
|
|
269248
|
+
}
|
|
269249
|
+
for (let k = 0; k < K2; k++) {
|
|
269250
|
+
F[col2 * S + j] = b1 * w[k];
|
|
269251
|
+
col2++;
|
|
269252
|
+
}
|
|
269253
|
+
for (let k = 0; k < K2; k++) {
|
|
269254
|
+
F[col2 * S + j] = a0 * deltaTilde[k];
|
|
269255
|
+
col2++;
|
|
269256
|
+
}
|
|
269257
|
+
for (let k = 0; k < K2; k++) {
|
|
269258
|
+
F[col2 * S + j] = a1 * deltaTilde[k];
|
|
269259
|
+
col2++;
|
|
269260
|
+
}
|
|
269261
|
+
for (let k = 0; k < K2; k++) {
|
|
269262
|
+
F[col2 * S + j] = b0 * deltaTilde[k];
|
|
269263
|
+
col2++;
|
|
269264
|
+
}
|
|
269265
|
+
for (let k = 0; k < K2; k++) {
|
|
269266
|
+
F[col2 * S + j] = b1 * deltaTilde[k];
|
|
269267
|
+
col2++;
|
|
269268
|
+
}
|
|
269269
|
+
for (let n2 = 0; n2 < N; n2++)
|
|
269270
|
+
X[n2 * S + j] = x[n2];
|
|
269271
|
+
}
|
|
269272
|
+
const G = new Float64Array(cols * cols);
|
|
269273
|
+
for (let i2 = 0; i2 < cols; i2++) {
|
|
269274
|
+
for (let jj = i2; jj < cols; jj++) {
|
|
269275
|
+
let dot = 0;
|
|
269276
|
+
for (let s2 = 0; s2 < S; s2++)
|
|
269277
|
+
dot += F[i2 * S + s2] * F[jj * S + s2];
|
|
269278
|
+
G[i2 * cols + jj] = dot;
|
|
269279
|
+
G[jj * cols + i2] = dot;
|
|
269280
|
+
}
|
|
269281
|
+
G[i2 * cols + i2] += lambda;
|
|
269282
|
+
}
|
|
269283
|
+
const Ginv = invertSPD(G, cols);
|
|
269284
|
+
const XFt = new Float64Array(N * cols);
|
|
269285
|
+
for (let n2 = 0; n2 < N; n2++) {
|
|
269286
|
+
for (let c8 = 0; c8 < cols; c8++) {
|
|
269287
|
+
let dot = 0;
|
|
269288
|
+
for (let s2 = 0; s2 < S; s2++)
|
|
269289
|
+
dot += X[n2 * S + s2] * F[c8 * S + s2];
|
|
269290
|
+
XFt[n2 * cols + c8] = dot;
|
|
269291
|
+
}
|
|
269292
|
+
}
|
|
269293
|
+
const C = new Float64Array(N * cols);
|
|
269294
|
+
for (let n2 = 0; n2 < N; n2++) {
|
|
269295
|
+
for (let c8 = 0; c8 < cols; c8++) {
|
|
269296
|
+
let dot = 0;
|
|
269297
|
+
for (let cc = 0; cc < cols; cc++)
|
|
269298
|
+
dot += XFt[n2 * cols + cc] * Ginv[cc * cols + c8];
|
|
269299
|
+
C[n2 * cols + c8] = dot;
|
|
269300
|
+
}
|
|
269301
|
+
}
|
|
269302
|
+
const extractCol = (idx) => {
|
|
269303
|
+
const v = new Float64Array(N);
|
|
269304
|
+
for (let n2 = 0; n2 < N; n2++)
|
|
269305
|
+
v[n2] = C[n2 * cols + idx];
|
|
269306
|
+
return v;
|
|
269307
|
+
};
|
|
269308
|
+
const extractMat = (startCol, numCols) => {
|
|
269309
|
+
const M = new Float64Array(N * numCols);
|
|
269310
|
+
for (let k = 0; k < numCols; k++) {
|
|
269311
|
+
for (let n2 = 0; n2 < N; n2++) {
|
|
269312
|
+
M[k * N + n2] = C[n2 * cols + startCol + k];
|
|
269313
|
+
}
|
|
269314
|
+
}
|
|
269315
|
+
return M;
|
|
269316
|
+
};
|
|
269317
|
+
let col = 0;
|
|
269318
|
+
const P0 = extractCol(col++);
|
|
269319
|
+
const P1 = extractCol(col++);
|
|
269320
|
+
const Pd0 = extractMat(col, K2);
|
|
269321
|
+
col += K2;
|
|
269322
|
+
const Pd1 = extractMat(col, K2);
|
|
269323
|
+
col += K2;
|
|
269324
|
+
const E0 = extractMat(col, K2);
|
|
269325
|
+
col += K2;
|
|
269326
|
+
const E1 = extractMat(col, K2);
|
|
269327
|
+
col += K2;
|
|
269328
|
+
const Ed0 = extractMat(col, K2);
|
|
269329
|
+
col += K2;
|
|
269330
|
+
const Ed1 = extractMat(col, K2);
|
|
269331
|
+
col += K2;
|
|
269332
|
+
return {
|
|
269333
|
+
K: K2,
|
|
269334
|
+
N,
|
|
269335
|
+
P: [P0, P1],
|
|
269336
|
+
E: [E0, E1],
|
|
269337
|
+
Pd: [Pd0, Pd1],
|
|
269338
|
+
Ed: [Ed0, Ed1],
|
|
269339
|
+
expansion,
|
|
269340
|
+
epsSigma,
|
|
269341
|
+
deltaMax
|
|
269342
|
+
};
|
|
269343
|
+
}
|
|
269344
|
+
function invertSPD(A, n2) {
|
|
269345
|
+
const L = new Float64Array(n2 * n2);
|
|
269346
|
+
for (let i2 = 0; i2 < n2; i2++) {
|
|
269347
|
+
for (let j = 0; j <= i2; j++) {
|
|
269348
|
+
let sum = A[i2 * n2 + j];
|
|
269349
|
+
for (let k = 0; k < j; k++)
|
|
269350
|
+
sum -= L[i2 * n2 + k] * L[j * n2 + k];
|
|
269351
|
+
if (i2 === j) {
|
|
269352
|
+
if (sum <= 0) {
|
|
269353
|
+
const Areg = new Float64Array(A);
|
|
269354
|
+
for (let ii = 0; ii < n2; ii++)
|
|
269355
|
+
Areg[ii * n2 + ii] += 1e-6;
|
|
269356
|
+
return invertSPD(Areg, n2);
|
|
269357
|
+
}
|
|
269358
|
+
L[i2 * n2 + j] = Math.sqrt(sum);
|
|
269359
|
+
} else {
|
|
269360
|
+
L[i2 * n2 + j] = sum / L[j * n2 + j];
|
|
269361
|
+
}
|
|
269362
|
+
}
|
|
269363
|
+
}
|
|
269364
|
+
const Ainv = new Float64Array(n2 * n2);
|
|
269365
|
+
const col = new Float64Array(n2);
|
|
269366
|
+
for (let c8 = 0; c8 < n2; c8++) {
|
|
269367
|
+
col.fill(0);
|
|
269368
|
+
for (let i2 = 0; i2 < n2; i2++) {
|
|
269369
|
+
let sum = i2 === c8 ? 1 : 0;
|
|
269370
|
+
for (let k = 0; k < i2; k++)
|
|
269371
|
+
sum -= L[i2 * n2 + k] * col[k];
|
|
269372
|
+
col[i2] = sum / L[i2 * n2 + i2];
|
|
269373
|
+
}
|
|
269374
|
+
for (let i2 = n2 - 1; i2 >= 0; i2--) {
|
|
269375
|
+
let sum = col[i2];
|
|
269376
|
+
for (let k = i2 + 1; k < n2; k++)
|
|
269377
|
+
sum -= L[k * n2 + i2] * col[k];
|
|
269378
|
+
col[i2] = sum / L[i2 * n2 + i2];
|
|
269379
|
+
}
|
|
269380
|
+
for (let i2 = 0; i2 < n2; i2++)
|
|
269381
|
+
Ainv[i2 * n2 + c8] = col[i2];
|
|
269382
|
+
}
|
|
269383
|
+
return Ainv;
|
|
269384
|
+
}
|
|
269385
|
+
function serialize(controls) {
|
|
269386
|
+
return {
|
|
269387
|
+
K: controls.K,
|
|
269388
|
+
N: controls.N,
|
|
269389
|
+
P: [Array.from(controls.P[0]), Array.from(controls.P[1])],
|
|
269390
|
+
E: [Array.from(controls.E[0]), Array.from(controls.E[1])],
|
|
269391
|
+
Pd: [Array.from(controls.Pd[0]), Array.from(controls.Pd[1])],
|
|
269392
|
+
Ed: [Array.from(controls.Ed[0]), Array.from(controls.Ed[1])],
|
|
269393
|
+
expansion: controls.expansion,
|
|
269394
|
+
epsSigma: controls.epsSigma,
|
|
269395
|
+
deltaMax: controls.deltaMax
|
|
269396
|
+
};
|
|
269397
|
+
}
|
|
269398
|
+
function deserialize(obj) {
|
|
269399
|
+
return {
|
|
269400
|
+
K: obj.K,
|
|
269401
|
+
N: obj.N,
|
|
269402
|
+
P: [obj.P[0], obj.P[1]].map((a2) => new Float64Array(a2)),
|
|
269403
|
+
E: [obj.E[0], obj.E[1]].map((a2) => new Float64Array(a2)),
|
|
269404
|
+
Pd: [obj.Pd[0], obj.Pd[1]].map((a2) => new Float64Array(a2)),
|
|
269405
|
+
Ed: [obj.Ed[0], obj.Ed[1]].map((a2) => new Float64Array(a2)),
|
|
269406
|
+
expansion: obj.expansion,
|
|
269407
|
+
epsSigma: obj.epsSigma,
|
|
269408
|
+
deltaMax: obj.deltaMax
|
|
269409
|
+
};
|
|
269410
|
+
}
|
|
269411
|
+
function rmse(controls, samples) {
|
|
269412
|
+
let sumSq = 0;
|
|
269413
|
+
for (const s2 of samples) {
|
|
269414
|
+
const pred = evaluate(controls, s2.input);
|
|
269415
|
+
for (let n2 = 0; n2 < controls.N; n2++) {
|
|
269416
|
+
const diff = pred[n2] - s2.output[n2];
|
|
269417
|
+
sumSq += diff * diff;
|
|
269418
|
+
}
|
|
269419
|
+
}
|
|
269420
|
+
return Math.sqrt(sumSq / (samples.length * controls.N));
|
|
269421
|
+
}
|
|
269422
|
+
function cosine(a2, b) {
|
|
269423
|
+
let dot = 0, na = 0, nb = 0;
|
|
269424
|
+
for (let i2 = 0; i2 < a2.length; i2++) {
|
|
269425
|
+
dot += a2[i2] * b[i2];
|
|
269426
|
+
na += a2[i2] * a2[i2];
|
|
269427
|
+
nb += b[i2] * b[i2];
|
|
269428
|
+
}
|
|
269429
|
+
const denom = Math.sqrt(na) * Math.sqrt(nb);
|
|
269430
|
+
return denom > 0 ? dot / denom : 0;
|
|
269431
|
+
}
|
|
269432
|
+
var init_splanifold = __esm({
|
|
269433
|
+
"packages/memory/dist/splanifold.js"() {
|
|
269434
|
+
"use strict";
|
|
269435
|
+
}
|
|
269436
|
+
});
|
|
269437
|
+
|
|
269125
269438
|
// packages/memory/dist/index.js
|
|
269126
269439
|
var dist_exports3 = {};
|
|
269127
269440
|
__export(dist_exports3, {
|
|
@@ -269151,7 +269464,13 @@ __export(dist_exports3, {
|
|
|
269151
269464
|
initDb: () => initDb,
|
|
269152
269465
|
linkEpisode: () => linkEpisode,
|
|
269153
269466
|
personalizedPageRank: () => personalizedPageRank,
|
|
269154
|
-
retrieveByPPR: () => retrieveByPPR
|
|
269467
|
+
retrieveByPPR: () => retrieveByPPR,
|
|
269468
|
+
splanifoldCosine: () => cosine,
|
|
269469
|
+
splanifoldDeserialize: () => deserialize,
|
|
269470
|
+
splanifoldEvaluate: () => evaluate,
|
|
269471
|
+
splanifoldFit: () => fit,
|
|
269472
|
+
splanifoldRmse: () => rmse,
|
|
269473
|
+
splanifoldSerialize: () => serialize
|
|
269155
269474
|
});
|
|
269156
269475
|
var init_dist7 = __esm({
|
|
269157
269476
|
"packages/memory/dist/index.js"() {
|
|
@@ -269171,6 +269490,7 @@ var init_dist7 = __esm({
|
|
|
269171
269490
|
init_pprRetrieval();
|
|
269172
269491
|
init_embeddings();
|
|
269173
269492
|
init_proceduralMemoryStore();
|
|
269493
|
+
init_splanifold();
|
|
269174
269494
|
}
|
|
269175
269495
|
});
|
|
269176
269496
|
|
package/package.json
CHANGED