@dxos/functions 0.8.4-main.67995b8 → 0.8.4-main.a4bbb77
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/lib/browser/bundler/index.mjs +56 -38
- package/dist/lib/browser/bundler/index.mjs.map +3 -3
- package/dist/lib/browser/chunk-C2Z7LCJ2.mjs +649 -0
- package/dist/lib/browser/chunk-C2Z7LCJ2.mjs.map +7 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/browser/edge/index.mjs +22 -8
- package/dist/lib/browser/edge/index.mjs.map +3 -3
- package/dist/lib/browser/index.mjs +992 -127
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +76 -6
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/node-esm/bundler/index.mjs +55 -38
- package/dist/lib/node-esm/bundler/index.mjs.map +3 -3
- package/dist/lib/node-esm/chunk-AH3AZM2U.mjs +651 -0
- package/dist/lib/node-esm/chunk-AH3AZM2U.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
- package/dist/lib/node-esm/edge/index.mjs +21 -8
- package/dist/lib/node-esm/edge/index.mjs.map +3 -3
- package/dist/lib/node-esm/index.mjs +992 -127
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +76 -6
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- package/dist/types/src/bundler/bundler.d.ts +11 -12
- package/dist/types/src/bundler/bundler.d.ts.map +1 -1
- package/dist/types/src/edge/functions.d.ts +3 -2
- package/dist/types/src/edge/functions.d.ts.map +1 -1
- package/dist/types/src/errors.d.ts +89 -20
- package/dist/types/src/errors.d.ts.map +1 -1
- package/dist/types/src/examples/fib.d.ts +7 -0
- package/dist/types/src/examples/fib.d.ts.map +1 -0
- package/dist/types/src/examples/index.d.ts +4 -0
- package/dist/types/src/examples/index.d.ts.map +1 -0
- package/dist/types/src/examples/reply.d.ts +3 -0
- package/dist/types/src/examples/reply.d.ts.map +1 -0
- package/dist/types/src/examples/sleep.d.ts +5 -0
- package/dist/types/src/examples/sleep.d.ts.map +1 -0
- package/dist/types/src/executor/executor.d.ts +7 -1
- package/dist/types/src/executor/executor.d.ts.map +1 -1
- package/dist/types/src/handler.d.ts +52 -8
- package/dist/types/src/handler.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +3 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/schema.d.ts +6 -1
- package/dist/types/src/schema.d.ts.map +1 -1
- package/dist/types/src/services/credentials.d.ts +15 -3
- package/dist/types/src/services/credentials.d.ts.map +1 -1
- package/dist/types/src/services/database.d.ts +39 -6
- package/dist/types/src/services/database.d.ts.map +1 -1
- package/dist/types/src/services/event-logger.d.ts +1 -1
- package/dist/types/src/services/event-logger.d.ts.map +1 -1
- package/dist/types/src/services/function-invocation-service.d.ts +26 -0
- package/dist/types/src/services/function-invocation-service.d.ts.map +1 -0
- package/dist/types/src/services/function-invocation-service.test.d.ts +2 -0
- package/dist/types/src/services/function-invocation-service.test.d.ts.map +1 -0
- package/dist/types/src/services/index.d.ts +4 -3
- package/dist/types/src/services/index.d.ts.map +1 -1
- package/dist/types/src/services/local-function-execution.d.ts +23 -2
- package/dist/types/src/services/local-function-execution.d.ts.map +1 -1
- package/dist/types/src/services/queues.d.ts +19 -5
- package/dist/types/src/services/queues.d.ts.map +1 -1
- package/dist/types/src/services/remote-function-execution-service.d.ts +9 -4
- package/dist/types/src/services/remote-function-execution-service.d.ts.map +1 -1
- package/dist/types/src/services/service-container.d.ts +1 -1
- package/dist/types/src/services/service-container.d.ts.map +1 -1
- package/dist/types/src/services/service-registry.d.ts.map +1 -1
- package/dist/types/src/services/tracing.d.ts +34 -3
- package/dist/types/src/services/tracing.d.ts.map +1 -1
- package/dist/types/src/testing/layer.d.ts +9 -2
- package/dist/types/src/testing/layer.d.ts.map +1 -1
- package/dist/types/src/testing/logger.d.ts.map +1 -1
- package/dist/types/src/testing/persist-database.test.d.ts +2 -0
- package/dist/types/src/testing/persist-database.test.d.ts.map +1 -0
- package/dist/types/src/testing/services.d.ts +1 -1
- package/dist/types/src/testing/services.d.ts.map +1 -1
- package/dist/types/src/trace.d.ts +20 -22
- package/dist/types/src/trace.d.ts.map +1 -1
- package/dist/types/src/triggers/index.d.ts +4 -0
- package/dist/types/src/triggers/index.d.ts.map +1 -0
- package/dist/types/src/triggers/input-builder.d.ts +3 -0
- package/dist/types/src/triggers/input-builder.d.ts.map +1 -0
- package/dist/types/src/triggers/invocation-tracer.d.ts +35 -0
- package/dist/types/src/triggers/invocation-tracer.d.ts.map +1 -0
- package/dist/types/src/triggers/trigger-dispatcher.d.ts +74 -0
- package/dist/types/src/triggers/trigger-dispatcher.d.ts.map +1 -0
- package/dist/types/src/triggers/trigger-dispatcher.test.d.ts +2 -0
- package/dist/types/src/triggers/trigger-dispatcher.test.d.ts.map +1 -0
- package/dist/types/src/triggers/trigger-state-store.d.ts +27 -0
- package/dist/types/src/triggers/trigger-state-store.d.ts.map +1 -0
- package/dist/types/src/types.d.ts +60 -250
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/src/url.d.ts +10 -6
- package/dist/types/src/url.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +43 -43
- package/src/bundler/bundler.test.ts +8 -9
- package/src/bundler/bundler.ts +32 -33
- package/src/edge/functions.ts +8 -5
- package/src/errors.ts +13 -5
- package/src/examples/fib.ts +31 -0
- package/src/examples/index.ts +7 -0
- package/src/examples/reply.ts +19 -0
- package/src/examples/sleep.ts +23 -0
- package/src/executor/executor.ts +12 -9
- package/src/handler.ts +120 -18
- package/src/index.ts +3 -3
- package/src/schema.ts +11 -0
- package/src/services/credentials.ts +80 -5
- package/src/services/database.ts +115 -18
- package/src/services/event-logger.ts +2 -2
- package/src/services/function-invocation-service.test.ts +79 -0
- package/src/services/function-invocation-service.ts +82 -0
- package/src/services/index.ts +4 -3
- package/src/services/local-function-execution.ts +97 -17
- package/src/services/queues.ts +34 -10
- package/src/services/remote-function-execution-service.ts +38 -43
- package/src/services/service-container.ts +4 -3
- package/src/services/service-registry.ts +1 -1
- package/src/services/tracing.ts +106 -9
- package/src/testing/layer.ts +84 -3
- package/src/testing/logger.ts +1 -1
- package/src/testing/persist-database.test.ts +87 -0
- package/src/testing/services.ts +3 -2
- package/src/trace.ts +17 -19
- package/src/triggers/index.ts +7 -0
- package/src/triggers/input-builder.ts +35 -0
- package/src/triggers/invocation-tracer.ts +99 -0
- package/src/triggers/trigger-dispatcher.test.ts +651 -0
- package/src/triggers/trigger-dispatcher.ts +522 -0
- package/src/triggers/trigger-state-store.ts +60 -0
- package/src/types.ts +39 -36
- package/src/url.ts +13 -10
- package/dist/lib/browser/chunk-6PTFLPCO.mjs +0 -462
- package/dist/lib/browser/chunk-6PTFLPCO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NYJ2TSXO.mjs +0 -464
- package/dist/lib/node-esm/chunk-NYJ2TSXO.mjs.map +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/trace.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/trace.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAItC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAGD,oBAAY,wBAAwB;IAClC,KAAK,UAAU;IACf,GAAG,QAAQ;CACZ;AAED,eAAO,MAAM,mBAAmB;;;;;EAK9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEjF,eAAO,MAAM,yBAAyB;IACpC;;OAEG;;;IAGH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAGH;;OAEG;;IAEH;;OAEG;;;;;IAEH;;OAEG;;GAEkF,CAAC;AAExF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE7F,eAAO,MAAM,uBAAuB;IAClC;;OAEG;;;IAGH;;OAEG;;IAEH;;OAEG;;;;;;;;;GAKgF,CAAC;AAEtF,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEzF,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,uBAAuB,CAAC;AAEvF,eAAO,MAAM,aAAa;;;;;EAKxB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;IAKrB,yCAAyC;;;;;;;;;;;;;;GAIkC,CAAC;AAE9E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,gBAAgB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,QAAQ,oBAAoB,EAAE,KAAG,cAAc,EAkDpF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/triggers/index.ts"],"names":[],"mappings":"AAIA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-builder.d.ts","sourceRoot":"","sources":["../../../../src/triggers/input-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvE,eAAO,MAAM,uBAAuB,GAAI,SAAS,eAAe,EAAE,OAAO,SAAS,KAAG,GA4BpF,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from 'effect';
|
|
2
|
+
import { type Queue } from '@dxos/echo-db';
|
|
3
|
+
import { DXN, ObjectId } from '@dxos/keys';
|
|
4
|
+
import { QueueService } from '../services';
|
|
5
|
+
import type { TriggerKind } from '../types';
|
|
6
|
+
export type FunctionInvocationPayload = {
|
|
7
|
+
data?: any;
|
|
8
|
+
inputNodeId?: string;
|
|
9
|
+
trigger?: {
|
|
10
|
+
id: string;
|
|
11
|
+
kind: TriggerKind;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export type TraceData = {
|
|
15
|
+
invocationId: ObjectId;
|
|
16
|
+
invocationTraceQueue: Queue;
|
|
17
|
+
};
|
|
18
|
+
declare const InvocationTracer_base: Context.TagClass<InvocationTracer, "@dxos/functions/InvocationTracer", {
|
|
19
|
+
traceInvocationStart({ payload, target, }: {
|
|
20
|
+
payload: FunctionInvocationPayload;
|
|
21
|
+
target?: DXN;
|
|
22
|
+
}): Effect.Effect<TraceData, never, QueueService>;
|
|
23
|
+
traceInvocationEnd({ trace, exception }: {
|
|
24
|
+
trace: TraceData;
|
|
25
|
+
exception?: any;
|
|
26
|
+
}): Effect.Effect<void>;
|
|
27
|
+
}>;
|
|
28
|
+
export declare class InvocationTracer extends InvocationTracer_base {
|
|
29
|
+
static layerLive: (opts: {
|
|
30
|
+
invocationTraceQueue: Queue;
|
|
31
|
+
}) => Layer.Layer<InvocationTracer, never, never>;
|
|
32
|
+
static layerTest: Layer.Layer<InvocationTracer, never, QueueService>;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=invocation-tracer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invocation-tracer.d.ts","sourceRoot":"","sources":["../../../../src/triggers/invocation-tracer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGhD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE;QACR,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,WAAW,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,QAAQ,CAAC;IACvB,oBAAoB,EAAE,KAAK,CAAC;CAC7B,CAAC;;+CAQK;QACD,OAAO,EAAE,yBAAyB,CAAC;QACnC,MAAM,CAAC,EAAE,GAAG,CAAC;KACd,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC;6CAER;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,GAAG,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;AAXxG,qBAAa,gBAAiB,SAAQ,qBAanC;IACD,MAAM,CAAC,SAAS,GAAI,MAAM;QAAE,oBAAoB,EAAE,KAAK,CAAA;KAAE,iDA2CrD;IAEJ,MAAM,CAAC,SAAS,qDAKd;CACH"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Context, Duration, Effect, Exit, Layer } from 'effect';
|
|
2
|
+
import { DatabaseService, FunctionInvocationService, QueueService } from '../services';
|
|
3
|
+
import { type EventType, FunctionTrigger, type TriggerKind } from '../types';
|
|
4
|
+
import { InvocationTracer } from './invocation-tracer';
|
|
5
|
+
import { TriggerStateStore } from './trigger-state-store';
|
|
6
|
+
export type TimeControl = 'natural' | 'manual';
|
|
7
|
+
export interface TriggerDispatcherOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Time control mode.
|
|
10
|
+
* - 'natural': Use real time.
|
|
11
|
+
* - 'manual': Use internal clock for testing.
|
|
12
|
+
*/
|
|
13
|
+
timeControl: TimeControl;
|
|
14
|
+
/**
|
|
15
|
+
* Starting time for manual time control mode.
|
|
16
|
+
* @default current time
|
|
17
|
+
*/
|
|
18
|
+
startingTime?: Date;
|
|
19
|
+
/**
|
|
20
|
+
* Poll interval for cron triggers in 'natural' time control mode.
|
|
21
|
+
* @default 1 second
|
|
22
|
+
*/
|
|
23
|
+
livePollInterval?: Duration.Duration;
|
|
24
|
+
}
|
|
25
|
+
export interface InvokeTriggerOptions {
|
|
26
|
+
trigger: FunctionTrigger;
|
|
27
|
+
event: EventType;
|
|
28
|
+
}
|
|
29
|
+
export interface TriggerExecutionResult {
|
|
30
|
+
triggerId: string;
|
|
31
|
+
result: Exit.Exit<unknown>;
|
|
32
|
+
}
|
|
33
|
+
type TriggerDispatcherServices = FunctionInvocationService | TriggerStateStore | InvocationTracer | QueueService | DatabaseService;
|
|
34
|
+
declare const TriggerDispatcher_base: Context.TagClass<TriggerDispatcher, "@dxos/functions/TriggerDispatcher", {
|
|
35
|
+
readonly timeControl: TimeControl;
|
|
36
|
+
readonly running: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Start the trigger dispatcher.
|
|
39
|
+
* Will automatically invoke triggers.
|
|
40
|
+
*/
|
|
41
|
+
start(): Effect.Effect<void, never, TriggerDispatcherServices>;
|
|
42
|
+
/**
|
|
43
|
+
* Stop the trigger dispatcher.
|
|
44
|
+
*/
|
|
45
|
+
stop(): Effect.Effect<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Refresh triggers.
|
|
48
|
+
*/
|
|
49
|
+
refreshTriggers(): Effect.Effect<void, never, DatabaseService>;
|
|
50
|
+
/**
|
|
51
|
+
* Manually invoke a specific trigger.
|
|
52
|
+
*/
|
|
53
|
+
invokeTrigger(options: InvokeTriggerOptions): Effect.Effect<TriggerExecutionResult, never, TriggerDispatcherServices>;
|
|
54
|
+
/**
|
|
55
|
+
* Invoke all scheduled triggers who are due.
|
|
56
|
+
*/
|
|
57
|
+
invokeScheduledTriggers(opts?: {
|
|
58
|
+
kinds?: TriggerKind[];
|
|
59
|
+
}): Effect.Effect<TriggerExecutionResult[], never, TriggerDispatcherServices>;
|
|
60
|
+
/**
|
|
61
|
+
* Advance the internal clock (manual time control only).
|
|
62
|
+
* Note: Does not invoke triggers.
|
|
63
|
+
*/
|
|
64
|
+
advanceTime(duration: Duration.Duration): Effect.Effect<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Get current time based on time control mode.
|
|
67
|
+
*/
|
|
68
|
+
getCurrentTime(): Date;
|
|
69
|
+
}>;
|
|
70
|
+
export declare class TriggerDispatcher extends TriggerDispatcher_base {
|
|
71
|
+
static layer: (options: Omit<TriggerDispatcherOptions, "database">) => Layer.Layer<TriggerDispatcher, never, never>;
|
|
72
|
+
}
|
|
73
|
+
export { FunctionTrigger, type TimerTrigger } from '../types';
|
|
74
|
+
//# sourceMappingURL=trigger-dispatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-dispatcher.d.ts","sourceRoot":"","sources":["../../../../src/triggers/trigger-dispatcher.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,OAAO,EAAQ,QAAQ,EAAE,MAAM,EAAU,IAAI,EAAS,KAAK,EAA4B,MAAM,QAAQ,CAAC;AAUtH,OAAO,EAEL,eAAe,EACf,yBAAyB,EACzB,YAAY,EAEb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,SAAS,EACd,eAAe,EAKf,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAqB,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE7E,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/C,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,WAAW,EAAE,WAAW,CAAC;IAEzB;;;OAGG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC;IAEpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,EAAE,SAAS,CAAC;CAClB;AACD,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;CAC5B;AAYD,KAAK,yBAAyB,GAC1B,yBAAyB,GAEzB,iBAAiB,GACjB,gBAAgB,GAChB,YAAY,GACZ,eAAe,CAAC;;0BAKM,WAAW;sBAElB,OAAO;IAEtB;;;OAGG;aACM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,yBAAyB,CAAC;IAE9D;;OAEG;YACK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAE3B;;OAEG;uBACgB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC;IAE9D;;OAEG;2BAEQ,oBAAoB,GAC5B,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,KAAK,EAAE,yBAAyB,CAAC;IAE1E;;OAEG;mCAC4B;QAC7B,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;KACvB,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,yBAAyB,CAAC;IAE7E;;;OAGG;0BACmB,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAE7D;;OAEG;sBACe,IAAI;;AA9C1B,qBAAa,iBAAkB,SAAQ,sBAgDpC;IACD,MAAM,CAAC,KAAK,GAAI,SAAS,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC,kDAM/D;CACL;AAuXD,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-dispatcher.test.d.ts","sourceRoot":"","sources":["../../../../src/triggers/trigger-dispatcher.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { KeyValueStore } from '@effect/platform';
|
|
2
|
+
import { Context } from 'effect';
|
|
3
|
+
import { Schema } from 'effect';
|
|
4
|
+
import { Effect, Layer } from 'effect';
|
|
5
|
+
import { ObjectId } from '@dxos/keys';
|
|
6
|
+
import { TriggerStateNotFoundError } from '../errors';
|
|
7
|
+
export declare const TriggerState: Schema.Struct<{
|
|
8
|
+
version: Schema.Literal<["1"]>;
|
|
9
|
+
triggerId: typeof Schema.String;
|
|
10
|
+
state: Schema.optional<Schema.TaggedStruct<"subscription", {
|
|
11
|
+
processedVersions: Schema.Record$<import("@dxos/keys").ObjectIdClass, typeof Schema.String>;
|
|
12
|
+
}>>;
|
|
13
|
+
}>;
|
|
14
|
+
export interface TriggerState extends Schema.Schema.Type<typeof TriggerState> {
|
|
15
|
+
}
|
|
16
|
+
declare const TriggerStateStore_base: Context.TagClass<TriggerStateStore, "@dxos/functions/TriggerStateStore", {
|
|
17
|
+
getState(triggerId: ObjectId): Effect.Effect<TriggerState, TriggerStateNotFoundError>;
|
|
18
|
+
saveState(state: TriggerState): Effect.Effect<void>;
|
|
19
|
+
}>;
|
|
20
|
+
export declare class TriggerStateStore extends TriggerStateStore_base {
|
|
21
|
+
static getState: (triggerId: string) => Effect.Effect<TriggerState, TriggerStateNotFoundError, TriggerStateStore>;
|
|
22
|
+
static saveState: (state: TriggerState) => Effect.Effect<void, never, TriggerStateStore>;
|
|
23
|
+
static layerKv: Layer.Layer<TriggerStateStore, never, KeyValueStore.KeyValueStore>;
|
|
24
|
+
static layerMemory: Layer.Layer<TriggerStateStore, never, never>;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=trigger-state-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-state-store.d.ts","sourceRoot":"","sources":["../../../../src/triggers/trigger-state-store.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAEtD,eAAO,MAAM,YAAY;;;;;;EAUvB,CAAC;AACH,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC;CAAG;;wBAKxD,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,yBAAyB,CAAC;qBACpE,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;AAJvD,qBAAa,iBAAkB,SAAQ,sBAMpC;IACD,MAAM,CAAC,QAAQ,mGAAsE;IACrF,MAAM,CAAC,SAAS,yEAAuE;IAEvF,MAAM,CAAC,OAAO,qEAmBZ;IAEF,MAAM,CAAC,WAAW,+CAA4E;CAC/F"}
|
|
@@ -1,31 +1,27 @@
|
|
|
1
1
|
import { Schema } from 'effect';
|
|
2
|
+
import { QueryAST, Type } from '@dxos/echo';
|
|
2
3
|
import { Expando, Ref } from '@dxos/echo-schema';
|
|
3
4
|
/**
|
|
4
5
|
* Type discriminator for TriggerType.
|
|
5
6
|
* Every spec has a type field of type TriggerKind that we can use to understand which type we're working with.
|
|
6
7
|
* https://www.typescriptlang.org/docs/handbook/2/narrowing.html#discriminated-unions
|
|
7
8
|
*/
|
|
8
|
-
export declare
|
|
9
|
-
|
|
10
|
-
Webhook = "webhook",
|
|
11
|
-
Subscription = "subscription",
|
|
12
|
-
Email = "email",
|
|
13
|
-
Queue = "queue"
|
|
14
|
-
}
|
|
9
|
+
export declare const TriggerKinds: readonly ["timer", "webhook", "subscription", "email", "queue"];
|
|
10
|
+
export type TriggerKind = (typeof TriggerKinds)[number];
|
|
15
11
|
/**
|
|
16
12
|
* Cron timer.
|
|
17
13
|
*/
|
|
18
14
|
declare const TimerTriggerSchema: Schema.mutable<Schema.Struct<{
|
|
19
|
-
kind: Schema.Literal<[
|
|
15
|
+
kind: Schema.Literal<["timer"]>;
|
|
20
16
|
cron: Schema.SchemaClass<string, string, never>;
|
|
21
17
|
}>>;
|
|
22
18
|
export type TimerTrigger = Schema.Schema.Type<typeof TimerTriggerSchema>;
|
|
23
19
|
declare const EmailTriggerSchema: Schema.mutable<Schema.Struct<{
|
|
24
|
-
kind: Schema.Literal<[
|
|
20
|
+
kind: Schema.Literal<["email"]>;
|
|
25
21
|
}>>;
|
|
26
22
|
export type EmailTrigger = Schema.Schema.Type<typeof EmailTriggerSchema>;
|
|
27
23
|
declare const QueueTriggerSchema: Schema.mutable<Schema.Struct<{
|
|
28
|
-
kind: Schema.Literal<[
|
|
24
|
+
kind: Schema.Literal<["queue"]>;
|
|
29
25
|
queue: Schema.refine<string, typeof Schema.NonEmptyString>;
|
|
30
26
|
}>>;
|
|
31
27
|
export type QueueTrigger = Schema.Schema.Type<typeof QueueTriggerSchema>;
|
|
@@ -33,7 +29,7 @@ export type QueueTrigger = Schema.Schema.Type<typeof QueueTriggerSchema>;
|
|
|
33
29
|
* Webhook.
|
|
34
30
|
*/
|
|
35
31
|
declare const WebhookTriggerSchema: Schema.mutable<Schema.Struct<{
|
|
36
|
-
kind: Schema.Literal<[
|
|
32
|
+
kind: Schema.Literal<["webhook"]>;
|
|
37
33
|
method: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
38
34
|
port: Schema.optional<Schema.SchemaClass<number, number, never>>;
|
|
39
35
|
}>>;
|
|
@@ -42,11 +38,8 @@ export type WebhookTrigger = Schema.Schema.Type<typeof WebhookTriggerSchema>;
|
|
|
42
38
|
* Subscription.
|
|
43
39
|
*/
|
|
44
40
|
declare const SubscriptionTriggerSchema: Schema.mutable<Schema.Struct<{
|
|
45
|
-
kind: Schema.Literal<[
|
|
46
|
-
|
|
47
|
-
type: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
48
|
-
props: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
|
|
49
|
-
}>;
|
|
41
|
+
kind: Schema.Literal<["subscription"]>;
|
|
42
|
+
query: Schema.Schema<QueryAST.QuerySelectClause | QueryAST.QueryFilterClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QueryUnionClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryOrderClause | QueryAST.QueryOptionsClause, QueryAST.QuerySelectClause | QueryAST.QueryFilterClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QueryUnionClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryOrderClause | QueryAST.QueryOptionsClause, never>;
|
|
50
43
|
options: Schema.optional<Schema.Struct<{
|
|
51
44
|
deep: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
52
45
|
delay: Schema.optional<Schema.SchemaClass<number, number, never>>;
|
|
@@ -57,26 +50,23 @@ export type SubscriptionTrigger = Schema.Schema.Type<typeof SubscriptionTriggerS
|
|
|
57
50
|
* Trigger schema (discriminated union).
|
|
58
51
|
*/
|
|
59
52
|
export declare const TriggerSchema: Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
60
|
-
kind: Schema.Literal<[
|
|
53
|
+
kind: Schema.Literal<["timer"]>;
|
|
61
54
|
cron: Schema.SchemaClass<string, string, never>;
|
|
62
55
|
}>>, Schema.mutable<Schema.Struct<{
|
|
63
|
-
kind: Schema.Literal<[
|
|
56
|
+
kind: Schema.Literal<["webhook"]>;
|
|
64
57
|
method: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
65
58
|
port: Schema.optional<Schema.SchemaClass<number, number, never>>;
|
|
66
59
|
}>>, Schema.mutable<Schema.Struct<{
|
|
67
|
-
kind: Schema.Literal<[
|
|
68
|
-
|
|
69
|
-
type: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
70
|
-
props: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
|
|
71
|
-
}>;
|
|
60
|
+
kind: Schema.Literal<["subscription"]>;
|
|
61
|
+
query: Schema.Schema<QueryAST.QuerySelectClause | QueryAST.QueryFilterClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QueryUnionClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryOrderClause | QueryAST.QueryOptionsClause, QueryAST.QuerySelectClause | QueryAST.QueryFilterClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QueryUnionClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryOrderClause | QueryAST.QueryOptionsClause, never>;
|
|
72
62
|
options: Schema.optional<Schema.Struct<{
|
|
73
63
|
deep: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
74
64
|
delay: Schema.optional<Schema.SchemaClass<number, number, never>>;
|
|
75
65
|
}>>;
|
|
76
66
|
}>>, Schema.mutable<Schema.Struct<{
|
|
77
|
-
kind: Schema.Literal<[
|
|
67
|
+
kind: Schema.Literal<["email"]>;
|
|
78
68
|
}>>, Schema.mutable<Schema.Struct<{
|
|
79
|
-
kind: Schema.Literal<[
|
|
69
|
+
kind: Schema.Literal<["queue"]>;
|
|
80
70
|
queue: Schema.refine<string, typeof Schema.NonEmptyString>;
|
|
81
71
|
}>>]>;
|
|
82
72
|
export type TriggerType = Schema.Schema.Type<typeof TriggerSchema>;
|
|
@@ -103,8 +93,18 @@ export declare const QueueTriggerOutput: Schema.mutable<Schema.Struct<{
|
|
|
103
93
|
}>>;
|
|
104
94
|
export type QueueTriggerOutput = Schema.Schema.Type<typeof QueueTriggerOutput>;
|
|
105
95
|
export declare const SubscriptionTriggerOutput: Schema.mutable<Schema.Struct<{
|
|
96
|
+
/**
|
|
97
|
+
* Type of the mutation.
|
|
98
|
+
*/
|
|
106
99
|
type: typeof Schema.String;
|
|
107
|
-
|
|
100
|
+
/**
|
|
101
|
+
* Reference to the object that was changed or created.
|
|
102
|
+
*/
|
|
103
|
+
subject: Type.ref<Type.obj<Schema.Struct<{}>>>;
|
|
104
|
+
/**
|
|
105
|
+
* @deprecated
|
|
106
|
+
*/
|
|
107
|
+
changedObjectId: Schema.optional<typeof Schema.String>;
|
|
108
108
|
}>>;
|
|
109
109
|
export type SubscriptionTriggerOutput = Schema.Schema.Type<typeof SubscriptionTriggerOutput>;
|
|
110
110
|
export declare const TimerTriggerOutput: Schema.mutable<Schema.Struct<{
|
|
@@ -116,103 +116,7 @@ export type TimerTriggerOutput = Schema.Schema.Type<typeof TimerTriggerOutput>;
|
|
|
116
116
|
* Function is invoked with the `payload` passed as input data.
|
|
117
117
|
* The event that triggers the function is available in the function context.
|
|
118
118
|
*/
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Function or workflow to invoke.
|
|
122
|
-
*/
|
|
123
|
-
function: Schema.optional<Schema.SchemaClass<Ref<Expando>, import("@dxos/echo-protocol").EncodedReference, never>>;
|
|
124
|
-
/**
|
|
125
|
-
* Only used for workflowSchema.
|
|
126
|
-
* Specifies the input node in the circuit.
|
|
127
|
-
* @deprecated Remove and enforce a single input node in all compute graphSchema.
|
|
128
|
-
*/
|
|
129
|
-
inputNodeId: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
130
|
-
enabled: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
131
|
-
spec: Schema.optional<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
132
|
-
kind: Schema.Literal<[TriggerKind.Timer]>;
|
|
133
|
-
cron: Schema.SchemaClass<string, string, never>;
|
|
134
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
135
|
-
kind: Schema.Literal<[TriggerKind.Webhook]>;
|
|
136
|
-
method: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
137
|
-
port: Schema.optional<Schema.SchemaClass<number, number, never>>;
|
|
138
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
139
|
-
kind: Schema.Literal<[TriggerKind.Subscription]>;
|
|
140
|
-
filter: Schema.Struct<{
|
|
141
|
-
type: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
142
|
-
props: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
|
|
143
|
-
}>;
|
|
144
|
-
options: Schema.optional<Schema.Struct<{
|
|
145
|
-
deep: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
146
|
-
delay: Schema.optional<Schema.SchemaClass<number, number, never>>;
|
|
147
|
-
}>>;
|
|
148
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
149
|
-
kind: Schema.Literal<[TriggerKind.Email]>;
|
|
150
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
151
|
-
kind: Schema.Literal<[TriggerKind.Queue]>;
|
|
152
|
-
queue: Schema.refine<string, typeof Schema.NonEmptyString>;
|
|
153
|
-
}>>]>>;
|
|
154
|
-
/**
|
|
155
|
-
* Passed as the input data to the function.
|
|
156
|
-
* Must match the function's input schema.
|
|
157
|
-
*
|
|
158
|
-
* @example
|
|
159
|
-
* {
|
|
160
|
-
* item: '{{$.trigger.event}}',
|
|
161
|
-
* instructions: 'Summarize and perform entity-extraction'
|
|
162
|
-
* mailbox: { '/': 'dxn:echo:AAA:ZZZ' }
|
|
163
|
-
* }
|
|
164
|
-
*/
|
|
165
|
-
input: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>>;
|
|
166
|
-
}>;
|
|
167
|
-
export type FunctionTriggerType = Schema.Schema.Type<typeof FunctionTriggerSchema>;
|
|
168
|
-
declare const FunctionTrigger_base: import("@dxos/echo-schema").TypedObjectPrototype<import("@dxos/echo-schema").TypedObjectFields<Readonly<{
|
|
169
|
-
/**
|
|
170
|
-
* Function or workflow to invoke.
|
|
171
|
-
*/
|
|
172
|
-
function: Schema.optional<Schema.SchemaClass<Ref<Expando>, import("@dxos/echo-protocol").EncodedReference, never>>;
|
|
173
|
-
/**
|
|
174
|
-
* Only used for workflowSchema.
|
|
175
|
-
* Specifies the input node in the circuit.
|
|
176
|
-
* @deprecated Remove and enforce a single input node in all compute graphSchema.
|
|
177
|
-
*/
|
|
178
|
-
inputNodeId: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
179
|
-
enabled: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
180
|
-
spec: Schema.optional<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
181
|
-
kind: Schema.Literal<[TriggerKind.Timer]>;
|
|
182
|
-
cron: Schema.SchemaClass<string, string, never>;
|
|
183
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
184
|
-
kind: Schema.Literal<[TriggerKind.Webhook]>;
|
|
185
|
-
method: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
186
|
-
port: Schema.optional<Schema.SchemaClass<number, number, never>>;
|
|
187
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
188
|
-
kind: Schema.Literal<[TriggerKind.Subscription]>;
|
|
189
|
-
filter: Schema.Struct<{
|
|
190
|
-
type: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
191
|
-
props: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
|
|
192
|
-
}>;
|
|
193
|
-
options: Schema.optional<Schema.Struct<{
|
|
194
|
-
deep: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
195
|
-
delay: Schema.optional<Schema.SchemaClass<number, number, never>>;
|
|
196
|
-
}>>;
|
|
197
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
198
|
-
kind: Schema.Literal<[TriggerKind.Email]>;
|
|
199
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
200
|
-
kind: Schema.Literal<[TriggerKind.Queue]>;
|
|
201
|
-
queue: Schema.refine<string, typeof Schema.NonEmptyString>;
|
|
202
|
-
}>>]>>;
|
|
203
|
-
/**
|
|
204
|
-
* Passed as the input data to the function.
|
|
205
|
-
* Must match the function's input schema.
|
|
206
|
-
*
|
|
207
|
-
* @example
|
|
208
|
-
* {
|
|
209
|
-
* item: '{{$.trigger.event}}',
|
|
210
|
-
* instructions: 'Summarize and perform entity-extraction'
|
|
211
|
-
* mailbox: { '/': 'dxn:echo:AAA:ZZZ' }
|
|
212
|
-
* }
|
|
213
|
-
*/
|
|
214
|
-
input: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>>;
|
|
215
|
-
}>, import("@dxos/echo-schema").TypedObjectOptions>, Schema.Struct.Encoded<Readonly<{
|
|
119
|
+
declare const FunctionTrigger_: Type.obj<Schema.Struct<{
|
|
216
120
|
/**
|
|
217
121
|
* Function or workflow to invoke.
|
|
218
122
|
*/
|
|
@@ -225,26 +129,23 @@ declare const FunctionTrigger_base: import("@dxos/echo-schema").TypedObjectProto
|
|
|
225
129
|
inputNodeId: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
226
130
|
enabled: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
227
131
|
spec: Schema.optional<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
228
|
-
kind: Schema.Literal<[
|
|
132
|
+
kind: Schema.Literal<["timer"]>;
|
|
229
133
|
cron: Schema.SchemaClass<string, string, never>;
|
|
230
134
|
}>>, Schema.mutable<Schema.Struct<{
|
|
231
|
-
kind: Schema.Literal<[
|
|
135
|
+
kind: Schema.Literal<["webhook"]>;
|
|
232
136
|
method: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
233
137
|
port: Schema.optional<Schema.SchemaClass<number, number, never>>;
|
|
234
138
|
}>>, Schema.mutable<Schema.Struct<{
|
|
235
|
-
kind: Schema.Literal<[
|
|
236
|
-
|
|
237
|
-
type: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
238
|
-
props: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
|
|
239
|
-
}>;
|
|
139
|
+
kind: Schema.Literal<["subscription"]>;
|
|
140
|
+
query: Schema.Schema<QueryAST.QuerySelectClause | QueryAST.QueryFilterClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QueryUnionClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryOrderClause | QueryAST.QueryOptionsClause, QueryAST.QuerySelectClause | QueryAST.QueryFilterClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QueryUnionClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryOrderClause | QueryAST.QueryOptionsClause, never>;
|
|
240
141
|
options: Schema.optional<Schema.Struct<{
|
|
241
142
|
deep: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
242
143
|
delay: Schema.optional<Schema.SchemaClass<number, number, never>>;
|
|
243
144
|
}>>;
|
|
244
145
|
}>>, Schema.mutable<Schema.Struct<{
|
|
245
|
-
kind: Schema.Literal<[
|
|
146
|
+
kind: Schema.Literal<["email"]>;
|
|
246
147
|
}>>, Schema.mutable<Schema.Struct<{
|
|
247
|
-
kind: Schema.Literal<[
|
|
148
|
+
kind: Schema.Literal<["queue"]>;
|
|
248
149
|
queue: Schema.refine<string, typeof Schema.NonEmptyString>;
|
|
249
150
|
}>>]>>;
|
|
250
151
|
/**
|
|
@@ -259,153 +160,62 @@ declare const FunctionTrigger_base: import("@dxos/echo-schema").TypedObjectProto
|
|
|
259
160
|
* }
|
|
260
161
|
*/
|
|
261
162
|
input: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>>;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
export declare class FunctionTrigger extends FunctionTrigger_base {
|
|
163
|
+
}>>;
|
|
164
|
+
export interface FunctionTrigger extends Schema.Schema.Type<typeof FunctionTrigger_> {
|
|
165
|
+
}
|
|
166
|
+
export interface FunctionTriggerEncoded extends Schema.Schema.Encoded<typeof FunctionTrigger_> {
|
|
267
167
|
}
|
|
168
|
+
export declare const FunctionTrigger: Schema.Schema<FunctionTrigger, FunctionTriggerEncoded>;
|
|
268
169
|
/**
|
|
269
170
|
* Function manifest file.
|
|
270
171
|
*/
|
|
271
172
|
export declare const FunctionManifestSchema: Schema.Struct<{
|
|
272
|
-
functions: Schema.optional<Schema.mutable<Schema.Array$<Schema.Schema<import("@dxos/echo-schema").ExcludeId<
|
|
273
|
-
description?: string | undefined;
|
|
274
|
-
version: string;
|
|
173
|
+
functions: Schema.optional<Schema.mutable<Schema.Array$<Schema.Schema<import("@dxos/echo-schema").ExcludeId<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
|
|
275
174
|
name: string;
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
source?: Ref<import("@dxos/echo/Type").OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
|
|
279
|
-
description?: string | undefined;
|
|
175
|
+
description?: string | undefined;
|
|
176
|
+
source?: Ref<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
|
|
280
177
|
name?: string | undefined;
|
|
178
|
+
description?: string | undefined;
|
|
281
179
|
changed?: boolean | undefined;
|
|
282
|
-
source: Ref<
|
|
180
|
+
source: Ref<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
|
|
283
181
|
content: string;
|
|
284
182
|
}>;
|
|
285
183
|
}> | undefined;
|
|
184
|
+
version: string;
|
|
185
|
+
key?: string | undefined;
|
|
186
|
+
inputSchema?: Type.JsonSchema | undefined;
|
|
187
|
+
outputSchema?: Type.JsonSchema | undefined;
|
|
286
188
|
binding?: string | undefined;
|
|
287
189
|
}> & import("@dxos/echo-schema").WithMeta, {
|
|
288
190
|
id: string;
|
|
289
|
-
version: string;
|
|
290
191
|
name: string;
|
|
192
|
+
version: string;
|
|
291
193
|
description?: string | undefined;
|
|
292
|
-
inputSchema?: import("@dxos/echo-schema").JsonSchemaType | undefined;
|
|
293
|
-
outputSchema?: import("@dxos/echo-schema").JsonSchemaType | undefined;
|
|
294
194
|
source?: import("@dxos/echo-protocol").EncodedReference | undefined;
|
|
195
|
+
key?: string | undefined;
|
|
196
|
+
inputSchema?: Type.JsonSchema | undefined;
|
|
197
|
+
outputSchema?: Type.JsonSchema | undefined;
|
|
295
198
|
binding?: string | undefined;
|
|
296
199
|
}, never>>>>;
|
|
297
|
-
triggers: Schema.optional<Schema.mutable<Schema.Array$<Schema.Schema<import("@dxos/echo-schema").ExcludeId<import("@dxos/echo-schema").
|
|
298
|
-
/**
|
|
299
|
-
* Function or workflow to invoke.
|
|
300
|
-
*/
|
|
301
|
-
function: Schema.optional<Schema.SchemaClass<Ref<Expando>, import("@dxos/echo-protocol").EncodedReference, never>>;
|
|
302
|
-
/**
|
|
303
|
-
* Only used for workflowSchema.
|
|
304
|
-
* Specifies the input node in the circuit.
|
|
305
|
-
* @deprecated Remove and enforce a single input node in all compute graphSchema.
|
|
306
|
-
*/
|
|
307
|
-
inputNodeId: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
308
|
-
enabled: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
309
|
-
spec: Schema.optional<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
310
|
-
kind: Schema.Literal<[TriggerKind.Timer]>;
|
|
311
|
-
cron: Schema.SchemaClass<string, string, never>;
|
|
312
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
313
|
-
kind: Schema.Literal<[TriggerKind.Webhook]>;
|
|
314
|
-
method: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
315
|
-
port: Schema.optional<Schema.SchemaClass<number, number, never>>;
|
|
316
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
317
|
-
kind: Schema.Literal<[TriggerKind.Subscription]>;
|
|
318
|
-
filter: Schema.Struct<{
|
|
319
|
-
type: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
320
|
-
props: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
|
|
321
|
-
}>;
|
|
322
|
-
options: Schema.optional<Schema.Struct<{
|
|
323
|
-
deep: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
324
|
-
delay: Schema.optional<Schema.SchemaClass<number, number, never>>;
|
|
325
|
-
}>>;
|
|
326
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
327
|
-
kind: Schema.Literal<[TriggerKind.Email]>;
|
|
328
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
329
|
-
kind: Schema.Literal<[TriggerKind.Queue]>;
|
|
330
|
-
queue: Schema.refine<string, typeof Schema.NonEmptyString>;
|
|
331
|
-
}>>]>>;
|
|
332
|
-
/**
|
|
333
|
-
* Passed as the input data to the function.
|
|
334
|
-
* Must match the function's input schema.
|
|
335
|
-
*
|
|
336
|
-
* @example
|
|
337
|
-
* {
|
|
338
|
-
* item: '{{$.trigger.event}}',
|
|
339
|
-
* instructions: 'Summarize and perform entity-extraction'
|
|
340
|
-
* mailbox: { '/': 'dxn:echo:AAA:ZZZ' }
|
|
341
|
-
* }
|
|
342
|
-
*/
|
|
343
|
-
input: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>>;
|
|
344
|
-
}>, import("@dxos/echo-schema").TypedObjectOptions>> & import("@dxos/echo-schema").WithMeta, Schema.Struct.Encoded<Readonly<{
|
|
345
|
-
/**
|
|
346
|
-
* Function or workflow to invoke.
|
|
347
|
-
*/
|
|
348
|
-
function: Schema.optional<Schema.SchemaClass<Ref<Expando>, import("@dxos/echo-protocol").EncodedReference, never>>;
|
|
349
|
-
/**
|
|
350
|
-
* Only used for workflowSchema.
|
|
351
|
-
* Specifies the input node in the circuit.
|
|
352
|
-
* @deprecated Remove and enforce a single input node in all compute graphSchema.
|
|
353
|
-
*/
|
|
354
|
-
inputNodeId: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
355
|
-
enabled: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
356
|
-
spec: Schema.optional<Schema.Union<[Schema.mutable<Schema.Struct<{
|
|
357
|
-
kind: Schema.Literal<[TriggerKind.Timer]>;
|
|
358
|
-
cron: Schema.SchemaClass<string, string, never>;
|
|
359
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
360
|
-
kind: Schema.Literal<[TriggerKind.Webhook]>;
|
|
361
|
-
method: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
362
|
-
port: Schema.optional<Schema.SchemaClass<number, number, never>>;
|
|
363
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
364
|
-
kind: Schema.Literal<[TriggerKind.Subscription]>;
|
|
365
|
-
filter: Schema.Struct<{
|
|
366
|
-
type: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
367
|
-
props: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
|
|
368
|
-
}>;
|
|
369
|
-
options: Schema.optional<Schema.Struct<{
|
|
370
|
-
deep: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
|
|
371
|
-
delay: Schema.optional<Schema.SchemaClass<number, number, never>>;
|
|
372
|
-
}>>;
|
|
373
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
374
|
-
kind: Schema.Literal<[TriggerKind.Email]>;
|
|
375
|
-
}>>, Schema.mutable<Schema.Struct<{
|
|
376
|
-
kind: Schema.Literal<[TriggerKind.Queue]>;
|
|
377
|
-
queue: Schema.refine<string, typeof Schema.NonEmptyString>;
|
|
378
|
-
}>>]>>;
|
|
379
|
-
/**
|
|
380
|
-
* Passed as the input data to the function.
|
|
381
|
-
* Must match the function's input schema.
|
|
382
|
-
*
|
|
383
|
-
* @example
|
|
384
|
-
* {
|
|
385
|
-
* item: '{{$.trigger.event}}',
|
|
386
|
-
* instructions: 'Summarize and perform entity-extraction'
|
|
387
|
-
* mailbox: { '/': 'dxn:echo:AAA:ZZZ' }
|
|
388
|
-
* }
|
|
389
|
-
*/
|
|
390
|
-
input: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>>;
|
|
391
|
-
}>>, never>>>>;
|
|
200
|
+
triggers: Schema.optional<Schema.mutable<Schema.Array$<Schema.Schema<import("@dxos/echo-schema").ExcludeId<FunctionTrigger> & import("@dxos/echo-schema").WithMeta, FunctionTriggerEncoded, never>>>>;
|
|
392
201
|
}>;
|
|
393
202
|
export type FunctionManifest = Schema.Schema.Type<typeof FunctionManifestSchema>;
|
|
394
|
-
export declare const FUNCTION_TYPES: (
|
|
203
|
+
export declare const FUNCTION_TYPES: (Type.obj<Schema.Struct<{
|
|
204
|
+
key: Schema.optional<typeof Schema.String>;
|
|
395
205
|
name: typeof Schema.NonEmptyString;
|
|
396
206
|
version: typeof Schema.String;
|
|
397
207
|
description: Schema.optional<typeof Schema.String>;
|
|
398
|
-
source: Schema.optional<import("@dxos/echo-schema").Ref$<
|
|
399
|
-
description?: string | undefined;
|
|
208
|
+
source: Schema.optional<import("@dxos/echo-schema").Ref$<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
|
|
400
209
|
name?: string | undefined;
|
|
210
|
+
description?: string | undefined;
|
|
401
211
|
changed?: boolean | undefined;
|
|
402
|
-
source: Ref<
|
|
212
|
+
source: Ref<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
|
|
403
213
|
content: string;
|
|
404
214
|
}>;
|
|
405
215
|
}>>;
|
|
406
|
-
inputSchema: Schema.optional<Schema.Schema<
|
|
407
|
-
outputSchema: Schema.optional<Schema.Schema<
|
|
216
|
+
inputSchema: Schema.optional<Schema.Schema<Type.JsonSchema, Type.JsonSchema, never>>;
|
|
217
|
+
outputSchema: Schema.optional<Schema.Schema<Type.JsonSchema, Type.JsonSchema, never>>;
|
|
408
218
|
binding: Schema.optional<typeof Schema.String>;
|
|
409
|
-
}>> |
|
|
219
|
+
}>> | Schema.Schema<FunctionTrigger, FunctionTriggerEncoded, never>)[];
|
|
410
220
|
export {};
|
|
411
221
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
|