@cadenza.io/core 3.19.5 → 3.21.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/dist/index.d.mts +267 -3
- package/dist/index.d.ts +267 -3
- package/dist/index.js +1076 -75
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1075 -75
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -1
package/dist/index.d.mts
CHANGED
|
@@ -342,7 +342,8 @@ type SchemaDefinition = {
|
|
|
342
342
|
description?: string;
|
|
343
343
|
strict?: boolean;
|
|
344
344
|
};
|
|
345
|
-
type
|
|
345
|
+
type SchemaMap = Record<string, SchemaDefinition>;
|
|
346
|
+
type Schema = SchemaDefinition | SchemaMap;
|
|
346
347
|
|
|
347
348
|
interface Intent {
|
|
348
349
|
name: string;
|
|
@@ -351,7 +352,9 @@ interface Intent {
|
|
|
351
352
|
output?: SchemaDefinition;
|
|
352
353
|
}
|
|
353
354
|
interface InquiryOptions {
|
|
354
|
-
timeout
|
|
355
|
+
timeout?: number;
|
|
356
|
+
rejectOnTimeout?: boolean;
|
|
357
|
+
includePendingTasks?: boolean;
|
|
355
358
|
}
|
|
356
359
|
declare class InquiryBroker extends SignalEmitter {
|
|
357
360
|
static instance_: InquiryBroker;
|
|
@@ -393,6 +396,7 @@ declare class InquiryBroker extends SignalEmitter {
|
|
|
393
396
|
addInquiry(inquiry: string): void;
|
|
394
397
|
addIntent(intent: Intent): void;
|
|
395
398
|
inquire(inquiry: string, context: AnyObject, options?: InquiryOptions): Promise<AnyObject>;
|
|
399
|
+
reset(): void;
|
|
396
400
|
}
|
|
397
401
|
|
|
398
402
|
/**
|
|
@@ -934,6 +938,10 @@ declare class Task extends SignalEmitter implements Graph {
|
|
|
934
938
|
* @return {void} This method does not return any value.
|
|
935
939
|
*/
|
|
936
940
|
emitMetricsWithMetadata(signal: string, ctx?: AnyObject): void;
|
|
941
|
+
private isSchemaDefinition;
|
|
942
|
+
private isDefaultAnyObjectSchema;
|
|
943
|
+
private mergeSchemaVariant;
|
|
944
|
+
private validateValueAgainstSchema;
|
|
937
945
|
/**
|
|
938
946
|
* Validates a data object against a specified schema definition and returns validation results.
|
|
939
947
|
*
|
|
@@ -1541,12 +1549,15 @@ declare class SignalBroker {
|
|
|
1541
1549
|
private flushGroup;
|
|
1542
1550
|
private flushStrategy;
|
|
1543
1551
|
clearSquashState(): void;
|
|
1552
|
+
private clearScheduledState;
|
|
1544
1553
|
private scheduledBuckets;
|
|
1545
1554
|
private scheduleTimer;
|
|
1546
1555
|
schedule(signal: string, context: AnyObject, options?: EmitOptions): AbortController;
|
|
1547
1556
|
private flushScheduled;
|
|
1548
1557
|
private debouncedEmitters;
|
|
1549
1558
|
private readonly MAX_DEBOUNCERS;
|
|
1559
|
+
private clearDebounceState;
|
|
1560
|
+
private clearThrottleState;
|
|
1550
1561
|
debounce(signal: string, context: any, options?: {
|
|
1551
1562
|
delayMs: number;
|
|
1552
1563
|
}): void;
|
|
@@ -1794,6 +1805,253 @@ declare class GraphStandardRun extends GraphRunStrategy {
|
|
|
1794
1805
|
export(): any;
|
|
1795
1806
|
}
|
|
1796
1807
|
|
|
1808
|
+
type ActorLoadPolicy = "eager" | "lazy";
|
|
1809
|
+
type ActorWriteContract = "overwrite" | "patch" | "reducer";
|
|
1810
|
+
type ActorTaskMode = "read" | "write" | "meta";
|
|
1811
|
+
type ActorKind = "standard" | "meta";
|
|
1812
|
+
type ActorRuntimeReadGuard = "none" | "freeze-shallow";
|
|
1813
|
+
type ActorConsistencyProfileName = "strict" | "balanced" | "cached" | "async";
|
|
1814
|
+
interface ActorInvocationOptions {
|
|
1815
|
+
actorKey?: string;
|
|
1816
|
+
idempotencyKey?: string;
|
|
1817
|
+
}
|
|
1818
|
+
interface SessionPolicy {
|
|
1819
|
+
enabled?: boolean;
|
|
1820
|
+
idleTtlMs?: number;
|
|
1821
|
+
absoluteTtlMs?: number;
|
|
1822
|
+
extendIdleTtlOnRead?: boolean;
|
|
1823
|
+
}
|
|
1824
|
+
interface RetryPolicy {
|
|
1825
|
+
attempts?: number;
|
|
1826
|
+
delayMs?: number;
|
|
1827
|
+
maxDelayMs?: number;
|
|
1828
|
+
factor?: number;
|
|
1829
|
+
}
|
|
1830
|
+
interface IdempotencyPolicy {
|
|
1831
|
+
enabled?: boolean;
|
|
1832
|
+
mode?: "required" | "optional";
|
|
1833
|
+
rerunOnFailedDuplicate?: boolean;
|
|
1834
|
+
ttlMs?: number;
|
|
1835
|
+
}
|
|
1836
|
+
type ActorKeyDefinition = {
|
|
1837
|
+
source: "path";
|
|
1838
|
+
path: string;
|
|
1839
|
+
} | {
|
|
1840
|
+
source: "field";
|
|
1841
|
+
field: string;
|
|
1842
|
+
} | {
|
|
1843
|
+
source: "template";
|
|
1844
|
+
template: string;
|
|
1845
|
+
};
|
|
1846
|
+
interface ActorTaskBindingDefinition {
|
|
1847
|
+
taskName: string;
|
|
1848
|
+
mode?: ActorTaskMode;
|
|
1849
|
+
description?: string;
|
|
1850
|
+
}
|
|
1851
|
+
interface ActorStateDefinition<D extends Record<string, any>, R = AnyObject> {
|
|
1852
|
+
durable?: {
|
|
1853
|
+
initialState?: D | (() => D);
|
|
1854
|
+
schema?: AnyObject;
|
|
1855
|
+
description?: string;
|
|
1856
|
+
};
|
|
1857
|
+
runtime?: {
|
|
1858
|
+
initialState?: R | (() => R);
|
|
1859
|
+
schema?: AnyObject;
|
|
1860
|
+
description?: string;
|
|
1861
|
+
factoryToken?: string;
|
|
1862
|
+
factoryConfig?: AnyObject;
|
|
1863
|
+
};
|
|
1864
|
+
}
|
|
1865
|
+
interface ActorLifecycleDefinition {
|
|
1866
|
+
initTaskName?: string;
|
|
1867
|
+
initRoutineName?: string;
|
|
1868
|
+
initHandlerToken?: string;
|
|
1869
|
+
}
|
|
1870
|
+
interface ActorDefinition<D extends Record<string, any>, R = AnyObject> {
|
|
1871
|
+
name: string;
|
|
1872
|
+
description: string;
|
|
1873
|
+
defaultKey: string;
|
|
1874
|
+
kind?: ActorKind;
|
|
1875
|
+
loadPolicy?: ActorLoadPolicy;
|
|
1876
|
+
writeContract?: ActorWriteContract;
|
|
1877
|
+
consistencyProfile?: ActorConsistencyProfileName;
|
|
1878
|
+
retry?: RetryPolicy;
|
|
1879
|
+
idempotency?: IdempotencyPolicy;
|
|
1880
|
+
session?: SessionPolicy;
|
|
1881
|
+
runtimeReadGuard?: ActorRuntimeReadGuard;
|
|
1882
|
+
key?: ActorKeyDefinition;
|
|
1883
|
+
state?: ActorStateDefinition<D, R>;
|
|
1884
|
+
lifecycle?: ActorLifecycleDefinition;
|
|
1885
|
+
tasks?: ActorTaskBindingDefinition[];
|
|
1886
|
+
}
|
|
1887
|
+
interface ActorSpec<D extends Record<string, any>, R = AnyObject> {
|
|
1888
|
+
name: string;
|
|
1889
|
+
description?: string;
|
|
1890
|
+
state?: ActorStateDefinition<D, R>;
|
|
1891
|
+
initialState?: D | (() => D);
|
|
1892
|
+
initialDurableState?: D | (() => D);
|
|
1893
|
+
initialRuntimeState?: R | (() => R);
|
|
1894
|
+
defaultKey: string;
|
|
1895
|
+
init?: ActorInitHandler<D, R>;
|
|
1896
|
+
key?: ActorKeyDefinition;
|
|
1897
|
+
keyResolver?: (input: Record<string, any>) => string | undefined;
|
|
1898
|
+
loadPolicy?: ActorLoadPolicy;
|
|
1899
|
+
writeContract?: ActorWriteContract;
|
|
1900
|
+
kind?: ActorKind;
|
|
1901
|
+
retry?: RetryPolicy;
|
|
1902
|
+
idempotency?: IdempotencyPolicy;
|
|
1903
|
+
session?: SessionPolicy;
|
|
1904
|
+
consistencyProfile?: ActorConsistencyProfileName;
|
|
1905
|
+
runtimeReadGuard?: ActorRuntimeReadGuard;
|
|
1906
|
+
taskBindings?: ActorTaskBindingDefinition[];
|
|
1907
|
+
lifecycle?: ActorLifecycleDefinition;
|
|
1908
|
+
}
|
|
1909
|
+
interface ActorFactoryOptions<D extends Record<string, any> = Record<string, any>, R = AnyObject> {
|
|
1910
|
+
isMeta?: boolean;
|
|
1911
|
+
definitionSource?: ActorDefinition<D, R>;
|
|
1912
|
+
}
|
|
1913
|
+
interface ActorTaskBindingOptions {
|
|
1914
|
+
mode?: ActorTaskMode;
|
|
1915
|
+
touchSession?: boolean;
|
|
1916
|
+
}
|
|
1917
|
+
type ActorStateReducer<S> = (state: S, input: AnyObject) => S;
|
|
1918
|
+
interface ActorResolvedInvocationOptions {
|
|
1919
|
+
actorKey?: string;
|
|
1920
|
+
loadPolicy: ActorLoadPolicy;
|
|
1921
|
+
writeContract: ActorWriteContract;
|
|
1922
|
+
consistencyProfile?: ActorConsistencyProfileName;
|
|
1923
|
+
idempotencyKey?: string;
|
|
1924
|
+
touchSession: boolean;
|
|
1925
|
+
}
|
|
1926
|
+
interface ActorStateMutators<D extends Record<string, any>, R = AnyObject> {
|
|
1927
|
+
setDurable: (next: D | ActorStateReducer<D>) => void;
|
|
1928
|
+
patchDurable: (partial: Partial<D>) => void;
|
|
1929
|
+
reduceDurable: (reducer: ActorStateReducer<D>) => void;
|
|
1930
|
+
setRuntime: (next: R | ActorStateReducer<R>) => void;
|
|
1931
|
+
patchRuntime: (partial: Partial<R>) => void;
|
|
1932
|
+
reduceRuntime: (reducer: ActorStateReducer<R>) => void;
|
|
1933
|
+
}
|
|
1934
|
+
interface ActorStateStore<D extends Record<string, any>, R = AnyObject> extends ActorStateMutators<D, R> {
|
|
1935
|
+
durable: D;
|
|
1936
|
+
runtime: R;
|
|
1937
|
+
version: number;
|
|
1938
|
+
durableVersion: number;
|
|
1939
|
+
runtimeVersion: number;
|
|
1940
|
+
}
|
|
1941
|
+
interface ActorInitStateStore<D extends Record<string, any>, R = AnyObject> extends ActorStateMutators<D, R> {
|
|
1942
|
+
durable: D;
|
|
1943
|
+
runtime: R;
|
|
1944
|
+
}
|
|
1945
|
+
interface ActorTaskContext<D extends Record<string, any>, R = AnyObject> {
|
|
1946
|
+
state: D;
|
|
1947
|
+
durableState: D;
|
|
1948
|
+
runtimeState: R;
|
|
1949
|
+
store: ActorStateStore<D, R>;
|
|
1950
|
+
input: AnyObject;
|
|
1951
|
+
actor: {
|
|
1952
|
+
name: string;
|
|
1953
|
+
description?: string;
|
|
1954
|
+
key: string;
|
|
1955
|
+
version: number;
|
|
1956
|
+
durableVersion: number;
|
|
1957
|
+
runtimeVersion: number;
|
|
1958
|
+
kind: ActorKind;
|
|
1959
|
+
};
|
|
1960
|
+
options: ActorResolvedInvocationOptions;
|
|
1961
|
+
setState: (next: D | ActorStateReducer<D>) => void;
|
|
1962
|
+
patchState: (partial: Partial<D>) => void;
|
|
1963
|
+
reduceState: (reducer: ActorStateReducer<D>) => void;
|
|
1964
|
+
setDurableState: (next: D | ActorStateReducer<D>) => void;
|
|
1965
|
+
patchDurableState: (partial: Partial<D>) => void;
|
|
1966
|
+
reduceDurableState: (reducer: ActorStateReducer<D>) => void;
|
|
1967
|
+
setRuntimeState: (next: R | ActorStateReducer<R>) => void;
|
|
1968
|
+
patchRuntimeState: (partial: Partial<R>) => void;
|
|
1969
|
+
reduceRuntimeState: (reducer: ActorStateReducer<R>) => void;
|
|
1970
|
+
emit: (signal: string, payload?: AnyObject) => void;
|
|
1971
|
+
inquire: (inquiry: string, context?: AnyObject, options?: InquiryOptions) => Promise<AnyObject>;
|
|
1972
|
+
}
|
|
1973
|
+
type ActorTaskHandler<D extends Record<string, any>, R = AnyObject> = (context: ActorTaskContext<D, R>) => TaskResult | ActorStateReducer<D> | Promise<TaskResult | ActorStateReducer<D>>;
|
|
1974
|
+
interface ActorInitResult<D extends Record<string, any>, R = AnyObject> {
|
|
1975
|
+
state?: D;
|
|
1976
|
+
durableState?: D;
|
|
1977
|
+
runtimeState?: R;
|
|
1978
|
+
}
|
|
1979
|
+
interface ActorInitContext<D extends Record<string, any>, R = AnyObject> {
|
|
1980
|
+
baseState: D;
|
|
1981
|
+
durableBaseState: D;
|
|
1982
|
+
runtimeBaseState: R;
|
|
1983
|
+
store: ActorInitStateStore<D, R>;
|
|
1984
|
+
input: AnyObject;
|
|
1985
|
+
actor: {
|
|
1986
|
+
name: string;
|
|
1987
|
+
description?: string;
|
|
1988
|
+
key: string;
|
|
1989
|
+
kind: ActorKind;
|
|
1990
|
+
};
|
|
1991
|
+
options: ActorResolvedInvocationOptions;
|
|
1992
|
+
setState: (next: D | ActorStateReducer<D>) => void;
|
|
1993
|
+
patchState: (partial: Partial<D>) => void;
|
|
1994
|
+
reduceState: (reducer: ActorStateReducer<D>) => void;
|
|
1995
|
+
setDurableState: (next: D | ActorStateReducer<D>) => void;
|
|
1996
|
+
patchDurableState: (partial: Partial<D>) => void;
|
|
1997
|
+
reduceDurableState: (reducer: ActorStateReducer<D>) => void;
|
|
1998
|
+
setRuntimeState: (next: R | ActorStateReducer<R>) => void;
|
|
1999
|
+
patchRuntimeState: (partial: Partial<R>) => void;
|
|
2000
|
+
reduceRuntimeState: (reducer: ActorStateReducer<R>) => void;
|
|
2001
|
+
}
|
|
2002
|
+
type ActorInitHandler<D extends Record<string, any>, R = AnyObject> = (context: ActorInitContext<D, R>) => D | ActorInitResult<D, R> | void | Promise<D | ActorInitResult<D, R> | void>;
|
|
2003
|
+
interface ActorRuntimeFactoryContext<D extends Record<string, any> = Record<string, any>, R = AnyObject> {
|
|
2004
|
+
definition: ActorDefinition<D, R>;
|
|
2005
|
+
actor: {
|
|
2006
|
+
name: string;
|
|
2007
|
+
key: string;
|
|
2008
|
+
kind: ActorKind;
|
|
2009
|
+
};
|
|
2010
|
+
input: AnyObject;
|
|
2011
|
+
config?: AnyObject;
|
|
2012
|
+
}
|
|
2013
|
+
type ActorRuntimeFactory<R = AnyObject, D extends Record<string, any> = Record<string, any>> = (context: ActorRuntimeFactoryContext<D, R>) => R | Promise<R>;
|
|
2014
|
+
interface ActorDefinitionFactoryOptions<D extends Record<string, any> = Record<string, any>, R = AnyObject> {
|
|
2015
|
+
isMeta?: boolean;
|
|
2016
|
+
runtimeFactories?: Record<string, ActorRuntimeFactory<R, D>>;
|
|
2017
|
+
initHandlers?: Record<string, ActorInitHandler<D, R>>;
|
|
2018
|
+
}
|
|
2019
|
+
declare class Actor<D extends Record<string, any> = AnyObject, R = AnyObject> {
|
|
2020
|
+
readonly spec: ActorSpec<D, R>;
|
|
2021
|
+
readonly kind: ActorKind;
|
|
2022
|
+
private readonly sourceDefinition?;
|
|
2023
|
+
private readonly stateByKey;
|
|
2024
|
+
private readonly sessionByKey;
|
|
2025
|
+
private readonly idempotencyByKey;
|
|
2026
|
+
private readonly initializedKeys;
|
|
2027
|
+
private readonly initializationByKey;
|
|
2028
|
+
private nextTaskBindingIndex;
|
|
2029
|
+
constructor(spec: ActorSpec<D, R>, options?: ActorFactoryOptions<D, R>);
|
|
2030
|
+
task(handler: ActorTaskHandler<D, R>, bindingOptions?: ActorTaskBindingOptions): TaskFunction;
|
|
2031
|
+
getState(actorKey?: string): D;
|
|
2032
|
+
getDurableState(actorKey?: string): D;
|
|
2033
|
+
getRuntimeState(actorKey?: string): R;
|
|
2034
|
+
getVersion(actorKey?: string): number;
|
|
2035
|
+
getDurableVersion(actorKey?: string): number;
|
|
2036
|
+
getRuntimeVersion(actorKey?: string): number;
|
|
2037
|
+
toDefinition(): ActorDefinition<D, R>;
|
|
2038
|
+
reset(actorKey?: string): void;
|
|
2039
|
+
private applyRuntimeReadGuard;
|
|
2040
|
+
private buildDefaultInvocationOptions;
|
|
2041
|
+
private primeInitialization;
|
|
2042
|
+
private normalizeInputContext;
|
|
2043
|
+
private resolveInvocationOptions;
|
|
2044
|
+
private resolveActorKey;
|
|
2045
|
+
private resolveActorKeyFromDefinition;
|
|
2046
|
+
private resolveInitialDurableState;
|
|
2047
|
+
private resolveInitialRuntimeState;
|
|
2048
|
+
private ensureStateRecord;
|
|
2049
|
+
private ensureInitialized;
|
|
2050
|
+
private touchSession;
|
|
2051
|
+
private runWithOptionalIdempotency;
|
|
2052
|
+
private getActiveIdempotencyRecord;
|
|
2053
|
+
}
|
|
2054
|
+
|
|
1797
2055
|
interface TaskOptions {
|
|
1798
2056
|
concurrency?: number;
|
|
1799
2057
|
timeout?: number;
|
|
@@ -1824,6 +2082,7 @@ declare class Cadenza {
|
|
|
1824
2082
|
static runner: GraphRunner;
|
|
1825
2083
|
static metaRunner: GraphRunner;
|
|
1826
2084
|
static registry: GraphRegistry;
|
|
2085
|
+
private static taskCache;
|
|
1827
2086
|
static isBootstrapped: boolean;
|
|
1828
2087
|
static mode: CadenzaMode;
|
|
1829
2088
|
/**
|
|
@@ -1863,6 +2122,9 @@ declare class Cadenza {
|
|
|
1863
2122
|
* @throws {Error} If the name is not a non-empty string.
|
|
1864
2123
|
*/
|
|
1865
2124
|
static validateName(name: string): void;
|
|
2125
|
+
private static resolveTaskOptionsForActorTask;
|
|
2126
|
+
private static applyActorInitResult;
|
|
2127
|
+
private static createActorInitHandlerFromDefinition;
|
|
1866
2128
|
/**
|
|
1867
2129
|
* Executes the specified task or GraphRoutine with the given context using an internal runner.
|
|
1868
2130
|
*
|
|
@@ -1907,6 +2169,8 @@ declare class Cadenza {
|
|
|
1907
2169
|
static getRoutine(routineName: string): GraphRoutine | undefined;
|
|
1908
2170
|
static defineIntent(intent: Intent): Intent;
|
|
1909
2171
|
static inquire(inquiry: string, context: AnyObject, options?: InquiryOptions): Promise<any>;
|
|
2172
|
+
static createActor<D extends Record<string, any> = AnyObject, R = AnyObject>(spec: ActorSpec<D, R>, options?: ActorFactoryOptions): Actor<D, R>;
|
|
2173
|
+
static createActorFromDefinition<D extends Record<string, any> = AnyObject, R = AnyObject>(definition: ActorDefinition<D, R>, options?: ActorDefinitionFactoryOptions<D, R>): Actor<D, R>;
|
|
1910
2174
|
/**
|
|
1911
2175
|
* Creates and registers a new task with the specified parameters and options.
|
|
1912
2176
|
* Tasks are the basic building blocks of Cadenza graphs and are responsible for executing logic.
|
|
@@ -2258,4 +2522,4 @@ declare class Cadenza {
|
|
|
2258
2522
|
static reset(): void;
|
|
2259
2523
|
}
|
|
2260
2524
|
|
|
2261
|
-
export { type AnyObject, type CadenzaMode, type DebounceOptions, DebounceTask, type EmitOptions, EphemeralTask, type EphemeralTaskOptions, GraphContext, GraphRegistry, GraphRoutine, GraphRun, GraphRunner, InquiryBroker, type InquiryOptions, type Intent, type Schema, type SchemaConstraints, type SchemaDefinition, type SchemaType, SignalBroker, SignalEmitter, Task, type TaskFunction, type TaskOptions, type TaskResult, type ThrottleTagGetter, Cadenza as default };
|
|
2525
|
+
export { Actor, type ActorConsistencyProfileName, type ActorDefinition, type ActorDefinitionFactoryOptions, type ActorFactoryOptions, type ActorInitContext, type ActorInitHandler, type ActorInitResult, type ActorInitStateStore, type ActorInvocationOptions, type ActorKeyDefinition, type ActorKind, type ActorLifecycleDefinition, type ActorLoadPolicy, type ActorRuntimeFactory, type ActorRuntimeFactoryContext, type ActorRuntimeReadGuard, type ActorSpec, type ActorStateDefinition, type ActorStateReducer, type ActorStateStore, type ActorTaskBindingDefinition, type ActorTaskBindingOptions, type ActorTaskContext, type ActorTaskHandler, type ActorTaskMode, type ActorWriteContract, type AnyObject, type CadenzaMode, type DebounceOptions, DebounceTask, type EmitOptions, EphemeralTask, type EphemeralTaskOptions, GraphContext, GraphRegistry, GraphRoutine, GraphRun, GraphRunner, type IdempotencyPolicy, InquiryBroker, type InquiryOptions, type Intent, type RetryPolicy, type Schema, type SchemaConstraints, type SchemaDefinition, type SchemaType, type SessionPolicy, SignalBroker, SignalEmitter, Task, type TaskFunction, type TaskOptions, type TaskResult, type ThrottleTagGetter, Cadenza as default };
|
package/dist/index.d.ts
CHANGED
|
@@ -342,7 +342,8 @@ type SchemaDefinition = {
|
|
|
342
342
|
description?: string;
|
|
343
343
|
strict?: boolean;
|
|
344
344
|
};
|
|
345
|
-
type
|
|
345
|
+
type SchemaMap = Record<string, SchemaDefinition>;
|
|
346
|
+
type Schema = SchemaDefinition | SchemaMap;
|
|
346
347
|
|
|
347
348
|
interface Intent {
|
|
348
349
|
name: string;
|
|
@@ -351,7 +352,9 @@ interface Intent {
|
|
|
351
352
|
output?: SchemaDefinition;
|
|
352
353
|
}
|
|
353
354
|
interface InquiryOptions {
|
|
354
|
-
timeout
|
|
355
|
+
timeout?: number;
|
|
356
|
+
rejectOnTimeout?: boolean;
|
|
357
|
+
includePendingTasks?: boolean;
|
|
355
358
|
}
|
|
356
359
|
declare class InquiryBroker extends SignalEmitter {
|
|
357
360
|
static instance_: InquiryBroker;
|
|
@@ -393,6 +396,7 @@ declare class InquiryBroker extends SignalEmitter {
|
|
|
393
396
|
addInquiry(inquiry: string): void;
|
|
394
397
|
addIntent(intent: Intent): void;
|
|
395
398
|
inquire(inquiry: string, context: AnyObject, options?: InquiryOptions): Promise<AnyObject>;
|
|
399
|
+
reset(): void;
|
|
396
400
|
}
|
|
397
401
|
|
|
398
402
|
/**
|
|
@@ -934,6 +938,10 @@ declare class Task extends SignalEmitter implements Graph {
|
|
|
934
938
|
* @return {void} This method does not return any value.
|
|
935
939
|
*/
|
|
936
940
|
emitMetricsWithMetadata(signal: string, ctx?: AnyObject): void;
|
|
941
|
+
private isSchemaDefinition;
|
|
942
|
+
private isDefaultAnyObjectSchema;
|
|
943
|
+
private mergeSchemaVariant;
|
|
944
|
+
private validateValueAgainstSchema;
|
|
937
945
|
/**
|
|
938
946
|
* Validates a data object against a specified schema definition and returns validation results.
|
|
939
947
|
*
|
|
@@ -1541,12 +1549,15 @@ declare class SignalBroker {
|
|
|
1541
1549
|
private flushGroup;
|
|
1542
1550
|
private flushStrategy;
|
|
1543
1551
|
clearSquashState(): void;
|
|
1552
|
+
private clearScheduledState;
|
|
1544
1553
|
private scheduledBuckets;
|
|
1545
1554
|
private scheduleTimer;
|
|
1546
1555
|
schedule(signal: string, context: AnyObject, options?: EmitOptions): AbortController;
|
|
1547
1556
|
private flushScheduled;
|
|
1548
1557
|
private debouncedEmitters;
|
|
1549
1558
|
private readonly MAX_DEBOUNCERS;
|
|
1559
|
+
private clearDebounceState;
|
|
1560
|
+
private clearThrottleState;
|
|
1550
1561
|
debounce(signal: string, context: any, options?: {
|
|
1551
1562
|
delayMs: number;
|
|
1552
1563
|
}): void;
|
|
@@ -1794,6 +1805,253 @@ declare class GraphStandardRun extends GraphRunStrategy {
|
|
|
1794
1805
|
export(): any;
|
|
1795
1806
|
}
|
|
1796
1807
|
|
|
1808
|
+
type ActorLoadPolicy = "eager" | "lazy";
|
|
1809
|
+
type ActorWriteContract = "overwrite" | "patch" | "reducer";
|
|
1810
|
+
type ActorTaskMode = "read" | "write" | "meta";
|
|
1811
|
+
type ActorKind = "standard" | "meta";
|
|
1812
|
+
type ActorRuntimeReadGuard = "none" | "freeze-shallow";
|
|
1813
|
+
type ActorConsistencyProfileName = "strict" | "balanced" | "cached" | "async";
|
|
1814
|
+
interface ActorInvocationOptions {
|
|
1815
|
+
actorKey?: string;
|
|
1816
|
+
idempotencyKey?: string;
|
|
1817
|
+
}
|
|
1818
|
+
interface SessionPolicy {
|
|
1819
|
+
enabled?: boolean;
|
|
1820
|
+
idleTtlMs?: number;
|
|
1821
|
+
absoluteTtlMs?: number;
|
|
1822
|
+
extendIdleTtlOnRead?: boolean;
|
|
1823
|
+
}
|
|
1824
|
+
interface RetryPolicy {
|
|
1825
|
+
attempts?: number;
|
|
1826
|
+
delayMs?: number;
|
|
1827
|
+
maxDelayMs?: number;
|
|
1828
|
+
factor?: number;
|
|
1829
|
+
}
|
|
1830
|
+
interface IdempotencyPolicy {
|
|
1831
|
+
enabled?: boolean;
|
|
1832
|
+
mode?: "required" | "optional";
|
|
1833
|
+
rerunOnFailedDuplicate?: boolean;
|
|
1834
|
+
ttlMs?: number;
|
|
1835
|
+
}
|
|
1836
|
+
type ActorKeyDefinition = {
|
|
1837
|
+
source: "path";
|
|
1838
|
+
path: string;
|
|
1839
|
+
} | {
|
|
1840
|
+
source: "field";
|
|
1841
|
+
field: string;
|
|
1842
|
+
} | {
|
|
1843
|
+
source: "template";
|
|
1844
|
+
template: string;
|
|
1845
|
+
};
|
|
1846
|
+
interface ActorTaskBindingDefinition {
|
|
1847
|
+
taskName: string;
|
|
1848
|
+
mode?: ActorTaskMode;
|
|
1849
|
+
description?: string;
|
|
1850
|
+
}
|
|
1851
|
+
interface ActorStateDefinition<D extends Record<string, any>, R = AnyObject> {
|
|
1852
|
+
durable?: {
|
|
1853
|
+
initialState?: D | (() => D);
|
|
1854
|
+
schema?: AnyObject;
|
|
1855
|
+
description?: string;
|
|
1856
|
+
};
|
|
1857
|
+
runtime?: {
|
|
1858
|
+
initialState?: R | (() => R);
|
|
1859
|
+
schema?: AnyObject;
|
|
1860
|
+
description?: string;
|
|
1861
|
+
factoryToken?: string;
|
|
1862
|
+
factoryConfig?: AnyObject;
|
|
1863
|
+
};
|
|
1864
|
+
}
|
|
1865
|
+
interface ActorLifecycleDefinition {
|
|
1866
|
+
initTaskName?: string;
|
|
1867
|
+
initRoutineName?: string;
|
|
1868
|
+
initHandlerToken?: string;
|
|
1869
|
+
}
|
|
1870
|
+
interface ActorDefinition<D extends Record<string, any>, R = AnyObject> {
|
|
1871
|
+
name: string;
|
|
1872
|
+
description: string;
|
|
1873
|
+
defaultKey: string;
|
|
1874
|
+
kind?: ActorKind;
|
|
1875
|
+
loadPolicy?: ActorLoadPolicy;
|
|
1876
|
+
writeContract?: ActorWriteContract;
|
|
1877
|
+
consistencyProfile?: ActorConsistencyProfileName;
|
|
1878
|
+
retry?: RetryPolicy;
|
|
1879
|
+
idempotency?: IdempotencyPolicy;
|
|
1880
|
+
session?: SessionPolicy;
|
|
1881
|
+
runtimeReadGuard?: ActorRuntimeReadGuard;
|
|
1882
|
+
key?: ActorKeyDefinition;
|
|
1883
|
+
state?: ActorStateDefinition<D, R>;
|
|
1884
|
+
lifecycle?: ActorLifecycleDefinition;
|
|
1885
|
+
tasks?: ActorTaskBindingDefinition[];
|
|
1886
|
+
}
|
|
1887
|
+
interface ActorSpec<D extends Record<string, any>, R = AnyObject> {
|
|
1888
|
+
name: string;
|
|
1889
|
+
description?: string;
|
|
1890
|
+
state?: ActorStateDefinition<D, R>;
|
|
1891
|
+
initialState?: D | (() => D);
|
|
1892
|
+
initialDurableState?: D | (() => D);
|
|
1893
|
+
initialRuntimeState?: R | (() => R);
|
|
1894
|
+
defaultKey: string;
|
|
1895
|
+
init?: ActorInitHandler<D, R>;
|
|
1896
|
+
key?: ActorKeyDefinition;
|
|
1897
|
+
keyResolver?: (input: Record<string, any>) => string | undefined;
|
|
1898
|
+
loadPolicy?: ActorLoadPolicy;
|
|
1899
|
+
writeContract?: ActorWriteContract;
|
|
1900
|
+
kind?: ActorKind;
|
|
1901
|
+
retry?: RetryPolicy;
|
|
1902
|
+
idempotency?: IdempotencyPolicy;
|
|
1903
|
+
session?: SessionPolicy;
|
|
1904
|
+
consistencyProfile?: ActorConsistencyProfileName;
|
|
1905
|
+
runtimeReadGuard?: ActorRuntimeReadGuard;
|
|
1906
|
+
taskBindings?: ActorTaskBindingDefinition[];
|
|
1907
|
+
lifecycle?: ActorLifecycleDefinition;
|
|
1908
|
+
}
|
|
1909
|
+
interface ActorFactoryOptions<D extends Record<string, any> = Record<string, any>, R = AnyObject> {
|
|
1910
|
+
isMeta?: boolean;
|
|
1911
|
+
definitionSource?: ActorDefinition<D, R>;
|
|
1912
|
+
}
|
|
1913
|
+
interface ActorTaskBindingOptions {
|
|
1914
|
+
mode?: ActorTaskMode;
|
|
1915
|
+
touchSession?: boolean;
|
|
1916
|
+
}
|
|
1917
|
+
type ActorStateReducer<S> = (state: S, input: AnyObject) => S;
|
|
1918
|
+
interface ActorResolvedInvocationOptions {
|
|
1919
|
+
actorKey?: string;
|
|
1920
|
+
loadPolicy: ActorLoadPolicy;
|
|
1921
|
+
writeContract: ActorWriteContract;
|
|
1922
|
+
consistencyProfile?: ActorConsistencyProfileName;
|
|
1923
|
+
idempotencyKey?: string;
|
|
1924
|
+
touchSession: boolean;
|
|
1925
|
+
}
|
|
1926
|
+
interface ActorStateMutators<D extends Record<string, any>, R = AnyObject> {
|
|
1927
|
+
setDurable: (next: D | ActorStateReducer<D>) => void;
|
|
1928
|
+
patchDurable: (partial: Partial<D>) => void;
|
|
1929
|
+
reduceDurable: (reducer: ActorStateReducer<D>) => void;
|
|
1930
|
+
setRuntime: (next: R | ActorStateReducer<R>) => void;
|
|
1931
|
+
patchRuntime: (partial: Partial<R>) => void;
|
|
1932
|
+
reduceRuntime: (reducer: ActorStateReducer<R>) => void;
|
|
1933
|
+
}
|
|
1934
|
+
interface ActorStateStore<D extends Record<string, any>, R = AnyObject> extends ActorStateMutators<D, R> {
|
|
1935
|
+
durable: D;
|
|
1936
|
+
runtime: R;
|
|
1937
|
+
version: number;
|
|
1938
|
+
durableVersion: number;
|
|
1939
|
+
runtimeVersion: number;
|
|
1940
|
+
}
|
|
1941
|
+
interface ActorInitStateStore<D extends Record<string, any>, R = AnyObject> extends ActorStateMutators<D, R> {
|
|
1942
|
+
durable: D;
|
|
1943
|
+
runtime: R;
|
|
1944
|
+
}
|
|
1945
|
+
interface ActorTaskContext<D extends Record<string, any>, R = AnyObject> {
|
|
1946
|
+
state: D;
|
|
1947
|
+
durableState: D;
|
|
1948
|
+
runtimeState: R;
|
|
1949
|
+
store: ActorStateStore<D, R>;
|
|
1950
|
+
input: AnyObject;
|
|
1951
|
+
actor: {
|
|
1952
|
+
name: string;
|
|
1953
|
+
description?: string;
|
|
1954
|
+
key: string;
|
|
1955
|
+
version: number;
|
|
1956
|
+
durableVersion: number;
|
|
1957
|
+
runtimeVersion: number;
|
|
1958
|
+
kind: ActorKind;
|
|
1959
|
+
};
|
|
1960
|
+
options: ActorResolvedInvocationOptions;
|
|
1961
|
+
setState: (next: D | ActorStateReducer<D>) => void;
|
|
1962
|
+
patchState: (partial: Partial<D>) => void;
|
|
1963
|
+
reduceState: (reducer: ActorStateReducer<D>) => void;
|
|
1964
|
+
setDurableState: (next: D | ActorStateReducer<D>) => void;
|
|
1965
|
+
patchDurableState: (partial: Partial<D>) => void;
|
|
1966
|
+
reduceDurableState: (reducer: ActorStateReducer<D>) => void;
|
|
1967
|
+
setRuntimeState: (next: R | ActorStateReducer<R>) => void;
|
|
1968
|
+
patchRuntimeState: (partial: Partial<R>) => void;
|
|
1969
|
+
reduceRuntimeState: (reducer: ActorStateReducer<R>) => void;
|
|
1970
|
+
emit: (signal: string, payload?: AnyObject) => void;
|
|
1971
|
+
inquire: (inquiry: string, context?: AnyObject, options?: InquiryOptions) => Promise<AnyObject>;
|
|
1972
|
+
}
|
|
1973
|
+
type ActorTaskHandler<D extends Record<string, any>, R = AnyObject> = (context: ActorTaskContext<D, R>) => TaskResult | ActorStateReducer<D> | Promise<TaskResult | ActorStateReducer<D>>;
|
|
1974
|
+
interface ActorInitResult<D extends Record<string, any>, R = AnyObject> {
|
|
1975
|
+
state?: D;
|
|
1976
|
+
durableState?: D;
|
|
1977
|
+
runtimeState?: R;
|
|
1978
|
+
}
|
|
1979
|
+
interface ActorInitContext<D extends Record<string, any>, R = AnyObject> {
|
|
1980
|
+
baseState: D;
|
|
1981
|
+
durableBaseState: D;
|
|
1982
|
+
runtimeBaseState: R;
|
|
1983
|
+
store: ActorInitStateStore<D, R>;
|
|
1984
|
+
input: AnyObject;
|
|
1985
|
+
actor: {
|
|
1986
|
+
name: string;
|
|
1987
|
+
description?: string;
|
|
1988
|
+
key: string;
|
|
1989
|
+
kind: ActorKind;
|
|
1990
|
+
};
|
|
1991
|
+
options: ActorResolvedInvocationOptions;
|
|
1992
|
+
setState: (next: D | ActorStateReducer<D>) => void;
|
|
1993
|
+
patchState: (partial: Partial<D>) => void;
|
|
1994
|
+
reduceState: (reducer: ActorStateReducer<D>) => void;
|
|
1995
|
+
setDurableState: (next: D | ActorStateReducer<D>) => void;
|
|
1996
|
+
patchDurableState: (partial: Partial<D>) => void;
|
|
1997
|
+
reduceDurableState: (reducer: ActorStateReducer<D>) => void;
|
|
1998
|
+
setRuntimeState: (next: R | ActorStateReducer<R>) => void;
|
|
1999
|
+
patchRuntimeState: (partial: Partial<R>) => void;
|
|
2000
|
+
reduceRuntimeState: (reducer: ActorStateReducer<R>) => void;
|
|
2001
|
+
}
|
|
2002
|
+
type ActorInitHandler<D extends Record<string, any>, R = AnyObject> = (context: ActorInitContext<D, R>) => D | ActorInitResult<D, R> | void | Promise<D | ActorInitResult<D, R> | void>;
|
|
2003
|
+
interface ActorRuntimeFactoryContext<D extends Record<string, any> = Record<string, any>, R = AnyObject> {
|
|
2004
|
+
definition: ActorDefinition<D, R>;
|
|
2005
|
+
actor: {
|
|
2006
|
+
name: string;
|
|
2007
|
+
key: string;
|
|
2008
|
+
kind: ActorKind;
|
|
2009
|
+
};
|
|
2010
|
+
input: AnyObject;
|
|
2011
|
+
config?: AnyObject;
|
|
2012
|
+
}
|
|
2013
|
+
type ActorRuntimeFactory<R = AnyObject, D extends Record<string, any> = Record<string, any>> = (context: ActorRuntimeFactoryContext<D, R>) => R | Promise<R>;
|
|
2014
|
+
interface ActorDefinitionFactoryOptions<D extends Record<string, any> = Record<string, any>, R = AnyObject> {
|
|
2015
|
+
isMeta?: boolean;
|
|
2016
|
+
runtimeFactories?: Record<string, ActorRuntimeFactory<R, D>>;
|
|
2017
|
+
initHandlers?: Record<string, ActorInitHandler<D, R>>;
|
|
2018
|
+
}
|
|
2019
|
+
declare class Actor<D extends Record<string, any> = AnyObject, R = AnyObject> {
|
|
2020
|
+
readonly spec: ActorSpec<D, R>;
|
|
2021
|
+
readonly kind: ActorKind;
|
|
2022
|
+
private readonly sourceDefinition?;
|
|
2023
|
+
private readonly stateByKey;
|
|
2024
|
+
private readonly sessionByKey;
|
|
2025
|
+
private readonly idempotencyByKey;
|
|
2026
|
+
private readonly initializedKeys;
|
|
2027
|
+
private readonly initializationByKey;
|
|
2028
|
+
private nextTaskBindingIndex;
|
|
2029
|
+
constructor(spec: ActorSpec<D, R>, options?: ActorFactoryOptions<D, R>);
|
|
2030
|
+
task(handler: ActorTaskHandler<D, R>, bindingOptions?: ActorTaskBindingOptions): TaskFunction;
|
|
2031
|
+
getState(actorKey?: string): D;
|
|
2032
|
+
getDurableState(actorKey?: string): D;
|
|
2033
|
+
getRuntimeState(actorKey?: string): R;
|
|
2034
|
+
getVersion(actorKey?: string): number;
|
|
2035
|
+
getDurableVersion(actorKey?: string): number;
|
|
2036
|
+
getRuntimeVersion(actorKey?: string): number;
|
|
2037
|
+
toDefinition(): ActorDefinition<D, R>;
|
|
2038
|
+
reset(actorKey?: string): void;
|
|
2039
|
+
private applyRuntimeReadGuard;
|
|
2040
|
+
private buildDefaultInvocationOptions;
|
|
2041
|
+
private primeInitialization;
|
|
2042
|
+
private normalizeInputContext;
|
|
2043
|
+
private resolveInvocationOptions;
|
|
2044
|
+
private resolveActorKey;
|
|
2045
|
+
private resolveActorKeyFromDefinition;
|
|
2046
|
+
private resolveInitialDurableState;
|
|
2047
|
+
private resolveInitialRuntimeState;
|
|
2048
|
+
private ensureStateRecord;
|
|
2049
|
+
private ensureInitialized;
|
|
2050
|
+
private touchSession;
|
|
2051
|
+
private runWithOptionalIdempotency;
|
|
2052
|
+
private getActiveIdempotencyRecord;
|
|
2053
|
+
}
|
|
2054
|
+
|
|
1797
2055
|
interface TaskOptions {
|
|
1798
2056
|
concurrency?: number;
|
|
1799
2057
|
timeout?: number;
|
|
@@ -1824,6 +2082,7 @@ declare class Cadenza {
|
|
|
1824
2082
|
static runner: GraphRunner;
|
|
1825
2083
|
static metaRunner: GraphRunner;
|
|
1826
2084
|
static registry: GraphRegistry;
|
|
2085
|
+
private static taskCache;
|
|
1827
2086
|
static isBootstrapped: boolean;
|
|
1828
2087
|
static mode: CadenzaMode;
|
|
1829
2088
|
/**
|
|
@@ -1863,6 +2122,9 @@ declare class Cadenza {
|
|
|
1863
2122
|
* @throws {Error} If the name is not a non-empty string.
|
|
1864
2123
|
*/
|
|
1865
2124
|
static validateName(name: string): void;
|
|
2125
|
+
private static resolveTaskOptionsForActorTask;
|
|
2126
|
+
private static applyActorInitResult;
|
|
2127
|
+
private static createActorInitHandlerFromDefinition;
|
|
1866
2128
|
/**
|
|
1867
2129
|
* Executes the specified task or GraphRoutine with the given context using an internal runner.
|
|
1868
2130
|
*
|
|
@@ -1907,6 +2169,8 @@ declare class Cadenza {
|
|
|
1907
2169
|
static getRoutine(routineName: string): GraphRoutine | undefined;
|
|
1908
2170
|
static defineIntent(intent: Intent): Intent;
|
|
1909
2171
|
static inquire(inquiry: string, context: AnyObject, options?: InquiryOptions): Promise<any>;
|
|
2172
|
+
static createActor<D extends Record<string, any> = AnyObject, R = AnyObject>(spec: ActorSpec<D, R>, options?: ActorFactoryOptions): Actor<D, R>;
|
|
2173
|
+
static createActorFromDefinition<D extends Record<string, any> = AnyObject, R = AnyObject>(definition: ActorDefinition<D, R>, options?: ActorDefinitionFactoryOptions<D, R>): Actor<D, R>;
|
|
1910
2174
|
/**
|
|
1911
2175
|
* Creates and registers a new task with the specified parameters and options.
|
|
1912
2176
|
* Tasks are the basic building blocks of Cadenza graphs and are responsible for executing logic.
|
|
@@ -2258,4 +2522,4 @@ declare class Cadenza {
|
|
|
2258
2522
|
static reset(): void;
|
|
2259
2523
|
}
|
|
2260
2524
|
|
|
2261
|
-
export { type AnyObject, type CadenzaMode, type DebounceOptions, DebounceTask, type EmitOptions, EphemeralTask, type EphemeralTaskOptions, GraphContext, GraphRegistry, GraphRoutine, GraphRun, GraphRunner, InquiryBroker, type InquiryOptions, type Intent, type Schema, type SchemaConstraints, type SchemaDefinition, type SchemaType, SignalBroker, SignalEmitter, Task, type TaskFunction, type TaskOptions, type TaskResult, type ThrottleTagGetter, Cadenza as default };
|
|
2525
|
+
export { Actor, type ActorConsistencyProfileName, type ActorDefinition, type ActorDefinitionFactoryOptions, type ActorFactoryOptions, type ActorInitContext, type ActorInitHandler, type ActorInitResult, type ActorInitStateStore, type ActorInvocationOptions, type ActorKeyDefinition, type ActorKind, type ActorLifecycleDefinition, type ActorLoadPolicy, type ActorRuntimeFactory, type ActorRuntimeFactoryContext, type ActorRuntimeReadGuard, type ActorSpec, type ActorStateDefinition, type ActorStateReducer, type ActorStateStore, type ActorTaskBindingDefinition, type ActorTaskBindingOptions, type ActorTaskContext, type ActorTaskHandler, type ActorTaskMode, type ActorWriteContract, type AnyObject, type CadenzaMode, type DebounceOptions, DebounceTask, type EmitOptions, EphemeralTask, type EphemeralTaskOptions, GraphContext, GraphRegistry, GraphRoutine, GraphRun, GraphRunner, type IdempotencyPolicy, InquiryBroker, type InquiryOptions, type Intent, type RetryPolicy, type Schema, type SchemaConstraints, type SchemaDefinition, type SchemaType, type SessionPolicy, SignalBroker, SignalEmitter, Task, type TaskFunction, type TaskOptions, type TaskResult, type ThrottleTagGetter, Cadenza as default };
|