@cnstra/core 2.6.0 → 3.2.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/README.md +51 -35
- package/dist/CNS.d.ts +10 -3
- package/dist/CNS.d.ts.map +1 -1
- package/dist/CNSCollateral.d.ts +1 -0
- package/dist/CNSCollateral.d.ts.map +1 -1
- package/dist/CNSInstanceNeuronQueue.d.ts +2 -1
- package/dist/CNSInstanceNeuronQueue.d.ts.map +1 -1
- package/dist/CNSNetwork.d.ts +14 -6
- package/dist/CNSNetwork.d.ts.map +1 -1
- package/dist/CNSStimulation.d.ts +41 -41
- package/dist/CNSStimulation.d.ts.map +1 -1
- package/dist/createCNS.d.ts +4 -0
- package/dist/createCNS.d.ts.map +1 -0
- package/dist/factory/index.d.ts +37 -40
- package/dist/factory/index.d.ts.map +1 -1
- package/dist/index.cjs +534 -408
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +528 -401
- package/dist/index.js.map +1 -1
- package/dist/types/TCNSModalitySelection.d.ts +13 -0
- package/dist/types/TCNSModalitySelection.d.ts.map +1 -0
- package/dist/utils/CNSStimulationGate.d.ts +2 -2
- package/dist/utils/CNSStimulationGate.d.ts.map +1 -1
- package/dist/utils/cnsComposeModalityResponse.d.ts +2 -0
- package/dist/utils/cnsComposeModalityResponse.d.ts.map +1 -0
- package/dist/utils/cnsResolveModalityHandler.d.ts +4 -0
- package/dist/utils/cnsResolveModalityHandler.d.ts.map +1 -0
- package/package.json +5 -4
- package/dist/CNSStimulationContextStore.d.ts +0 -11
- package/dist/CNSStimulationContextStore.d.ts.map +0 -1
package/dist/factory/index.d.ts
CHANGED
|
@@ -3,62 +3,63 @@ import type { ICNSCollateral } from '@cnstra/types';
|
|
|
3
3
|
import { TCNSAxon } from '@cnstra/types';
|
|
4
4
|
import { TCNSDendrite } from '@cnstra/types';
|
|
5
5
|
import { TCNSHandlerContext } from '@cnstra/types';
|
|
6
|
-
import {
|
|
6
|
+
import { TCNSNeuronResponseReturn } from '@cnstra/types';
|
|
7
7
|
import { TCNSModality } from '@cnstra/types';
|
|
8
8
|
import { TCNSAfferentPath } from '@cnstra/types';
|
|
9
|
-
export declare const
|
|
9
|
+
export declare const cnsCollateral: <TPayload = undefined>() => CNSCollateral<TPayload>;
|
|
10
10
|
type CollateralPayloadUnion<TCollaterals extends readonly ICNSCollateral<unknown>[]> = {
|
|
11
11
|
[K in keyof TCollaterals]: TCollaterals[K] extends ICNSCollateral<infer P> ? P : never;
|
|
12
12
|
}[number];
|
|
13
|
-
type InterNeuronAPI<
|
|
13
|
+
type InterNeuronAPI<TAxonType extends TCNSAxon = TCNSAxon, TGlobal = unknown> = {
|
|
14
|
+
readonly index: number;
|
|
14
15
|
axon: TAxonType;
|
|
15
16
|
concurrency?: number;
|
|
16
17
|
maxDuration?: number;
|
|
17
|
-
dendrites: TCNSDendrite<
|
|
18
|
-
setConcurrency: (n: number | undefined) => InterNeuronAPI<
|
|
19
|
-
setMaxDuration: (ms: number | undefined) => InterNeuronAPI<
|
|
18
|
+
dendrites: TCNSDendrite<ICNSCollateral<unknown>, TAxonType, TGlobal>[];
|
|
19
|
+
setConcurrency: (n: number | undefined) => InterNeuronAPI<TAxonType, TGlobal>;
|
|
20
|
+
setMaxDuration: (ms: number | undefined) => InterNeuronAPI<TAxonType, TGlobal>;
|
|
20
21
|
bind: <TFollowAxon extends Record<string, ICNSCollateral<unknown>>>(axon: TFollowAxon, dendrites: {
|
|
21
|
-
[K in keyof TFollowAxon]: TCNSDendrite<
|
|
22
|
-
}) => InterNeuronAPI<
|
|
22
|
+
[K in keyof TFollowAxon]: TCNSDendrite<TFollowAxon[K], TAxonType, TGlobal> | TCNSDendrite<TFollowAxon[K], TAxonType, TGlobal>['response'];
|
|
23
|
+
}) => InterNeuronAPI<TAxonType, TGlobal>;
|
|
23
24
|
dendrite: {
|
|
24
25
|
<TSenderCollateral extends ICNSCollateral<unknown>>(s: {
|
|
25
26
|
collateral: TSenderCollateral;
|
|
26
|
-
response: (payload: TSenderCollateral extends ICNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSHandlerContext<
|
|
27
|
-
}): InterNeuronAPI<
|
|
27
|
+
response: (payload: TSenderCollateral extends ICNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSHandlerContext<TGlobal>) => TCNSNeuronResponseReturn<TAxonType>;
|
|
28
|
+
}): InterNeuronAPI<TAxonType, TGlobal>;
|
|
28
29
|
<TCollaterals extends readonly [
|
|
29
30
|
ICNSCollateral<unknown>,
|
|
30
31
|
...ICNSCollateral<unknown>[]
|
|
31
32
|
]>(s: {
|
|
32
33
|
collateral: TCollaterals;
|
|
33
|
-
response: (payload: CollateralPayloadUnion<TCollaterals>, axon: TAxonType, ctx: TCNSHandlerContext<
|
|
34
|
-
}): InterNeuronAPI<
|
|
34
|
+
response: (payload: CollateralPayloadUnion<TCollaterals>, axon: TAxonType, ctx: TCNSHandlerContext<TGlobal>) => TCNSNeuronResponseReturn<TAxonType>;
|
|
35
|
+
}): InterNeuronAPI<TAxonType, TGlobal>;
|
|
35
36
|
<TPayloadUnion>(s: {
|
|
36
37
|
collateral: ICNSCollateral<unknown>[];
|
|
37
|
-
response: (payload: TPayloadUnion, axon: TAxonType, ctx: TCNSHandlerContext<
|
|
38
|
-
}): InterNeuronAPI<
|
|
39
|
-
(s: TCNSDendrite<
|
|
38
|
+
response: (payload: TPayloadUnion, axon: TAxonType, ctx: TCNSHandlerContext<TGlobal>) => TCNSNeuronResponseReturn<TAxonType>;
|
|
39
|
+
}): InterNeuronAPI<TAxonType, TGlobal>;
|
|
40
|
+
(s: TCNSDendrite<ICNSCollateral<unknown>, TAxonType, TGlobal>): InterNeuronAPI<TAxonType, TGlobal>;
|
|
40
41
|
};
|
|
41
42
|
modalityDendrite: {
|
|
42
43
|
<TSenderCollateral extends ICNSCollateral<unknown>, TResult>(s: {
|
|
43
44
|
collateral: TSenderCollateral;
|
|
44
45
|
modality: TCNSModality;
|
|
45
|
-
afferentPaths?: Map<TCNSAfferentPath, (payload: TSenderCollateral extends ICNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSHandlerContext<
|
|
46
|
-
default?: (payload: TSenderCollateral extends ICNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSHandlerContext<
|
|
47
|
-
output: (result: TResult, axon: TAxonType, ctx: TCNSHandlerContext<
|
|
48
|
-
}): InterNeuronAPI<
|
|
46
|
+
afferentPaths?: Map<TCNSAfferentPath, (payload: TSenderCollateral extends ICNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSHandlerContext<TGlobal>) => TResult | Promise<TResult>>;
|
|
47
|
+
default?: (payload: TSenderCollateral extends ICNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSHandlerContext<TGlobal>) => TResult | Promise<TResult>;
|
|
48
|
+
output: (result: TResult, axon: TAxonType, ctx: TCNSHandlerContext<TGlobal>) => TCNSNeuronResponseReturn<TAxonType>;
|
|
49
|
+
}): InterNeuronAPI<TAxonType, TGlobal>;
|
|
49
50
|
<TSenderCollateral extends ICNSCollateral<unknown>, TResult>(s: {
|
|
50
51
|
collateral: TSenderCollateral;
|
|
51
52
|
modalities: Array<{
|
|
52
53
|
modality: TCNSModality;
|
|
53
|
-
afferentPaths?: Map<TCNSAfferentPath, (payload: TSenderCollateral extends ICNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSHandlerContext<
|
|
54
|
-
default?: (payload: TSenderCollateral extends ICNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSHandlerContext<
|
|
54
|
+
afferentPaths?: Map<TCNSAfferentPath, (payload: TSenderCollateral extends ICNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSHandlerContext<TGlobal>) => TResult | Promise<TResult>>;
|
|
55
|
+
default?: (payload: TSenderCollateral extends ICNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSHandlerContext<TGlobal>) => TResult | Promise<TResult>;
|
|
55
56
|
}>;
|
|
56
|
-
default?: (payload: TSenderCollateral extends ICNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSHandlerContext<
|
|
57
|
-
output: (result: TResult, axon: TAxonType, ctx: TCNSHandlerContext<
|
|
58
|
-
}): InterNeuronAPI<
|
|
57
|
+
default?: (payload: TSenderCollateral extends ICNSCollateral<infer P> ? P : never, axon: TAxonType, ctx: TCNSHandlerContext<TGlobal>) => TResult | Promise<TResult>;
|
|
58
|
+
output: (result: TResult, axon: TAxonType, ctx: TCNSHandlerContext<TGlobal>) => TCNSNeuronResponseReturn<TAxonType>;
|
|
59
|
+
}): InterNeuronAPI<TAxonType, TGlobal>;
|
|
59
60
|
};
|
|
60
61
|
};
|
|
61
|
-
export declare const
|
|
62
|
+
export declare const cnsNeuron: <TProvidedAxon extends Record<string, ICNSCollateral<unknown>>, TGlobal = unknown>(axon: TProvidedAxon) => InterNeuronAPI<TCNSAxon<TProvidedAxon>, TGlobal>;
|
|
62
63
|
/**
|
|
63
64
|
* A composable neuron factory. Each `.withX<T>()` returns a *new typed view* of
|
|
64
65
|
* the same underlying builder (the layers are type-only — zero runtime cost, no
|
|
@@ -69,12 +70,12 @@ export declare const neuron: <TContextValue, TProvidedAxon extends Record<string
|
|
|
69
70
|
* into it, so a base factory (`TExt = unknown`) hands neurons the plain ctx bag —
|
|
70
71
|
* nothing is forced onto anyone who didn't ask for it. `withGlobal<T>()` is the
|
|
71
72
|
* built-in layer; make `T` an object to carry as much as you want (store, clock,
|
|
72
|
-
* logger, …) through the single runtime channel wired at `
|
|
73
|
+
* logger, …) through the single runtime channel wired at `new CNS`/`CNSFactory.create`.
|
|
73
74
|
*
|
|
74
75
|
* @example
|
|
75
76
|
* // src/neurons/factory.ts — ctx shape baked once
|
|
76
77
|
* type TGlobal = { store: Store; now(): number; newId(): string };
|
|
77
|
-
* export const { neuron } =
|
|
78
|
+
* export const { neuron } = cnsNeuronFactory().withGlobal<TGlobal>();
|
|
78
79
|
*
|
|
79
80
|
* // any neuron file — plain value, reaches deps via ctx.global
|
|
80
81
|
* export const taskNeuron = neuron({ taskCreated }).bind({ createTask }, {
|
|
@@ -82,23 +83,19 @@ export declare const neuron: <TContextValue, TProvidedAxon extends Record<string
|
|
|
82
83
|
* axon.taskCreated.createSignal({ id: global.newId(), title, at: global.now() }),
|
|
83
84
|
* });
|
|
84
85
|
*/
|
|
85
|
-
export type
|
|
86
|
-
/**
|
|
87
|
-
|
|
88
|
-
/** Add `{ global: T }` to ctx; the value is injected once at `createCNS`/`new CNS`. */
|
|
89
|
-
withGlobal: <T>() => TNeuronFactory<TContextValue, TExt & {
|
|
86
|
+
export type TCNSNeuronFactory<TExt = unknown> = {
|
|
87
|
+
/** Add `{ global: T }` to ctx; the value is injected once at `new CNS`/`CNSFactory.create`. */
|
|
88
|
+
withGlobal: <T>() => TCNSNeuronFactory<TExt & {
|
|
90
89
|
global: T;
|
|
91
90
|
}>;
|
|
92
|
-
neuron: <TProvidedAxon extends Record<string, ICNSCollateral<unknown>>>(axon: TProvidedAxon) => InterNeuronAPI<
|
|
91
|
+
neuron: <TProvidedAxon extends Record<string, ICNSCollateral<unknown>>>(axon: TProvidedAxon) => InterNeuronAPI<TCNSAxon<TProvidedAxon>, TExt>;
|
|
93
92
|
};
|
|
94
|
-
export declare const
|
|
95
|
-
/** Sugar: `
|
|
96
|
-
export declare const
|
|
97
|
-
/** Sugar: `neuronFactory().withGlobal<T>()`. */
|
|
98
|
-
export declare const withGlobal: <T>() => TNeuronFactory<undefined, {
|
|
93
|
+
export declare const cnsNeuronFactory: <TExt = unknown>() => TCNSNeuronFactory<TExt>;
|
|
94
|
+
/** Sugar: `cnsNeuronFactory().withGlobal<T>()`. */
|
|
95
|
+
export declare const withCNSGlobal: <T>() => TCNSNeuronFactory<{
|
|
99
96
|
global: T;
|
|
100
97
|
}>;
|
|
101
|
-
export declare const
|
|
102
|
-
export declare const
|
|
98
|
+
export declare const cnsAfferentPath: (parentAfferentPath?: TCNSAfferentPath) => TCNSAfferentPath;
|
|
99
|
+
export declare const cnsModality: (afferentPaths: Record<string | number, TCNSAfferentPath>) => TCNSModality;
|
|
103
100
|
export {};
|
|
104
101
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"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"}
|