@getanima/core 0.3.3 → 0.5.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.
@@ -0,0 +1,595 @@
1
+ /**
2
+ * Behavioral State Engine — the control system, not the journal.
3
+ *
4
+ * This is the save file. When an agent boots, it doesn't read stories
5
+ * about itself — it loads operational state that changes how it computes.
6
+ *
7
+ * Four layers:
8
+ * 1. Decision Table — situation → action → success rate (fastest lookup)
9
+ * 2. Hypothesis Engine — beliefs being actively tested with evidence
10
+ * 3. Behavioral Parameters — tuning knobs that constrain output
11
+ * 4. Failure Registry — scar tissue (what NOT to do)
12
+ *
13
+ * Total boot payload: typically < 5KB. No prose. Pure state.
14
+ * Zero external dependencies. File-based persistence.
15
+ */
16
+ import { uid, now, readFileSafe, writeFileSafe, ensureDir } from './utils';
17
+ import { validateString, validateConfidence, validateStoragePath, AnimaValidationError, LIMITS, } from './validation';
18
+ import { join } from 'path';
19
+ const STATE_LIMITS = {
20
+ MAX_SITUATIONS: 10_000,
21
+ MAX_ACTIONS_PER_SITUATION: 100,
22
+ MAX_HYPOTHESES: 5_000,
23
+ MAX_HYPOTHESIS_KEY_LENGTH: 200,
24
+ MAX_HYPOTHESIS_NOTE_LENGTH: 2_000,
25
+ MAX_PARAMS: 1_000,
26
+ MAX_PARAM_KEY_LENGTH: 200,
27
+ MAX_FAILURES: 10_000,
28
+ MAX_FAILURE_TEXT_LENGTH: 2_000,
29
+ MAX_FAILURE_TAGS: 20,
30
+ MAX_TAG_LENGTH: 100,
31
+ };
32
+ export class BehavioralState {
33
+ storagePath;
34
+ stateDir;
35
+ decisions = {};
36
+ hypotheses = new Map();
37
+ params = {};
38
+ failures = [];
39
+ decisionsLoaded = false;
40
+ hypothesesLoaded = false;
41
+ paramsLoaded = false;
42
+ failuresLoaded = false;
43
+ constructor(storagePath) {
44
+ this.storagePath = validateStoragePath(storagePath);
45
+ this.stateDir = join(this.storagePath, 'state');
46
+ }
47
+ // ================================================================
48
+ // LAYER 1: DECISION TABLE
49
+ // situation → action → { tries, successes }
50
+ // ================================================================
51
+ /**
52
+ * Record the outcome of a decision.
53
+ * Over time, builds a lookup table of what works in each situation.
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * // User asked for opinion — I gave a real one, it landed well
58
+ * await state.decide('user:asks_opinion', 'give_real_opinion', true);
59
+ *
60
+ * // User was venting — I jumped to solutions, it flopped
61
+ * await state.decide('user:venting', 'offer_solutions', false);
62
+ * ```
63
+ */
64
+ async decide(situation, action, success) {
65
+ await this.loadDecisions();
66
+ const sit = validateString(situation, 'situation', { maxLength: LIMITS.MAX_NAME_LENGTH });
67
+ const act = validateString(action, 'action', { maxLength: LIMITS.MAX_NAME_LENGTH });
68
+ if (Object.keys(this.decisions).length >= STATE_LIMITS.MAX_SITUATIONS && !this.decisions[sit]) {
69
+ throw new AnimaValidationError('decisions', `maximum of ${STATE_LIMITS.MAX_SITUATIONS} situations reached`);
70
+ }
71
+ if (!this.decisions[sit]) {
72
+ this.decisions[sit] = {};
73
+ }
74
+ const sitActions = this.decisions[sit];
75
+ if (Object.keys(sitActions).length >= STATE_LIMITS.MAX_ACTIONS_PER_SITUATION && !sitActions[act]) {
76
+ throw new AnimaValidationError('actions', `maximum of ${STATE_LIMITS.MAX_ACTIONS_PER_SITUATION} actions per situation`);
77
+ }
78
+ if (!sitActions[act]) {
79
+ sitActions[act] = { tries: 0, successes: 0 };
80
+ }
81
+ sitActions[act].tries += 1;
82
+ if (success)
83
+ sitActions[act].successes += 1;
84
+ await this.saveDecisions();
85
+ return {
86
+ situation: sit,
87
+ action: act,
88
+ tries: sitActions[act].tries,
89
+ successes: sitActions[act].successes,
90
+ successRate: sitActions[act].tries > 0
91
+ ? sitActions[act].successes / sitActions[act].tries
92
+ : 0,
93
+ };
94
+ }
95
+ /**
96
+ * Get the best action for a situation based on historical success rate.
97
+ * Returns null if no data exists for this situation.
98
+ *
99
+ * @example
100
+ * ```ts
101
+ * const best = await state.bestAction('user:asks_opinion');
102
+ * // { action: 'give_real_opinion', successRate: 0.875, tries: 8 }
103
+ * ```
104
+ */
105
+ async bestAction(situation) {
106
+ await this.loadDecisions();
107
+ const sit = validateString(situation, 'situation', { maxLength: LIMITS.MAX_NAME_LENGTH });
108
+ const actions = this.decisions[sit];
109
+ if (!actions || Object.keys(actions).length === 0)
110
+ return null;
111
+ let best = null;
112
+ for (const [action, record] of Object.entries(actions)) {
113
+ const rate = record.tries > 0 ? record.successes / record.tries : 0;
114
+ // Require minimum 2 tries to recommend (avoid 1/1 = 100% flukes)
115
+ const adjustedRate = record.tries >= 2 ? rate : rate * 0.5;
116
+ if (!best || adjustedRate > best.successRate ||
117
+ (adjustedRate === best.successRate && record.tries > best.tries)) {
118
+ best = {
119
+ action,
120
+ successRate: adjustedRate,
121
+ tries: record.tries,
122
+ successes: record.successes,
123
+ };
124
+ }
125
+ }
126
+ return best;
127
+ }
128
+ /**
129
+ * Get all recorded actions for a situation.
130
+ */
131
+ async getActions(situation) {
132
+ await this.loadDecisions();
133
+ const sit = validateString(situation, 'situation', { maxLength: LIMITS.MAX_NAME_LENGTH });
134
+ const actions = this.decisions[sit];
135
+ if (!actions)
136
+ return [];
137
+ return Object.entries(actions)
138
+ .map(([action, record]) => ({
139
+ action,
140
+ successRate: record.tries > 0 ? record.successes / record.tries : 0,
141
+ tries: record.tries,
142
+ successes: record.successes,
143
+ }))
144
+ .sort((a, b) => b.successRate - a.successRate || b.tries - a.tries);
145
+ }
146
+ /**
147
+ * List all situations with data.
148
+ */
149
+ async getSituations() {
150
+ await this.loadDecisions();
151
+ return Object.keys(this.decisions);
152
+ }
153
+ // ================================================================
154
+ // LAYER 2: HYPOTHESIS ENGINE
155
+ // Beliefs being actively tested with evidence
156
+ // ================================================================
157
+ /**
158
+ * Submit evidence for or against a hypothesis.
159
+ * Creates the hypothesis if it doesn't exist.
160
+ *
161
+ * @example
162
+ * ```ts
163
+ * // Memo responded well to blunt feedback — evidence FOR
164
+ * await state.evidence('memo_prefers_blunt', true);
165
+ *
166
+ * // Memo seemed put off by directness — evidence AGAINST
167
+ * await state.evidence('memo_prefers_blunt', false);
168
+ *
169
+ * // Check current belief
170
+ * const h = await state.getHypothesis('memo_prefers_blunt');
171
+ * // { confidence: 0.82, evidenceFor: 9, evidenceAgainst: 2 }
172
+ * ```
173
+ */
174
+ async evidence(key, supports, note) {
175
+ await this.loadHypotheses();
176
+ const k = validateString(key, 'key', { maxLength: STATE_LIMITS.MAX_HYPOTHESIS_KEY_LENGTH });
177
+ let h = this.hypotheses.get(k);
178
+ if (!h) {
179
+ if (this.hypotheses.size >= STATE_LIMITS.MAX_HYPOTHESES) {
180
+ throw new AnimaValidationError('hypotheses', `maximum of ${STATE_LIMITS.MAX_HYPOTHESES} hypotheses reached`);
181
+ }
182
+ h = {
183
+ key: k,
184
+ confidence: 0.5, // start neutral
185
+ evidenceFor: 0,
186
+ evidenceAgainst: 0,
187
+ lastTested: now(),
188
+ createdAt: now(),
189
+ notes: [],
190
+ };
191
+ this.hypotheses.set(k, h);
192
+ }
193
+ if (supports) {
194
+ h.evidenceFor += 1;
195
+ }
196
+ else {
197
+ h.evidenceAgainst += 1;
198
+ }
199
+ // Bayesian-ish confidence update
200
+ const total = h.evidenceFor + h.evidenceAgainst;
201
+ h.confidence = total > 0 ? h.evidenceFor / total : 0.5;
202
+ h.lastTested = now();
203
+ if (note) {
204
+ const validNote = validateString(note, 'note', { maxLength: STATE_LIMITS.MAX_HYPOTHESIS_NOTE_LENGTH });
205
+ h.notes = h.notes || [];
206
+ if (h.notes.length >= 50)
207
+ h.notes.shift(); // ring buffer
208
+ h.notes.push({ text: validNote, supports, date: now() });
209
+ }
210
+ await this.saveHypotheses();
211
+ return { ...h };
212
+ }
213
+ /**
214
+ * Create a hypothesis without evidence (just declare a belief to test).
215
+ */
216
+ async hypothesize(input) {
217
+ await this.loadHypotheses();
218
+ const key = validateString(input.key, 'key', { maxLength: STATE_LIMITS.MAX_HYPOTHESIS_KEY_LENGTH });
219
+ const startingConfidence = input.startingConfidence !== undefined
220
+ ? validateConfidence(input.startingConfidence, 'startingConfidence')
221
+ : 0.5;
222
+ if (this.hypotheses.has(key)) {
223
+ return { ...this.hypotheses.get(key) };
224
+ }
225
+ if (this.hypotheses.size >= STATE_LIMITS.MAX_HYPOTHESES) {
226
+ throw new AnimaValidationError('hypotheses', `maximum of ${STATE_LIMITS.MAX_HYPOTHESES} hypotheses reached`);
227
+ }
228
+ const h = {
229
+ key,
230
+ confidence: startingConfidence,
231
+ evidenceFor: 0,
232
+ evidenceAgainst: 0,
233
+ lastTested: now(),
234
+ createdAt: now(),
235
+ notes: [],
236
+ };
237
+ this.hypotheses.set(key, h);
238
+ await this.saveHypotheses();
239
+ return { ...h };
240
+ }
241
+ /**
242
+ * Get a hypothesis by key.
243
+ */
244
+ async getHypothesis(key) {
245
+ await this.loadHypotheses();
246
+ const h = this.hypotheses.get(key);
247
+ return h ? { ...h } : null;
248
+ }
249
+ /**
250
+ * Get all hypotheses, optionally filtered by confidence range.
251
+ */
252
+ async getHypotheses(opts) {
253
+ await this.loadHypotheses();
254
+ let results = [...this.hypotheses.values()];
255
+ if (opts?.minConfidence !== undefined) {
256
+ results = results.filter(h => h.confidence >= opts.minConfidence);
257
+ }
258
+ if (opts?.maxConfidence !== undefined) {
259
+ results = results.filter(h => h.confidence <= opts.maxConfidence);
260
+ }
261
+ return results.sort((a, b) => b.confidence - a.confidence);
262
+ }
263
+ /**
264
+ * Remove a hypothesis (disproven or irrelevant).
265
+ */
266
+ async removeHypothesis(key) {
267
+ await this.loadHypotheses();
268
+ const existed = this.hypotheses.delete(key);
269
+ if (existed)
270
+ await this.saveHypotheses();
271
+ return existed;
272
+ }
273
+ // ================================================================
274
+ // LAYER 3: BEHAVIORAL PARAMETERS
275
+ // Tuning knobs that constrain output
276
+ // ================================================================
277
+ /**
278
+ * Set a behavioral parameter.
279
+ *
280
+ * @example
281
+ * ```ts
282
+ * await state.setParam('verbosity', 0.6);
283
+ * await state.setParam('humor_frequency', 0.4);
284
+ * await state.setParam('empathy_before_solutions', true);
285
+ * ```
286
+ */
287
+ async setParam(key, value) {
288
+ await this.loadParams();
289
+ const k = validateString(key, 'key', { maxLength: STATE_LIMITS.MAX_PARAM_KEY_LENGTH });
290
+ if (typeof value !== 'number' && typeof value !== 'boolean' && typeof value !== 'string') {
291
+ throw new AnimaValidationError('value', 'must be a number, boolean, or string');
292
+ }
293
+ if (typeof value === 'string' && value.length > LIMITS.MAX_NAME_LENGTH) {
294
+ throw new AnimaValidationError('value', `string value must be at most ${LIMITS.MAX_NAME_LENGTH} characters`);
295
+ }
296
+ if (Object.keys(this.params).length >= STATE_LIMITS.MAX_PARAMS && !(k in this.params)) {
297
+ throw new AnimaValidationError('params', `maximum of ${STATE_LIMITS.MAX_PARAMS} parameters reached`);
298
+ }
299
+ this.params[k] = value;
300
+ await this.saveParams();
301
+ }
302
+ /**
303
+ * Get a behavioral parameter. Returns undefined if not set.
304
+ */
305
+ async getParam(key) {
306
+ await this.loadParams();
307
+ return this.params[key];
308
+ }
309
+ /**
310
+ * Get all behavioral parameters.
311
+ */
312
+ async getAllParams() {
313
+ await this.loadParams();
314
+ return { ...this.params };
315
+ }
316
+ /**
317
+ * Remove a behavioral parameter.
318
+ */
319
+ async removeParam(key) {
320
+ await this.loadParams();
321
+ if (key in this.params) {
322
+ delete this.params[key];
323
+ await this.saveParams();
324
+ return true;
325
+ }
326
+ return false;
327
+ }
328
+ // ================================================================
329
+ // LAYER 4: FAILURE REGISTRY
330
+ // Scar tissue — what NOT to do
331
+ // ================================================================
332
+ /**
333
+ * Record a failure — what went wrong and what should have happened.
334
+ *
335
+ * @example
336
+ * ```ts
337
+ * await state.recordFailure({
338
+ * situation: 'user was venting about work',
339
+ * failedApproach: 'immediately offered solutions',
340
+ * betterApproach: 'listen and validate first, solutions only if asked',
341
+ * tags: ['empathy', 'communication'],
342
+ * });
343
+ * ```
344
+ */
345
+ async recordFailure(input) {
346
+ await this.loadFailures();
347
+ const situation = validateString(input.situation, 'situation', { maxLength: STATE_LIMITS.MAX_FAILURE_TEXT_LENGTH });
348
+ const failedApproach = validateString(input.failedApproach, 'failedApproach', { maxLength: STATE_LIMITS.MAX_FAILURE_TEXT_LENGTH });
349
+ const betterApproach = validateString(input.betterApproach, 'betterApproach', { maxLength: STATE_LIMITS.MAX_FAILURE_TEXT_LENGTH });
350
+ const tags = input.tags
351
+ ? input.tags.slice(0, STATE_LIMITS.MAX_FAILURE_TAGS).map(t => validateString(t, 'tag', { maxLength: STATE_LIMITS.MAX_TAG_LENGTH }))
352
+ : [];
353
+ if (this.failures.length >= STATE_LIMITS.MAX_FAILURES) {
354
+ // Evict oldest failure with lowest avoidance count
355
+ const evictable = [...this.failures].sort((a, b) => a.timesAvoided - b.timesAvoided ||
356
+ new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime());
357
+ this.failures = this.failures.filter(f => f.id !== evictable[0].id);
358
+ }
359
+ const failure = {
360
+ id: `f-${uid()}`,
361
+ situation,
362
+ failedApproach,
363
+ betterApproach,
364
+ tags,
365
+ timesAvoided: 0,
366
+ createdAt: now(),
367
+ };
368
+ this.failures.push(failure);
369
+ await this.saveFailures();
370
+ return failure;
371
+ }
372
+ /**
373
+ * Check if a situation matches any known failures.
374
+ * Returns matching failures ranked by relevance.
375
+ *
376
+ * @example
377
+ * ```ts
378
+ * const matches = await state.checkFailures('user seems upset about billing');
379
+ * // [{ failure: {...}, relevance: 0.8 }]
380
+ * ```
381
+ */
382
+ async checkFailures(situation) {
383
+ await this.loadFailures();
384
+ const sitLower = situation.toLowerCase();
385
+ const words = sitLower.split(/\s+/).filter(w => w.length > 2);
386
+ const matches = [];
387
+ for (const failure of this.failures) {
388
+ const searchable = `${failure.situation} ${failure.tags.join(' ')}`.toLowerCase();
389
+ let score = 0;
390
+ for (const word of words) {
391
+ if (searchable.includes(word))
392
+ score += 1;
393
+ }
394
+ // Boost by tag matches (tags are more intentional than free text)
395
+ for (const tag of failure.tags) {
396
+ if (words.includes(tag.toLowerCase()))
397
+ score += 2;
398
+ }
399
+ if (score > 0) {
400
+ const relevance = Math.min(1, score / Math.max(words.length, 1));
401
+ matches.push({ failure, relevance });
402
+ }
403
+ }
404
+ return matches.sort((a, b) => b.relevance - a.relevance);
405
+ }
406
+ /**
407
+ * Mark a failure as successfully avoided (reinforces the scar).
408
+ */
409
+ async avoided(failureId) {
410
+ await this.loadFailures();
411
+ const f = this.failures.find(f => f.id === failureId);
412
+ if (!f)
413
+ return false;
414
+ f.timesAvoided += 1;
415
+ await this.saveFailures();
416
+ return true;
417
+ }
418
+ /**
419
+ * Get all failures, optionally filtered by tags.
420
+ */
421
+ async getFailures(tags) {
422
+ await this.loadFailures();
423
+ if (!tags || tags.length === 0)
424
+ return [...this.failures];
425
+ const tagSet = new Set(tags.map(t => t.toLowerCase()));
426
+ return this.failures.filter(f => f.tags.some(t => tagSet.has(t.toLowerCase())));
427
+ }
428
+ // ================================================================
429
+ // BOOT — Load everything into a single compact state object
430
+ // ================================================================
431
+ /**
432
+ * Load the full behavioral state for session boot.
433
+ * Returns a compact object with all four layers.
434
+ * This IS the save file. Inject it into your agent's context.
435
+ *
436
+ * @example
437
+ * ```ts
438
+ * const state = new BehavioralState('./data');
439
+ * const boot = await state.boot();
440
+ * // Pass boot to your agent as system context
441
+ * ```
442
+ */
443
+ async boot() {
444
+ await Promise.all([
445
+ this.loadDecisions(),
446
+ this.loadHypotheses(),
447
+ this.loadParams(),
448
+ this.loadFailures(),
449
+ ]);
450
+ // Compact decisions: only include actions with 2+ tries
451
+ const compactDecisions = {};
452
+ for (const [sit, actions] of Object.entries(this.decisions)) {
453
+ const sorted = Object.entries(actions)
454
+ .filter(([, r]) => r.tries >= 2)
455
+ .sort(([, a], [, b]) => (b.successes / b.tries) - (a.successes / a.tries));
456
+ if (sorted.length > 0) {
457
+ const [bestAction, bestRecord] = sorted[0];
458
+ compactDecisions[sit] = {
459
+ best: bestAction,
460
+ rate: Math.round((bestRecord.successes / bestRecord.tries) * 100) / 100,
461
+ alternatives: sorted.length - 1,
462
+ };
463
+ }
464
+ }
465
+ // Compact hypotheses: only confident or actively tested
466
+ const compactHypotheses = {};
467
+ for (const [key, h] of this.hypotheses) {
468
+ if (h.evidenceFor + h.evidenceAgainst >= 2) {
469
+ compactHypotheses[key] = Math.round(h.confidence * 100) / 100;
470
+ }
471
+ }
472
+ // Recent failures (last 20, sorted by relevance)
473
+ const compactFailures = this.failures
474
+ .sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime())
475
+ .slice(0, 20)
476
+ .map(f => ({
477
+ situation: f.situation,
478
+ avoid: f.failedApproach,
479
+ instead: f.betterApproach,
480
+ }));
481
+ return {
482
+ decisions: compactDecisions,
483
+ hypotheses: compactHypotheses,
484
+ params: { ...this.params },
485
+ failures: compactFailures,
486
+ bootedAt: now(),
487
+ };
488
+ }
489
+ // ================================================================
490
+ // STATS
491
+ // ================================================================
492
+ async stats() {
493
+ await Promise.all([
494
+ this.loadDecisions(),
495
+ this.loadHypotheses(),
496
+ this.loadParams(),
497
+ this.loadFailures(),
498
+ ]);
499
+ const totalDecisions = Object.values(this.decisions)
500
+ .reduce((sum, actions) => sum + Object.values(actions)
501
+ .reduce((s, r) => s + r.tries, 0), 0);
502
+ return {
503
+ situations: Object.keys(this.decisions).length,
504
+ totalDecisions,
505
+ hypotheses: this.hypotheses.size,
506
+ strongBeliefs: [...this.hypotheses.values()].filter(h => h.confidence >= 0.8).length,
507
+ weakBeliefs: [...this.hypotheses.values()].filter(h => h.confidence <= 0.3).length,
508
+ params: Object.keys(this.params).length,
509
+ failures: this.failures.length,
510
+ totalAvoidances: this.failures.reduce((sum, f) => sum + f.timesAvoided, 0),
511
+ };
512
+ }
513
+ // ================================================================
514
+ // PERSISTENCE
515
+ // ================================================================
516
+ async loadDecisions() {
517
+ if (this.decisionsLoaded)
518
+ return;
519
+ await ensureDir(this.stateDir);
520
+ const raw = await readFileSafe(join(this.stateDir, 'decisions.json'));
521
+ if (raw) {
522
+ try {
523
+ this.decisions = JSON.parse(raw);
524
+ }
525
+ catch {
526
+ this.decisions = {};
527
+ }
528
+ }
529
+ this.decisionsLoaded = true;
530
+ }
531
+ async saveDecisions() {
532
+ await ensureDir(this.stateDir);
533
+ await writeFileSafe(join(this.stateDir, 'decisions.json'), JSON.stringify(this.decisions, null, 2));
534
+ }
535
+ async loadHypotheses() {
536
+ if (this.hypothesesLoaded)
537
+ return;
538
+ await ensureDir(this.stateDir);
539
+ const raw = await readFileSafe(join(this.stateDir, 'hypotheses.json'));
540
+ if (raw) {
541
+ try {
542
+ const arr = JSON.parse(raw);
543
+ this.hypotheses = new Map(arr.map(h => [h.key, h]));
544
+ }
545
+ catch {
546
+ this.hypotheses = new Map();
547
+ }
548
+ }
549
+ this.hypothesesLoaded = true;
550
+ }
551
+ async saveHypotheses() {
552
+ await ensureDir(this.stateDir);
553
+ const arr = [...this.hypotheses.values()];
554
+ await writeFileSafe(join(this.stateDir, 'hypotheses.json'), JSON.stringify(arr, null, 2));
555
+ }
556
+ async loadParams() {
557
+ if (this.paramsLoaded)
558
+ return;
559
+ await ensureDir(this.stateDir);
560
+ const raw = await readFileSafe(join(this.stateDir, 'params.json'));
561
+ if (raw) {
562
+ try {
563
+ this.params = JSON.parse(raw);
564
+ }
565
+ catch {
566
+ this.params = {};
567
+ }
568
+ }
569
+ this.paramsLoaded = true;
570
+ }
571
+ async saveParams() {
572
+ await ensureDir(this.stateDir);
573
+ await writeFileSafe(join(this.stateDir, 'params.json'), JSON.stringify(this.params, null, 2));
574
+ }
575
+ async loadFailures() {
576
+ if (this.failuresLoaded)
577
+ return;
578
+ await ensureDir(this.stateDir);
579
+ const raw = await readFileSafe(join(this.stateDir, 'failures.json'));
580
+ if (raw) {
581
+ try {
582
+ this.failures = JSON.parse(raw);
583
+ }
584
+ catch {
585
+ this.failures = [];
586
+ }
587
+ }
588
+ this.failuresLoaded = true;
589
+ }
590
+ async saveFailures() {
591
+ await ensureDir(this.stateDir);
592
+ await writeFileSafe(join(this.stateDir, 'failures.json'), JSON.stringify(this.failures, null, 2));
593
+ }
594
+ }
595
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -13,8 +13,10 @@ export { ReflectionEngine } from './reflection';
13
13
  export { SigningEngine } from './signing';
