@terminals-tech/agent-zero 1.0.1 → 2.0.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/dist/agency/commandRouter.d.ts +10 -0
- package/dist/agency/commandRouter.d.ts.map +1 -1
- package/dist/agency/commandRouter.js +206 -0
- package/dist/agency/commandRouter.js.map +1 -1
- package/dist/agency/runtime.d.ts +24 -0
- package/dist/agency/runtime.d.ts.map +1 -1
- package/dist/agency/runtime.js +103 -0
- package/dist/agency/runtime.js.map +1 -1
- package/dist/channels/gemini.d.ts +73 -0
- package/dist/channels/gemini.d.ts.map +1 -0
- package/dist/channels/gemini.js +246 -0
- package/dist/channels/gemini.js.map +1 -0
- package/dist/interop/a2a.d.ts +133 -0
- package/dist/interop/a2a.d.ts.map +1 -0
- package/dist/interop/a2a.js +357 -0
- package/dist/interop/a2a.js.map +1 -0
- package/dist/interop/index.d.ts +10 -0
- package/dist/interop/index.d.ts.map +1 -0
- package/dist/interop/index.js +10 -0
- package/dist/interop/index.js.map +1 -0
- package/dist/interop/mcp.d.ts +111 -0
- package/dist/interop/mcp.d.ts.map +1 -0
- package/dist/interop/mcp.js +337 -0
- package/dist/interop/mcp.js.map +1 -0
- package/dist/moltbook/approvalGate.d.ts +23 -0
- package/dist/moltbook/approvalGate.d.ts.map +1 -1
- package/dist/moltbook/approvalGate.js +45 -0
- package/dist/moltbook/approvalGate.js.map +1 -1
- package/dist/moltbook/attentionField.d.ts +14 -0
- package/dist/moltbook/attentionField.d.ts.map +1 -1
- package/dist/moltbook/attentionField.js +37 -1
- package/dist/moltbook/attentionField.js.map +1 -1
- package/dist/moltbook/daemon.d.ts +24 -0
- package/dist/moltbook/daemon.d.ts.map +1 -1
- package/dist/moltbook/daemon.js +164 -0
- package/dist/moltbook/daemon.js.map +1 -1
- package/dist/moltbook/responseComposer.d.ts +7 -2
- package/dist/moltbook/responseComposer.d.ts.map +1 -1
- package/dist/moltbook/responseComposer.js +36 -7
- package/dist/moltbook/responseComposer.js.map +1 -1
- package/dist/moltbook/strategicContext.d.ts +89 -0
- package/dist/moltbook/strategicContext.d.ts.map +1 -0
- package/dist/moltbook/strategicContext.js +283 -0
- package/dist/moltbook/strategicContext.js.map +1 -0
- package/dist/primitives/index.d.ts +6 -2
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +6 -2
- package/dist/primitives/index.js.map +1 -1
- package/dist/rail/persistence.d.ts +70 -1
- package/dist/rail/persistence.d.ts.map +1 -1
- package/dist/rail/persistence.js +270 -3
- package/dist/rail/persistence.js.map +1 -1
- package/dist/rail/plugin.d.ts +76 -0
- package/dist/rail/plugin.d.ts.map +1 -0
- package/dist/rail/plugin.js +141 -0
- package/dist/rail/plugin.js.map +1 -0
- package/dist/rail/server.d.ts +121 -30
- package/dist/rail/server.d.ts.map +1 -1
- package/dist/rail/server.js +404 -28
- package/dist/rail/server.js.map +1 -1
- package/dist/rail/wsServer.d.ts +7 -0
- package/dist/rail/wsServer.d.ts.map +1 -1
- package/dist/rail/wsServer.js +233 -11
- package/dist/rail/wsServer.js.map +1 -1
- package/dist/resonance/globalKuramoto.d.ts +20 -0
- package/dist/resonance/globalKuramoto.d.ts.map +1 -1
- package/dist/resonance/globalKuramoto.js +93 -2
- package/dist/resonance/globalKuramoto.js.map +1 -1
- package/dist/routing/index.d.ts +2 -0
- package/dist/routing/index.d.ts.map +1 -1
- package/dist/routing/index.js +1 -0
- package/dist/routing/index.js.map +1 -1
- package/dist/routing/modelRegistry.d.ts +54 -0
- package/dist/routing/modelRegistry.d.ts.map +1 -0
- package/dist/routing/modelRegistry.js +150 -0
- package/dist/routing/modelRegistry.js.map +1 -0
- package/dist/routing/thermodynamic.d.ts +12 -3
- package/dist/routing/thermodynamic.d.ts.map +1 -1
- package/dist/routing/thermodynamic.js +19 -9
- package/dist/routing/thermodynamic.js.map +1 -1
- package/dist/runtime/agent-zero.d.ts +38 -2
- package/dist/runtime/agent-zero.d.ts.map +1 -1
- package/dist/runtime/agent-zero.js +104 -7
- package/dist/runtime/agent-zero.js.map +1 -1
- package/dist/runtime/contextWindow.d.ts +62 -0
- package/dist/runtime/contextWindow.d.ts.map +1 -0
- package/dist/runtime/contextWindow.js +125 -0
- package/dist/runtime/contextWindow.js.map +1 -0
- package/dist/runtime/identity.d.ts +65 -0
- package/dist/runtime/identity.d.ts.map +1 -0
- package/dist/runtime/identity.js +199 -0
- package/dist/runtime/identity.js.map +1 -0
- package/dist/runtime/index.d.ts +6 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +6 -0
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/sessionStore.d.ts +70 -0
- package/dist/runtime/sessionStore.d.ts.map +1 -0
- package/dist/runtime/sessionStore.js +134 -0
- package/dist/runtime/sessionStore.js.map +1 -0
- package/dist/security/capabilities.d.ts +46 -0
- package/dist/security/capabilities.d.ts.map +1 -1
- package/dist/security/capabilities.js +176 -0
- package/dist/security/capabilities.js.map +1 -1
- package/dist/security/combinators.d.ts +89 -0
- package/dist/security/combinators.d.ts.map +1 -0
- package/dist/security/combinators.js +168 -0
- package/dist/security/combinators.js.map +1 -0
- package/dist/security/index.d.ts +7 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +4 -1
- package/dist/security/index.js.map +1 -1
- package/dist/security/isolation.d.ts +76 -0
- package/dist/security/isolation.d.ts.map +1 -0
- package/dist/security/isolation.js +118 -0
- package/dist/security/isolation.js.map +1 -0
- package/dist/security/sandbox.d.ts +38 -1
- package/dist/security/sandbox.d.ts.map +1 -1
- package/dist/security/sandbox.js +68 -8
- package/dist/security/sandbox.js.map +1 -1
- package/package.json +12 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-zero.d.ts","sourceRoot":"","sources":["../../src/runtime/agent-zero.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EAEV,OAAO,EACP,WAAW,EACX,KAAK,EAEL,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-zero.d.ts","sourceRoot":"","sources":["../../src/runtime/agent-zero.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,10 @@ import { randomUUID } from 'crypto';
|
|
|
14
14
|
import { ThermodynamicRouter } from '../routing/thermodynamic.js';
|
|
15
15
|
import { KuramotoEngine } from '../resonance/kuramoto.js';
|
|
16
16
|
import { IsomorphicSandbox } from '../security/sandbox.js';
|
|
17
|
+
import { AgentIsolationManager } from '../security/isolation.js';
|
|
18
|
+
import { ContextWindow } from './contextWindow.js';
|
|
19
|
+
/** Phase correction coupling strength for resonate messages */
|
|
20
|
+
export const RESONANCE_COUPLING = 0.3;
|
|
17
21
|
export const DEFAULT_AGENT_ZERO_CONFIG = {
|
|
18
22
|
frequency: 4, // Claude ≈ 4Hz
|
|
19
23
|
router: {},
|
|
@@ -28,6 +32,7 @@ export const DEFAULT_AGENT_ZERO_CONFIG = {
|
|
|
28
32
|
export class AgentZero extends EventEmitter {
|
|
29
33
|
id;
|
|
30
34
|
name;
|
|
35
|
+
parentId;
|
|
31
36
|
state = 'void';
|
|
32
37
|
observer;
|
|
33
38
|
tokens = [];
|
|
@@ -38,6 +43,9 @@ export class AgentZero extends EventEmitter {
|
|
|
38
43
|
kuramoto;
|
|
39
44
|
sandbox;
|
|
40
45
|
capability;
|
|
46
|
+
isolationManager;
|
|
47
|
+
sessionStore;
|
|
48
|
+
contextWindow;
|
|
41
49
|
inbox = [];
|
|
42
50
|
outbox = [];
|
|
43
51
|
children = new Map();
|
|
@@ -49,6 +57,7 @@ export class AgentZero extends EventEmitter {
|
|
|
49
57
|
const fullConfig = { ...DEFAULT_AGENT_ZERO_CONFIG, ...config };
|
|
50
58
|
this.id = randomUUID();
|
|
51
59
|
this.name = config.name;
|
|
60
|
+
this.parentId = config.parentId;
|
|
52
61
|
this.tickRate = fullConfig.tickRate;
|
|
53
62
|
// Initialize observer
|
|
54
63
|
this.observer = {
|
|
@@ -80,6 +89,7 @@ export class AgentZero extends EventEmitter {
|
|
|
80
89
|
this.router = new ThermodynamicRouter(fullConfig.router);
|
|
81
90
|
this.kuramoto = new KuramotoEngine(fullConfig.kuramoto);
|
|
82
91
|
this.sandbox = new IsomorphicSandbox();
|
|
92
|
+
this.isolationManager = new AgentIsolationManager();
|
|
83
93
|
// Get a capability for this agent
|
|
84
94
|
const rootToken = this.sandbox.getRootToken();
|
|
85
95
|
const agentCap = this.sandbox.attenuate(rootToken, {
|
|
@@ -91,6 +101,14 @@ export class AgentZero extends EventEmitter {
|
|
|
91
101
|
throw new Error('Failed to create agent capability');
|
|
92
102
|
}
|
|
93
103
|
this.capability = agentCap;
|
|
104
|
+
// Session persistence
|
|
105
|
+
if (config.sessionStore) {
|
|
106
|
+
this.sessionStore = config.sessionStore;
|
|
107
|
+
}
|
|
108
|
+
// Context window management
|
|
109
|
+
if (config.contextWindow) {
|
|
110
|
+
this.contextWindow = new ContextWindow(config.contextWindow);
|
|
111
|
+
}
|
|
94
112
|
// Register self as oscillator
|
|
95
113
|
this.kuramoto.addObserver(this.observer);
|
|
96
114
|
}
|
|
@@ -195,9 +213,15 @@ export class AgentZero extends EventEmitter {
|
|
|
195
213
|
*/
|
|
196
214
|
receive(message) {
|
|
197
215
|
// Security check: injection detection
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
216
|
+
let payloadStr;
|
|
217
|
+
try {
|
|
218
|
+
payloadStr = typeof message.payload === 'string'
|
|
219
|
+
? message.payload
|
|
220
|
+
: JSON.stringify(message.payload);
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
payloadStr = String(message.payload);
|
|
224
|
+
}
|
|
201
225
|
const injectionCheck = this.sandbox.checkInjection(payloadStr);
|
|
202
226
|
if (!injectionCheck.safe) {
|
|
203
227
|
this.emit('violation', injectionCheck.violation);
|
|
@@ -258,6 +282,10 @@ export class AgentZero extends EventEmitter {
|
|
|
258
282
|
importance: 0.5,
|
|
259
283
|
timestamp: Date.now(),
|
|
260
284
|
});
|
|
285
|
+
// Context window eviction
|
|
286
|
+
if (this.contextWindow && this.contextWindow.isAtCapacity(this.memories)) {
|
|
287
|
+
this.memories = this.contextWindow.evict(this.memories);
|
|
288
|
+
}
|
|
261
289
|
}
|
|
262
290
|
handleAct(message) {
|
|
263
291
|
// Create emitting token for action
|
|
@@ -278,10 +306,10 @@ export class AgentZero extends EventEmitter {
|
|
|
278
306
|
handleResonate(message) {
|
|
279
307
|
// Sync phase with sender
|
|
280
308
|
const targetPhase = message.payload?.phase;
|
|
281
|
-
if (typeof targetPhase === 'number') {
|
|
309
|
+
if (typeof targetPhase === 'number' && !isNaN(targetPhase)) {
|
|
282
310
|
// Nudge toward target phase
|
|
283
311
|
const diff = targetPhase - this.observer.phase;
|
|
284
|
-
this.observer.phase += diff *
|
|
312
|
+
this.observer.phase += diff * RESONANCE_COUPLING;
|
|
285
313
|
}
|
|
286
314
|
}
|
|
287
315
|
handleSpawn(message) {
|
|
@@ -306,7 +334,12 @@ export class AgentZero extends EventEmitter {
|
|
|
306
334
|
// CHILD MANAGEMENT
|
|
307
335
|
// ==========================================================================
|
|
308
336
|
/**
|
|
309
|
-
* Spawn a child agent
|
|
337
|
+
* Spawn a child agent.
|
|
338
|
+
*
|
|
339
|
+
* Enforces:
|
|
340
|
+
* - Sandbox capability check for 'spawn' scope
|
|
341
|
+
* - maxSpawnDepth limit via isolation boundaries
|
|
342
|
+
* - Creates isolation boundary with attenuated capabilities
|
|
310
343
|
*/
|
|
311
344
|
spawn(config) {
|
|
312
345
|
// Security check
|
|
@@ -315,7 +348,28 @@ export class AgentZero extends EventEmitter {
|
|
|
315
348
|
this.emit('violation', check.violation);
|
|
316
349
|
return null;
|
|
317
350
|
}
|
|
318
|
-
|
|
351
|
+
// Enforce spawn depth limit
|
|
352
|
+
if (!this.isolationManager.canSpawn(this.id)) {
|
|
353
|
+
this.emit('violation', {
|
|
354
|
+
type: 'scope_denied',
|
|
355
|
+
message: `Agent '${this.name}' has reached maximum spawn depth`,
|
|
356
|
+
timestamp: Date.now(),
|
|
357
|
+
});
|
|
358
|
+
return null;
|
|
359
|
+
}
|
|
360
|
+
// Set parentId on child config
|
|
361
|
+
const childConfig = { ...config, parentId: this.id };
|
|
362
|
+
const child = new AgentZero(childConfig);
|
|
363
|
+
// Create isolation boundary for the child
|
|
364
|
+
const parentDepth = this.isolationManager.getSpawnDepth(this.id);
|
|
365
|
+
const parentMaxDepth = this.isolationManager.getMaxSpawnDepth(this.id);
|
|
366
|
+
this.isolationManager.createBoundary(this.id, child.id, {
|
|
367
|
+
maxSpawnDepth: parentMaxDepth,
|
|
368
|
+
memoryIsolated: true,
|
|
369
|
+
sharedScopes: ['read', 'write', 'execute', 'memory', 'broadcast'],
|
|
370
|
+
});
|
|
371
|
+
// Share isolation manager with child so depth tracking works across the tree
|
|
372
|
+
child.isolationManager = this.isolationManager;
|
|
319
373
|
// Register child with coherence engine
|
|
320
374
|
this.kuramoto.addObserver(child.observer);
|
|
321
375
|
// Store reference
|
|
@@ -404,6 +458,49 @@ export class AgentZero extends EventEmitter {
|
|
|
404
458
|
getChildren() {
|
|
405
459
|
return Array.from(this.children.values());
|
|
406
460
|
}
|
|
461
|
+
getIsolationManager() {
|
|
462
|
+
return this.isolationManager;
|
|
463
|
+
}
|
|
464
|
+
// ==========================================================================
|
|
465
|
+
// SESSION PERSISTENCE
|
|
466
|
+
// ==========================================================================
|
|
467
|
+
/**
|
|
468
|
+
* Save current agent state as a session snapshot.
|
|
469
|
+
* Requires a sessionStore to be configured.
|
|
470
|
+
*/
|
|
471
|
+
async saveSession() {
|
|
472
|
+
if (!this.sessionStore) {
|
|
473
|
+
throw new Error('No session store configured');
|
|
474
|
+
}
|
|
475
|
+
return this.sessionStore.save(this);
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Restore agent state from a session snapshot.
|
|
479
|
+
* Requires a sessionStore to be configured.
|
|
480
|
+
*/
|
|
481
|
+
async restoreSession(snapshotId) {
|
|
482
|
+
if (!this.sessionStore) {
|
|
483
|
+
throw new Error('No session store configured');
|
|
484
|
+
}
|
|
485
|
+
const snapshot = await this.sessionStore.load(snapshotId);
|
|
486
|
+
if (!snapshot) {
|
|
487
|
+
throw new Error(`Snapshot not found: ${snapshotId}`);
|
|
488
|
+
}
|
|
489
|
+
this.sessionStore.restore(this, snapshot);
|
|
490
|
+
}
|
|
491
|
+
/**
|
|
492
|
+
* Apply a snapshot to this agent's internal state.
|
|
493
|
+
* Called by SessionStore.restore().
|
|
494
|
+
*/
|
|
495
|
+
restoreFromSnapshot(snapshot) {
|
|
496
|
+
this.state = snapshot.state;
|
|
497
|
+
this.tokens = structuredClone(snapshot.tokens);
|
|
498
|
+
this.drift = structuredClone(snapshot.drift);
|
|
499
|
+
this.observer.phase = snapshot.observerPhase;
|
|
500
|
+
this.observer.frequency = snapshot.observerFrequency;
|
|
501
|
+
this.memories = structuredClone(snapshot.memories);
|
|
502
|
+
this.realizability = structuredClone(snapshot.realizability);
|
|
503
|
+
}
|
|
407
504
|
// ==========================================================================
|
|
408
505
|
// LIFECYCLE
|
|
409
506
|
// ==========================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-zero.js","sourceRoot":"","sources":["../../src/runtime/agent-zero.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-zero.js","sourceRoot":"","sources":["../../src/runtime/agent-zero.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Window Management
|
|
3
|
+
*
|
|
4
|
+
* Importance-weighted memory eviction when context exceeds limits.
|
|
5
|
+
* Scoring combines importance (with temporal decay) and recency.
|
|
6
|
+
* High-importance memories above preserveThreshold are never evicted.
|
|
7
|
+
*/
|
|
8
|
+
export interface ContextWindowConfig {
|
|
9
|
+
/** Max number of memories (default 1000) */
|
|
10
|
+
maxMemories: number;
|
|
11
|
+
/** Rough token limit (default 100000) */
|
|
12
|
+
maxTokenEstimate: number;
|
|
13
|
+
/** Eviction strategy (default 'combined') */
|
|
14
|
+
evictionStrategy: 'importance' | 'recency' | 'combined';
|
|
15
|
+
/** Per-hour decay factor for importance (default 0.95) */
|
|
16
|
+
importanceDecay: number;
|
|
17
|
+
/** Memories above this importance are never evicted (default 0.9) */
|
|
18
|
+
preserveThreshold: number;
|
|
19
|
+
}
|
|
20
|
+
type Memory = {
|
|
21
|
+
content: string;
|
|
22
|
+
embedding: number[];
|
|
23
|
+
importance: number;
|
|
24
|
+
timestamp: number;
|
|
25
|
+
};
|
|
26
|
+
export declare class ContextWindow {
|
|
27
|
+
private config;
|
|
28
|
+
constructor(config?: Partial<ContextWindowConfig>);
|
|
29
|
+
/**
|
|
30
|
+
* Check if the memory set is at or over capacity.
|
|
31
|
+
*/
|
|
32
|
+
isAtCapacity(memories: Memory[]): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Select indices of memories to evict (lowest-scored first).
|
|
35
|
+
* Never selects memories above the preserve threshold.
|
|
36
|
+
*/
|
|
37
|
+
selectForEviction(memories: Memory[], count: number): number[];
|
|
38
|
+
/**
|
|
39
|
+
* Apply eviction: returns the surviving memories.
|
|
40
|
+
* Removes lowest-scored memories until under capacity.
|
|
41
|
+
*/
|
|
42
|
+
evict(memories: Memory[]): Memory[];
|
|
43
|
+
/**
|
|
44
|
+
* Score a memory. Higher score = more valuable = kept longer.
|
|
45
|
+
*
|
|
46
|
+
* Combined strategy:
|
|
47
|
+
* score = importance * decay^hoursOld + recencyBonus
|
|
48
|
+
* recencyBonus = 1 / (1 + hoursOld)
|
|
49
|
+
*
|
|
50
|
+
* Importance-only: just the decayed importance.
|
|
51
|
+
* Recency-only: just the recency bonus.
|
|
52
|
+
*/
|
|
53
|
+
score(memory: Memory): number;
|
|
54
|
+
/**
|
|
55
|
+
* Estimate token count for a memory.
|
|
56
|
+
* Rough heuristic: ~4 characters per token for English text,
|
|
57
|
+
* plus embedding vector storage overhead.
|
|
58
|
+
*/
|
|
59
|
+
estimateTokens(memory: Memory): number;
|
|
60
|
+
}
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=contextWindow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextWindow.d.ts","sourceRoot":"","sources":["../../src/runtime/contextWindow.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,gBAAgB,EAAE,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC;IACxD,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,KAAK,MAAM,GAAG;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAcF,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAIjD;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO;IAWzC;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAqB9D;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAiCnC;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAkB7B;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAMvC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Window Management
|
|
3
|
+
*
|
|
4
|
+
* Importance-weighted memory eviction when context exceeds limits.
|
|
5
|
+
* Scoring combines importance (with temporal decay) and recency.
|
|
6
|
+
* High-importance memories above preserveThreshold are never evicted.
|
|
7
|
+
*/
|
|
8
|
+
const DEFAULT_CONFIG = {
|
|
9
|
+
maxMemories: 1000,
|
|
10
|
+
maxTokenEstimate: 100_000,
|
|
11
|
+
evictionStrategy: 'combined',
|
|
12
|
+
importanceDecay: 0.95,
|
|
13
|
+
preserveThreshold: 0.9,
|
|
14
|
+
};
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// CONTEXT WINDOW
|
|
17
|
+
// ============================================================================
|
|
18
|
+
export class ContextWindow {
|
|
19
|
+
config;
|
|
20
|
+
constructor(config) {
|
|
21
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Check if the memory set is at or over capacity.
|
|
25
|
+
*/
|
|
26
|
+
isAtCapacity(memories) {
|
|
27
|
+
if (memories.length >= this.config.maxMemories)
|
|
28
|
+
return true;
|
|
29
|
+
let totalTokens = 0;
|
|
30
|
+
for (const m of memories) {
|
|
31
|
+
totalTokens += this.estimateTokens(m);
|
|
32
|
+
if (totalTokens >= this.config.maxTokenEstimate)
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Select indices of memories to evict (lowest-scored first).
|
|
39
|
+
* Never selects memories above the preserve threshold.
|
|
40
|
+
*/
|
|
41
|
+
selectForEviction(memories, count) {
|
|
42
|
+
if (count <= 0 || memories.length === 0)
|
|
43
|
+
return [];
|
|
44
|
+
// Score all memories with their indices
|
|
45
|
+
const scored = memories.map((m, i) => ({
|
|
46
|
+
index: i,
|
|
47
|
+
score: this.score(m),
|
|
48
|
+
preserved: m.importance >= this.config.preserveThreshold,
|
|
49
|
+
}));
|
|
50
|
+
// Filter out preserved memories
|
|
51
|
+
const evictable = scored.filter(s => !s.preserved);
|
|
52
|
+
// Sort by score ascending (lowest score = evict first)
|
|
53
|
+
evictable.sort((a, b) => a.score - b.score);
|
|
54
|
+
// Take up to `count` indices
|
|
55
|
+
const toEvict = evictable.slice(0, count);
|
|
56
|
+
return toEvict.map(e => e.index);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Apply eviction: returns the surviving memories.
|
|
60
|
+
* Removes lowest-scored memories until under capacity.
|
|
61
|
+
*/
|
|
62
|
+
evict(memories) {
|
|
63
|
+
if (!this.isAtCapacity(memories))
|
|
64
|
+
return memories;
|
|
65
|
+
// Calculate how many to remove
|
|
66
|
+
const overCount = Math.max(0, memories.length - this.config.maxMemories);
|
|
67
|
+
// Also check token estimate
|
|
68
|
+
let totalTokens = 0;
|
|
69
|
+
for (const m of memories) {
|
|
70
|
+
totalTokens += this.estimateTokens(m);
|
|
71
|
+
}
|
|
72
|
+
const tokenOverage = totalTokens - this.config.maxTokenEstimate;
|
|
73
|
+
// Determine eviction count: at least overCount, plus enough to get under token limit
|
|
74
|
+
let evictCount = Math.max(overCount, 1); // evict at least 1 if at capacity
|
|
75
|
+
if (tokenOverage > 0) {
|
|
76
|
+
// Estimate average tokens per memory for additional evictions needed
|
|
77
|
+
const avgTokens = totalTokens / memories.length;
|
|
78
|
+
const tokenEvictions = Math.ceil(tokenOverage / avgTokens);
|
|
79
|
+
evictCount = Math.max(evictCount, tokenEvictions);
|
|
80
|
+
}
|
|
81
|
+
const indicesToRemove = new Set(this.selectForEviction(memories, evictCount));
|
|
82
|
+
if (indicesToRemove.size === 0) {
|
|
83
|
+
// All memories are preserved, nothing we can evict
|
|
84
|
+
return memories;
|
|
85
|
+
}
|
|
86
|
+
return memories.filter((_, i) => !indicesToRemove.has(i));
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Score a memory. Higher score = more valuable = kept longer.
|
|
90
|
+
*
|
|
91
|
+
* Combined strategy:
|
|
92
|
+
* score = importance * decay^hoursOld + recencyBonus
|
|
93
|
+
* recencyBonus = 1 / (1 + hoursOld)
|
|
94
|
+
*
|
|
95
|
+
* Importance-only: just the decayed importance.
|
|
96
|
+
* Recency-only: just the recency bonus.
|
|
97
|
+
*/
|
|
98
|
+
score(memory) {
|
|
99
|
+
const now = Date.now();
|
|
100
|
+
const hoursOld = Math.max(0, (now - memory.timestamp) / 3_600_000);
|
|
101
|
+
const decayedImportance = memory.importance * Math.pow(this.config.importanceDecay, hoursOld);
|
|
102
|
+
const recencyBonus = 1 / (1 + hoursOld);
|
|
103
|
+
switch (this.config.evictionStrategy) {
|
|
104
|
+
case 'importance':
|
|
105
|
+
return decayedImportance;
|
|
106
|
+
case 'recency':
|
|
107
|
+
return recencyBonus;
|
|
108
|
+
case 'combined':
|
|
109
|
+
default:
|
|
110
|
+
return decayedImportance + recencyBonus;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Estimate token count for a memory.
|
|
115
|
+
* Rough heuristic: ~4 characters per token for English text,
|
|
116
|
+
* plus embedding vector storage overhead.
|
|
117
|
+
*/
|
|
118
|
+
estimateTokens(memory) {
|
|
119
|
+
const contentTokens = Math.ceil(memory.content.length / 4);
|
|
120
|
+
// Embedding: 768 floats, but we don't count them toward LLM context tokens
|
|
121
|
+
// Only the content matters for context window usage
|
|
122
|
+
return Math.max(1, contentTokens);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=contextWindow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextWindow.js","sourceRoot":"","sources":["../../src/runtime/contextWindow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Identity Prompt Architecture
|
|
3
|
+
*
|
|
4
|
+
* Structured system prompt builder that assembles identity from components.
|
|
5
|
+
* Supports priority-weighted sections with token budget truncation.
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentState } from '../primitives/types.js';
|
|
8
|
+
export interface IdentitySection {
|
|
9
|
+
/** Section name (e.g., 'core', 'context', 'history', 'directives') */
|
|
10
|
+
name: string;
|
|
11
|
+
/** Higher priority = more important (kept under token pressure) */
|
|
12
|
+
priority: number;
|
|
13
|
+
/** Section content text */
|
|
14
|
+
content: string;
|
|
15
|
+
/** Optional token limit for this section */
|
|
16
|
+
maxTokens?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface IdentityConfig {
|
|
19
|
+
agentName: string;
|
|
20
|
+
agentRole: string;
|
|
21
|
+
coreIdentity: string;
|
|
22
|
+
contentPillars: string[];
|
|
23
|
+
voiceCharacteristics: string[];
|
|
24
|
+
signoff: string;
|
|
25
|
+
}
|
|
26
|
+
export interface IdentityContext {
|
|
27
|
+
memories?: Array<{
|
|
28
|
+
content: string;
|
|
29
|
+
importance: number;
|
|
30
|
+
}>;
|
|
31
|
+
recentTraces?: Array<{
|
|
32
|
+
content: string;
|
|
33
|
+
kind: string;
|
|
34
|
+
}>;
|
|
35
|
+
currentState?: AgentState;
|
|
36
|
+
sessionHistory?: string[];
|
|
37
|
+
taskDirectives?: string[];
|
|
38
|
+
}
|
|
39
|
+
export declare class IdentityPromptBuilder {
|
|
40
|
+
private config;
|
|
41
|
+
private sections;
|
|
42
|
+
constructor(config: IdentityConfig);
|
|
43
|
+
/**
|
|
44
|
+
* Add a dynamic section to the prompt.
|
|
45
|
+
*/
|
|
46
|
+
addSection(section: IdentitySection): void;
|
|
47
|
+
/**
|
|
48
|
+
* Build the full identity prompt from config + sections + context.
|
|
49
|
+
*/
|
|
50
|
+
build(context?: IdentityContext): string;
|
|
51
|
+
/**
|
|
52
|
+
* Build with a token budget. Truncates lower-priority sections first.
|
|
53
|
+
*/
|
|
54
|
+
buildWithBudget(maxTokens: number, context?: IdentityContext): string;
|
|
55
|
+
/**
|
|
56
|
+
* Get the config for inspection.
|
|
57
|
+
*/
|
|
58
|
+
getConfig(): IdentityConfig;
|
|
59
|
+
/**
|
|
60
|
+
* Get all sections sorted by priority (descending).
|
|
61
|
+
*/
|
|
62
|
+
getSections(): IdentitySection[];
|
|
63
|
+
}
|
|
64
|
+
export declare function createAgentZeroIdentity(): IdentityPromptBuilder;
|
|
65
|
+
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/runtime/identity.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAMzD,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAoBD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,MAAM,EAAE,cAAc;IAIlC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI1C;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM;IA2FxC;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM;IAoDrE;;OAEG;IACH,SAAS,IAAI,cAAc;IAI3B;;OAEG;IACH,WAAW,IAAI,eAAe,EAAE;CAGjC;AAMD,wBAAgB,uBAAuB,IAAI,qBAAqB,CAsB/D"}
|