@mastra/server 1.23.0-alpha.7 → 1.23.0-alpha.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/_types/@internal_core/dist/index.d.ts +3 -1
- package/dist/{chunk-VMA5TY4H.cjs → chunk-2KF7EWOT.cjs} +314 -190
- package/dist/chunk-2KF7EWOT.cjs.map +1 -0
- package/dist/{chunk-VDHLJ6OD.cjs → chunk-3D2IBKF6.cjs} +4 -4
- package/dist/{chunk-VDHLJ6OD.cjs.map → chunk-3D2IBKF6.cjs.map} +1 -1
- package/dist/{chunk-B2OFZDJQ.cjs → chunk-4HHL4C6V.cjs} +13 -13
- package/dist/{chunk-B2OFZDJQ.cjs.map → chunk-4HHL4C6V.cjs.map} +1 -1
- package/dist/{chunk-QBXHK27Z.js → chunk-52JPWUPI.js} +3 -3
- package/dist/{chunk-QBXHK27Z.js.map → chunk-52JPWUPI.js.map} +1 -1
- package/dist/{chunk-VXBTV6LH.js → chunk-6MMZVEFC.js} +8 -3
- package/dist/chunk-6MMZVEFC.js.map +1 -0
- package/dist/{chunk-4EA2CJG4.js → chunk-A7BSSXDD.js} +3 -3
- package/dist/{chunk-4EA2CJG4.js.map → chunk-A7BSSXDD.js.map} +1 -1
- package/dist/{chunk-LRJ4LQBR.cjs → chunk-F4TKO2VD.cjs} +6 -6
- package/dist/{chunk-LRJ4LQBR.cjs.map → chunk-F4TKO2VD.cjs.map} +1 -1
- package/dist/{chunk-ZVSNY6VT.js → chunk-GMZFJZO4.js} +4 -3
- package/dist/chunk-GMZFJZO4.js.map +1 -0
- package/dist/{chunk-INKHQLVW.js → chunk-HKALCAKJ.js} +3 -3
- package/dist/{chunk-INKHQLVW.js.map → chunk-HKALCAKJ.js.map} +1 -1
- package/dist/{chunk-VOCNBP5Q.cjs → chunk-HUWHY7SC.cjs} +4 -3
- package/dist/chunk-HUWHY7SC.cjs.map +1 -0
- package/dist/{chunk-U6CWJTHH.cjs → chunk-I5FEAHJM.cjs} +29 -29
- package/dist/{chunk-U6CWJTHH.cjs.map → chunk-I5FEAHJM.cjs.map} +1 -1
- package/dist/{chunk-UVK6YXEL.cjs → chunk-IOGPYY6Z.cjs} +77 -75
- package/dist/chunk-IOGPYY6Z.cjs.map +1 -0
- package/dist/{chunk-5C535ZJO.cjs → chunk-KG5RK6PO.cjs} +4 -4
- package/dist/{chunk-5C535ZJO.cjs.map → chunk-KG5RK6PO.cjs.map} +1 -1
- package/dist/{chunk-AS6EW5BK.js → chunk-KYVNA2EN.js} +3 -3
- package/dist/{chunk-AS6EW5BK.js.map → chunk-KYVNA2EN.js.map} +1 -1
- package/dist/{chunk-FLGIOJA5.js → chunk-MO3ZKWYY.js} +80 -10
- package/dist/chunk-MO3ZKWYY.js.map +1 -0
- package/dist/{chunk-6Q6OH2XV.js → chunk-OOZYQF4U.js} +3 -2
- package/dist/chunk-OOZYQF4U.js.map +1 -0
- package/dist/{chunk-IFEMVRLI.cjs → chunk-OV2TAONK.cjs} +3 -2
- package/dist/chunk-OV2TAONK.cjs.map +1 -0
- package/dist/{chunk-DALTY2FC.js → chunk-P72YX3EY.js} +3 -3
- package/dist/{chunk-DALTY2FC.js.map → chunk-P72YX3EY.js.map} +1 -1
- package/dist/{chunk-SE5M6GC6.js → chunk-T4RZ3X4I.js} +4 -4
- package/dist/{chunk-SE5M6GC6.js.map → chunk-T4RZ3X4I.js.map} +1 -1
- package/dist/{chunk-XUIA3SIB.js → chunk-TBJHTT7B.js} +6 -4
- package/dist/chunk-TBJHTT7B.js.map +1 -0
- package/dist/{chunk-SZ2FSVP5.js → chunk-TX3IIDZN.js} +301 -177
- package/dist/chunk-TX3IIDZN.js.map +1 -0
- package/dist/{chunk-PNCR2M6Y.cjs → chunk-UHWF2UKO.cjs} +80 -10
- package/dist/chunk-UHWF2UKO.cjs.map +1 -0
- package/dist/{chunk-HHGZGERI.cjs → chunk-UI3SS2JO.cjs} +4 -4
- package/dist/{chunk-HHGZGERI.cjs.map → chunk-UI3SS2JO.cjs.map} +1 -1
- package/dist/{chunk-RNC7VEI6.cjs → chunk-WKBMLKBC.cjs} +8 -3
- package/dist/chunk-WKBMLKBC.cjs.map +1 -0
- package/dist/{chunk-SHWDJY3O.js → chunk-WZ6XPWVK.js} +3 -3
- package/dist/{chunk-SHWDJY3O.js.map → chunk-WZ6XPWVK.js.map} +1 -1
- package/dist/{chunk-SCEPRIRF.cjs → chunk-X2IFWP5E.cjs} +5 -5
- package/dist/{chunk-SCEPRIRF.cjs.map → chunk-X2IFWP5E.cjs.map} +1 -1
- package/dist/{chunk-DGS7O6Q7.js → chunk-XO5PXSFC.js} +3 -3
- package/dist/{chunk-DGS7O6Q7.js.map → chunk-XO5PXSFC.js.map} +1 -1
- package/dist/{chunk-LV4FV46S.cjs → chunk-ZWKZK4WO.cjs} +6 -6
- package/dist/{chunk-LV4FV46S.cjs.map → chunk-ZWKZK4WO.cjs.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{observational-memory-JQ34KLFS-CNLSTXO3.cjs → observational-memory-OVRHDQRG-OCHV6RZ7.cjs} +26 -26
- package/dist/{observational-memory-JQ34KLFS-CNLSTXO3.cjs.map → observational-memory-OVRHDQRG-OCHV6RZ7.cjs.map} +1 -1
- package/dist/{observational-memory-JQ34KLFS-KLWGOGP4.js → observational-memory-OVRHDQRG-RC3PRA65.js} +3 -3
- package/dist/{observational-memory-JQ34KLFS-KLWGOGP4.js.map → observational-memory-OVRHDQRG-RC3PRA65.js.map} +1 -1
- package/dist/server/handlers/a2a.cjs +9 -9
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +16 -16
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agents.cjs +35 -35
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/conversations.cjs +5 -5
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/memory.cjs +27 -27
- package/dist/server/handlers/memory.d.ts +4 -0
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability-new-endpoints.cjs +27 -27
- package/dist/server/handlers/observability-new-endpoints.js +1 -1
- package/dist/server/handlers/observability.cjs +33 -33
- package/dist/server/handlers/observability.js +2 -2
- package/dist/server/handlers/responses.cjs +4 -4
- package/dist/server/handlers/responses.js +1 -1
- package/dist/server/handlers/scores.cjs +7 -7
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/voice.cjs +8 -8
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers.cjs +20 -20
- package/dist/server/handlers.js +10 -10
- package/dist/server/schemas/index.cjs +50 -50
- package/dist/server/schemas/index.js +2 -2
- package/dist/server/schemas/memory.d.ts +2 -0
- package/dist/server/schemas/memory.d.ts.map +1 -1
- package/dist/server/server-adapter/index.cjs +129 -129
- package/dist/server/server-adapter/index.js +11 -11
- package/dist/server/server-adapter/routes/memory.d.ts +4 -0
- package/dist/server/server-adapter/routes/memory.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/chunk-6Q6OH2XV.js.map +0 -1
- package/dist/chunk-FLGIOJA5.js.map +0 -1
- package/dist/chunk-IFEMVRLI.cjs.map +0 -1
- package/dist/chunk-PNCR2M6Y.cjs.map +0 -1
- package/dist/chunk-RNC7VEI6.cjs.map +0 -1
- package/dist/chunk-SZ2FSVP5.js.map +0 -1
- package/dist/chunk-UVK6YXEL.cjs.map +0 -1
- package/dist/chunk-VMA5TY4H.cjs.map +0 -1
- package/dist/chunk-VOCNBP5Q.cjs.map +0 -1
- package/dist/chunk-VXBTV6LH.js.map +0 -1
- package/dist/chunk-XUIA3SIB.js.map +0 -1
- package/dist/chunk-ZVSNY6VT.js.map +0 -1
|
@@ -7251,6 +7251,47 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
|
|
|
7251
7251
|
}
|
|
7252
7252
|
}
|
|
7253
7253
|
}
|
|
7254
|
+
/**
|
|
7255
|
+
* Resolve the effective messageTokens for a record.
|
|
7256
|
+
* Only explicit per-record overrides (stored under `_overrides`) win;
|
|
7257
|
+
* the initial config snapshot written by getOrCreateRecord() is ignored
|
|
7258
|
+
* so that later instance-level changes still take effect.
|
|
7259
|
+
*
|
|
7260
|
+
* Overrides that fall below the instance-level buffering floor
|
|
7261
|
+
* (bufferTokens / absolute bufferActivation) are clamped to the
|
|
7262
|
+
* instance threshold to preserve buffering invariants.
|
|
7263
|
+
*/
|
|
7264
|
+
getEffectiveMessageTokens(record) {
|
|
7265
|
+
const overrides = record.config?._overrides;
|
|
7266
|
+
const recordTokens = overrides?.observation?.messageTokens;
|
|
7267
|
+
if (recordTokens) {
|
|
7268
|
+
const maxOverride = getMaxThreshold(recordTokens);
|
|
7269
|
+
const bufferTokens = this.observationConfig.bufferTokens;
|
|
7270
|
+
if (bufferTokens && maxOverride <= bufferTokens) {
|
|
7271
|
+
return this.observationConfig.messageTokens;
|
|
7272
|
+
}
|
|
7273
|
+
const bufferActivation = this.observationConfig.bufferActivation;
|
|
7274
|
+
if (bufferActivation && bufferActivation >= 1e3 && maxOverride <= bufferActivation) {
|
|
7275
|
+
return this.observationConfig.messageTokens;
|
|
7276
|
+
}
|
|
7277
|
+
return recordTokens;
|
|
7278
|
+
}
|
|
7279
|
+
return this.observationConfig.messageTokens;
|
|
7280
|
+
}
|
|
7281
|
+
/**
|
|
7282
|
+
* Resolve the effective reflection observationTokens for a record.
|
|
7283
|
+
* Only explicit per-record overrides (stored under `_overrides`) win;
|
|
7284
|
+
* the initial config snapshot is ignored so instance-level changes
|
|
7285
|
+
* still take effect for existing records.
|
|
7286
|
+
*/
|
|
7287
|
+
getEffectiveReflectionTokens(record) {
|
|
7288
|
+
const overrides = record.config?._overrides;
|
|
7289
|
+
const recordTokens = overrides?.reflection?.observationTokens;
|
|
7290
|
+
if (recordTokens) {
|
|
7291
|
+
return recordTokens;
|
|
7292
|
+
}
|
|
7293
|
+
return this.reflectionConfig.observationTokens;
|
|
7294
|
+
}
|
|
7254
7295
|
/**
|
|
7255
7296
|
* Check whether the unobserved message tokens meet the observation threshold.
|
|
7256
7297
|
*/
|
|
@@ -7258,7 +7299,7 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
|
|
|
7258
7299
|
const { record, unobservedTokens, extraTokens = 0 } = opts;
|
|
7259
7300
|
const pendingTokens = (record.pendingMessageTokens ?? 0) + unobservedTokens + extraTokens;
|
|
7260
7301
|
const currentObservationTokens = record.observationTokenCount ?? 0;
|
|
7261
|
-
const threshold = calculateDynamicThreshold(this.
|
|
7302
|
+
const threshold = calculateDynamicThreshold(this.getEffectiveMessageTokens(record), currentObservationTokens);
|
|
7262
7303
|
return pendingTokens >= threshold;
|
|
7263
7304
|
}
|
|
7264
7305
|
/**
|
|
@@ -8407,7 +8448,7 @@ ${grouped}` : grouped;
|
|
|
8407
8448
|
const projectedMessageRemoval = calculateProjectedMessageRemoval(
|
|
8408
8449
|
bufferedChunks,
|
|
8409
8450
|
this.observationConfig.bufferActivation ?? 1,
|
|
8410
|
-
getMaxThreshold(this.
|
|
8451
|
+
getMaxThreshold(this.getEffectiveMessageTokens(record)),
|
|
8411
8452
|
pendingTokens
|
|
8412
8453
|
);
|
|
8413
8454
|
let obsBufferStatus = "idle";
|
|
@@ -8496,7 +8537,7 @@ ${grouped}` : grouped;
|
|
|
8496
8537
|
otherThreadTokens = otherContext ? this.tokenCounter.countString(otherContext) : 0;
|
|
8497
8538
|
}
|
|
8498
8539
|
const pendingTokens = Math.max(0, contextWindowTokens + otherThreadTokens);
|
|
8499
|
-
const threshold = calculateDynamicThreshold(this.
|
|
8540
|
+
const threshold = calculateDynamicThreshold(this.getEffectiveMessageTokens(record), currentObservationTokens);
|
|
8500
8541
|
const bufferedChunks = getBufferedChunks(record);
|
|
8501
8542
|
const bufferedChunkCount = bufferedChunks.length;
|
|
8502
8543
|
const bufferedChunkTokens = bufferedChunks.reduce((sum, chunk) => sum + (chunk.messageTokens ?? 0), 0);
|
|
@@ -8513,11 +8554,12 @@ ${grouped}` : grouped;
|
|
|
8513
8554
|
);
|
|
8514
8555
|
}
|
|
8515
8556
|
const shouldObserve = pendingTokens >= threshold;
|
|
8516
|
-
const reflectThreshold = getMaxThreshold(this.
|
|
8557
|
+
const reflectThreshold = getMaxThreshold(this.getEffectiveReflectionTokens(record));
|
|
8517
8558
|
const shouldReflect = currentObservationTokens >= reflectThreshold;
|
|
8518
8559
|
const canActivate = bufferedChunkCount > 0;
|
|
8519
|
-
const
|
|
8520
|
-
const
|
|
8560
|
+
const effectiveMessageTokens = this.getEffectiveMessageTokens(record);
|
|
8561
|
+
const isSharedBudget = typeof effectiveMessageTokens !== "number";
|
|
8562
|
+
const totalBudget = isSharedBudget ? effectiveMessageTokens.max : 0;
|
|
8521
8563
|
const effectiveObservationTokensThreshold = isSharedBudget ? Math.max(totalBudget - threshold, 1e3) : reflectThreshold;
|
|
8522
8564
|
const unbufferedPendingTokens = Math.max(0, pendingTokens - bufferedChunkTokens);
|
|
8523
8565
|
return {
|
|
@@ -8832,7 +8874,7 @@ ${grouped}` : grouped;
|
|
|
8832
8874
|
if (!freshChunks.length) {
|
|
8833
8875
|
return { activated: false, record };
|
|
8834
8876
|
}
|
|
8835
|
-
const messageTokensThreshold = getMaxThreshold(this.
|
|
8877
|
+
const messageTokensThreshold = getMaxThreshold(this.getEffectiveMessageTokens(freshRecord));
|
|
8836
8878
|
const bufferActivation = this.observationConfig.bufferActivation ?? 0.7;
|
|
8837
8879
|
const activationRatio = resolveActivationRatio(bufferActivation, messageTokensThreshold);
|
|
8838
8880
|
const totalChunkMessageTokens = freshChunks.reduce((sum, c) => sum + (c.messageTokens ?? 0), 0);
|
|
@@ -8981,7 +9023,7 @@ ${grouped}` : grouped;
|
|
|
8981
9023
|
await this.storage.setReflectingFlag(record.id, true);
|
|
8982
9024
|
registerOp(record.id, "reflecting");
|
|
8983
9025
|
try {
|
|
8984
|
-
const reflectThreshold = getMaxThreshold(this.
|
|
9026
|
+
const reflectThreshold = getMaxThreshold(this.getEffectiveReflectionTokens(record));
|
|
8985
9027
|
const reflectResult = await this.reflector.call(
|
|
8986
9028
|
record.activeObservations,
|
|
8987
9029
|
prompt,
|
|
@@ -9026,6 +9068,34 @@ ${grouped}` : grouped;
|
|
|
9026
9068
|
const ids = this.getStorageIds(threadId, resourceId);
|
|
9027
9069
|
return this.storage.getObservationalMemory(ids.threadId, ids.resourceId);
|
|
9028
9070
|
}
|
|
9071
|
+
/**
|
|
9072
|
+
* Update per-record config overrides for observation and/or reflection thresholds.
|
|
9073
|
+
* The provided config is deep-merged into the record's `_overrides` key,
|
|
9074
|
+
* so you only need to specify the fields you want to change.
|
|
9075
|
+
*
|
|
9076
|
+
* Overrides that violate buffering invariants (e.g. messageTokens below
|
|
9077
|
+
* bufferTokens) are silently ignored at read time — the helpers fall back
|
|
9078
|
+
* to the instance-level config.
|
|
9079
|
+
*
|
|
9080
|
+
* @example
|
|
9081
|
+
* ```ts
|
|
9082
|
+
* await om.updateRecordConfig('thread-1', undefined, {
|
|
9083
|
+
* observation: { messageTokens: 2000 },
|
|
9084
|
+
* reflection: { observationTokens: 8000 },
|
|
9085
|
+
* });
|
|
9086
|
+
* ```
|
|
9087
|
+
*/
|
|
9088
|
+
async updateRecordConfig(threadId, resourceId, config) {
|
|
9089
|
+
const ids = this.getStorageIds(threadId, resourceId);
|
|
9090
|
+
const record = await this.storage.getObservationalMemory(ids.threadId, ids.resourceId);
|
|
9091
|
+
if (!record) {
|
|
9092
|
+
throw new Error(`No observational memory record found for thread ${ids.threadId}`);
|
|
9093
|
+
}
|
|
9094
|
+
await this.storage.updateObservationalMemoryConfig({
|
|
9095
|
+
id: record.id,
|
|
9096
|
+
config: { _overrides: config }
|
|
9097
|
+
});
|
|
9098
|
+
}
|
|
9029
9099
|
/**
|
|
9030
9100
|
* Get observation history (previous generations)
|
|
9031
9101
|
*/
|
|
@@ -9573,5 +9643,5 @@ function getObservationsAsOf(activeObservations, asOf) {
|
|
|
9573
9643
|
}
|
|
9574
9644
|
|
|
9575
9645
|
export { ModelByInputTokens, OBSERVER_SYSTEM_PROMPT, ObservationalMemory, ObservationalMemoryProcessor, TokenCounter, buildObserverPrompt, buildObserverSystemPrompt, combineObservationGroupRanges, deriveObservationGroupProvenance, e, estimateTokenCount, extractCurrentTask, formatMessagesForObserver, formatToolResultForObserver, getObservationsAsOf, hasCurrentTaskSection, injectAnchorIds, optimizeObservationsForContext, parseAnchorId, parseObservationGroups, parseObserverOutput, reconcileObservationGroupsFromReflection, renderObservationGroupsForReflection, resolveToolResultValue, stripEphemeralAnchorIds, stripObservationGroups, truncateStringByTokens, wrapInObservationGroup };
|
|
9576
|
-
//# sourceMappingURL=chunk-
|
|
9577
|
-
//# sourceMappingURL=chunk-
|
|
9646
|
+
//# sourceMappingURL=chunk-MO3ZKWYY.js.map
|
|
9647
|
+
//# sourceMappingURL=chunk-MO3ZKWYY.js.map
|