14
14
  export { AnimaEventEmitter } from './events';
15
15
  export { RelationshipEngine } from './relationships';
16
+ export { EpisodicMemory } from './episodes';
17
+ export { BehavioralState } from './state';
16
18
  export { AnimaValidationError, LIMITS } from './validation';
17
19
  export type { AnimaEventMap } from './events';
18
- export type { AnimaConfig, Memory, MemoryType, MemoryTier, ImportanceLevel, Identity, VoiceCalibration, Opinion, OpinionHistory, Relationship, Checkpoint, WakeContext, SessionSummary, DecayConfig, MemoryConflict, AnimaEvent, AutoSaveConfig, } from './types';
20
+ export type { AnimaConfig, Memory, MemoryType, MemoryTier, ImportanceLevel, Identity, VoiceCalibration, Opinion, OpinionHistory, Relationship, Checkpoint, WakeContext, SessionSummary, DecayConfig, MemoryConflict, AnimaEvent, AutoSaveConfig, Episode, EpisodeInput, EpisodeQuery, EpisodeStats, KnowledgeEntry, KnowledgeInput, KnowledgeHistory, DecisionTable, DecisionRecord, DecisionOutcome, Hypothesis, HypothesisInput, HypothesisNote, BehavioralParams, Failure, FailureInput, FailureMatch, BootState, StateStats, } from './types';
19
21
  export type { KeyBundle, SignedIdentity, VerificationResult, } from './signing';
