@cnstra/core 1.8.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/README.md +3 -3
- package/dist/CNS.d.ts +6 -9
- package/dist/CNS.d.ts.map +1 -1
- package/dist/CNSCollateral.d.ts +3 -5
- package/dist/CNSCollateral.d.ts.map +1 -1
- package/dist/CNSInstanceNeuronQueue.d.ts +0 -1
- package/dist/CNSInstanceNeuronQueue.d.ts.map +1 -1
- package/dist/CNSNetwork.d.ts +16 -20
- package/dist/CNSNetwork.d.ts.map +1 -1
- package/dist/CNSNeuronActivationPump.d.ts +5 -5
- package/dist/CNSNeuronActivationPump.d.ts.map +1 -1
- package/dist/CNSStimulation.d.ts +16 -15
- package/dist/CNSStimulation.d.ts.map +1 -1
- package/dist/CNSStimulationContextStore.d.ts +6 -6
- package/dist/CNSStimulationContextStore.d.ts.map +1 -1
- package/dist/factory/index.d.ts +97 -14
- package/dist/factory/index.d.ts.map +1 -1
- package/dist/index.cjs +235 -197
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +234 -198
- package/dist/index.js.map +1 -1
- package/dist/interfaces/ICNS.d.ts +5 -4
- package/dist/interfaces/ICNS.d.ts.map +1 -1
- package/dist/interfaces/ICNSCollateral.d.ts +3 -3
- package/dist/interfaces/ICNSCollateral.d.ts.map +1 -1
- package/dist/interfaces/ICNSStimulationContextStore.d.ts +5 -6
- package/dist/interfaces/ICNSStimulationContextStore.d.ts.map +1 -1
- package/dist/types/TCNSAfferentPath.d.ts +4 -0
- package/dist/types/TCNSAfferentPath.d.ts.map +1 -0
- package/dist/types/TCNSAxon.d.ts +23 -2
- package/dist/types/TCNSAxon.d.ts.map +1 -1
- package/dist/types/TCNSDendrite.d.ts +6 -6
- package/dist/types/TCNSDendrite.d.ts.map +1 -1
- package/dist/types/TCNSModality.d.ts +5 -0
- package/dist/types/TCNSModality.d.ts.map +1 -0
- package/dist/types/TCNSNeuron.d.ts +3 -3
- package/dist/types/TCNSNeuron.d.ts.map +1 -1
- package/dist/types/TCNSNeuronActivationTask.d.ts +5 -5
- package/dist/types/TCNSNeuronActivationTask.d.ts.map +1 -1
- package/dist/types/TCNSNeuronActivationTaskFailure.d.ts +2 -2
- package/dist/types/TCNSNeuronActivationTaskFailure.d.ts.map +1 -1
- package/dist/types/TCNSNeuronResponseReturn.d.ts +8 -2
- package/dist/types/TCNSNeuronResponseReturn.d.ts.map +1 -1
- package/dist/types/TCNSPersist.d.ts +16 -0
- package/dist/types/TCNSPersist.d.ts.map +1 -0
- package/dist/types/TCNSSignal.d.ts +4 -3
- package/dist/types/TCNSSignal.d.ts.map +1 -1
- package/dist/types/TCNSStimulationOptions.d.ts +7 -9
- package/dist/types/TCNSStimulationOptions.d.ts.map +1 -1
- package/dist/types/TCNSStimulationQueueItem.d.ts +4 -3
- package/dist/types/TCNSStimulationQueueItem.d.ts.map +1 -1
- package/dist/types/TCNSStimulationResponse.d.ts +10 -11
- package/dist/types/TCNSStimulationResponse.d.ts.map +1 -1
- package/dist/types/TCNSSubscriber.d.ts +1 -1
- package/dist/types/TCNSSubscriber.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,11 +22,11 @@ npm install @cnstra/core
|
|
|
22
22
|
import { CNS, collateral, neuron } from '@cnstra/core';
|
|
23
23
|
|
|
24
24
|
// Define collaterals (communication channels)
|
|
25
|
-
const userCreated = collateral<{ id: string; name: string }>(
|
|
26
|
-
const userRegistered = collateral<{ userId: string; status: string }>(
|
|
25
|
+
const userCreated = collateral<{ id: string; name: string }>();
|
|
26
|
+
const userRegistered = collateral<{ userId: string; status: string }>();
|
|
27
27
|
|
|
28
28
|
// Create a neuron
|
|
29
|
-
const userService = neuron(
|
|
29
|
+
const userService = neuron({
|
|
30
30
|
userRegistered
|
|
31
31
|
})
|
|
32
32
|
.dendrite({
|
package/dist/CNS.d.ts
CHANGED
|
@@ -9,17 +9,14 @@ import { TCNSStimulationResponse } from './types/TCNSStimulationResponse';
|
|
|
9
9
|
import { TCNSNeuronActivationTask } from './types/TCNSNeuronActivationTask';
|
|
10
10
|
import { CNSNetwork } from './CNSNetwork';
|
|
11
11
|
import { ICNS } from './interfaces/ICNS';
|
|
12
|
-
|
|
12
|
+
import { CNSCollateral } from './CNSCollateral';
|
|
13
|
+
export declare class CNS<TNeuron extends TCNSNeuron<any, any>, TDendrite extends TCNSDendrite<any, any, any> = TCNSDendrite<any, any, any>> implements ICNS<TNeuron, TDendrite> {
|
|
13
14
|
protected readonly neurons: TNeuron[];
|
|
14
15
|
readonly options?: TCNSOptions | undefined;
|
|
15
16
|
/**
|
|
16
17
|
* Network graph analysis and strongly connected components.
|
|
17
18
|
*/
|
|
18
|
-
readonly network: CNSNetwork<
|
|
19
|
-
/**
|
|
20
|
-
* Global per-neuron concurrency gates shared across all stimulations.
|
|
21
|
-
*/
|
|
22
|
-
private readonly neuronGates;
|
|
19
|
+
readonly network: CNSNetwork<TNeuron, TDendrite>;
|
|
23
20
|
/**
|
|
24
21
|
* Global task queue used by stimulation to schedule per-neuron gated work.
|
|
25
22
|
* Does not replace per-stimulation concurrency; only coordinates global per-neuron limits.
|
|
@@ -30,12 +27,12 @@ export declare class CNS<TCollateralName extends string, TNeuronName extends str
|
|
|
30
27
|
*/
|
|
31
28
|
private readonly globalResponseListeners;
|
|
32
29
|
constructor(neurons: TNeuron[], options?: TCNSOptions | undefined);
|
|
33
|
-
addResponseListener
|
|
30
|
+
addResponseListener(listener: (response: TCNSStimulationResponse) => void | Promise<void>): () => void;
|
|
34
31
|
private wrapOnResponse;
|
|
35
|
-
stimulate
|
|
32
|
+
stimulate(signalOrSignals: TCNSSignal<CNSCollateral<unknown>> | TCNSSignal<CNSCollateral<unknown>>[], options?: TCNSStimulationOptions<TCNSStimulationResponse>): CNSStimulation<TNeuron, TDendrite>;
|
|
36
33
|
/**
|
|
37
34
|
* Start a stimulation with activation tasks directly
|
|
38
35
|
*/
|
|
39
|
-
activate
|
|
36
|
+
activate(tasks: TCNSNeuronActivationTask<TNeuron>[], options?: TCNSStimulationOptions<TCNSStimulationResponse>): CNSStimulation<TNeuron, TDendrite>;
|
|
40
37
|
}
|
|
41
38
|
//# sourceMappingURL=CNS.d.ts.map
|
package/dist/CNS.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CNS.d.ts","sourceRoot":"","sources":["../src/CNS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"CNS.d.ts","sourceRoot":"","sources":["../src/CNS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,GAAG,CACZ,OAAO,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EACpC,SAAS,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAC7E,YAAW,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;IAsB7B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE;aACrB,OAAO,CAAC,EAAE,WAAW;IArBzC;;OAEG;IACH,SAAgB,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAExD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,kCACI;IAE1C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAEjC;gBAGgB,OAAO,EAAE,OAAO,EAAE,EACrB,OAAO,CAAC,EAAE,WAAW,YAAA;IAKlC,mBAAmB,CACtB,QAAQ,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACtE,MAAM,IAAI;IAWb,OAAO,CAAC,cAAc;IAkDf,SAAS,CACZ,eAAe,EACT,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAClC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,EAC1C,OAAO,CAAC,EAAE,sBAAsB,CAAC,uBAAuB,CAAC,GAC1D,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC;IAcrC;;OAEG;IACI,QAAQ,CACX,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,EAAE,EAC1C,OAAO,CAAC,EAAE,sBAAsB,CAAC,uBAAuB,CAAC,GAC1D,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC;CAaxC"}
|
package/dist/CNSCollateral.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { TCNSSignal } from './types/TCNSSignal';
|
|
2
2
|
import { ICNSCollateral } from './interfaces/ICNSCollateral';
|
|
3
|
-
export declare class CNSCollateral<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
createSignal(): TCNSSignal<TName, TPayload>;
|
|
7
|
-
createSignal(payload: TPayload): TCNSSignal<TName, TPayload>;
|
|
3
|
+
export declare class CNSCollateral<TPayload> implements ICNSCollateral<TPayload> {
|
|
4
|
+
createSignal(): TCNSSignal<CNSCollateral<TPayload>>;
|
|
5
|
+
createSignal(payload: TPayload): TCNSSignal<CNSCollateral<TPayload>>;
|
|
8
6
|
}
|
|
9
7
|
//# sourceMappingURL=CNSCollateral.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CNSCollateral.d.ts","sourceRoot":"","sources":["../src/CNSCollateral.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,qBAAa,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"CNSCollateral.d.ts","sourceRoot":"","sources":["../src/CNSCollateral.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,qBAAa,aAAa,CAAC,QAAQ,CAAE,YAAW,cAAc,CAAC,QAAQ,CAAC;IACpE,YAAY,IAAI,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnD,YAAY,CAAC,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;CAIvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CNSInstanceNeuronQueue.d.ts","sourceRoot":"","sources":["../src/CNSInstanceNeuronQueue.ts"],"names":[],"mappings":"AAAA,qBAAa,sBAAsB,CAC/B,OAAO,SAAS;IAAE,
|
|
1
|
+
{"version":3,"file":"CNSInstanceNeuronQueue.d.ts","sourceRoot":"","sources":["../src/CNSInstanceNeuronQueue.ts"],"names":[],"mappings":"AAAA,qBAAa,sBAAsB,CAC/B,OAAO,SAAS;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE;IAExC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGlB;IAEJ,GAAG,CACC,MAAM,EAAE,OAAO,EACf,EAAE,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,GAC7C,CAAC,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;CAoDxC"}
|
package/dist/CNSNetwork.d.ts
CHANGED
|
@@ -2,15 +2,15 @@ import { TCNSNeuron } from './types/TCNSNeuron';
|
|
|
2
2
|
import { TCNSSubscriber } from './types/TCNSSubscriber';
|
|
3
3
|
import { TCNSDendrite } from './types/TCNSDendrite';
|
|
4
4
|
import { CNSCollateral } from './CNSCollateral';
|
|
5
|
-
export declare class CNSNetwork<
|
|
5
|
+
export declare class CNSNetwork<TNeuron extends TCNSNeuron<any, any>, TDendrite extends TCNSDendrite<any, any, any>> {
|
|
6
6
|
private readonly neurons;
|
|
7
7
|
/**
|
|
8
8
|
* Strongly Connected Components of the neuron graph.
|
|
9
|
-
* Each component is a set of neuron
|
|
9
|
+
* Each component is a set of neuron objects that can reach each other.
|
|
10
10
|
*/
|
|
11
|
-
stronglyConnectedComponents: Set<
|
|
11
|
+
stronglyConnectedComponents: Set<TNeuron>[];
|
|
12
12
|
/**
|
|
13
|
-
* Quick lookup: neuron
|
|
13
|
+
* Quick lookup: neuron -> SCC index for fast reachability checks.
|
|
14
14
|
*/
|
|
15
15
|
private neuronToSCC;
|
|
16
16
|
/**
|
|
@@ -22,20 +22,19 @@ export declare class CNSNetwork<TCollateralName extends string, TNeuronName exte
|
|
|
22
22
|
*/
|
|
23
23
|
private sccAncestors;
|
|
24
24
|
/**
|
|
25
|
-
* Fast lookup:
|
|
25
|
+
* Fast lookup: collateral -> list of (neuron, dendrite) subscribers.
|
|
26
26
|
* Built once at construction time.
|
|
27
27
|
*/
|
|
28
28
|
private subIndex;
|
|
29
|
-
private neuronIndex;
|
|
30
29
|
private dendriteIndex;
|
|
31
30
|
private collateralIndex;
|
|
32
|
-
private
|
|
31
|
+
private parentNeuronByCollateral;
|
|
33
32
|
constructor(neurons: TNeuron[]);
|
|
34
33
|
/**
|
|
35
34
|
* Validate uniqueness constraints:
|
|
36
|
-
* -
|
|
37
|
-
*
|
|
38
|
-
*
|
|
35
|
+
* - (legacy) collateral instances used to be single-owner; in object-identity routing
|
|
36
|
+
* a collateral can be emitted by multiple neurons (fan-in), so we no longer
|
|
37
|
+
* enforce single ownership here.
|
|
39
38
|
* Throws aggregated error if violations are found.
|
|
40
39
|
*/
|
|
41
40
|
private validateUniqueIdentifiers;
|
|
@@ -65,23 +64,20 @@ export declare class CNSNetwork<TCollateralName extends string, TNeuronName exte
|
|
|
65
64
|
* Returns true if the neuron is in a strongly connected component with more than one member,
|
|
66
65
|
* or if it's in a single-member SCC that can reach itself.
|
|
67
66
|
*/
|
|
68
|
-
|
|
67
|
+
getSCCSetByNeuron(neuron: TNeuron): Set<TNeuron> | undefined;
|
|
69
68
|
/**
|
|
70
|
-
* Get the SCC index for a given neuron
|
|
69
|
+
* Get the SCC index for a given neuron
|
|
71
70
|
*/
|
|
72
|
-
|
|
71
|
+
getSccIndexByNeuron(neuron: TNeuron): number | undefined;
|
|
73
72
|
/**
|
|
74
73
|
* Check if a neuron can be guaranteed not to be visited again during the current propagation.
|
|
75
74
|
* This is the core logic for safe context cleanup.
|
|
76
75
|
*/
|
|
77
|
-
canNeuronBeGuaranteedDone(
|
|
76
|
+
canNeuronBeGuaranteedDone(neuron: TNeuron, activeSccCounts: Map<number, number>): boolean;
|
|
78
77
|
private buildIndexes;
|
|
79
|
-
|
|
78
|
+
getParentNeuronByCollateral(collateral: CNSCollateral<unknown>): TNeuron | undefined;
|
|
80
79
|
getDendrites(): TDendrite[];
|
|
81
|
-
getCollaterals(): CNSCollateral<
|
|
82
|
-
|
|
83
|
-
getCollateralByName<TName extends string = string>(collateralName: TName): CNSCollateral<TName, unknown> | undefined;
|
|
84
|
-
getNeuronByName<TName extends string = string>(neuronName: TName): TNeuron | undefined;
|
|
85
|
-
getSubscribers(collateralName: TCollateralName): TCNSSubscriber<TNeuron, TDendrite>[];
|
|
80
|
+
getCollaterals(): CNSCollateral<unknown>[];
|
|
81
|
+
getSubscribers(collateral: CNSCollateral<unknown>): TCNSSubscriber<TNeuron, TDendrite>[];
|
|
86
82
|
}
|
|
87
83
|
//# sourceMappingURL=CNSNetwork.d.ts.map
|
package/dist/CNSNetwork.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CNSNetwork.d.ts","sourceRoot":"","sources":["../src/CNSNetwork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,UAAU,CACnB,
|
|
1
|
+
{"version":3,"file":"CNSNetwork.d.ts","sourceRoot":"","sources":["../src/CNSNetwork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,UAAU,CACnB,OAAO,SAAS,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EACpC,SAAS,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAqCjC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAnCpC;;;OAGG;IACI,2BAA2B,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAM;IAExD;;OAEG;IACH,OAAO,CAAC,WAAW,CAA8B;IAEjD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAuC;IAErD;;OAEG;IACH,OAAO,CAAC,YAAY,CAAuC;IAE3D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAGZ;IAEJ,OAAO,CAAC,aAAa,CAAgD;IACrE,OAAO,CAAC,eAAe,CAAqC;IAE5D,OAAO,CAAC,wBAAwB,CAA8C;gBAEjD,OAAO,EAAE,OAAO,EAAE;IAM/C;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiCxB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAqEhB;;OAEG;IACH,OAAO,CAAC,WAAW;IA6BnB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAiDzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;;OAIG;IACI,iBAAiB,CAAC,MAAM,EAAE,OAAO;IAQxC;;OAEG;IACI,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAI/D;;;OAGG;IACI,yBAAyB,CAC5B,MAAM,EAAE,OAAO,EACf,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,OAAO;IA4BV,OAAO,CAAC,YAAY;IA0Bb,2BAA2B,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC;IAI9D,YAAY;IAIZ,cAAc;IAId,cAAc,CACjB,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,GACnC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;CAG1C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TCNSNeuronActivationTask } from './types/TCNSNeuronActivationTask';
|
|
2
|
-
export declare class CNSNeuronActivationPump<
|
|
2
|
+
export declare class CNSNeuronActivationPump<TNeuron extends object> {
|
|
3
3
|
private readonly processor;
|
|
4
4
|
protected readonly concurrency?: number | undefined;
|
|
5
5
|
protected readonly abortSignal?: AbortSignal | undefined;
|
|
@@ -12,16 +12,16 @@ export declare class CNSNeuronActivationPump<TCollateralName extends string, TNe
|
|
|
12
12
|
private activeTasks;
|
|
13
13
|
private pumping;
|
|
14
14
|
private needsPump;
|
|
15
|
-
constructor(processor: (neuronActivationTask: TCNSNeuronActivationTask<
|
|
15
|
+
constructor(processor: (neuronActivationTask: TCNSNeuronActivationTask<TNeuron>) => (() => void) | Promise<() => void>, concurrency?: number | undefined, abortSignal?: AbortSignal | undefined, initialCapacity?: number);
|
|
16
16
|
protected get canStartOperation(): boolean;
|
|
17
17
|
private resize;
|
|
18
18
|
private dequeue;
|
|
19
19
|
private enqueueItem;
|
|
20
20
|
protected pump(): void;
|
|
21
|
-
enqueue(neuronActivationTask: TCNSNeuronActivationTask<
|
|
21
|
+
enqueue(neuronActivationTask: TCNSNeuronActivationTask<TNeuron>): void;
|
|
22
22
|
get length(): number;
|
|
23
23
|
getActiveOperationsCount(): number;
|
|
24
|
-
getQueuedTasks(): TCNSNeuronActivationTask<
|
|
25
|
-
getActiveTasks(): TCNSNeuronActivationTask<
|
|
24
|
+
getQueuedTasks(): TCNSNeuronActivationTask<TNeuron>[];
|
|
25
|
+
getActiveTasks(): TCNSNeuronActivationTask<TNeuron>[];
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=CNSNeuronActivationPump.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CNSNeuronActivationPump.d.ts","sourceRoot":"","sources":["../src/CNSNeuronActivationPump.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,qBAAa,uBAAuB,
|
|
1
|
+
{"version":3,"file":"CNSNeuronActivationPump.d.ts","sourceRoot":"","sources":["../src/CNSNeuronActivationPump.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,qBAAa,uBAAuB,CAAC,OAAO,SAAS,MAAM;IAcnD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAG1B,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM;IACvC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW;IAjBhD,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,QAAQ,CAAM;IACtB,SAAS,CAAC,gBAAgB,SAAK;IAC/B,OAAO,CAAC,WAAW,CAAgD;IAGnE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;gBAGL,SAAS,EAAE,CACxB,oBAAoB,EAAE,wBAAwB,CAAC,OAAO,CAAC,KACtD,CAAC,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,EACpB,WAAW,CAAC,EAAE,MAAM,YAAA,EACpB,WAAW,CAAC,EAAE,WAAW,YAAA,EAC5C,eAAe,CAAC,EAAE,MAAM;IAQ5B,SAAS,KAAK,iBAAiB,IAAI,OAAO,CAGzC;IAED,OAAO,CAAC,MAAM;IAgBd,OAAO,CAAC,OAAO;IAaf,OAAO,CAAC,WAAW;IAYnB,SAAS,CAAC,IAAI;IA4Dd,OAAO,CACH,oBAAoB,EAAE,wBAAwB,CAAC,OAAO,CAAC;IAQ3D,IAAI,MAAM,WAET;IAED,wBAAwB;IAIjB,cAAc,IAAI,wBAAwB,CAAC,OAAO,CAAC,EAAE;IAUrD,cAAc,IAAI,wBAAwB,CAAC,OAAO,CAAC,EAAE;CAG/D"}
|
package/dist/CNSStimulation.d.ts
CHANGED
|
@@ -8,9 +8,11 @@ import { TCNSSignal } from './types/TCNSSignal';
|
|
|
8
8
|
import { TCNSNeuronActivationTask } from './types/TCNSNeuronActivationTask';
|
|
9
9
|
import { CNS } from './CNS';
|
|
10
10
|
import { TCNSNeuronActivationTaskFailure } from './types/TCNSNeuronActivationTaskFailure';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
import { TCNSStimulationResponse } from './types/TCNSStimulationResponse';
|
|
12
|
+
import { CNSCollateral } from './CNSCollateral';
|
|
13
|
+
export declare class CNSStimulation<TNeuron extends TCNSNeuron<any, any>, TDendrite extends TCNSDendrite<any, any, any> = TCNSDendrite<any, any, any>> {
|
|
14
|
+
readonly cns: CNS<TNeuron, TDendrite>;
|
|
15
|
+
readonly options?: TCNSStimulationOptions<TCNSStimulationResponse> | undefined;
|
|
14
16
|
private readonly ctx;
|
|
15
17
|
private readonly queue;
|
|
16
18
|
private readonly nueronVisitMap?;
|
|
@@ -27,18 +29,17 @@ export declare class CNSStimulation<TCollateralName extends string, TNeuronName
|
|
|
27
29
|
* Track active SCCs: SCC index -> count of active neurons in that SCC
|
|
28
30
|
*/
|
|
29
31
|
private readonly activeSccCounts;
|
|
30
|
-
|
|
31
|
-
constructor(cns: CNS<TCollateralName, TNeuronName, TNeuron, TDendrite>, instanceNeuronQueue: CNSInstanceNeuronQueue<TNeuron>, options?: TCNSStimulationOptions<TCollateralName, TInputPayload, TOutputPayload, TNeuronName> | undefined);
|
|
32
|
+
constructor(cns: CNS<TNeuron, TDendrite>, instanceNeuronQueue: CNSInstanceNeuronQueue<TNeuron>, options?: TCNSStimulationOptions<TCNSStimulationResponse> | undefined);
|
|
32
33
|
private tryResolveCompleted;
|
|
33
34
|
waitUntilComplete(): Promise<void>;
|
|
34
35
|
/**
|
|
35
36
|
* Returns all current activation tasks: queued, active, and pending (scheduled but not yet enqueued)
|
|
36
37
|
*/
|
|
37
|
-
getAllActivationTasks(): TCNSNeuronActivationTask<
|
|
38
|
+
getAllActivationTasks(): TCNSNeuronActivationTask<TNeuron>[];
|
|
38
39
|
/**
|
|
39
40
|
* Returns all tasks that failed or were aborted
|
|
40
41
|
*/
|
|
41
|
-
getFailedTasks(): Array<TCNSNeuronActivationTaskFailure<
|
|
42
|
+
getFailedTasks(): Array<TCNSNeuronActivationTaskFailure<TNeuron>>;
|
|
42
43
|
/**
|
|
43
44
|
* Get the context store for this stimulation
|
|
44
45
|
*/
|
|
@@ -46,17 +47,17 @@ export declare class CNSStimulation<TCollateralName extends string, TNeuronName
|
|
|
46
47
|
/**
|
|
47
48
|
* Enqueue activation tasks directly into the stimulation queue
|
|
48
49
|
*/
|
|
49
|
-
enqueueTasks(tasks: TCNSNeuronActivationTask<
|
|
50
|
+
enqueueTasks(tasks: TCNSNeuronActivationTask<TNeuron>[]): void;
|
|
50
51
|
protected get concurrencyEnabled(): boolean;
|
|
51
52
|
protected get autoCleanupContextsEnabled(): boolean;
|
|
52
53
|
/**
|
|
53
54
|
* Mark a neuron as active (being processed)
|
|
54
55
|
*/
|
|
55
|
-
protected markNeuronActive(
|
|
56
|
+
protected markNeuronActive(neuron: TNeuron): void;
|
|
56
57
|
/**
|
|
57
58
|
* Mark a neuron as inactive (finished processing)
|
|
58
59
|
*/
|
|
59
|
-
protected markNeuronInactive(
|
|
60
|
+
protected markNeuronInactive(neuron: TNeuron): void;
|
|
60
61
|
/**
|
|
61
62
|
* Increment the active count for the SCC containing this neuron
|
|
62
63
|
*/
|
|
@@ -68,12 +69,12 @@ export declare class CNSStimulation<TCollateralName extends string, TNeuronName
|
|
|
68
69
|
/**
|
|
69
70
|
* Check if a neuron can be guaranteed not to be visited again
|
|
70
71
|
*/
|
|
71
|
-
protected canNeuronBeGuaranteedDone(
|
|
72
|
+
protected canNeuronBeGuaranteedDone(neuron: TNeuron): boolean;
|
|
72
73
|
protected cleanupCtxIfNeeded(neuron: TNeuron): void;
|
|
73
|
-
protected createSubscriberQueueItem(subscriber: TCNSSubscriber<TNeuron, TDendrite>, inputSignal?: TCNSSignal<
|
|
74
|
+
protected createSubscriberQueueItem(subscriber: TCNSSubscriber<TNeuron, TDendrite>, inputSignal?: TCNSSignal<CNSCollateral<unknown>>): TCNSNeuronActivationTask<TNeuron>;
|
|
74
75
|
private executeActivationTask;
|
|
75
|
-
protected processResponseOrResponses(inputSignal?: TCNSSignal<
|
|
76
|
-
protected processResponse(inputSignal?: TCNSSignal<
|
|
77
|
-
responseToSignal(signalOrSignals: TCNSSignal<
|
|
76
|
+
protected processResponseOrResponses(emitter: TNeuron | undefined, inputSignal?: TCNSSignal<CNSCollateral<unknown>>, outputSignalOrSignals?: TCNSSignal<CNSCollateral<unknown>> | TCNSSignal<CNSCollateral<unknown>>[], error?: any): void;
|
|
77
|
+
protected processResponse(emitter: TNeuron | undefined, inputSignal?: TCNSSignal<CNSCollateral<unknown>>, outputSignal?: TCNSSignal<CNSCollateral<unknown>>, error?: any): void;
|
|
78
|
+
responseToSignal(signalOrSignals: TCNSSignal<CNSCollateral<unknown>> | TCNSSignal<CNSCollateral<unknown>>[]): void;
|
|
78
79
|
}
|
|
79
80
|
//# sourceMappingURL=CNSStimulation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CNSStimulation.d.ts","sourceRoot":"","sources":["../src/CNSStimulation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"CNSStimulation.d.ts","sourceRoot":"","sources":["../src/CNSStimulation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ICNSStimulationContextStore } from './interfaces/ICNSStimulationContextStore';
|
|
2
2
|
export declare class CNSStimulationContextStore implements ICNSStimulationContextStore {
|
|
3
3
|
private readonly ctx;
|
|
4
|
-
constructor(ctx?: Map<
|
|
5
|
-
get(key:
|
|
6
|
-
set(key:
|
|
7
|
-
getAll():
|
|
8
|
-
setAll(values:
|
|
9
|
-
delete(key:
|
|
4
|
+
constructor(ctx?: Map<object, unknown>);
|
|
5
|
+
get(key: object): unknown;
|
|
6
|
+
set(key: object, value: unknown): void;
|
|
7
|
+
getAll(): Map<object, unknown>;
|
|
8
|
+
setAll(values: Map<object, unknown>): void;
|
|
9
|
+
delete(key: object): void;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=CNSStimulationContextStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CNSStimulationContextStore.d.ts","sourceRoot":"","sources":["../src/CNSStimulationContextStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAEvF,qBAAa,0BAA2B,YAAW,2BAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,GAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAa;IAElE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAItC,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"CNSStimulationContextStore.d.ts","sourceRoot":"","sources":["../src/CNSStimulationContextStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAEvF,qBAAa,0BAA2B,YAAW,2BAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,GAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAa;IAElE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAItC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAI9B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK1C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAG5B"}
|
package/dist/factory/index.d.ts
CHANGED
|
@@ -1,25 +1,108 @@
|
|
|
1
1
|
import { CNSCollateral } from '../CNSCollateral';
|
|
2
2
|
import { TCNSAxon } from '../types/TCNSAxon';
|
|
3
3
|
import { TCNSDendrite } from '../types/TCNSDendrite';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
import { TCNSLocalContextValueStore } from '../types/TCNSLocalContextValueStore';
|
|
5
|
+
import { TNCNeuronResponseReturn } from '../types/TCNSNeuronResponseReturn';
|
|
6
|
+
import { ICNS } from '../interfaces/ICNS';
|
|
7
|
+
import { TCNSModality } from '../types/TCNSModality';
|
|
8
|
+
import { TCNSAfferentPath } from '../types/TCNSAfferentPath';
|
|
9
|
+
export declare const collateral: <TPayload = undefined>() => CNSCollateral<TPayload>;
|
|
10
|
+
type CollateralPayloadUnion<TCollaterals extends readonly CNSCollateral<unknown>[]> = {
|
|
11
|
+
[K in keyof TCollaterals]: TCollaterals[K] extends CNSCollateral<infer P> ? P : never;
|
|
12
|
+
}[number];
|
|
13
|
+
type InterNeuronAPI<TContextValue, TAxonType extends TCNSAxon = TCNSAxon> = {
|
|
9
14
|
axon: TAxonType;
|
|
10
15
|
concurrency?: number;
|
|
11
16
|
maxDuration?: number;
|
|
12
|
-
dendrites: TCNSDendrite<TContextValue,
|
|
13
|
-
setConcurrency: (n: number | undefined) => InterNeuronAPI<TContextValue,
|
|
14
|
-
setMaxDuration: (ms: number | undefined) => InterNeuronAPI<TContextValue,
|
|
15
|
-
bind: <TFollowAxon extends Record<string, CNSCollateral<
|
|
16
|
-
[K in keyof TFollowAxon]: TCNSDendrite<TContextValue,
|
|
17
|
-
}) => InterNeuronAPI<TContextValue,
|
|
18
|
-
dendrite:
|
|
17
|
+
dendrites: TCNSDendrite<TContextValue, CNSCollateral<unknown>, TAxonType>[];
|
|
18
|
+
setConcurrency: (n: number | undefined) => InterNeuronAPI<TContextValue, TAxonType>;
|
|
19
|
+
setMaxDuration: (ms: number | undefined) => InterNeuronAPI<TContextValue, TAxonType>;
|
|
20
|
+
bind: <TFollowAxon extends Record<string, CNSCollateral<unknown>>>(axon: TFollowAxon, dendrites: {
|
|
21
|
+
[K in keyof TFollowAxon]: TCNSDendrite<TContextValue, TFollowAxon[K], TAxonType> | TCNSDendrite<TContextValue, TFollowAxon[K], TAxonType>['response'];
|
|
22
|
+
}) => InterNeuronAPI<TContextValue, TAxonType>;
|
|
23
|
+
dendrite: {
|
|
24
|
+
<TSenderCollateral extends CNSCollateral<unknown>>(s: {
|
|
25
|
+
collateral: TSenderCollateral;
|
|
26
|
+
response: (payload: TSenderCollateral extends CNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSLocalContextValueStore<TContextValue> & {
|
|
27
|
+
abortSignal?: AbortSignal;
|
|
28
|
+
cns?: ICNS<any, any>;
|
|
29
|
+
stimulation?: any;
|
|
30
|
+
}) => TNCNeuronResponseReturn<TAxonType>;
|
|
31
|
+
}): InterNeuronAPI<TContextValue, TAxonType>;
|
|
32
|
+
<TCollaterals extends readonly [
|
|
33
|
+
CNSCollateral<unknown>,
|
|
34
|
+
...CNSCollateral<unknown>[]
|
|
35
|
+
]>(s: {
|
|
36
|
+
collateral: TCollaterals;
|
|
37
|
+
response: (payload: CollateralPayloadUnion<TCollaterals>, axon: TAxonType, ctx: TCNSLocalContextValueStore<TContextValue> & {
|
|
38
|
+
abortSignal?: AbortSignal;
|
|
39
|
+
cns?: ICNS<any, any>;
|
|
40
|
+
stimulation?: any;
|
|
41
|
+
}) => TNCNeuronResponseReturn<TAxonType>;
|
|
42
|
+
}): InterNeuronAPI<TContextValue, TAxonType>;
|
|
43
|
+
<TPayloadUnion>(s: {
|
|
44
|
+
collateral: CNSCollateral<unknown>[];
|
|
45
|
+
response: (payload: TPayloadUnion, axon: TAxonType, ctx: TCNSLocalContextValueStore<TContextValue> & {
|
|
46
|
+
abortSignal?: AbortSignal;
|
|
47
|
+
cns?: ICNS<any, any>;
|
|
48
|
+
stimulation?: any;
|
|
49
|
+
}) => TNCNeuronResponseReturn<TAxonType>;
|
|
50
|
+
}): InterNeuronAPI<TContextValue, TAxonType>;
|
|
51
|
+
(s: TCNSDendrite<TContextValue, CNSCollateral<unknown>, TAxonType>): InterNeuronAPI<TContextValue, TAxonType>;
|
|
52
|
+
};
|
|
53
|
+
modalityDendrite: {
|
|
54
|
+
<TSenderCollateral extends CNSCollateral<unknown>, TResult>(s: {
|
|
55
|
+
collateral: TSenderCollateral;
|
|
56
|
+
modality: TCNSModality;
|
|
57
|
+
afferentPaths?: Map<TCNSAfferentPath, (payload: TSenderCollateral extends CNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSLocalContextValueStore<TContextValue> & {
|
|
58
|
+
abortSignal?: AbortSignal;
|
|
59
|
+
cns?: ICNS<any, any>;
|
|
60
|
+
stimulation?: any;
|
|
61
|
+
}) => TResult | Promise<TResult>>;
|
|
62
|
+
default?: (payload: TSenderCollateral extends CNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSLocalContextValueStore<TContextValue> & {
|
|
63
|
+
abortSignal?: AbortSignal;
|
|
64
|
+
cns?: ICNS<any, any>;
|
|
65
|
+
stimulation?: any;
|
|
66
|
+
}) => TResult | Promise<TResult>;
|
|
67
|
+
output: (result: TResult, axon: TAxonType, ctx: TCNSLocalContextValueStore<TContextValue> & {
|
|
68
|
+
abortSignal?: AbortSignal;
|
|
69
|
+
cns?: ICNS<any, any>;
|
|
70
|
+
stimulation?: any;
|
|
71
|
+
}) => TNCNeuronResponseReturn<TAxonType>;
|
|
72
|
+
}): InterNeuronAPI<TContextValue, TAxonType>;
|
|
73
|
+
<TSenderCollateral extends CNSCollateral<unknown>, TResult>(s: {
|
|
74
|
+
collateral: TSenderCollateral;
|
|
75
|
+
modalities: Array<{
|
|
76
|
+
modality: TCNSModality;
|
|
77
|
+
afferentPaths?: Map<TCNSAfferentPath, (payload: TSenderCollateral extends CNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSLocalContextValueStore<TContextValue> & {
|
|
78
|
+
abortSignal?: AbortSignal;
|
|
79
|
+
cns?: ICNS<any, any>;
|
|
80
|
+
stimulation?: any;
|
|
81
|
+
}) => TResult | Promise<TResult>>;
|
|
82
|
+
default?: (payload: TSenderCollateral extends CNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSLocalContextValueStore<TContextValue> & {
|
|
83
|
+
abortSignal?: AbortSignal;
|
|
84
|
+
cns?: ICNS<any, any>;
|
|
85
|
+
stimulation?: any;
|
|
86
|
+
}) => TResult | Promise<TResult>;
|
|
87
|
+
}>;
|
|
88
|
+
default?: (payload: TSenderCollateral extends CNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSLocalContextValueStore<TContextValue> & {
|
|
89
|
+
abortSignal?: AbortSignal;
|
|
90
|
+
cns?: ICNS<any, any>;
|
|
91
|
+
stimulation?: any;
|
|
92
|
+
}) => TResult | Promise<TResult>;
|
|
93
|
+
output: (result: TResult, axon: TAxonType, ctx: TCNSLocalContextValueStore<TContextValue> & {
|
|
94
|
+
abortSignal?: AbortSignal;
|
|
95
|
+
cns?: ICNS<any, any>;
|
|
96
|
+
stimulation?: any;
|
|
97
|
+
}) => TNCNeuronResponseReturn<TAxonType>;
|
|
98
|
+
}): InterNeuronAPI<TContextValue, TAxonType>;
|
|
99
|
+
};
|
|
19
100
|
};
|
|
20
|
-
export declare const neuron: <TContextValue,
|
|
101
|
+
export declare const neuron: <TContextValue, TProvidedAxon extends Record<string, CNSCollateral<unknown>>>(axon: TProvidedAxon) => InterNeuronAPI<TContextValue, TCNSAxon<TProvidedAxon>>;
|
|
21
102
|
export declare const withCtx: <TContextValue>() => {
|
|
22
|
-
neuron: <
|
|
103
|
+
neuron: <TProvidedAxon extends Record<string, CNSCollateral<unknown>>>(axon: TProvidedAxon) => InterNeuronAPI<TContextValue, TCNSAxon<TProvidedAxon>>;
|
|
23
104
|
};
|
|
105
|
+
export declare const afferentPath: (parentAfferentPath?: TCNSAfferentPath) => TCNSAfferentPath;
|
|
106
|
+
export declare const modality: (afferentPaths: Record<string | number, TCNSAfferentPath>) => TCNSModality;
|
|
24
107
|
export {};
|
|
25
108
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"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"}
|