@cnstra/core 2.0.1 → 2.1.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.
@@ -11,6 +11,8 @@ export declare class CNSPersistOptionsRegistry {
11
11
  addNeuron(neuron: TCNSNeuron<unknown, TCNSAxon>, options: TCNSNeuronPersistOptions<TCNSNeuron<unknown, TCNSAxon>>): void;
12
12
  getNeuron(name: string): TCNSNeuron<unknown, TCNSAxon> | undefined;
13
13
  getNeuronName(neuron: TCNSNeuron<unknown, TCNSAxon>): string | undefined;
14
+ getNamedNeurons(): ReadonlyMap<string, TCNSNeuron<unknown, TCNSAxon>>;
15
+ getCollateralName(collateral: CNSCollateral<unknown>): string | undefined;
14
16
  removeNeuron(name: string): void;
15
17
  addCollateral(collateral: CNSCollateral<unknown>, options: TCNSCollateralPersistOptions): void;
16
18
  getCollateral(name: string): CNSCollateral<unknown> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"CNSPersistOptionsRegistry.d.ts","sourceRoot":"","sources":["../src/CNSPersistOptionsRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACH,4BAA4B,EAC5B,wBAAwB,EACxB,6BAA6B,EAChC,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,yBAAyB;IAClC,OAAO,CAAC,OAAO,CAAoD;IACnE,OAAO,CAAC,WAAW,CAAwD;IAE3E,OAAO,CAAC,WAAW,CAA6C;IAEhE,OAAO,CAAC,YAAY,CAGhB;IAEJ,SAAS,CACL,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EACrC,OAAO,EAAE,wBAAwB,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,GACjE,IAAI;IAKP,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,SAAS;IAIlE,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,GAAG,SAAS;IAIxE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMhC,aAAa,CACT,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,EAClC,OAAO,EAAE,4BAA4B,GACtC,IAAI;IAIP,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS;IAI/D,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,cAAc,CACV,WAAW,EAAE,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAC1D,OAAO,EAAE,6BAA6B,GACvC,IAAI;IAIP,cAAc,CACV,aAAa,EAAE,MAAM,GACtB,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,GAAG,SAAS;IAI5D,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;CAGjD"}
1
+ {"version":3,"file":"CNSPersistOptionsRegistry.d.ts","sourceRoot":"","sources":["../src/CNSPersistOptionsRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACH,4BAA4B,EAC5B,wBAAwB,EACxB,6BAA6B,EAChC,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,yBAAyB;IAClC,OAAO,CAAC,OAAO,CAAoD;IACnE,OAAO,CAAC,WAAW,CAAwD;IAE3E,OAAO,CAAC,WAAW,CAA6C;IAEhE,OAAO,CAAC,YAAY,CAGhB;IAEJ,SAAS,CACL,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EACrC,OAAO,EAAE,wBAAwB,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,GACjE,IAAI;IAKP,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,SAAS;IAIlE,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,GAAG,SAAS;IAIxE,eAAe,IAAI,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAIrE,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS;IAOzE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMhC,aAAa,CACT,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,EAClC,OAAO,EAAE,4BAA4B,GACtC,IAAI;IAIP,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,SAAS;IAI/D,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,cAAc,CACV,WAAW,EAAE,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAC1D,OAAO,EAAE,6BAA6B,GACvC,IAAI;IAIP,cAAc,CACV,aAAa,EAAE,MAAM,GACtB,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,GAAG,SAAS;IAI5D,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;CAGjD"}
@@ -1,8 +1,10 @@
1
1
  import { CNSCollateral } from '../CNSCollateral';
2
+ import { CNSPersistOptionsRegistry } from '../CNSPersistOptionsRegistry';
2
3
  import { TCNSAxon } from '../types/TCNSAxon';
3
4
  import { TCNSDendrite } from '../types/TCNSDendrite';
4
5
  import { TCNSLocalContextValueStore } from '../types/TCNSLocalContextValueStore';
5
6
  import { TNCNeuronResponseReturn } from '../types/TCNSNeuronResponseReturn';
7
+ import { TCNSNeuron } from '../types/TCNSNeuron';
6
8
  import { ICNS } from '../interfaces/ICNS';
7
9
  import { TCNSModality } from '../types/TCNSModality';
8
10
  import { TCNSAfferentPath } from '../types/TCNSAfferentPath';
@@ -104,5 +106,20 @@ export declare const withCtx: <TContextValue>() => {
104
106
  };
105
107
  export declare const afferentPath: (parentAfferentPath?: TCNSAfferentPath) => TCNSAfferentPath;
106
108
  export declare const modality: (afferentPaths: Record<string | number, TCNSAfferentPath>) => TCNSModality;
109
+ /**
110
+ * Creates a CNSPersistOptionsRegistry from a plain object of named neurons.
111
+ * All axon collaterals of each neuron are registered automatically.
112
+ *
113
+ * Use this for both production persistence and devtools/AI inspection —
114
+ * the same registry serves both purposes.
115
+ *
116
+ * @example
117
+ * // src/neurons/registry.ts
118
+ * import { createPersistRegistry } from '@cnstra/core';
119
+ * import { deckNeuron, cardNeuron } from './index';
120
+ *
121
+ * export const registry = createPersistRegistry({ deckNeuron, cardNeuron });
122
+ */
123
+ export declare const createPersistRegistry: (namedNeurons: Record<string, TCNSNeuron<any, any>>) => CNSPersistOptionsRegistry;
107
124
  export {};
108
125
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -950,6 +950,58 @@ var CNS = class {
950
950
  }
951
951
  };
952
952
 
953
+ // src/CNSPersistOptionsRegistry.ts
954
+ var CNSPersistOptionsRegistry = class {
955
+ constructor() {
956
+ this.neurons = /* @__PURE__ */ new Map();
957
+ this.neuronNames = /* @__PURE__ */ new WeakMap();
958
+ this.collaterals = /* @__PURE__ */ new Map();
959
+ this.stimulations = /* @__PURE__ */ new Map();
960
+ }
961
+ addNeuron(neuron2, options) {
962
+ this.neurons.set(options.name, neuron2);
963
+ this.neuronNames.set(neuron2, options.name);
964
+ }
965
+ getNeuron(name) {
966
+ return this.neurons.get(name);
967
+ }
968
+ getNeuronName(neuron2) {
969
+ return this.neuronNames.get(neuron2);
970
+ }
971
+ getNamedNeurons() {
972
+ return this.neurons;
973
+ }
974
+ getCollateralName(collateral2) {
975
+ for (const [name, col] of this.collaterals) {
976
+ if (col === collateral2) return name;
977
+ }
978
+ return void 0;
979
+ }
980
+ removeNeuron(name) {
981
+ const neuron2 = this.neurons.get(name);
982
+ if (neuron2) this.neuronNames.delete(neuron2);
983
+ this.neurons.delete(name);
984
+ }
985
+ addCollateral(collateral2, options) {
986
+ this.collaterals.set(options.name, collateral2);
987
+ }
988
+ getCollateral(name) {
989
+ return this.collaterals.get(name);
990
+ }
991
+ removeCollateral(name) {
992
+ this.collaterals.delete(name);
993
+ }
994
+ addStimulation(stimulation, options) {
995
+ this.stimulations.set(options.stimulationId, stimulation);
996
+ }
997
+ getStimulation(stimulationId) {
998
+ return this.stimulations.get(stimulationId);
999
+ }
1000
+ removeStimulation(stimulationId) {
1001
+ this.stimulations.delete(stimulationId);
1002
+ }
1003
+ };
1004
+
953
1005
  // src/CNSCollateral.ts
954
1006
  var CNSCollateral = class {
955
1007
  createSignal(payload) {
@@ -957,8 +1009,8 @@ var CNSCollateral = class {
957
1009
  }
958
1010
  };
959
1011
 
960
- // src/utils/CNSDrainGuard.ts
961
- var CNSDrainGuard = class {
1012
+ // src/utils/CNSStimulationGate.ts
1013
+ var CNSStimulationGate = class {
962
1014
  constructor(guardOptions) {
963
1015
  this.guardOptions = guardOptions;
964
1016
  }
@@ -1148,13 +1200,28 @@ var modality = (afferentPaths) => {
1148
1200
  afferentPaths
1149
1201
  };
1150
1202
  };
1203
+ var createPersistRegistry = (namedNeurons) => {
1204
+ const registry = new CNSPersistOptionsRegistry();
1205
+ for (const [name, neuron2] of Object.entries(namedNeurons)) {
1206
+ registry.addNeuron(neuron2, { name, neuron: neuron2 });
1207
+ for (const [key, col] of Object.entries(neuron2.axon)) {
1208
+ registry.addCollateral(col, {
1209
+ name: key,
1210
+ collateral: col
1211
+ });
1212
+ }
1213
+ }
1214
+ return registry;
1215
+ };
1151
1216
 
1152
1217
  exports.CNS = CNS;
1153
1218
  exports.CNSCollateral = CNSCollateral;
1154
- exports.CNSDrainGuard = CNSDrainGuard;
1219
+ exports.CNSPersistOptionsRegistry = CNSPersistOptionsRegistry;
1155
1220
  exports.CNSStimulationContextStore = CNSStimulationContextStore;
1221
+ exports.CNSStimulationGate = CNSStimulationGate;
1156
1222
  exports.afferentPath = afferentPath;
1157
1223
  exports.collateral = collateral;
1224
+ exports.createPersistRegistry = createPersistRegistry;
1158
1225
  exports.modality = modality;
1159
1226
  exports.neuron = neuron;
1160
1227
  exports.withCtx = withCtx;