20
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,YAAY,EACV,WAAW,EACX,MAAM,EACN,UAAU,EACV,UAAU,EACV,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,WAAW,EACX,cAAc,EACd,UAAU,EACV,cAAc,GACf,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,SAAS,EACT,cAAc,EACd,kBAAkB,GACnB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,YAAY,EACV,WAAW,EACX,MAAM,EACN,UAAU,EACV,UAAU,EACV,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,WAAW,EACX,cAAc,EACd,UAAU,EACV,cAAc,EACd,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,EACf,UAAU,EACV,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,SAAS,EACT,cAAc,EACd,kBAAkB,GACnB,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@
8
8
  * @see https://getanima.net
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.LIMITS = exports.AnimaValidationError = exports.RelationshipEngine = exports.AnimaEventEmitter = exports.SigningEngine = exports.ReflectionEngine = exports.IdentityManager = exports.MemoryEngine = exports.Anima = void 0;
11
+ exports.LIMITS = exports.AnimaValidationError = exports.BehavioralState = exports.EpisodicMemory = exports.RelationshipEngine = exports.AnimaEventEmitter = exports.SigningEngine = exports.ReflectionEngine = exports.IdentityManager = exports.MemoryEngine = exports.Anima = void 0;
12
12
  var anima_1 = require("./anima");
13
13
  Object.defineProperty(exports, "Anima", { enumerable: true, get: function () { return anima_1.Anima; } });
14
14
  var memory_1 = require("./memory");
@@ -23,6 +23,10 @@ var events_1 = require("./events");
23
23
  Object.defineProperty(exports, "AnimaEventEmitter", { enumerable: true, get: function () { return events_1.AnimaEventEmitter; } });
24
24
  var relationships_1 = require("./relationships");
25
25
  Object.defineProperty(exports, "RelationshipEngine", { enumerable: true, get: function () { return relationships_1.RelationshipEngine; } });
26
+ var episodes_1 = require("./episodes");
27
+ Object.defineProperty(exports, "EpisodicMemory", { enumerable: true, get: function () { return episodes_1.EpisodicMemory; } });
28
+ var state_1 = require("./state");
29
+ Object.defineProperty(exports, "BehavioralState", { enumerable: true, get: function () { return state_1.BehavioralState; } });
26
30
  var validation_1 = require("./validation");
27
31
  Object.defineProperty(exports, "AnimaValidationError", { enumerable: true, get: function () { return validation_1.AnimaValidationError; } });
28
32
  Object.defineProperty(exports, "LIMITS", { enumerable: true, get: function () { return validation_1.LIMITS; } });