agentic-qe 2.8.0 → 2.8.1
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 +105 -0
- package/README.md +1 -1
- package/dist/agents/BaseAgent.d.ts +128 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +256 -0
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/cli/commands/supabase/index.d.ts +20 -0
- package/dist/cli/commands/supabase/index.d.ts.map +1 -0
- package/dist/cli/commands/supabase/index.js +632 -0
- package/dist/cli/commands/supabase/index.js.map +1 -0
- package/dist/cli/index.js +3 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/mcp/handlers/NewDomainToolsHandler.d.ts +8 -8
- package/dist/mcp/handlers/NewDomainToolsHandler.d.ts.map +1 -1
- package/dist/mcp/handlers/NewDomainToolsHandler.js.map +1 -1
- package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts +54 -0
- package/dist/mcp/handlers/ruvector/RuVectorHandler.d.ts.map +1 -0
- package/dist/mcp/handlers/ruvector/RuVectorHandler.js +325 -0
- package/dist/mcp/handlers/ruvector/RuVectorHandler.js.map +1 -0
- package/dist/mcp/handlers/ruvector/index.d.ts +5 -0
- package/dist/mcp/handlers/ruvector/index.d.ts.map +1 -0
- package/dist/mcp/handlers/ruvector/index.js +9 -0
- package/dist/mcp/handlers/ruvector/index.js.map +1 -0
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +100 -22
- package/dist/mcp/server.js.map +1 -1
- package/dist/nervous-system/adapters/BTSPAdapter.d.ts +342 -0
- package/dist/nervous-system/adapters/BTSPAdapter.d.ts.map +1 -0
- package/dist/nervous-system/adapters/BTSPAdapter.js +494 -0
- package/dist/nervous-system/adapters/BTSPAdapter.js.map +1 -0
- package/dist/nervous-system/adapters/CircadianController.d.ts +560 -0
- package/dist/nervous-system/adapters/CircadianController.d.ts.map +1 -0
- package/dist/nervous-system/adapters/CircadianController.js +882 -0
- package/dist/nervous-system/adapters/CircadianController.js.map +1 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts +337 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.d.ts.map +1 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js +532 -0
- package/dist/nervous-system/adapters/GlobalWorkspaceAdapter.js.map +1 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts +444 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.d.ts.map +1 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.js +715 -0
- package/dist/nervous-system/adapters/HdcMemoryAdapter.js.map +1 -0
- package/dist/nervous-system/adapters/ReflexLayer.d.ts +231 -0
- package/dist/nervous-system/adapters/ReflexLayer.d.ts.map +1 -0
- package/dist/nervous-system/adapters/ReflexLayer.js +309 -0
- package/dist/nervous-system/adapters/ReflexLayer.js.map +1 -0
- package/dist/nervous-system/index.d.ts +25 -0
- package/dist/nervous-system/index.d.ts.map +1 -0
- package/dist/nervous-system/index.js +80 -0
- package/dist/nervous-system/index.js.map +1 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.d.ts +266 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.d.ts.map +1 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.js +587 -0
- package/dist/nervous-system/integration/BTSPLearningEngine.js.map +1 -0
- package/dist/nervous-system/integration/CircadianAgent.d.ts +389 -0
- package/dist/nervous-system/integration/CircadianAgent.d.ts.map +1 -0
- package/dist/nervous-system/integration/CircadianAgent.js +696 -0
- package/dist/nervous-system/integration/CircadianAgent.js.map +1 -0
- package/dist/nervous-system/integration/HybridPatternStore.d.ts +244 -0
- package/dist/nervous-system/integration/HybridPatternStore.d.ts.map +1 -0
- package/dist/nervous-system/integration/HybridPatternStore.js +622 -0
- package/dist/nervous-system/integration/HybridPatternStore.js.map +1 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts +459 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.d.ts.map +1 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.js +921 -0
- package/dist/nervous-system/integration/NervousSystemEnhancement.js.map +1 -0
- package/dist/nervous-system/integration/WorkspaceAgent.d.ts +398 -0
- package/dist/nervous-system/integration/WorkspaceAgent.d.ts.map +1 -0
- package/dist/nervous-system/integration/WorkspaceAgent.js +722 -0
- package/dist/nervous-system/integration/WorkspaceAgent.js.map +1 -0
- package/dist/nervous-system/integration/index.d.ts +22 -0
- package/dist/nervous-system/integration/index.d.ts.map +1 -0
- package/dist/nervous-system/integration/index.js +44 -0
- package/dist/nervous-system/integration/index.js.map +1 -0
- package/dist/nervous-system/persistence/BTSPSerializer.d.ts +96 -0
- package/dist/nervous-system/persistence/BTSPSerializer.d.ts.map +1 -0
- package/dist/nervous-system/persistence/BTSPSerializer.js +223 -0
- package/dist/nervous-system/persistence/BTSPSerializer.js.map +1 -0
- package/dist/nervous-system/persistence/CircadianSerializer.d.ts +90 -0
- package/dist/nervous-system/persistence/CircadianSerializer.d.ts.map +1 -0
- package/dist/nervous-system/persistence/CircadianSerializer.js +239 -0
- package/dist/nervous-system/persistence/CircadianSerializer.js.map +1 -0
- package/dist/nervous-system/persistence/HdcSerializer.d.ts +100 -0
- package/dist/nervous-system/persistence/HdcSerializer.d.ts.map +1 -0
- package/dist/nervous-system/persistence/HdcSerializer.js +259 -0
- package/dist/nervous-system/persistence/HdcSerializer.js.map +1 -0
- package/dist/nervous-system/persistence/INervousSystemStore.d.ts +208 -0
- package/dist/nervous-system/persistence/INervousSystemStore.d.ts.map +1 -0
- package/dist/nervous-system/persistence/INervousSystemStore.js +11 -0
- package/dist/nervous-system/persistence/INervousSystemStore.js.map +1 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts +187 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.d.ts.map +1 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js +411 -0
- package/dist/nervous-system/persistence/NervousSystemPersistenceManager.js.map +1 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts +98 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.d.ts.map +1 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js +510 -0
- package/dist/nervous-system/persistence/SQLiteNervousSystemStore.js.map +1 -0
- package/dist/nervous-system/persistence/index.d.ts +22 -0
- package/dist/nervous-system/persistence/index.d.ts.map +1 -0
- package/dist/nervous-system/persistence/index.js +45 -0
- package/dist/nervous-system/persistence/index.js.map +1 -0
- package/dist/nervous-system/wasm-loader.d.ts +52 -0
- package/dist/nervous-system/wasm-loader.d.ts.map +1 -0
- package/dist/nervous-system/wasm-loader.js +188 -0
- package/dist/nervous-system/wasm-loader.js.map +1 -0
- package/dist/persistence/HybridPersistenceProvider.d.ts +184 -0
- package/dist/persistence/HybridPersistenceProvider.d.ts.map +1 -0
- package/dist/persistence/HybridPersistenceProvider.js +1086 -0
- package/dist/persistence/HybridPersistenceProvider.js.map +1 -0
- package/dist/persistence/IPersistenceProvider.d.ts +657 -0
- package/dist/persistence/IPersistenceProvider.d.ts.map +1 -0
- package/dist/persistence/IPersistenceProvider.js +11 -0
- package/dist/persistence/IPersistenceProvider.js.map +1 -0
- package/dist/persistence/SupabaseConfig.d.ts +176 -0
- package/dist/persistence/SupabaseConfig.d.ts.map +1 -0
- package/dist/persistence/SupabaseConfig.js +277 -0
- package/dist/persistence/SupabaseConfig.js.map +1 -0
- package/dist/persistence/SupabasePersistenceProvider.d.ts +143 -0
- package/dist/persistence/SupabasePersistenceProvider.d.ts.map +1 -0
- package/dist/persistence/SupabasePersistenceProvider.js +955 -0
- package/dist/persistence/SupabasePersistenceProvider.js.map +1 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts +213 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.d.ts.map +1 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js +468 -0
- package/dist/persistence/adapters/CodeIntelligenceSyncAdapter.js.map +1 -0
- package/dist/persistence/adapters/MemorySyncAdapter.d.ts +115 -0
- package/dist/persistence/adapters/MemorySyncAdapter.d.ts.map +1 -0
- package/dist/persistence/adapters/MemorySyncAdapter.js +291 -0
- package/dist/persistence/adapters/MemorySyncAdapter.js.map +1 -0
- package/dist/persistence/adapters/index.d.ts +11 -0
- package/dist/persistence/adapters/index.d.ts.map +1 -0
- package/dist/persistence/adapters/index.js +20 -0
- package/dist/persistence/adapters/index.js.map +1 -0
- package/dist/persistence/index.d.ts +14 -0
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +36 -1
- package/dist/persistence/index.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspaceAgent.js","sourceRoot":"","sources":["../../../src/nervous-system/integration/WorkspaceAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nervous System Integration Components
|
|
3
|
+
*
|
|
4
|
+
* These modules connect the bio-inspired WASM nervous system adapters
|
|
5
|
+
* to the existing QE agent infrastructure:
|
|
6
|
+
*
|
|
7
|
+
* - HybridPatternStore: HDC + IPatternStore for 50ns pattern binding
|
|
8
|
+
* - BTSPLearningEngine: BTSP + LearningEngine for one-shot learning
|
|
9
|
+
* - WorkspaceAgentCoordinator: Global Workspace + agent coordination
|
|
10
|
+
* - CircadianAgentManager: Circadian + agent lifecycle
|
|
11
|
+
* - NervousSystemEnhancement: Mixin to enhance any BaseAgent (planned)
|
|
12
|
+
*
|
|
13
|
+
* @module nervous-system/integration
|
|
14
|
+
*/
|
|
15
|
+
export { HybridPatternStore, type HybridPatternStoreConfig, createHybridPatternStore, createHighPerformanceHybridStore, } from './HybridPatternStore.js';
|
|
16
|
+
export { BTSPLearningEngine, type BTSPLearningEngineConfig, type BTSPLearningOutcome, type BTSPLearningMetrics, type BTSPStrategyRecommendation, createBTSPLearningEngine, } from './BTSPLearningEngine.js';
|
|
17
|
+
export { WorkspaceAgentCoordinator, type AgentWorkspaceItem, type TaskCoordinationRequest, type TaskCoordinationResult, type WorkspaceAgentCoordinatorConfig, type WorkspaceAgentEvents, createWorkspaceCoordinator, createFocusedCoordinator, createExpandedCoordinator, } from './WorkspaceAgent.js';
|
|
18
|
+
export { CircadianAgentManager, type AgentPhaseConfig, type ManagedAgentState, type EnergySavingsReport, type CriticalityLevel, type PhaseTransitionEvent, type AgentSleepEvent, type CircadianAgentManagerConfig, type CircadianAgentEvents, } from './CircadianAgent.js';
|
|
19
|
+
export { enhanceWithNervousSystem, WithNervousSystem, NervousSystemFleetCoordinator, type NervousSystemConfig, type NervousSystemEnhancedAgent, type NervousSystemStats, type FleetNervousSystemStats, type TaskFailure, type WorkspaceItem, type StrategyRecommendation as NervousSystemStrategyRecommendation, } from './NervousSystemEnhancement.js';
|
|
20
|
+
export type { TestPattern, PatternSearchResult, PatternStoreStats, PatternSearchOptions, PatternStoreConfig, IPatternStore, } from '../../core/memory/IPatternStore.js';
|
|
21
|
+
export type { LearningOutcome, StrategyRecommendation, TaskState, TaskExperience, AgentAction, LearningFeedback, LearnedPattern, } from '../../learning/types.js';
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/nervous-system/integration/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,EAC7B,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,EACpC,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEL,wBAAwB,EAExB,iBAAiB,EAEjB,6BAA6B,EAE7B,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAE5B,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,sBAAsB,IAAI,mCAAmC,GACnE,MAAM,+BAA+B,CAAC;AAGvC,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,GACd,MAAM,oCAAoC,CAAC;AAE5C,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,SAAS,EACT,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,cAAc,GACf,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Nervous System Integration Components
|
|
4
|
+
*
|
|
5
|
+
* These modules connect the bio-inspired WASM nervous system adapters
|
|
6
|
+
* to the existing QE agent infrastructure:
|
|
7
|
+
*
|
|
8
|
+
* - HybridPatternStore: HDC + IPatternStore for 50ns pattern binding
|
|
9
|
+
* - BTSPLearningEngine: BTSP + LearningEngine for one-shot learning
|
|
10
|
+
* - WorkspaceAgentCoordinator: Global Workspace + agent coordination
|
|
11
|
+
* - CircadianAgentManager: Circadian + agent lifecycle
|
|
12
|
+
* - NervousSystemEnhancement: Mixin to enhance any BaseAgent (planned)
|
|
13
|
+
*
|
|
14
|
+
* @module nervous-system/integration
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.NervousSystemFleetCoordinator = exports.WithNervousSystem = exports.enhanceWithNervousSystem = exports.CircadianAgentManager = exports.createExpandedCoordinator = exports.createFocusedCoordinator = exports.createWorkspaceCoordinator = exports.WorkspaceAgentCoordinator = exports.createBTSPLearningEngine = exports.BTSPLearningEngine = exports.createHighPerformanceHybridStore = exports.createHybridPatternStore = exports.HybridPatternStore = void 0;
|
|
18
|
+
// Pattern storage with HDC acceleration
|
|
19
|
+
var HybridPatternStore_js_1 = require("./HybridPatternStore.js");
|
|
20
|
+
Object.defineProperty(exports, "HybridPatternStore", { enumerable: true, get: function () { return HybridPatternStore_js_1.HybridPatternStore; } });
|
|
21
|
+
Object.defineProperty(exports, "createHybridPatternStore", { enumerable: true, get: function () { return HybridPatternStore_js_1.createHybridPatternStore; } });
|
|
22
|
+
Object.defineProperty(exports, "createHighPerformanceHybridStore", { enumerable: true, get: function () { return HybridPatternStore_js_1.createHighPerformanceHybridStore; } });
|
|
23
|
+
// One-shot learning with BTSP
|
|
24
|
+
var BTSPLearningEngine_js_1 = require("./BTSPLearningEngine.js");
|
|
25
|
+
Object.defineProperty(exports, "BTSPLearningEngine", { enumerable: true, get: function () { return BTSPLearningEngine_js_1.BTSPLearningEngine; } });
|
|
26
|
+
Object.defineProperty(exports, "createBTSPLearningEngine", { enumerable: true, get: function () { return BTSPLearningEngine_js_1.createBTSPLearningEngine; } });
|
|
27
|
+
// Global Workspace agent coordination
|
|
28
|
+
var WorkspaceAgent_js_1 = require("./WorkspaceAgent.js");
|
|
29
|
+
Object.defineProperty(exports, "WorkspaceAgentCoordinator", { enumerable: true, get: function () { return WorkspaceAgent_js_1.WorkspaceAgentCoordinator; } });
|
|
30
|
+
Object.defineProperty(exports, "createWorkspaceCoordinator", { enumerable: true, get: function () { return WorkspaceAgent_js_1.createWorkspaceCoordinator; } });
|
|
31
|
+
Object.defineProperty(exports, "createFocusedCoordinator", { enumerable: true, get: function () { return WorkspaceAgent_js_1.createFocusedCoordinator; } });
|
|
32
|
+
Object.defineProperty(exports, "createExpandedCoordinator", { enumerable: true, get: function () { return WorkspaceAgent_js_1.createExpandedCoordinator; } });
|
|
33
|
+
// Circadian duty cycling
|
|
34
|
+
var CircadianAgent_js_1 = require("./CircadianAgent.js");
|
|
35
|
+
Object.defineProperty(exports, "CircadianAgentManager", { enumerable: true, get: function () { return CircadianAgent_js_1.CircadianAgentManager; } });
|
|
36
|
+
// Nervous System Enhancement - Mixin to enhance any BaseAgent
|
|
37
|
+
var NervousSystemEnhancement_js_1 = require("./NervousSystemEnhancement.js");
|
|
38
|
+
// Core enhancement function
|
|
39
|
+
Object.defineProperty(exports, "enhanceWithNervousSystem", { enumerable: true, get: function () { return NervousSystemEnhancement_js_1.enhanceWithNervousSystem; } });
|
|
40
|
+
// Class decorator
|
|
41
|
+
Object.defineProperty(exports, "WithNervousSystem", { enumerable: true, get: function () { return NervousSystemEnhancement_js_1.WithNervousSystem; } });
|
|
42
|
+
// Fleet coordinator
|
|
43
|
+
Object.defineProperty(exports, "NervousSystemFleetCoordinator", { enumerable: true, get: function () { return NervousSystemEnhancement_js_1.NervousSystemFleetCoordinator; } });
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nervous-system/integration/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,wCAAwC;AACxC,iEAKiC;AAJ/B,2HAAA,kBAAkB,OAAA;AAElB,iIAAA,wBAAwB,OAAA;AACxB,yIAAA,gCAAgC,OAAA;AAGlC,8BAA8B;AAC9B,iEAOiC;AAN/B,2HAAA,kBAAkB,OAAA;AAKlB,iIAAA,wBAAwB,OAAA;AAG1B,sCAAsC;AACtC,yDAU6B;AAT3B,8HAAA,yBAAyB,OAAA;AAMzB,+HAAA,0BAA0B,OAAA;AAC1B,6HAAA,wBAAwB,OAAA;AACxB,8HAAA,yBAAyB,OAAA;AAG3B,yBAAyB;AACzB,yDAU6B;AAT3B,0HAAA,qBAAqB,OAAA;AAWvB,8DAA8D;AAC9D,6EAgBuC;AAfrC,4BAA4B;AAC5B,uIAAA,wBAAwB,OAAA;AACxB,kBAAkB;AAClB,gIAAA,iBAAiB,OAAA;AACjB,oBAAoB;AACpB,4IAAA,6BAA6B,OAAA"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BTSP Adapter Serializer
|
|
3
|
+
*
|
|
4
|
+
* Handles serialization and deserialization of Behavioral Timescale
|
|
5
|
+
* Synaptic Plasticity (BTSP) adapter state, including weights,
|
|
6
|
+
* Fisher diagonal for EWC, and learned associations.
|
|
7
|
+
*
|
|
8
|
+
* @module nervous-system/persistence/BTSPSerializer
|
|
9
|
+
*/
|
|
10
|
+
import type { BTSPSerializedState } from './INervousSystemStore.js';
|
|
11
|
+
import type { BTSPAdapterConfig } from '../adapters/BTSPAdapter.js';
|
|
12
|
+
/**
|
|
13
|
+
* Options for BTSP serialization
|
|
14
|
+
*/
|
|
15
|
+
export interface BTSPSerializerOptions {
|
|
16
|
+
/** Include associations in serialization (default: true) */
|
|
17
|
+
includeAssociations?: boolean;
|
|
18
|
+
/** Maximum associations to include (0 = all) */
|
|
19
|
+
maxAssociations?: number;
|
|
20
|
+
/** Include EWC Fisher diagonal (default: true) */
|
|
21
|
+
includeEwc?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Interface for a serializable BTSP adapter
|
|
25
|
+
* Defines what the adapter must expose for serialization
|
|
26
|
+
*/
|
|
27
|
+
export interface SerializableBTSPAdapter {
|
|
28
|
+
/** Get the configuration */
|
|
29
|
+
getConfig(): BTSPAdapterConfig;
|
|
30
|
+
/** Get BTSP layer weights */
|
|
31
|
+
getWeights(): Float32Array;
|
|
32
|
+
/** Get Fisher diagonal for EWC */
|
|
33
|
+
getFisherDiagonal(): Float32Array;
|
|
34
|
+
/** Get consolidated weights reference */
|
|
35
|
+
getConsolidatedWeights(): Float32Array;
|
|
36
|
+
/** Get association count */
|
|
37
|
+
getAssociationCount(): number;
|
|
38
|
+
/** Get all associations */
|
|
39
|
+
getAssociations(): Array<{
|
|
40
|
+
pattern: Float32Array;
|
|
41
|
+
target: Float32Array;
|
|
42
|
+
}>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Interface for a restorable BTSP adapter
|
|
46
|
+
*/
|
|
47
|
+
export interface RestorableBTSPAdapter {
|
|
48
|
+
/** Restore weights from array */
|
|
49
|
+
restoreWeights(weights: Float32Array): void;
|
|
50
|
+
/** Restore Fisher diagonal */
|
|
51
|
+
restoreFisherDiagonal(fisher: Float32Array): void;
|
|
52
|
+
/** Restore consolidated weights */
|
|
53
|
+
restoreConsolidatedWeights(weights: Float32Array): void;
|
|
54
|
+
/** Restore associations */
|
|
55
|
+
restoreAssociations(associations: Array<{
|
|
56
|
+
pattern: Float32Array;
|
|
57
|
+
target: Float32Array;
|
|
58
|
+
}>): void;
|
|
59
|
+
/** Restore association count */
|
|
60
|
+
restoreAssociationCount(count: number): void;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Serialize a BTSP adapter to storable format
|
|
64
|
+
*
|
|
65
|
+
* @param adapter - The BTSP adapter to serialize
|
|
66
|
+
* @param options - Serialization options
|
|
67
|
+
* @returns Serialized state ready for storage
|
|
68
|
+
*/
|
|
69
|
+
export declare function serializeBTSP(adapter: SerializableBTSPAdapter, options?: BTSPSerializerOptions): BTSPSerializedState;
|
|
70
|
+
/**
|
|
71
|
+
* Deserialize stored state back into a BTSP adapter
|
|
72
|
+
*
|
|
73
|
+
* @param state - Serialized state from storage
|
|
74
|
+
* @param adapter - The adapter to restore state into
|
|
75
|
+
*/
|
|
76
|
+
export declare function deserializeBTSP(state: BTSPSerializedState, adapter: RestorableBTSPAdapter): void;
|
|
77
|
+
/**
|
|
78
|
+
* Calculate approximate size of serialized state in bytes
|
|
79
|
+
*/
|
|
80
|
+
export declare function calculateStateSize(state: BTSPSerializedState): number;
|
|
81
|
+
/**
|
|
82
|
+
* Validate serialized state integrity
|
|
83
|
+
*/
|
|
84
|
+
export declare function validateBTSPState(state: BTSPSerializedState): {
|
|
85
|
+
valid: boolean;
|
|
86
|
+
errors: string[];
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Create an empty state for initialization
|
|
90
|
+
*/
|
|
91
|
+
export declare function createEmptyBTSPState(config: BTSPAdapterConfig): BTSPSerializedState;
|
|
92
|
+
/**
|
|
93
|
+
* Export types
|
|
94
|
+
*/
|
|
95
|
+
export type { BTSPSerializedState };
|
|
96
|
+
//# sourceMappingURL=BTSPSerializer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BTSPSerializer.d.ts","sourceRoot":"","sources":["../../../src/nervous-system/persistence/BTSPSerializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAOpE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kDAAkD;IAClD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,4BAA4B;IAC5B,SAAS,IAAI,iBAAiB,CAAC;IAC/B,6BAA6B;IAC7B,UAAU,IAAI,YAAY,CAAC;IAC3B,kCAAkC;IAClC,iBAAiB,IAAI,YAAY,CAAC;IAClC,yCAAyC;IACzC,sBAAsB,IAAI,YAAY,CAAC;IACvC,4BAA4B;IAC5B,mBAAmB,IAAI,MAAM,CAAC;IAC9B,2BAA2B;IAC3B,eAAe,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;CAC3E;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,iCAAiC;IACjC,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5C,8BAA8B;IAC9B,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAClD,mCAAmC;IACnC,0BAA0B,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IACxD,2BAA2B;IAC3B,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IAChG,gCAAgC;IAChC,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C;AAgBD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,uBAAuB,EAChC,OAAO,GAAE,qBAA0B,GAClC,mBAAmB,CAmDrB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,qBAAqB,GAC7B,IAAI,CA8BN;AAWD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAkBrE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG;IAC7D,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CA8DA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,CAkBnF;AAED;;GAEG;AACH,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* BTSP Adapter Serializer
|
|
4
|
+
*
|
|
5
|
+
* Handles serialization and deserialization of Behavioral Timescale
|
|
6
|
+
* Synaptic Plasticity (BTSP) adapter state, including weights,
|
|
7
|
+
* Fisher diagonal for EWC, and learned associations.
|
|
8
|
+
*
|
|
9
|
+
* @module nervous-system/persistence/BTSPSerializer
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.serializeBTSP = serializeBTSP;
|
|
13
|
+
exports.deserializeBTSP = deserializeBTSP;
|
|
14
|
+
exports.calculateStateSize = calculateStateSize;
|
|
15
|
+
exports.validateBTSPState = validateBTSPState;
|
|
16
|
+
exports.createEmptyBTSPState = createEmptyBTSPState;
|
|
17
|
+
/**
|
|
18
|
+
* Current serialization schema version
|
|
19
|
+
*/
|
|
20
|
+
const SCHEMA_VERSION = 1;
|
|
21
|
+
/**
|
|
22
|
+
* Convert Float32Array to regular number array for JSON serialization
|
|
23
|
+
*/
|
|
24
|
+
function float32ToArray(arr) {
|
|
25
|
+
return Array.from(arr);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Convert regular number array back to Float32Array
|
|
29
|
+
*/
|
|
30
|
+
function arrayToFloat32(arr) {
|
|
31
|
+
return new Float32Array(arr);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Serialize a BTSP adapter to storable format
|
|
35
|
+
*
|
|
36
|
+
* @param adapter - The BTSP adapter to serialize
|
|
37
|
+
* @param options - Serialization options
|
|
38
|
+
* @returns Serialized state ready for storage
|
|
39
|
+
*/
|
|
40
|
+
function serializeBTSP(adapter, options = {}) {
|
|
41
|
+
const { includeAssociations = true, maxAssociations = 0, includeEwc = true, } = options;
|
|
42
|
+
const config = adapter.getConfig();
|
|
43
|
+
const weights = adapter.getWeights();
|
|
44
|
+
const associationCount = adapter.getAssociationCount();
|
|
45
|
+
// Build serialized state
|
|
46
|
+
const state = {
|
|
47
|
+
version: SCHEMA_VERSION,
|
|
48
|
+
config: {
|
|
49
|
+
inputSize: config.inputSize,
|
|
50
|
+
outputSize: config.outputSize,
|
|
51
|
+
tau: config.tau,
|
|
52
|
+
plateauThreshold: config.plateauThreshold,
|
|
53
|
+
ewcLambda: config.ewcLambda,
|
|
54
|
+
maxCapacity: config.maxCapacity,
|
|
55
|
+
},
|
|
56
|
+
weights: float32ToArray(weights),
|
|
57
|
+
fisherDiagonal: [],
|
|
58
|
+
consolidatedWeights: [],
|
|
59
|
+
associationCount,
|
|
60
|
+
associations: [],
|
|
61
|
+
serializedAt: Date.now(),
|
|
62
|
+
};
|
|
63
|
+
// Include EWC state if requested
|
|
64
|
+
if (includeEwc) {
|
|
65
|
+
state.fisherDiagonal = float32ToArray(adapter.getFisherDiagonal());
|
|
66
|
+
state.consolidatedWeights = float32ToArray(adapter.getConsolidatedWeights());
|
|
67
|
+
}
|
|
68
|
+
// Include associations if requested
|
|
69
|
+
if (includeAssociations) {
|
|
70
|
+
const associations = adapter.getAssociations();
|
|
71
|
+
const limit = maxAssociations > 0 ? Math.min(maxAssociations, associations.length) : associations.length;
|
|
72
|
+
for (let i = 0; i < limit; i++) {
|
|
73
|
+
const { pattern, target } = associations[i];
|
|
74
|
+
state.associations.push({
|
|
75
|
+
pattern: float32ToArray(pattern),
|
|
76
|
+
target: float32ToArray(target),
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return state;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Deserialize stored state back into a BTSP adapter
|
|
84
|
+
*
|
|
85
|
+
* @param state - Serialized state from storage
|
|
86
|
+
* @param adapter - The adapter to restore state into
|
|
87
|
+
*/
|
|
88
|
+
function deserializeBTSP(state, adapter) {
|
|
89
|
+
// Handle version migration if needed
|
|
90
|
+
if (state.version !== SCHEMA_VERSION) {
|
|
91
|
+
migrateState(state);
|
|
92
|
+
}
|
|
93
|
+
// Restore weights
|
|
94
|
+
const weights = arrayToFloat32(state.weights);
|
|
95
|
+
adapter.restoreWeights(weights);
|
|
96
|
+
// Restore EWC state if present
|
|
97
|
+
if (state.fisherDiagonal.length > 0) {
|
|
98
|
+
adapter.restoreFisherDiagonal(arrayToFloat32(state.fisherDiagonal));
|
|
99
|
+
}
|
|
100
|
+
if (state.consolidatedWeights.length > 0) {
|
|
101
|
+
adapter.restoreConsolidatedWeights(arrayToFloat32(state.consolidatedWeights));
|
|
102
|
+
}
|
|
103
|
+
// Restore association count
|
|
104
|
+
adapter.restoreAssociationCount(state.associationCount);
|
|
105
|
+
// Restore associations
|
|
106
|
+
if (state.associations.length > 0) {
|
|
107
|
+
const associations = state.associations.map(({ pattern, target }) => ({
|
|
108
|
+
pattern: arrayToFloat32(pattern),
|
|
109
|
+
target: arrayToFloat32(target),
|
|
110
|
+
}));
|
|
111
|
+
adapter.restoreAssociations(associations);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Migrate state from older schema versions
|
|
116
|
+
*/
|
|
117
|
+
function migrateState(state) {
|
|
118
|
+
// Future: Add migration logic as schema evolves
|
|
119
|
+
// For now, just update version
|
|
120
|
+
state.version = SCHEMA_VERSION;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Calculate approximate size of serialized state in bytes
|
|
124
|
+
*/
|
|
125
|
+
function calculateStateSize(state) {
|
|
126
|
+
let size = 0;
|
|
127
|
+
// Weights (4 bytes per float32)
|
|
128
|
+
size += state.weights.length * 4;
|
|
129
|
+
size += state.fisherDiagonal.length * 4;
|
|
130
|
+
size += state.consolidatedWeights.length * 4;
|
|
131
|
+
// Associations
|
|
132
|
+
for (const assoc of state.associations) {
|
|
133
|
+
size += assoc.pattern.length * 4;
|
|
134
|
+
size += assoc.target.length * 4;
|
|
135
|
+
}
|
|
136
|
+
// Config and metadata overhead (rough estimate)
|
|
137
|
+
size += 200;
|
|
138
|
+
return size;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Validate serialized state integrity
|
|
142
|
+
*/
|
|
143
|
+
function validateBTSPState(state) {
|
|
144
|
+
const errors = [];
|
|
145
|
+
// Check version
|
|
146
|
+
if (typeof state.version !== 'number' || state.version < 1) {
|
|
147
|
+
errors.push('Invalid schema version');
|
|
148
|
+
}
|
|
149
|
+
// Check config
|
|
150
|
+
if (!state.config) {
|
|
151
|
+
errors.push('Missing config');
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
if (typeof state.config.inputSize !== 'number' || state.config.inputSize < 1) {
|
|
155
|
+
errors.push('Invalid inputSize in config');
|
|
156
|
+
}
|
|
157
|
+
if (typeof state.config.outputSize !== 'number' || state.config.outputSize < 1) {
|
|
158
|
+
errors.push('Invalid outputSize in config');
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// Check weights
|
|
162
|
+
if (!Array.isArray(state.weights)) {
|
|
163
|
+
errors.push('Weights is not an array');
|
|
164
|
+
}
|
|
165
|
+
else if (state.weights.length !== state.config.inputSize) {
|
|
166
|
+
errors.push(`Weights size mismatch: ${state.weights.length} vs config.inputSize ${state.config.inputSize}`);
|
|
167
|
+
}
|
|
168
|
+
// Check Fisher diagonal if present
|
|
169
|
+
if (state.fisherDiagonal.length > 0) {
|
|
170
|
+
if (state.fisherDiagonal.length !== state.config.inputSize) {
|
|
171
|
+
errors.push(`Fisher diagonal size mismatch: ${state.fisherDiagonal.length}`);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// Check consolidated weights if present
|
|
175
|
+
if (state.consolidatedWeights.length > 0) {
|
|
176
|
+
if (state.consolidatedWeights.length !== state.config.inputSize) {
|
|
177
|
+
errors.push(`Consolidated weights size mismatch: ${state.consolidatedWeights.length}`);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
// Check associations
|
|
181
|
+
if (!Array.isArray(state.associations)) {
|
|
182
|
+
errors.push('Associations is not an array');
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
for (let i = 0; i < state.associations.length; i++) {
|
|
186
|
+
const assoc = state.associations[i];
|
|
187
|
+
if (!Array.isArray(assoc.pattern) || !Array.isArray(assoc.target)) {
|
|
188
|
+
errors.push(`Association ${i} has invalid pattern or target`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// Check association count
|
|
193
|
+
if (typeof state.associationCount !== 'number' || state.associationCount < 0) {
|
|
194
|
+
errors.push('Invalid association count');
|
|
195
|
+
}
|
|
196
|
+
return {
|
|
197
|
+
valid: errors.length === 0,
|
|
198
|
+
errors,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Create an empty state for initialization
|
|
203
|
+
*/
|
|
204
|
+
function createEmptyBTSPState(config) {
|
|
205
|
+
return {
|
|
206
|
+
version: SCHEMA_VERSION,
|
|
207
|
+
config: {
|
|
208
|
+
inputSize: config.inputSize,
|
|
209
|
+
outputSize: config.outputSize,
|
|
210
|
+
tau: config.tau,
|
|
211
|
+
plateauThreshold: config.plateauThreshold,
|
|
212
|
+
ewcLambda: config.ewcLambda,
|
|
213
|
+
maxCapacity: config.maxCapacity,
|
|
214
|
+
},
|
|
215
|
+
weights: new Array(config.inputSize).fill(0),
|
|
216
|
+
fisherDiagonal: new Array(config.inputSize).fill(0),
|
|
217
|
+
consolidatedWeights: new Array(config.inputSize).fill(0),
|
|
218
|
+
associationCount: 0,
|
|
219
|
+
associations: [],
|
|
220
|
+
serializedAt: Date.now(),
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=BTSPSerializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BTSPSerializer.js","sourceRoot":"","sources":["../../../src/nervous-system/persistence/BTSPSerializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Circadian Controller Serializer
|
|
3
|
+
*
|
|
4
|
+
* Handles serialization and deserialization of CircadianController state.
|
|
5
|
+
* Since circadian state is all primitives and simple objects, we use JSON.
|
|
6
|
+
*
|
|
7
|
+
* @module nervous-system/persistence/CircadianSerializer
|
|
8
|
+
*/
|
|
9
|
+
import type { CircadianSerializedState } from './INervousSystemStore.js';
|
|
10
|
+
import type { CircadianPhase, CircadianState, CircadianMetrics, CircadianModulation } from '../adapters/CircadianController.js';
|
|
11
|
+
/**
|
|
12
|
+
* Options for circadian serialization
|
|
13
|
+
*/
|
|
14
|
+
export interface CircadianSerializerOptions {
|
|
15
|
+
/** Include metrics history (default: true) */
|
|
16
|
+
includeMetrics?: boolean;
|
|
17
|
+
/** Include modulation state (default: true) */
|
|
18
|
+
includeModulation?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Interface for a serializable circadian controller
|
|
22
|
+
*/
|
|
23
|
+
export interface SerializableCircadianController {
|
|
24
|
+
/** Get current state */
|
|
25
|
+
getState(): CircadianState;
|
|
26
|
+
/** Get accumulated metrics */
|
|
27
|
+
getMetrics(): CircadianMetrics;
|
|
28
|
+
/** Get last phase change timestamp */
|
|
29
|
+
getLastPhaseChangeTime(): number;
|
|
30
|
+
/** Get modulation start time if active */
|
|
31
|
+
getModulationStartTime(): number | undefined;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Interface for a restorable circadian controller
|
|
35
|
+
*/
|
|
36
|
+
export interface RestorableCircadianController {
|
|
37
|
+
/** Restore state from saved values */
|
|
38
|
+
restoreState(phase: CircadianPhase, cycleTime: number, phaseTime: number, cyclesCompleted: number, energyRemaining: number, modulation: CircadianModulation | null): void;
|
|
39
|
+
/** Restore metrics */
|
|
40
|
+
restoreMetrics(metrics: CircadianMetrics): void;
|
|
41
|
+
/** Restore last phase change time */
|
|
42
|
+
restoreLastPhaseChangeTime(time: number): void;
|
|
43
|
+
/** Restore modulation start time */
|
|
44
|
+
restoreModulationStartTime(time: number | undefined): void;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Serialize a CircadianController to storable format
|
|
48
|
+
*
|
|
49
|
+
* @param controller - The controller to serialize
|
|
50
|
+
* @param options - Serialization options
|
|
51
|
+
* @returns Serialized state ready for storage
|
|
52
|
+
*/
|
|
53
|
+
export declare function serializeCircadian(controller: SerializableCircadianController, options?: CircadianSerializerOptions): CircadianSerializedState;
|
|
54
|
+
/**
|
|
55
|
+
* Deserialize stored state back into a CircadianController
|
|
56
|
+
*
|
|
57
|
+
* @param state - Serialized state from storage
|
|
58
|
+
* @param controller - The controller to restore state into
|
|
59
|
+
*/
|
|
60
|
+
export declare function deserializeCircadian(state: CircadianSerializedState, controller: RestorableCircadianController): void;
|
|
61
|
+
/**
|
|
62
|
+
* Calculate approximate size of serialized state in bytes
|
|
63
|
+
*/
|
|
64
|
+
export declare function calculateStateSize(state: CircadianSerializedState): number;
|
|
65
|
+
/**
|
|
66
|
+
* Validate serialized state integrity
|
|
67
|
+
*/
|
|
68
|
+
export declare function validateCircadianState(state: CircadianSerializedState): {
|
|
69
|
+
valid: boolean;
|
|
70
|
+
errors: string[];
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Create a default serialized state for new controllers
|
|
74
|
+
*/
|
|
75
|
+
export declare function createDefaultCircadianState(initialPhase?: CircadianPhase, energyBudget?: number): CircadianSerializedState;
|
|
76
|
+
/**
|
|
77
|
+
* Calculate energy savings from metrics
|
|
78
|
+
*/
|
|
79
|
+
export declare function calculateEnergySavings(state: CircadianSerializedState): {
|
|
80
|
+
savingsPercentage: number;
|
|
81
|
+
totalRestTime: number;
|
|
82
|
+
totalActiveTime: number;
|
|
83
|
+
averageDutyFactor: number;
|
|
84
|
+
costReductionFactor: number;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Export types
|
|
88
|
+
*/
|
|
89
|
+
export type { CircadianSerializedState };
|
|
90
|
+
//# sourceMappingURL=CircadianSerializer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CircadianSerializer.d.ts","sourceRoot":"","sources":["../../../src/nervous-system/persistence/CircadianSerializer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EAEpB,MAAM,oCAAoC,CAAC;AAO5C;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,8CAA8C;IAC9C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,wBAAwB;IACxB,QAAQ,IAAI,cAAc,CAAC;IAC3B,8BAA8B;IAC9B,UAAU,IAAI,gBAAgB,CAAC;IAC/B,sCAAsC;IACtC,sBAAsB,IAAI,MAAM,CAAC;IACjC,0CAA0C;IAC1C,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,sCAAsC;IACtC,YAAY,CACV,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,mBAAmB,GAAG,IAAI,GACrC,IAAI,CAAC;IACR,sBAAsB;IACtB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChD,qCAAqC;IACrC,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,oCAAoC;IACpC,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;CAC5D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,+BAA+B,EAC3C,OAAO,GAAE,0BAA+B,GACvC,wBAAwB,CA+B1B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,wBAAwB,EAC/B,UAAU,EAAE,6BAA6B,GACxC,IAAI,CA2BN;AAyCD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAG1E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,GAAG;IACvE,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAgEA;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,GAAE,cAAyB,EACvC,YAAY,GAAE,MAAU,GACvB,wBAAwB,CAiB1B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,GAAG;IACvE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAmCA;AAED;;GAEG;AACH,YAAY,EAAE,wBAAwB,EAAE,CAAC"}
|