@mastra/memory 1.21.3-alpha.0 → 1.21.3-alpha.2
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 +33 -0
- package/dist/{chunk-LEAP5DKB.cjs → chunk-FQLQMPJY.cjs} +37 -12
- package/dist/chunk-FQLQMPJY.cjs.map +1 -0
- package/dist/{chunk-UHQBCO7I.js → chunk-X7DOZRJK.js} +37 -12
- package/dist/chunk-X7DOZRJK.js.map +1 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +39 -39
- package/dist/docs/references/docs-agents-agent-approval.md +38 -0
- package/dist/index.cjs +14 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/{observational-memory-WZ6JQ4JY.cjs → observational-memory-2KSGEMXM.cjs} +26 -26
- package/dist/{observational-memory-WZ6JQ4JY.cjs.map → observational-memory-2KSGEMXM.cjs.map} +1 -1
- package/dist/{observational-memory-NC6DQQWD.js → observational-memory-VZDCB747.js} +3 -3
- package/dist/{observational-memory-NC6DQQWD.js.map → observational-memory-VZDCB747.js.map} +1 -1
- package/dist/processors/index.cjs +24 -24
- package/dist/processors/index.js +1 -1
- package/dist/processors/observational-memory/observation-strategies/async-buffer.d.ts +1 -0
- package/dist/processors/observational-memory/observation-strategies/async-buffer.d.ts.map +1 -1
- package/dist/processors/observational-memory/observation-strategies/resource-scoped.d.ts +3 -0
- package/dist/processors/observational-memory/observation-strategies/resource-scoped.d.ts.map +1 -1
- package/dist/processors/observational-memory/observation-strategies/sync.d.ts +1 -0
- package/dist/processors/observational-memory/observation-strategies/sync.d.ts.map +1 -1
- package/dist/processors/observational-memory/observation-strategies/types.d.ts +3 -0
- package/dist/processors/observational-memory/observation-strategies/types.d.ts.map +1 -1
- package/dist/processors/observational-memory/observational-memory.d.ts.map +1 -1
- package/dist/processors/observational-memory/observer-runner.d.ts +3 -0
- package/dist/processors/observational-memory/observer-runner.d.ts.map +1 -1
- package/dist/processors/observational-memory/processor.d.ts.map +1 -1
- package/dist/processors/observational-memory/reflector-runner.d.ts +2 -0
- package/dist/processors/observational-memory/reflector-runner.d.ts.map +1 -1
- package/dist/processors/observational-memory/types.d.ts +18 -0
- package/dist/processors/observational-memory/types.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/chunk-LEAP5DKB.cjs.map +0 -1
- package/dist/chunk-UHQBCO7I.js.map +0 -1
package/dist/docs/SKILL.md
CHANGED
|
@@ -1,119 +1,119 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.21.3-alpha.
|
|
2
|
+
"version": "1.21.3-alpha.2",
|
|
3
3
|
"package": "@mastra/memory",
|
|
4
4
|
"exports": {
|
|
5
5
|
"ModelByInputTokens": {
|
|
6
6
|
"types": "dist/processors/index.d.ts",
|
|
7
|
-
"implementation": "dist/chunk-
|
|
7
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
8
8
|
"line": 795
|
|
9
9
|
},
|
|
10
10
|
"OBSERVER_SYSTEM_PROMPT": {
|
|
11
11
|
"types": "dist/processors/index.d.ts",
|
|
12
|
-
"implementation": "dist/chunk-
|
|
12
|
+
"implementation": "dist/chunk-X7DOZRJK.js"
|
|
13
13
|
},
|
|
14
14
|
"ObservationalMemory": {
|
|
15
15
|
"types": "dist/processors/index.d.ts",
|
|
16
|
-
"implementation": "dist/chunk-
|
|
17
|
-
"line":
|
|
16
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
17
|
+
"line": 7213
|
|
18
18
|
},
|
|
19
19
|
"ObservationalMemoryProcessor": {
|
|
20
20
|
"types": "dist/processors/index.d.ts",
|
|
21
|
-
"implementation": "dist/chunk-
|
|
22
|
-
"line":
|
|
21
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
22
|
+
"line": 9798
|
|
23
23
|
},
|
|
24
24
|
"TokenCounter": {
|
|
25
25
|
"types": "dist/processors/index.d.ts",
|
|
26
|
-
"implementation": "dist/chunk-
|
|
27
|
-
"line":
|
|
26
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
27
|
+
"line": 6544
|
|
28
28
|
},
|
|
29
29
|
"buildObserverPrompt": {
|
|
30
30
|
"types": "dist/processors/index.d.ts",
|
|
31
|
-
"implementation": "dist/chunk-
|
|
32
|
-
"line":
|
|
31
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
32
|
+
"line": 3787
|
|
33
33
|
},
|
|
34
34
|
"buildObserverSystemPrompt": {
|
|
35
35
|
"types": "dist/processors/index.d.ts",
|
|
36
|
-
"implementation": "dist/chunk-
|
|
37
|
-
"line":
|
|
36
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
37
|
+
"line": 3058
|
|
38
38
|
},
|
|
39
39
|
"combineObservationGroupRanges": {
|
|
40
40
|
"types": "dist/processors/index.d.ts",
|
|
41
|
-
"implementation": "dist/chunk-
|
|
41
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
42
42
|
"line": 887
|
|
43
43
|
},
|
|
44
44
|
"deriveObservationGroupProvenance": {
|
|
45
45
|
"types": "dist/processors/index.d.ts",
|
|
46
|
-
"implementation": "dist/chunk-
|
|
46
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
47
47
|
"line": 921
|
|
48
48
|
},
|
|
49
49
|
"extractCurrentTask": {
|
|
50
50
|
"types": "dist/processors/index.d.ts",
|
|
51
|
-
"implementation": "dist/chunk-
|
|
52
|
-
"line":
|
|
51
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
52
|
+
"line": 3901
|
|
53
53
|
},
|
|
54
54
|
"formatMessagesForObserver": {
|
|
55
55
|
"types": "dist/processors/index.d.ts",
|
|
56
|
-
"implementation": "dist/chunk-
|
|
57
|
-
"line":
|
|
56
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
57
|
+
"line": 3513
|
|
58
58
|
},
|
|
59
59
|
"getObservationsAsOf": {
|
|
60
60
|
"types": "dist/processors/index.d.ts",
|
|
61
|
-
"implementation": "dist/chunk-
|
|
62
|
-
"line":
|
|
61
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
62
|
+
"line": 10018
|
|
63
63
|
},
|
|
64
64
|
"hasCurrentTaskSection": {
|
|
65
65
|
"types": "dist/processors/index.d.ts",
|
|
66
|
-
"implementation": "dist/chunk-
|
|
67
|
-
"line":
|
|
66
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
67
|
+
"line": 3889
|
|
68
68
|
},
|
|
69
69
|
"injectAnchorIds": {
|
|
70
70
|
"types": "dist/processors/index.d.ts",
|
|
71
|
-
"implementation": "dist/chunk-
|
|
72
|
-
"line":
|
|
71
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
72
|
+
"line": 2606
|
|
73
73
|
},
|
|
74
74
|
"optimizeObservationsForContext": {
|
|
75
75
|
"types": "dist/processors/index.d.ts",
|
|
76
|
-
"implementation": "dist/chunk-
|
|
77
|
-
"line":
|
|
76
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
77
|
+
"line": 3912
|
|
78
78
|
},
|
|
79
79
|
"parseAnchorId": {
|
|
80
80
|
"types": "dist/processors/index.d.ts",
|
|
81
|
-
"implementation": "dist/chunk-
|
|
82
|
-
"line":
|
|
81
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
82
|
+
"line": 2579
|
|
83
83
|
},
|
|
84
84
|
"parseObservationGroups": {
|
|
85
85
|
"types": "dist/processors/index.d.ts",
|
|
86
|
-
"implementation": "dist/chunk-
|
|
86
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
87
87
|
"line": 856
|
|
88
88
|
},
|
|
89
89
|
"parseObserverOutput": {
|
|
90
90
|
"types": "dist/processors/index.d.ts",
|
|
91
|
-
"implementation": "dist/chunk-
|
|
92
|
-
"line":
|
|
91
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
92
|
+
"line": 3797
|
|
93
93
|
},
|
|
94
94
|
"reconcileObservationGroupsFromReflection": {
|
|
95
95
|
"types": "dist/processors/index.d.ts",
|
|
96
|
-
"implementation": "dist/chunk-
|
|
96
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
97
97
|
"line": 945
|
|
98
98
|
},
|
|
99
99
|
"renderObservationGroupsForReflection": {
|
|
100
100
|
"types": "dist/processors/index.d.ts",
|
|
101
|
-
"implementation": "dist/chunk-
|
|
101
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
102
102
|
"line": 901
|
|
103
103
|
},
|
|
104
104
|
"stripEphemeralAnchorIds": {
|
|
105
105
|
"types": "dist/processors/index.d.ts",
|
|
106
|
-
"implementation": "dist/chunk-
|
|
107
|
-
"line":
|
|
106
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
107
|
+
"line": 2636
|
|
108
108
|
},
|
|
109
109
|
"stripObservationGroups": {
|
|
110
110
|
"types": "dist/processors/index.d.ts",
|
|
111
|
-
"implementation": "dist/chunk-
|
|
111
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
112
112
|
"line": 878
|
|
113
113
|
},
|
|
114
114
|
"wrapInObservationGroup": {
|
|
115
115
|
"types": "dist/processors/index.d.ts",
|
|
116
|
-
"implementation": "dist/chunk-
|
|
116
|
+
"implementation": "dist/chunk-X7DOZRJK.js",
|
|
117
117
|
"line": 849
|
|
118
118
|
},
|
|
119
119
|
"OBSERVATIONAL_MEMORY_DEFAULTS": {
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
"processors": {
|
|
163
163
|
"index": "dist/processors/index.js",
|
|
164
164
|
"chunks": [
|
|
165
|
-
"chunk-
|
|
165
|
+
"chunk-X7DOZRJK.js",
|
|
166
166
|
"chunk-LSJJAJAF.js"
|
|
167
167
|
]
|
|
168
168
|
}
|
|
@@ -357,6 +357,44 @@ For automatic tool resumption to work:
|
|
|
357
357
|
|
|
358
358
|
Both approaches work with the same tool definitions. Automatic resumption triggers only when suspended tools exist in the message history and the user sends a new message on the same thread.
|
|
359
359
|
|
|
360
|
+
## Resuming after a restart
|
|
361
|
+
|
|
362
|
+
The examples above hold on to `stream.runId` between suspension and approval. That works while the process stays alive, but in production the approval often arrives later — after a page refresh, a server restart, or on a different server instance behind a load balancer.
|
|
363
|
+
|
|
364
|
+
Use [`listSuspendedRuns()`](https://mastra.ai/reference/agents/listSuspendedRuns) to rediscover the pending run for a conversation from storage:
|
|
365
|
+
|
|
366
|
+
```typescript
|
|
367
|
+
// In the request handler that receives the user's decision
|
|
368
|
+
const { runs } = await agent.listSuspendedRuns({
|
|
369
|
+
threadId: 'thread-123',
|
|
370
|
+
resourceId: 'user-456',
|
|
371
|
+
})
|
|
372
|
+
|
|
373
|
+
const run = runs[0]
|
|
374
|
+
const toolCall = run?.toolCalls[0]
|
|
375
|
+
|
|
376
|
+
if (run && toolCall) {
|
|
377
|
+
let stream
|
|
378
|
+
if (toolCall.requiresApproval) {
|
|
379
|
+
// Suspended by requireApproval — approve or decline the tool call
|
|
380
|
+
stream = await agent.approveToolCall({ runId: run.runId, toolCallId: toolCall.toolCallId })
|
|
381
|
+
} else {
|
|
382
|
+
// Suspended by suspend() — resume with the data the tool asked for
|
|
383
|
+
console.log('Tool asked:', toolCall.suspendPayload)
|
|
384
|
+
stream = await agent.resumeStream({ name: 'San Francisco' }, { runId: run.runId })
|
|
385
|
+
}
|
|
386
|
+
for await (const chunk of stream.textStream) process.stdout.write(chunk)
|
|
387
|
+
}
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
Each returned run includes the suspended tool calls (`toolCallId`, `toolName`, `args`, and `requiresApproval`). Approval suspensions (`requiresApproval: true`) are answered with `approveToolCall()` / `declineToolCall()`, while `suspend()`-based suspensions carry their `suspendPayload` and expect `resumeStream()` with resume data — so you can rebuild the right UI for either flow without keeping any state in memory.
|
|
391
|
+
|
|
392
|
+
`sendToolApproval()` uses the same storage-backed discovery automatically: when no active run is found in memory for the thread, it looks up the suspended run in storage before failing. If several suspended runs match the thread, pass a `toolCallId` to disambiguate.
|
|
393
|
+
|
|
394
|
+
The same discovery is available over HTTP as `GET /agents/:agentId/suspended-runs` and in the client SDK as [`agent.listSuspendedRuns()`](https://mastra.ai/reference/client-js/agents), so browser-based approval UIs can rediscover pending runs directly.
|
|
395
|
+
|
|
396
|
+
> **Note:** Suspended runs only survive restarts when your Mastra instance is configured with a persistent [storage provider](https://mastra.ai/docs/memory/storage). The default in-memory store loses snapshots when the process exits.
|
|
397
|
+
|
|
360
398
|
## Tool approval: Supervisor agents
|
|
361
399
|
|
|
362
400
|
A [supervisor agent](https://mastra.ai/docs/agents/supervisor-agents) coordinates multiple subagents using `.stream()` or `.generate()`. When a subagent calls a tool that requires approval, the request propagates up through the delegation chain and surfaces at the supervisor level:
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkFQLQMPJY_cjs = require('./chunk-FQLQMPJY.cjs');
|
|
4
4
|
var chunk43FJOLKM_cjs = require('./chunk-43FJOLKM.cjs');
|
|
5
5
|
var chunkQ7SFCCGT_cjs = require('./chunk-Q7SFCCGT.cjs');
|
|
6
6
|
var agent = require('@mastra/core/agent');
|
|
@@ -22919,7 +22919,7 @@ var ZodFirstPartyTypeKind3;
|
|
|
22919
22919
|
ZodFirstPartyTypeKind4["ZodReadonly"] = "ZodReadonly";
|
|
22920
22920
|
})(ZodFirstPartyTypeKind3 || (ZodFirstPartyTypeKind3 = {}));
|
|
22921
22921
|
|
|
22922
|
-
// ../_vendored/ai_v5/dist/chunk-
|
|
22922
|
+
// ../_vendored/ai_v5/dist/chunk-I2JBSJEA.js
|
|
22923
22923
|
var marker17 = "vercel.ai.error";
|
|
22924
22924
|
var symbol18 = Symbol.for(marker17);
|
|
22925
22925
|
var _a19;
|
|
@@ -46035,7 +46035,7 @@ function formatTimestamp(date9) {
|
|
|
46035
46035
|
}
|
|
46036
46036
|
function truncateByTokens(text4, maxTokens, hint) {
|
|
46037
46037
|
if (tokenx.estimateTokenCount(text4) <= maxTokens) return { text: text4, wasTruncated: false };
|
|
46038
|
-
const truncated =
|
|
46038
|
+
const truncated = chunkFQLQMPJY_cjs.truncateStringByTokens(text4, maxTokens);
|
|
46039
46039
|
const suffix = hint ? ` [${hint} for more]` : "";
|
|
46040
46040
|
return { text: truncated + suffix, wasTruncated: true };
|
|
46041
46041
|
}
|
|
@@ -46087,11 +46087,11 @@ ${JSON.stringify(inv.args, null, 2)}`;
|
|
|
46087
46087
|
});
|
|
46088
46088
|
}
|
|
46089
46089
|
if (inv.state === "result") {
|
|
46090
|
-
const { value: resultValue } =
|
|
46090
|
+
const { value: resultValue } = chunkFQLQMPJY_cjs.resolveToolResultValue(
|
|
46091
46091
|
part,
|
|
46092
46092
|
inv.result
|
|
46093
46093
|
);
|
|
46094
|
-
const resultStr =
|
|
46094
|
+
const resultStr = chunkFQLQMPJY_cjs.formatToolResultForObserver(resultValue, { maxTokens: HIGH_DETAIL_TOOL_RESULT_TOKENS });
|
|
46095
46095
|
const fullText = `[Tool Result: ${inv.toolName}]
|
|
46096
46096
|
${resultStr}`;
|
|
46097
46097
|
parts.push(makePart(msg, i, "tool-result", fullText, detail, inv.toolName));
|
|
@@ -46118,7 +46118,7 @@ ${typeof rawArgs === "string" ? rawArgs : JSON.stringify(rawArgs, null, 2)}`;
|
|
|
46118
46118
|
const toolName = part.toolName;
|
|
46119
46119
|
if (toolName) {
|
|
46120
46120
|
const rawResult = part.output ?? part.result;
|
|
46121
|
-
const resultStr =
|
|
46121
|
+
const resultStr = chunkFQLQMPJY_cjs.formatToolResultForObserver(rawResult, { maxTokens: HIGH_DETAIL_TOOL_RESULT_TOKENS });
|
|
46122
46122
|
const fullText = `[Tool Result: ${toolName}]
|
|
46123
46123
|
${resultStr}`;
|
|
46124
46124
|
parts.push(makePart(msg, i, "tool-result", fullText, detail, toolName));
|
|
@@ -46197,7 +46197,7 @@ function renderFormattedParts(parts, timestamps, options) {
|
|
|
46197
46197
|
const text4 = buildRenderedText(parts, timestamps);
|
|
46198
46198
|
let totalTokens = tokenx.estimateTokenCount(text4);
|
|
46199
46199
|
if (totalTokens > options.maxTokens) {
|
|
46200
|
-
const truncated =
|
|
46200
|
+
const truncated = chunkFQLQMPJY_cjs.truncateStringByTokens(text4, options.maxTokens);
|
|
46201
46201
|
return { text: truncated, truncated: true, tokenOffset: totalTokens - options.maxTokens };
|
|
46202
46202
|
}
|
|
46203
46203
|
const truncatedIndices = parts.map((p, i) => ({ part: p, index: i })).filter(({ part }) => part.text !== part.fullText).sort((a, b) => expandPriority(a.part) - expandPriority(b.part));
|
|
@@ -46230,7 +46230,7 @@ function renderFormattedParts(parts, timestamps, options) {
|
|
|
46230
46230
|
if (expandedTokens <= options.maxTokens) {
|
|
46231
46231
|
return { text: expanded, truncated: false, tokenOffset: 0 };
|
|
46232
46232
|
}
|
|
46233
|
-
const hardTruncated =
|
|
46233
|
+
const hardTruncated = chunkFQLQMPJY_cjs.truncateStringByTokens(expanded, options.maxTokens);
|
|
46234
46234
|
return { text: hardTruncated, truncated: true, tokenOffset: expandedTokens - options.maxTokens };
|
|
46235
46235
|
}
|
|
46236
46236
|
async function recallPart({
|
|
@@ -46281,7 +46281,7 @@ async function recallPart({
|
|
|
46281
46281
|
|
|
46282
46282
|
`;
|
|
46283
46283
|
const fallbackText = `${fallbackNote}${firstNextPart.text}`;
|
|
46284
|
-
const truncatedText2 =
|
|
46284
|
+
const truncatedText2 = chunkFQLQMPJY_cjs.truncateStringByTokens(fallbackText, maxTokens);
|
|
46285
46285
|
const wasTruncated2 = truncatedText2 !== fallbackText;
|
|
46286
46286
|
return {
|
|
46287
46287
|
text: truncatedText2,
|
|
@@ -46296,7 +46296,7 @@ async function recallPart({
|
|
|
46296
46296
|
}
|
|
46297
46297
|
throw new Error(`Part index ${partIndex} not found in message ${cursor}. Available indices: ${availableIndices}`);
|
|
46298
46298
|
}
|
|
46299
|
-
const truncatedText =
|
|
46299
|
+
const truncatedText = chunkFQLQMPJY_cjs.truncateStringByTokens(target.text, maxTokens);
|
|
46300
46300
|
const wasTruncated = truncatedText !== target.text;
|
|
46301
46301
|
return {
|
|
46302
46302
|
text: truncatedText,
|
|
@@ -48135,7 +48135,7 @@ ${workingMemory}`;
|
|
|
48135
48135
|
"Observational memory requires @mastra/core support for request-response-id-rotation. Please bump @mastra/core to a newer version."
|
|
48136
48136
|
);
|
|
48137
48137
|
}
|
|
48138
|
-
const { ObservationalMemory: OMClass } = await import('./observational-memory-
|
|
48138
|
+
const { ObservationalMemory: OMClass } = await import('./observational-memory-2KSGEMXM.cjs');
|
|
48139
48139
|
const onIndexObservations = this.hasRetrievalSearch(omConfig.retrieval) ? async (observation) => {
|
|
48140
48140
|
await this.indexObservation(observation);
|
|
48141
48141
|
} : void 0;
|
|
@@ -49087,7 +49087,7 @@ Notes:
|
|
|
49087
49087
|
if (!effectiveConfig) return null;
|
|
49088
49088
|
const engine = await this.omEngine;
|
|
49089
49089
|
if (!engine) return null;
|
|
49090
|
-
const { ObservationalMemoryProcessor } = await import('./observational-memory-
|
|
49090
|
+
const { ObservationalMemoryProcessor } = await import('./observational-memory-2KSGEMXM.cjs');
|
|
49091
49091
|
return new ObservationalMemoryProcessor(engine, this, {
|
|
49092
49092
|
temporalMarkers: effectiveConfig.temporalMarkers
|
|
49093
49093
|
});
|
|
@@ -49114,11 +49114,11 @@ Notes:
|
|
|
49114
49114
|
|
|
49115
49115
|
Object.defineProperty(exports, "ModelByInputTokens", {
|
|
49116
49116
|
enumerable: true,
|
|
49117
|
-
get: function () { return
|
|
49117
|
+
get: function () { return chunkFQLQMPJY_cjs.ModelByInputTokens; }
|
|
49118
49118
|
});
|
|
49119
49119
|
Object.defineProperty(exports, "getObservationsAsOf", {
|
|
49120
49120
|
enumerable: true,
|
|
49121
|
-
get: function () { return
|
|
49121
|
+
get: function () { return chunkFQLQMPJY_cjs.getObservationsAsOf; }
|
|
49122
49122
|
});
|
|
49123
49123
|
Object.defineProperty(exports, "WORKING_MEMORY_STATE_ID", {
|
|
49124
49124
|
enumerable: true,
|