@xyo-network/xl1-protocol-sdk 2.2.3 → 3.0.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/dist/neutral/CreatableProvider/AbstractCreatableProvider.d.ts +35 -2
- package/dist/neutral/CreatableProvider/AbstractCreatableProvider.d.ts.map +1 -1
- package/dist/neutral/CreatableProvider/CreatableProvider.d.ts +8 -0
- package/dist/neutral/CreatableProvider/CreatableProvider.d.ts.map +1 -1
- package/dist/neutral/capabilities/Capability.d.ts +1 -8
- package/dist/neutral/capabilities/Capability.d.ts.map +1 -1
- package/dist/neutral/capabilities/Provider.d.ts +20 -54
- package/dist/neutral/capabilities/Provider.d.ts.map +1 -1
- package/dist/neutral/capabilities/connectionTypes.d.ts +10 -0
- package/dist/neutral/capabilities/connectionTypes.d.ts.map +1 -0
- package/dist/neutral/capabilities/index.d.ts +4 -0
- package/dist/neutral/capabilities/index.d.ts.map +1 -1
- package/dist/neutral/capabilities/locatorFromConfig.d.ts +29 -0
- package/dist/neutral/capabilities/locatorFromConfig.d.ts.map +1 -0
- package/dist/neutral/capabilities/needsFromProviderBindings.d.ts +8 -0
- package/dist/neutral/capabilities/needsFromProviderBindings.d.ts.map +1 -0
- package/dist/neutral/capabilities/providerCandidateFromClass.d.ts +7 -0
- package/dist/neutral/capabilities/providerCandidateFromClass.d.ts.map +1 -0
- package/dist/neutral/capabilities/resolveProviders.d.ts +29 -22
- package/dist/neutral/capabilities/resolveProviders.d.ts.map +1 -1
- package/dist/neutral/config/Actor.d.ts +216 -12
- package/dist/neutral/config/Actor.d.ts.map +1 -1
- package/dist/neutral/config/Actors.d.ts +41 -2
- package/dist/neutral/config/Actors.d.ts.map +1 -1
- package/dist/neutral/config/Base.d.ts +41 -2
- package/dist/neutral/config/Base.d.ts.map +1 -1
- package/dist/neutral/config/Config.d.ts +152 -8
- package/dist/neutral/config/Config.d.ts.map +1 -1
- package/dist/neutral/config/HostActor.d.ts +216 -12
- package/dist/neutral/config/HostActor.d.ts.map +1 -1
- package/dist/neutral/config/ProviderBinding.d.ts +4 -5
- package/dist/neutral/config/ProviderBinding.d.ts.map +1 -1
- package/dist/neutral/config/adaptLegacyConfig.d.ts +2 -3
- package/dist/neutral/config/adaptLegacyConfig.d.ts.map +1 -1
- package/dist/neutral/config/connections/index.d.ts +6 -0
- package/dist/neutral/config/connections/index.d.ts.map +1 -0
- package/dist/neutral/config/index.d.ts +2 -0
- package/dist/neutral/config/index.d.ts.map +1 -1
- package/dist/neutral/config/normalizeConnectionsConfig.d.ts +20 -0
- package/dist/neutral/config/normalizeConnectionsConfig.d.ts.map +1 -0
- package/dist/neutral/config/transports/Transport.d.ts +18 -3
- package/dist/neutral/config/transports/Transport.d.ts.map +1 -1
- package/dist/neutral/context/Actor.d.ts +216 -12
- package/dist/neutral/context/Actor.d.ts.map +1 -1
- package/dist/neutral/context/HostActor.d.ts +216 -12
- package/dist/neutral/context/HostActor.d.ts.map +1 -1
- package/dist/neutral/getFileConfig.d.ts +70 -4
- package/dist/neutral/getFileConfig.d.ts.map +1 -1
- package/dist/neutral/getFileConfig.mjs +204 -191
- package/dist/neutral/getFileConfig.mjs.map +4 -4
- package/dist/neutral/index.mjs +1120 -822
- package/dist/neutral/index.mjs.map +4 -4
- package/dist/neutral/model/CreatableProviderContext.zod.d.ts +216 -12
- package/dist/neutral/model/CreatableProviderContext.zod.d.ts.map +1 -1
- package/dist/neutral/simple/StakeEventsViewer/SimpleStakeEventsViewer.d.ts +2 -0
- package/dist/neutral/simple/StakeEventsViewer/SimpleStakeEventsViewer.d.ts.map +1 -1
- package/dist/neutral/simple/StakeTotalsViewer/SimpleStakeTotalsViewer.d.ts +2 -0
- package/dist/neutral/simple/StakeTotalsViewer/SimpleStakeTotalsViewer.d.ts.map +1 -1
- package/dist/neutral/simple/StakeViewer/SimpleStakeViewer.d.ts +2 -0
- package/dist/neutral/simple/StakeViewer/SimpleStakeViewer.d.ts.map +1 -1
- package/dist/neutral/simple/TransactionViewer/SimpleTransactionViewer.d.ts +1 -0
- package/dist/neutral/simple/TransactionViewer/SimpleTransactionViewer.d.ts.map +1 -1
- package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts +2 -0
- package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts.map +1 -1
- package/dist/neutral/simple/block/SimpleBlockViewer.d.ts +2 -0
- package/dist/neutral/simple/block/SimpleBlockViewer.d.ts.map +1 -1
- package/dist/neutral/simple/blockInvalidation/SimpleBlockInvalidationViewer.d.ts +2 -0
- package/dist/neutral/simple/blockInvalidation/SimpleBlockInvalidationViewer.d.ts.map +1 -1
- package/dist/neutral/simple/blockReward/SimpleBlockRewardViewer.d.ts +2 -0
- package/dist/neutral/simple/blockReward/SimpleBlockRewardViewer.d.ts.map +1 -1
- package/dist/neutral/simple/blockValidation/SimpleBlockValidationViewer.d.ts +2 -0
- package/dist/neutral/simple/blockValidation/SimpleBlockValidationViewer.d.ts.map +1 -1
- package/dist/neutral/simple/chainContractViewer/SimpleChainContractViewer.d.ts +2 -0
- package/dist/neutral/simple/chainContractViewer/SimpleChainContractViewer.d.ts.map +1 -1
- package/dist/neutral/simple/datalake/RestDataLakeRunner.d.ts +2 -0
- package/dist/neutral/simple/datalake/RestDataLakeRunner.d.ts.map +1 -1
- package/dist/neutral/simple/datalake/RestDataLakeViewer.d.ts +2 -0
- package/dist/neutral/simple/datalake/RestDataLakeViewer.d.ts.map +1 -1
- package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts +2 -0
- package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts.map +1 -1
- package/dist/neutral/simple/datalake/SimpleDataLakeViewer.d.ts +2 -0
- package/dist/neutral/simple/datalake/SimpleDataLakeViewer.d.ts.map +1 -1
- package/dist/neutral/simple/finalization/SimpleFinalizationRunner.d.ts +2 -0
- package/dist/neutral/simple/finalization/SimpleFinalizationRunner.d.ts.map +1 -1
- package/dist/neutral/simple/finalization/SimpleFinalizationViewer.d.ts +2 -0
- package/dist/neutral/simple/finalization/SimpleFinalizationViewer.d.ts.map +1 -1
- package/dist/neutral/simple/mempool/SimpleMempoolRunner.d.ts +3 -1
- package/dist/neutral/simple/mempool/SimpleMempoolRunner.d.ts.map +1 -1
- package/dist/neutral/simple/mempool/SimpleMempoolViewer.d.ts +2 -0
- package/dist/neutral/simple/mempool/SimpleMempoolViewer.d.ts.map +1 -1
- package/dist/neutral/simple/runner/SimpleXyoRunner.d.ts +2 -0
- package/dist/neutral/simple/runner/SimpleXyoRunner.d.ts.map +1 -1
- package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts +2 -0
- package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts.map +1 -1
- package/dist/neutral/simple/timeSync2/SimpleTimeSyncViewer.d.ts +2 -0
- package/dist/neutral/simple/timeSync2/SimpleTimeSyncViewer.d.ts.map +1 -1
- package/dist/neutral/simple/transactionValidation/SimpleTransactionValidationViewer.d.ts +2 -0
- package/dist/neutral/simple/transactionValidation/SimpleTransactionValidationViewer.d.ts.map +1 -1
- package/dist/neutral/simple/windowedBlock/SimpleWindowedBlockViewer.d.ts +2 -0
- package/dist/neutral/simple/windowedBlock/SimpleWindowedBlockViewer.d.ts.map +1 -1
- package/dist/neutral/test/index.mjs +210 -191
- package/dist/neutral/test/index.mjs.map +4 -4
- package/package.json +9 -9
|
@@ -35,8 +35,39 @@ export declare abstract class AbstractCreatableProvider<TParams extends Creatabl
|
|
|
35
35
|
logLevel: "error" | "warn" | "info" | "log" | "debug" | "trace";
|
|
36
36
|
silent: boolean;
|
|
37
37
|
};
|
|
38
|
+
connections: Record<string, {
|
|
39
|
+
root: string;
|
|
40
|
+
type: "lmdb";
|
|
41
|
+
access?: "read" | "write" | undefined;
|
|
42
|
+
store?: string | undefined;
|
|
43
|
+
} | {
|
|
44
|
+
type: "mongo";
|
|
45
|
+
connectionString?: string | undefined;
|
|
46
|
+
database?: string | undefined;
|
|
47
|
+
domain?: string | undefined;
|
|
48
|
+
password?: string | undefined;
|
|
49
|
+
username?: string | undefined;
|
|
50
|
+
} | {
|
|
51
|
+
protocol: string;
|
|
52
|
+
url: string;
|
|
53
|
+
type: "rpc";
|
|
54
|
+
} | {
|
|
55
|
+
type: "rest";
|
|
56
|
+
baseUrl: string;
|
|
57
|
+
} | {
|
|
58
|
+
type: "s3";
|
|
59
|
+
bucket?: string | undefined;
|
|
60
|
+
prefix?: string | undefined;
|
|
61
|
+
readUrl?: string | undefined;
|
|
62
|
+
accessKeyId?: string | undefined;
|
|
63
|
+
accountId?: string | undefined;
|
|
64
|
+
secretAccessKey?: string | undefined;
|
|
65
|
+
} | {
|
|
66
|
+
type: "evm-rpc";
|
|
67
|
+
url: string;
|
|
68
|
+
}>;
|
|
38
69
|
providerBindings: Record<string, {
|
|
39
|
-
|
|
70
|
+
connection?: string | undefined;
|
|
40
71
|
transport?: string | undefined;
|
|
41
72
|
}>;
|
|
42
73
|
providers: {
|
|
@@ -55,8 +86,10 @@ export declare abstract class AbstractCreatableProvider<TParams extends Creatabl
|
|
|
55
86
|
} | undefined;
|
|
56
87
|
};
|
|
57
88
|
transports: Record<string, {
|
|
58
|
-
type: "lmdb";
|
|
59
89
|
root: string;
|
|
90
|
+
type: "lmdb";
|
|
91
|
+
access?: "read" | "write" | undefined;
|
|
92
|
+
store?: string | undefined;
|
|
60
93
|
} | {
|
|
61
94
|
type: "mongo";
|
|
62
95
|
connectionString?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractCreatableProvider.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/AbstractCreatableProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EACL,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE9E,OAAO,KAAK,EACV,iBAAiB,EACjB,0BAA0B,EAAE,yBAAyB,EAAE,uBAAuB,EAC9E,WAAW,EACZ,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,iEAAiE;AACjE,8BAAsB,yBAAyB,CAAC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,EAC/G,UAAU,SAAS,0BAA0B,GAAG,0BAA0B,CAAE,SAAQ,iBAAiB,CAAC,OAAO,EAAE,UAAU,CACzH,YAAW,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC;IACrD,YAAY,EAAE,WAAW,CAAK;IAE9B,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;IACvD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;IAE5C,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IAE1C,IAAa,MAAM,uBAOlB;IAED,IAAa,KAAK,mDAEjB;IAED,IAAa,MAAM,oDAElB;IAED,SAAS,KAAK,MAAM
|
|
1
|
+
{"version":3,"file":"AbstractCreatableProvider.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/AbstractCreatableProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EACL,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE9E,OAAO,KAAK,EACV,iBAAiB,EACjB,0BAA0B,EAAE,yBAAyB,EAAE,uBAAuB,EAC9E,WAAW,EACZ,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,iEAAiE;AACjE,8BAAsB,yBAAyB,CAAC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,EAC/G,UAAU,SAAS,0BAA0B,GAAG,0BAA0B,CAAE,SAAQ,iBAAiB,CAAC,OAAO,EAAE,UAAU,CACzH,YAAW,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC;IACrD,YAAY,EAAE,WAAW,CAAK;IAE9B,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;IACvD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;IAE5C,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IAE1C,IAAa,MAAM,uBAOlB;IAED,IAAa,KAAK,mDAEjB;IAED,IAAa,MAAM,oDAElB;IAED,SAAS,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEnB;IAED,SAAS,KAAK,OAAO,uDAEpB;IAED,SAAS,KAAK,OAAO,qIAEpB;IAED,MAAM,CAAC,OAAO,CAAC,SAAS,SAAS,yBAAyB,EAAE,aAAa,SAAS,eAAe,EAAE,GAAG,eAAe,EAAE,EACrH,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAClC,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;WAMxB,aAAa,CAAC,CAAC,SAAS,yBAAyB,EACrE,MAAM,GAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAM;IAgBpB,aAAa;IAUtB,eAAe,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC;IAI1F,kBAAkB,CAAC,SAAS,SAAS,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC;CAGpG"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { Creatable, CreatableInstance, CreatableParams, EventData, Labels, WithOptionalLabels } from '@xylabs/sdk-js';
|
|
2
2
|
import type { Provider, ProviderMoniker } from '@xyo-network/xl1-protocol-lib';
|
|
3
|
+
import type { Surface } from '../capabilities/Backing.ts';
|
|
4
|
+
import type { TransportKind } from '../config/transports/Transport.ts';
|
|
3
5
|
import type { CreatableProviderContext } from '../model/index.ts';
|
|
6
|
+
/** Connection kinds declared on creatable provider statics (transports plus wallet). */
|
|
7
|
+
export type CreatableProviderConnectionType = TransportKind | 'wallet';
|
|
4
8
|
import type { GetInstanceOptions } from './GetInstanceOptions.ts';
|
|
5
9
|
import type { LabeledCreatableProviderFactory } from './LabeledCreatableProviderFactory.ts';
|
|
6
10
|
/** Parameters for CreatableProvider. */
|
|
@@ -18,6 +22,7 @@ export type CreatableProviderInstance<TProvider extends Provider<ProviderMoniker
|
|
|
18
22
|
export type ProviderFactoryScope = 'global' | 'context' | 'local';
|
|
19
23
|
/** CreatableProviderFactory interface. */
|
|
20
24
|
export interface CreatableProviderFactory<T extends CreatableProviderInstance = CreatableProviderInstance, TDependencies extends ProviderMoniker[] = ProviderMoniker[]> extends Omit<CreatableProvider<T>, 'create' | 'createHandler' | 'paramsHandler'> {
|
|
25
|
+
readonly connectionTypes?: readonly CreatableProviderConnectionType[];
|
|
21
26
|
creatableProvider: CreatableProvider<T>;
|
|
22
27
|
defaultParams: Omit<T['params'], 'context'>;
|
|
23
28
|
readonly dependencies: TDependencies;
|
|
@@ -25,6 +30,7 @@ export interface CreatableProviderFactory<T extends CreatableProviderInstance =
|
|
|
25
30
|
providerName: string;
|
|
26
31
|
resolvedMoniker: string;
|
|
27
32
|
scope: ProviderFactoryScope;
|
|
33
|
+
readonly surface?: Surface;
|
|
28
34
|
uniqueId: symbol;
|
|
29
35
|
getInstance(this: CreatableProviderFactory<T>, params: T['params'], options?: GetInstanceOptions): Promise<T>;
|
|
30
36
|
tryGetInstance(this: CreatableProviderFactory<T>, params: T['params'], options?: GetInstanceOptions): Promise<T | undefined>;
|
|
@@ -37,9 +43,11 @@ export interface LabeledCreatableProvider<T extends CreatableProviderInstance =
|
|
|
37
43
|
export type ProviderMap<T extends ProviderMoniker = ProviderMoniker> = Partial<Record<T, CreatableProviderInstance<Provider<T>>>>;
|
|
38
44
|
/** CreatableProvider interface. */
|
|
39
45
|
export interface CreatableProvider<T extends CreatableProviderInstance = CreatableProviderInstance, TDependencies extends ProviderMoniker[] = ProviderMoniker[]> extends Creatable<T> {
|
|
46
|
+
readonly connectionTypes?: readonly CreatableProviderConnectionType[];
|
|
40
47
|
readonly defaultMoniker: ProviderMoniker;
|
|
41
48
|
readonly dependencies: TDependencies;
|
|
42
49
|
readonly monikers: ProviderMoniker[];
|
|
50
|
+
readonly surface?: Surface;
|
|
43
51
|
factory(dependencies: TDependencies, params: Omit<T['params'], 'context'>): CreatableProviderFactory<T>;
|
|
44
52
|
}
|
|
45
53
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatableProvider.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/CreatableProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAC7C,SAAS,EACT,MAAM,EAAE,kBAAkB,EAC3B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"CreatableProvider.d.ts","sourceRoot":"","sources":["../../../src/CreatableProvider/CreatableProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,18 +5,11 @@ import type { Surface } from './Backing.ts';
|
|
|
5
5
|
*
|
|
6
6
|
* The capability registry is a sidecar to the moniker namespace — every
|
|
7
7
|
* moniker that an actor consumes should have a corresponding `Capability`
|
|
8
|
-
* entry.
|
|
9
|
-
* (via `implies`) and produce useful diagnostics.
|
|
8
|
+
* entry. Plan-time transitive closure uses `ProviderDescriptor.dependencies`.
|
|
10
9
|
*/
|
|
11
10
|
export interface Capability {
|
|
12
11
|
/** Canonical id — equals the existing moniker constant string. */
|
|
13
12
|
readonly id: ProviderMoniker;
|
|
14
|
-
/**
|
|
15
|
-
* Other capabilities a consumer of this one transitively requires.
|
|
16
|
-
* Drives plan-time prerequisite walking — e.g. `BlockRunner` requires
|
|
17
|
-
* `BlockViewer`, `MempoolRunner`, `MempoolViewer`, etc.
|
|
18
|
-
*/
|
|
19
|
-
readonly implies?: readonly ProviderMoniker[];
|
|
20
13
|
readonly kind: 'viewer' | 'runner' | 'gateway' | 'archivist' | 'signer';
|
|
21
14
|
/** Human label for diagnostics. */
|
|
22
15
|
readonly label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Capability.d.ts","sourceRoot":"","sources":["../../../src/capabilities/Capability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C
|
|
1
|
+
{"version":3,"file":"Capability.d.ts","sourceRoot":"","sources":["../../../src/capabilities/Capability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;IACvE,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC,GAAG,CAAC,EAAE,EAAE,eAAe,GAAG,UAAU,CAAA;IACpC,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAA;IAC/B,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAA;IACzD,MAAM,CAAC,EAAE,EAAE,eAAe,GAAG,UAAU,GAAG,SAAS,CAAA;CACpD;AAiCD,wBAAgB,wBAAwB,IAAI,0BAA0B,CAErE"}
|
|
@@ -1,65 +1,31 @@
|
|
|
1
1
|
import type { ProviderMoniker } from '@xyo-network/xl1-protocol-model';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type { CapabilityRegistryInstance } from './Capability.ts';
|
|
2
|
+
import type { CreatableProvider, CreatableProviderConnectionType } from '../CreatableProvider/CreatableProvider.ts';
|
|
3
|
+
import type { Surface } from './Backing.ts';
|
|
5
4
|
/**
|
|
6
|
-
*
|
|
5
|
+
* Plan-time candidate for provider resolution (used by `resolveProviders`).
|
|
7
6
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* - `
|
|
11
|
-
* - `4` — Stub/fallback (Simple* providers fed empty arrays — usable only when nothing better exists).
|
|
7
|
+
* Metadata (`connectionTypes`, `dependencies`, `surface`, `satisfies`) is
|
|
8
|
+
* derived from `CreatableProvider` class statics via `providerCandidateFromClass`.
|
|
9
|
+
* Selection is config-only: `providerBindings` + `connections` type matching.
|
|
12
10
|
*/
|
|
13
|
-
export
|
|
14
|
-
/**
|
|
15
|
-
* Sidecar metadata for a `CreatableProviderFactory`-producing class. Tells the
|
|
16
|
-
* resolver which capability the provider satisfies, at what tier, under what
|
|
17
|
-
* preconditions, and how to construct the factory at plan time.
|
|
18
|
-
*
|
|
19
|
-
* Descriptors are deliberately separated from the provider classes themselves
|
|
20
|
-
* so the SDK packages stay un-coupled to the descriptor system — descriptors
|
|
21
|
-
* live alongside the consumer that picks them.
|
|
22
|
-
*/
|
|
23
|
-
export interface ProviderDescriptor<TCtx extends ResolutionContext = ResolutionContext> {
|
|
11
|
+
export interface ProviderDescriptor {
|
|
24
12
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* of the locator's `availableBackings`. Empty array means the descriptor
|
|
28
|
-
* has no backing needs (pure stateless factory or function-only viewer).
|
|
13
|
+
* Connection kinds this candidate supports (e.g. `lmdb`, `rpc`). Empty array
|
|
14
|
+
* means wildcard — matches any bound connection type.
|
|
29
15
|
*/
|
|
30
|
-
readonly
|
|
31
|
-
/**
|
|
32
|
-
readonly
|
|
33
|
-
/** Soft tie-break inside a tier; higher wins. Default 0. */
|
|
34
|
-
readonly priority?: number;
|
|
35
|
-
/** Capabilities this provider satisfies (typically one moniker, occasionally several). */
|
|
36
|
-
readonly satisfies: readonly ProviderMoniker[];
|
|
16
|
+
readonly connectionTypes: readonly CreatableProviderConnectionType[];
|
|
17
|
+
/** Implementation class selected when this candidate wins. */
|
|
18
|
+
readonly creatableProvider: CreatableProvider;
|
|
37
19
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* the resolver can filter candidates by surface without a registry lookup.
|
|
20
|
+
* Monikers this provider resolves at register/create time. Drives plan-time
|
|
21
|
+
* transitive closure and topological ordering.
|
|
41
22
|
*/
|
|
23
|
+
readonly dependencies?: readonly ProviderMoniker[];
|
|
24
|
+
/** Globally-unique key, usually the class name — used in snapshots and diagnostics. */
|
|
25
|
+
readonly id: string;
|
|
26
|
+
/** Capabilities this candidate satisfies (typically `monikers` from the class). */
|
|
27
|
+
readonly satisfies: readonly ProviderMoniker[];
|
|
28
|
+
/** Which API surface this capability is exposed under. */
|
|
42
29
|
readonly surface: Surface;
|
|
43
|
-
readonly tier: ProviderTier;
|
|
44
|
-
/**
|
|
45
|
-
* Build the factory args from the resolution context. Returning undefined
|
|
46
|
-
* signals "skip me at runtime" (preconditions said yes, but a missing optional
|
|
47
|
-
* resource was discovered during the build).
|
|
48
|
-
*/
|
|
49
|
-
build(ctx: TCtx): CreatableProviderFactory | undefined;
|
|
50
|
-
/**
|
|
51
|
-
* Returns true iff the provider can be constructed in this process given `ctx`.
|
|
52
|
-
* Pure & sync — must not read DB or do I/O.
|
|
53
|
-
*/
|
|
54
|
-
preconditions(ctx: TCtx): boolean;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Inputs the resolver hands to descriptors. `capabilities` is the registry
|
|
58
|
-
* the resolver consults for `implies` walks. Subtypes may extend this with
|
|
59
|
-
* live runtime resources — archivists, EVM provider, wallet — that descriptors
|
|
60
|
-
* need at `build()` time.
|
|
61
|
-
*/
|
|
62
|
-
export interface ResolutionContext {
|
|
63
|
-
readonly capabilities: CapabilityRegistryInstance;
|
|
64
30
|
}
|
|
65
31
|
//# sourceMappingURL=Provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/capabilities/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/capabilities/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAA;AACnH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,SAAS,+BAA+B,EAAE,CAAA;IACpE,8DAA8D;IAC9D,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAA;IAC7C;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;IAClD,uFAAuF;IACvF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,mFAAmF;IACnF,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAA;IAC9C,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TransportKind } from '../config/transports/Transport.ts';
|
|
2
|
+
import type { CreatableProviderConnectionType } from '../CreatableProvider/CreatableProvider.ts';
|
|
3
|
+
import type { ProviderDescriptor } from './Provider.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Connection types a descriptor supports. An empty array is a wildcard: the
|
|
6
|
+
* descriptor matches any bound connection type (used by in-process memory stubs).
|
|
7
|
+
*/
|
|
8
|
+
export declare function descriptorConnectionTypes(descriptor: Pick<ProviderDescriptor, 'connectionTypes'>): readonly CreatableProviderConnectionType[];
|
|
9
|
+
export declare function descriptorMatchesConnectionType(descriptor: Pick<ProviderDescriptor, 'connectionTypes'>, connectionType: TransportKind): boolean;
|
|
10
|
+
//# sourceMappingURL=connectionTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectionTypes.d.ts","sourceRoot":"","sources":["../../../src/capabilities/connectionTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAA;AAChG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,GACtD,SAAS,+BAA+B,EAAE,CAE5C;AAED,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,EACvD,cAAc,EAAE,aAAa,GAC5B,OAAO,CAMT"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
export * from './Backing.ts';
|
|
2
2
|
export * from './Capability.ts';
|
|
3
3
|
export * from './connectionSubsetBySurface.ts';
|
|
4
|
+
export * from './connectionTypes.ts';
|
|
4
5
|
export * from './factoryBrand.ts';
|
|
6
|
+
export * from './locatorFromConfig.ts';
|
|
7
|
+
export * from './needsFromProviderBindings.ts';
|
|
5
8
|
export * from './Provider.ts';
|
|
9
|
+
export * from './providerCandidateFromClass.ts';
|
|
6
10
|
export * from './resolveProviders.ts';
|
|
7
11
|
export * from './surfaceMap.ts';
|
|
8
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,iCAAiC,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ProviderMoniker } from '@xyo-network/xl1-protocol-model';
|
|
2
|
+
import type { Config } from '../config/index.ts';
|
|
3
|
+
import { ProviderFactoryLocator } from '../CreatableProvider/ProviderFactoryLocator.ts';
|
|
4
|
+
import type { CreatableProviderContext } from '../model/index.ts';
|
|
5
|
+
import type { ProviderDescriptor } from './Provider.ts';
|
|
6
|
+
import { type ResolutionPlan } from './resolveProviders.ts';
|
|
7
|
+
/** Options for building a locator from config-driven provider resolution. */
|
|
8
|
+
export interface LocatorFromConfigOptions {
|
|
9
|
+
readonly candidates: readonly ProviderDescriptor[];
|
|
10
|
+
readonly config: Config;
|
|
11
|
+
readonly context?: Omit<CreatableProviderContext, 'config' | 'locator'>;
|
|
12
|
+
readonly needs: ReadonlySet<ProviderMoniker>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Resolves which provider classes to register for the given config bindings.
|
|
16
|
+
* Selection uses only `providerBindings` + `connections` — no runtime preconditions.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveProvidersFromConfig(needs: ReadonlySet<ProviderMoniker>, candidates: readonly ProviderDescriptor[], config: Config): ResolutionPlan;
|
|
19
|
+
/**
|
|
20
|
+
* Registers factories for a resolution plan. Params are empty — implementations
|
|
21
|
+
* are expected to read their bound connection from `context.config` at runtime.
|
|
22
|
+
*/
|
|
23
|
+
export declare function registerFactoriesFromPlan(locator: ProviderFactoryLocator, plan: ResolutionPlan): void;
|
|
24
|
+
/**
|
|
25
|
+
* Builds a `ProviderFactoryLocator` from config: resolve candidates, then register
|
|
26
|
+
* winning factories. Connection profiles come from config, not factory params.
|
|
27
|
+
*/
|
|
28
|
+
export declare function locatorFromConfig(options: LocatorFromConfigOptions): ProviderFactoryLocator;
|
|
29
|
+
//# sourceMappingURL=locatorFromConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locatorFromConfig.d.ts","sourceRoot":"","sources":["../../../src/capabilities/locatorFromConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAA;AACvF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,KAAK,cAAc,EAAoB,MAAM,uBAAuB,CAAA;AAE7E,6EAA6E;AAC7E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAA;IACvE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;CAC7C;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,EACnC,UAAU,EAAE,SAAS,kBAAkB,EAAE,EACzC,MAAM,EAAE,MAAM,GACb,cAAc,CAMhB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,cAAc,GACnB,IAAI,CAMN;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,wBAAwB,GAChC,sBAAsB,CAWxB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ProviderMoniker } from '@xyo-network/xl1-protocol-model';
|
|
2
|
+
import type { Config } from '../config/Config.ts';
|
|
3
|
+
import type { TransportKind } from '../config/transports/Transport.ts';
|
|
4
|
+
/** Derives resolution needs from every moniker declared in `providerBindings`. */
|
|
5
|
+
export declare function needsFromProviderBindings(config: Pick<Config, 'providerBindings'>): ReadonlySet<ProviderMoniker>;
|
|
6
|
+
/** Derives needs for monikers whose bound connection matches one of the given types. */
|
|
7
|
+
export declare function needsFromConnectionTypes(config: Pick<Config, 'connections' | 'providerBindings'>, connectionTypes: readonly TransportKind[]): ReadonlySet<ProviderMoniker>;
|
|
8
|
+
//# sourceMappingURL=needsFromProviderBindings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"needsFromProviderBindings.d.ts","sourceRoot":"","sources":["../../../src/capabilities/needsFromProviderBindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAEtE,kFAAkF;AAClF,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,GACvC,WAAW,CAAC,eAAe,CAAC,CAE9B;AAED,wFAAwF;AACxF,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,kBAAkB,CAAC,EACxD,eAAe,EAAE,SAAS,aAAa,EAAE,GACxC,WAAW,CAAC,eAAe,CAAC,CAiB9B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CreatableProvider } from '../CreatableProvider/CreatableProvider.ts';
|
|
2
|
+
import type { ProviderDescriptor } from './Provider.ts';
|
|
3
|
+
/** Derives a resolution candidate from a `CreatableProvider` implementation class. */
|
|
4
|
+
export declare function providerCandidateFromClass(creatableProvider: CreatableProvider, id?: string): ProviderDescriptor;
|
|
5
|
+
/** Derives resolution candidates from a list of provider implementation classes. */
|
|
6
|
+
export declare function providerCandidatesFromClasses(creatableProviders: readonly CreatableProvider[]): ProviderDescriptor[];
|
|
7
|
+
//# sourceMappingURL=providerCandidateFromClass.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerCandidateFromClass.d.ts","sourceRoot":"","sources":["../../../src/capabilities/providerCandidateFromClass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD,sFAAsF;AACtF,wBAAgB,0BAA0B,CACxC,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,GAAE,MAA+B,GAClC,kBAAkB,CASpB;AAED,oFAAoF;AACpF,wBAAgB,6BAA6B,CAC3C,kBAAkB,EAAE,SAAS,iBAAiB,EAAE,GAC/C,kBAAkB,EAAE,CAEtB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ProviderMoniker } from '@xyo-network/xl1-protocol-model';
|
|
2
|
-
import type {
|
|
3
|
-
import type { ProviderDescriptor
|
|
2
|
+
import type { TransportConfig } from '../config/transports/Transport.ts';
|
|
3
|
+
import type { ProviderDescriptor } from './Provider.ts';
|
|
4
4
|
export interface ResolutionPlan {
|
|
5
5
|
/** Capability moniker -> winning descriptor id (for snapshot diffing). */
|
|
6
6
|
readonly bindings: Readonly<Record<ProviderMoniker, string>>;
|
|
@@ -18,30 +18,37 @@ export declare class MissingCapabilityError extends Error {
|
|
|
18
18
|
readonly reasons: readonly string[];
|
|
19
19
|
constructor(moniker: ProviderMoniker, reasons: readonly string[]);
|
|
20
20
|
}
|
|
21
|
+
export declare class AmbiguousProviderError extends Error {
|
|
22
|
+
readonly candidates: readonly string[];
|
|
23
|
+
readonly moniker: ProviderMoniker;
|
|
24
|
+
constructor(moniker: ProviderMoniker, candidates: readonly ProviderDescriptor[]);
|
|
25
|
+
}
|
|
26
|
+
export declare class UnboundProviderError extends Error {
|
|
27
|
+
readonly moniker: ProviderMoniker;
|
|
28
|
+
constructor(moniker: ProviderMoniker);
|
|
29
|
+
}
|
|
30
|
+
export declare class UnknownConnectionError extends Error {
|
|
31
|
+
readonly connectionName: string;
|
|
32
|
+
readonly moniker: ProviderMoniker;
|
|
33
|
+
constructor(moniker: ProviderMoniker, connectionName: string);
|
|
34
|
+
}
|
|
35
|
+
interface ProviderBindingLike {
|
|
36
|
+
connection?: string;
|
|
37
|
+
transport?: string;
|
|
38
|
+
}
|
|
21
39
|
export interface ResolveProvidersOptions {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
* out any candidate whose `backings` are not a subset of `availableBackings`
|
|
25
|
-
* (with mode compatibility — `read` is satisfied by either `read` or `write`;
|
|
26
|
-
* `write` requires `write`). If omitted, no backing-based filtering happens.
|
|
27
|
-
*/
|
|
28
|
-
readonly availableBackings?: readonly BackingNeed[];
|
|
29
|
-
/**
|
|
30
|
-
* Pin specific monikers to a descriptor id (`ProviderDescriptor.id`). When
|
|
31
|
-
* set, only the named implementation is considered for that moniker; tier
|
|
32
|
-
* selection is skipped.
|
|
33
|
-
*/
|
|
34
|
-
readonly implementations?: Readonly<Partial<Record<ProviderMoniker, string>>>;
|
|
40
|
+
readonly connections?: Readonly<Record<string, TransportConfig>>;
|
|
41
|
+
readonly providerBindings?: Readonly<Partial<Record<ProviderMoniker, ProviderBindingLike>>>;
|
|
35
42
|
}
|
|
36
43
|
/**
|
|
37
44
|
* Plans which providers to register for a given set of needs.
|
|
38
45
|
*
|
|
39
|
-
* 1.
|
|
40
|
-
* 2.
|
|
41
|
-
* 3. Filter
|
|
42
|
-
* 4.
|
|
43
|
-
* 5. Toposort selected descriptors using
|
|
44
|
-
* 6. Throw `MissingCapabilityError` if any wanted moniker has zero survivors.
|
|
46
|
+
* 1. Fixpoint-expand monikers from selected descriptor `dependencies`.
|
|
47
|
+
* 2. Require `providerBindings[moniker].connection` for every moniker.
|
|
48
|
+
* 3. Filter candidates by bound connection type.
|
|
49
|
+
* 4. Throw when zero or multiple candidates remain.
|
|
50
|
+
* 5. Toposort selected descriptors using `dependencies`.
|
|
45
51
|
*/
|
|
46
|
-
export declare function resolveProviders
|
|
52
|
+
export declare function resolveProviders(needs: ReadonlySet<ProviderMoniker>, candidates: readonly ProviderDescriptor[], options?: ResolveProvidersOptions): ResolutionPlan;
|
|
53
|
+
export {};
|
|
47
54
|
//# sourceMappingURL=resolveProviders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveProviders.d.ts","sourceRoot":"","sources":["../../../src/capabilities/resolveProviders.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolveProviders.d.ts","sourceRoot":"","sources":["../../../src/capabilities/resolveProviders.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,mCAAmC,CAAA;AAEvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5D,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAChD,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;gBAEvB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE;CAOjE;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,kBAAkB,EAAE;CAShF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe;CAKrC;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM;CAQ7D;AAED,UAAU,mBAAmB;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;IAChE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;CAC5F;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,EACnC,UAAU,EAAE,SAAS,kBAAkB,EAAE,EACzC,OAAO,GAAE,uBAA4B,GACpC,cAAc,CAsBhB"}
|