@dxos/functions 0.5.3-main.907b180 → 0.5.3-main.a09cd97
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/chunk-HRU7VDYL.mjs +87 -0
- package/dist/lib/browser/chunk-HRU7VDYL.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +722 -487
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/types.mjs +14 -0
- package/dist/lib/browser/types.mjs.map +7 -0
- package/dist/lib/node/chunk-R5JUDLSN.cjs +104 -0
- package/dist/lib/node/chunk-R5JUDLSN.cjs.map +7 -0
- package/dist/lib/node/index.cjs +709 -480
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/types.cjs +35 -0
- package/dist/lib/node/types.cjs.map +7 -0
- package/dist/types/src/browser/index.d.ts +2 -0
- package/dist/types/src/browser/index.d.ts.map +1 -0
- package/dist/types/src/function/function-registry.d.ts +24 -0
- package/dist/types/src/function/function-registry.d.ts.map +1 -0
- package/dist/types/src/function/function-registry.test.d.ts +2 -0
- package/dist/types/src/function/function-registry.test.d.ts.map +1 -0
- package/dist/types/src/function/index.d.ts +2 -0
- package/dist/types/src/function/index.d.ts.map +1 -0
- package/dist/types/src/handler.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/runtime/dev-server.d.ts +7 -10
- package/dist/types/src/runtime/dev-server.d.ts.map +1 -1
- package/dist/types/src/runtime/scheduler.d.ts +11 -59
- package/dist/types/src/runtime/scheduler.d.ts.map +1 -1
- package/dist/types/src/testing/functions-integration.test.d.ts +2 -0
- package/dist/types/src/testing/functions-integration.test.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +4 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/testing/setup.d.ts +5 -0
- package/dist/types/src/testing/setup.d.ts.map +1 -0
- package/dist/types/src/testing/test/handler.d.ts +1 -0
- package/dist/types/src/testing/test/handler.d.ts.map +1 -1
- package/dist/types/src/testing/types.d.ts +9 -0
- package/dist/types/src/testing/types.d.ts.map +1 -0
- package/dist/types/src/testing/util.d.ts +3 -0
- package/dist/types/src/testing/util.d.ts.map +1 -0
- package/dist/types/src/trigger/index.d.ts +2 -0
- package/dist/types/src/trigger/index.d.ts.map +1 -0
- package/dist/types/src/trigger/trigger-registry.d.ts +40 -0
- package/dist/types/src/trigger/trigger-registry.d.ts.map +1 -0
- package/dist/types/src/trigger/trigger-registry.test.d.ts +2 -0
- package/dist/types/src/trigger/trigger-registry.test.d.ts.map +1 -0
- package/dist/types/src/trigger/type/index.d.ts +5 -0
- package/dist/types/src/trigger/type/index.d.ts.map +1 -0
- package/dist/types/src/trigger/type/subscription-trigger.d.ts +4 -0
- package/dist/types/src/trigger/type/subscription-trigger.d.ts.map +1 -0
- package/dist/types/src/trigger/type/timer-trigger.d.ts +4 -0
- package/dist/types/src/trigger/type/timer-trigger.d.ts.map +1 -0
- package/dist/types/src/trigger/type/webhook-trigger.d.ts +4 -0
- package/dist/types/src/trigger/type/webhook-trigger.d.ts.map +1 -0
- package/dist/types/src/trigger/type/websocket-trigger.d.ts +13 -0
- package/dist/types/src/trigger/type/websocket-trigger.d.ts.map +1 -0
- package/dist/types/src/types.d.ts +146 -122
- package/dist/types/src/types.d.ts.map +1 -1
- package/package.json +30 -14
- package/schema/functions.json +139 -116
- package/src/browser/index.ts +5 -0
- package/src/function/function-registry.test.ts +105 -0
- package/src/function/function-registry.ts +90 -0
- package/src/function/index.ts +5 -0
- package/src/index.ts +2 -0
- package/src/runtime/dev-server.test.ts +15 -35
- package/src/runtime/dev-server.ts +37 -20
- package/src/runtime/scheduler.test.ts +54 -75
- package/src/runtime/scheduler.ts +70 -297
- package/src/testing/functions-integration.test.ts +99 -0
- package/src/testing/index.ts +7 -0
- package/src/testing/setup.ts +45 -0
- package/src/testing/test/handler.ts +8 -2
- package/src/testing/types.ts +9 -0
- package/src/testing/util.ts +16 -0
- package/src/trigger/index.ts +5 -0
- package/src/trigger/trigger-registry.test.ts +255 -0
- package/src/trigger/trigger-registry.ts +201 -0
- package/src/trigger/type/index.ts +8 -0
- package/src/trigger/type/subscription-trigger.ts +80 -0
- package/src/trigger/type/timer-trigger.ts +44 -0
- package/src/trigger/type/webhook-trigger.ts +47 -0
- package/src/trigger/type/websocket-trigger.ts +91 -0
- package/src/types.ts +79 -53
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Client, Config } from '@dxos/client';
|
|
2
|
+
import { type TestBuilder } from '@dxos/client/testing';
|
|
3
|
+
export declare const createInitializedClients: (testBuilder: TestBuilder, count?: number, config?: Config) => Promise<Client[]>;
|
|
4
|
+
export declare const createFunctionRuntime: (testBuilder: TestBuilder) => Promise<Client>;
|
|
5
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/testing/setup.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAQxD,eAAO,MAAM,wBAAwB,gBAAuB,WAAW,UAAS,MAAM,WAAe,MAAM,sBAW1G,CAAC;AAEF,eAAO,MAAM,qBAAqB,gBAAuB,WAAW,KAAG,QAAQ,MAAM,CAiBpF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/testing/test/handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/testing/test/handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAIrD,eAAO,MAAM,kBAAkB,YAAa,gBAAgB,GAAG,CAAC,SAE/D,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,eAAe,CAAC,GAAG,CAExC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/testing/types.ts"],"names":[],"mappings":";;;;;AAMA,qBAAa,QAAS,SAAQ,aAE5B;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/testing/util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAKvD,eAAO,MAAM,cAAc,UAAiB,KAAK,OAAO,MAAM,kBAM7D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/trigger/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Event } from '@dxos/async';
|
|
2
|
+
import { type Client } from '@dxos/client';
|
|
3
|
+
import { type Space } from '@dxos/client/echo';
|
|
4
|
+
import { Context, Resource } from '@dxos/context';
|
|
5
|
+
import { type FunctionManifest, FunctionTrigger, type FunctionTriggerType, type TriggerSpec } from '../types';
|
|
6
|
+
type ResponseCode = number;
|
|
7
|
+
export type TriggerCallback = (args: object) => Promise<ResponseCode>;
|
|
8
|
+
export type TriggerContext = {
|
|
9
|
+
space: Space;
|
|
10
|
+
};
|
|
11
|
+
export type TriggerFactory<Spec extends TriggerSpec, Options = any> = (ctx: Context, context: TriggerContext, spec: Spec, callback: TriggerCallback, options?: Options) => Promise<void>;
|
|
12
|
+
export type TriggerHandlerMap = {
|
|
13
|
+
[type in FunctionTriggerType]: TriggerFactory<any>;
|
|
14
|
+
};
|
|
15
|
+
export type TriggerEvent = {
|
|
16
|
+
space: Space;
|
|
17
|
+
triggers: FunctionTrigger[];
|
|
18
|
+
};
|
|
19
|
+
export declare class TriggerRegistry extends Resource {
|
|
20
|
+
private readonly _client;
|
|
21
|
+
private readonly _options?;
|
|
22
|
+
private readonly _triggersBySpaceKey;
|
|
23
|
+
readonly registered: Event<TriggerEvent>;
|
|
24
|
+
readonly removed: Event<TriggerEvent>;
|
|
25
|
+
constructor(_client: Client, _options?: TriggerHandlerMap | undefined);
|
|
26
|
+
getActiveTriggers(space: Space): FunctionTrigger[];
|
|
27
|
+
getInactiveTriggers(space: Space): FunctionTrigger[];
|
|
28
|
+
activate(triggerCtx: TriggerContext, trigger: FunctionTrigger, callback: TriggerCallback): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Loads triggers from the manifest into the space.
|
|
31
|
+
*/
|
|
32
|
+
register(space: Space, manifest: FunctionManifest): Promise<void>;
|
|
33
|
+
protected _open(): Promise<void>;
|
|
34
|
+
protected _close(_: Context): Promise<void>;
|
|
35
|
+
private _handleNewTriggers;
|
|
36
|
+
private _handleRemovedTriggers;
|
|
37
|
+
private _getTriggers;
|
|
38
|
+
}
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=trigger-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-registry.d.ts","sourceRoot":"","sources":["../../../../src/trigger/trigger-registry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAA2B,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQlD,OAAO,EAAE,KAAK,gBAAgB,EAAE,eAAe,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAE9G,KAAK,YAAY,GAAG,MAAM,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAEtE,MAAM,MAAM,cAAc,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAG9C,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,WAAW,EAAE,OAAO,GAAG,GAAG,IAAI,CACpE,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,OAAO,KACd,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,iBAAiB,GAAG;KAAG,IAAI,IAAI,mBAAmB,GAAG,cAAc,CAAC,GAAG,CAAC;CAAE,CAAC;AASvF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAOF,qBAAa,eAAgB,SAAQ,QAAQ;IAOzC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAP5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkE;IAEtG,SAAgB,UAAU,sBAA6B;IACvD,SAAgB,OAAO,sBAA6B;gBAGjC,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,+BAAmB;IAKxC,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,EAAE;IAIlD,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,EAAE;IAIrD,QAAQ,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB9G;;OAEG;IACU,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;cAyBrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cA6BtB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D,OAAO,CAAC,kBAAkB;YAgBZ,sBAAsB;IA2BpC,OAAO,CAAC,YAAY;CAIrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-registry.test.d.ts","sourceRoot":"","sources":["../../../../src/trigger/trigger-registry.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/trigger/type/index.ts"],"names":[],"mappings":"AAIA,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription-trigger.d.ts","sourceRoot":"","sources":["../../../../../src/trigger/type/subscription-trigger.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAA6C,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErG,eAAO,MAAM,yBAAyB,EAAE,cAAc,CAAC,mBAAmB,CAkEzE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timer-trigger.d.ts","sourceRoot":"","sources":["../../../../../src/trigger/type/timer-trigger.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAA6C,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErG,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,YAAY,CA8B3D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-trigger.d.ts","sourceRoot":"","sources":["../../../../../src/trigger/type/webhook-trigger.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAA6C,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErG,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,cAAc,CAiC/D,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type WebsocketTrigger } from '../../types';
|
|
2
|
+
import { type TriggerFactory } from '../trigger-registry';
|
|
3
|
+
interface WebsocketTriggerOptions {
|
|
4
|
+
retryDelay: number;
|
|
5
|
+
maxAttempts: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Websocket.
|
|
9
|
+
* NOTE: The port must be unique, so the same hook cannot be used for multiple spaces.
|
|
10
|
+
*/
|
|
11
|
+
export declare const createWebsocketTrigger: TriggerFactory<WebsocketTrigger, WebsocketTriggerOptions>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=websocket-trigger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-trigger.d.ts","sourceRoot":"","sources":["../../../../../src/trigger/type/websocket-trigger.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAA6C,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErG,UAAU,uBAAuB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAAc,CAAC,gBAAgB,EAAE,uBAAuB,CAoE5F,CAAC"}
|
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
declare const
|
|
10
|
-
|
|
11
|
-
init: S.PropertySignature<"?:", {
|
|
12
|
-
readonly [x: string]: any;
|
|
13
|
-
} | undefined, never, "?:", {
|
|
14
|
-
readonly [x: string]: any;
|
|
15
|
-
} | undefined, never>;
|
|
16
|
-
}>;
|
|
17
|
-
declare const SubscriptionTriggerSchema: S.struct<{
|
|
18
|
-
spaceKey: S.PropertySignature<"?:", string | undefined, never, "?:", string | undefined, never>;
|
|
1
|
+
import { S } from '@dxos/echo-schema';
|
|
2
|
+
/**
|
|
3
|
+
* Type discriminator for TriggerSpec.
|
|
4
|
+
* Every spec has a type field of type FunctionTriggerType that we can use to understand which
|
|
5
|
+
* type we're working with.
|
|
6
|
+
* https://www.typescriptlang.org/docs/handbook/2/narrowing.html#discriminated-unions
|
|
7
|
+
*/
|
|
8
|
+
export type FunctionTriggerType = 'subscription' | 'timer' | 'webhook' | 'websocket';
|
|
9
|
+
declare const SubscriptionTriggerSchema: S.mutable<S.struct<{
|
|
10
|
+
type: S.literal<["subscription"]>;
|
|
19
11
|
filter: S.array<S.struct<{
|
|
20
12
|
type: S.$string;
|
|
21
13
|
props: S.PropertySignature<"?:", {
|
|
@@ -31,152 +23,184 @@ declare const SubscriptionTriggerSchema: S.struct<{
|
|
|
31
23
|
readonly deep?: boolean | undefined;
|
|
32
24
|
readonly delay?: number | undefined;
|
|
33
25
|
} | undefined, never>;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
26
|
+
}>>;
|
|
27
|
+
export type SubscriptionTrigger = S.Schema.Type<typeof SubscriptionTriggerSchema>;
|
|
28
|
+
declare const TimerTriggerSchema: S.mutable<S.struct<{
|
|
29
|
+
type: S.literal<["timer"]>;
|
|
30
|
+
cron: S.$string;
|
|
31
|
+
}>>;
|
|
32
|
+
export type TimerTrigger = S.Schema.Type<typeof TimerTriggerSchema>;
|
|
33
|
+
declare const WebhookTriggerSchema: S.mutable<S.struct<{
|
|
34
|
+
type: S.literal<["webhook"]>;
|
|
35
|
+
method: S.$string;
|
|
36
|
+
port: S.PropertySignature<"?:", number | undefined, never, "?:", number | undefined, never>;
|
|
37
|
+
}>>;
|
|
38
|
+
export type WebhookTrigger = S.Schema.Type<typeof WebhookTriggerSchema>;
|
|
39
|
+
declare const WebsocketTriggerSchema: S.mutable<S.struct<{
|
|
40
|
+
type: S.literal<["websocket"]>;
|
|
41
|
+
url: S.$string;
|
|
42
|
+
init: S.PropertySignature<"?:", {
|
|
38
43
|
readonly [x: string]: any;
|
|
39
44
|
} | undefined, never, "?:", {
|
|
40
45
|
readonly [x: string]: any;
|
|
41
46
|
} | undefined, never>;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
} | undefined, never>;
|
|
65
|
-
subscription: S.PropertySignature<"?:", {
|
|
66
|
-
readonly filter: readonly {
|
|
47
|
+
}>>;
|
|
48
|
+
export type WebsocketTrigger = S.Schema.Type<typeof WebsocketTriggerSchema>;
|
|
49
|
+
export type TriggerSpec = TimerTrigger | WebhookTrigger | WebsocketTrigger | SubscriptionTrigger;
|
|
50
|
+
declare const FunctionDef_base: import("@dxos/echo-schema").EchoSchemaClass<{
|
|
51
|
+
handler: string;
|
|
52
|
+
uri: string;
|
|
53
|
+
description?: string | undefined;
|
|
54
|
+
route: string;
|
|
55
|
+
} & {
|
|
56
|
+
id: string;
|
|
57
|
+
}>;
|
|
58
|
+
/**
|
|
59
|
+
* Function definition.
|
|
60
|
+
*/
|
|
61
|
+
export declare class FunctionDef extends FunctionDef_base {
|
|
62
|
+
}
|
|
63
|
+
declare const FunctionTrigger_base: import("@dxos/echo-schema").EchoSchemaClass<{
|
|
64
|
+
function: string;
|
|
65
|
+
enabled?: boolean | undefined;
|
|
66
|
+
meta?: object | undefined;
|
|
67
|
+
spec: {
|
|
68
|
+
filter: readonly {
|
|
67
69
|
readonly type: string;
|
|
68
70
|
readonly props?: {
|
|
69
71
|
readonly [x: string]: any;
|
|
70
72
|
} | undefined;
|
|
71
73
|
}[];
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
type: "subscription";
|
|
75
|
+
options?: {
|
|
74
76
|
readonly deep?: boolean | undefined;
|
|
75
77
|
readonly delay?: number | undefined;
|
|
76
78
|
} | undefined;
|
|
77
|
-
} |
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
79
|
+
} | {
|
|
80
|
+
type: "timer";
|
|
81
|
+
cron: string;
|
|
82
|
+
} | {
|
|
83
|
+
port?: number | undefined;
|
|
84
|
+
type: "webhook";
|
|
85
|
+
method: string;
|
|
86
|
+
} | {
|
|
87
|
+
type: "websocket";
|
|
88
|
+
url: string;
|
|
89
|
+
init?: {
|
|
90
|
+
readonly [x: string]: any;
|
|
88
91
|
} | undefined;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
export type TimerTrigger = S.Schema.Type<typeof TimerTriggerSchema>;
|
|
93
|
-
export type WebhookTrigger = S.Schema.Type<typeof WebhookTriggerSchema>;
|
|
94
|
-
export type WebsocketTrigger = S.Schema.Type<typeof WebsocketTriggerSchema>;
|
|
95
|
-
export type SubscriptionTrigger = S.Schema.Type<typeof SubscriptionTriggerSchema>;
|
|
96
|
-
/**
|
|
97
|
-
* Function definition.
|
|
98
|
-
*/
|
|
99
|
-
declare const FunctionDefSchema: S.struct<{
|
|
100
|
-
id: S.$string;
|
|
101
|
-
description: S.PropertySignature<"?:", string | undefined, never, "?:", string | undefined, never>;
|
|
102
|
-
path: S.$string;
|
|
103
|
-
handler: S.$string;
|
|
92
|
+
};
|
|
93
|
+
} & {
|
|
94
|
+
id: string;
|
|
104
95
|
}>;
|
|
105
|
-
export
|
|
96
|
+
export declare class FunctionTrigger extends FunctionTrigger_base {
|
|
97
|
+
}
|
|
106
98
|
/**
|
|
107
99
|
* Function manifest file.
|
|
108
100
|
*/
|
|
109
101
|
export declare const FunctionManifestSchema: S.struct<{
|
|
110
|
-
functions: S.
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
readonly timer?: {
|
|
122
|
-
readonly cron: string;
|
|
123
|
-
} | undefined;
|
|
124
|
-
readonly webhook?: {
|
|
125
|
-
port?: number | undefined;
|
|
126
|
-
method: string;
|
|
102
|
+
functions: S.PropertySignature<"?:", ({
|
|
103
|
+
handler: string;
|
|
104
|
+
uri: string;
|
|
105
|
+
description?: string | undefined;
|
|
106
|
+
route: string;
|
|
107
|
+
} & {
|
|
108
|
+
"@meta"?: {
|
|
109
|
+
readonly keys: {
|
|
110
|
+
readonly id: string;
|
|
111
|
+
readonly source: string;
|
|
112
|
+
}[];
|
|
127
113
|
} | undefined;
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
114
|
+
})[] | undefined, never, "?:", ({
|
|
115
|
+
handler: string;
|
|
116
|
+
uri: string;
|
|
117
|
+
description?: string | undefined;
|
|
118
|
+
route: string;
|
|
119
|
+
} & {
|
|
120
|
+
"@meta"?: {
|
|
121
|
+
readonly keys: {
|
|
122
|
+
readonly id: string;
|
|
123
|
+
readonly source: string;
|
|
124
|
+
}[];
|
|
133
125
|
} | undefined;
|
|
134
|
-
|
|
135
|
-
|
|
126
|
+
})[] | undefined, never>;
|
|
127
|
+
triggers: S.PropertySignature<"?:", ({
|
|
128
|
+
function: string;
|
|
129
|
+
enabled?: boolean | undefined;
|
|
130
|
+
meta?: object | undefined;
|
|
131
|
+
spec: {
|
|
132
|
+
filter: readonly {
|
|
136
133
|
readonly type: string;
|
|
137
134
|
readonly props?: {
|
|
138
135
|
readonly [x: string]: any;
|
|
139
136
|
} | undefined;
|
|
140
137
|
}[];
|
|
141
|
-
|
|
142
|
-
|
|
138
|
+
type: "subscription";
|
|
139
|
+
options?: {
|
|
143
140
|
readonly deep?: boolean | undefined;
|
|
144
141
|
readonly delay?: number | undefined;
|
|
145
142
|
} | undefined;
|
|
146
|
-
} |
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
readonly [x: string]: any;
|
|
151
|
-
} | undefined;
|
|
152
|
-
readonly timer?: {
|
|
153
|
-
readonly cron: string;
|
|
154
|
-
} | undefined;
|
|
155
|
-
readonly webhook?: {
|
|
156
|
-
method: string;
|
|
143
|
+
} | {
|
|
144
|
+
type: "timer";
|
|
145
|
+
cron: string;
|
|
146
|
+
} | {
|
|
157
147
|
port?: number | undefined;
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
148
|
+
type: "webhook";
|
|
149
|
+
method: string;
|
|
150
|
+
} | {
|
|
151
|
+
type: "websocket";
|
|
152
|
+
url: string;
|
|
153
|
+
init?: {
|
|
162
154
|
readonly [x: string]: any;
|
|
163
155
|
} | undefined;
|
|
156
|
+
};
|
|
157
|
+
} & {
|
|
158
|
+
"@meta"?: {
|
|
159
|
+
readonly keys: {
|
|
160
|
+
readonly id: string;
|
|
161
|
+
readonly source: string;
|
|
162
|
+
}[];
|
|
164
163
|
} | undefined;
|
|
165
|
-
|
|
166
|
-
|
|
164
|
+
})[] | undefined, never, "?:", ({
|
|
165
|
+
function: string;
|
|
166
|
+
enabled?: boolean | undefined;
|
|
167
|
+
meta?: object | undefined;
|
|
168
|
+
spec: {
|
|
169
|
+
filter: readonly {
|
|
167
170
|
readonly type: string;
|
|
168
171
|
readonly props?: {
|
|
169
172
|
readonly [x: string]: any;
|
|
170
173
|
} | undefined;
|
|
171
174
|
}[];
|
|
172
|
-
|
|
173
|
-
|
|
175
|
+
type: "subscription";
|
|
176
|
+
options?: {
|
|
174
177
|
readonly deep?: boolean | undefined;
|
|
175
178
|
readonly delay?: number | undefined;
|
|
176
179
|
} | undefined;
|
|
180
|
+
} | {
|
|
181
|
+
type: "timer";
|
|
182
|
+
cron: string;
|
|
183
|
+
} | {
|
|
184
|
+
port?: number | undefined;
|
|
185
|
+
type: "webhook";
|
|
186
|
+
method: string;
|
|
187
|
+
} | {
|
|
188
|
+
type: "websocket";
|
|
189
|
+
url: string;
|
|
190
|
+
init?: {
|
|
191
|
+
readonly [x: string]: any;
|
|
192
|
+
} | undefined;
|
|
193
|
+
};
|
|
194
|
+
} & {
|
|
195
|
+
"@meta"?: {
|
|
196
|
+
readonly keys: {
|
|
197
|
+
readonly id: string;
|
|
198
|
+
readonly source: string;
|
|
199
|
+
}[];
|
|
177
200
|
} | undefined;
|
|
178
|
-
}[] | undefined, never>;
|
|
201
|
+
})[] | undefined, never>;
|
|
179
202
|
}>;
|
|
180
203
|
export type FunctionManifest = S.Schema.Type<typeof FunctionManifestSchema>;
|
|
204
|
+
export declare const FUNCTION_SCHEMA: (typeof FunctionDef | typeof FunctionTrigger)[];
|
|
181
205
|
export {};
|
|
182
206
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,CAAC,EAAe,MAAM,mBAAmB,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;AAErF,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;GAmB9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAElF,QAAA,MAAM,kBAAkB;;;GAKvB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,QAAA,MAAM,oBAAoB;;;;GAOzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,QAAA,MAAM,sBAAsB;;;;;;;;GAM3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAS5E,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,cAAc,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;;;;;;;;;AAEjG;;GAEG;AACH,qBAAa,WAAY,SAAQ,gBAS/B;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,eAAgB,SAAQ,oBASnC;CAAG;AAEL;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAG5E,eAAO,MAAM,eAAe,iDAAiC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/functions",
|
|
3
|
-
"version": "0.5.3-main.
|
|
4
|
-
"description": "Functions
|
|
3
|
+
"version": "0.5.3-main.a09cd97",
|
|
4
|
+
"description": "Functions API and runtime.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
7
7
|
"license": "MIT",
|
|
@@ -10,37 +10,53 @@
|
|
|
10
10
|
".": {
|
|
11
11
|
"browser": "./dist/lib/browser/index.mjs",
|
|
12
12
|
"node": "./dist/lib/node/index.cjs",
|
|
13
|
-
"default": "./dist/lib/node/index.cjs"
|
|
13
|
+
"default": "./dist/lib/node/index.cjs",
|
|
14
|
+
"types": "./dist/types/src/index.d.ts"
|
|
15
|
+
},
|
|
16
|
+
"./types": {
|
|
17
|
+
"browser": "./dist/lib/browser/types.mjs",
|
|
18
|
+
"node": "./dist/lib/node/types.cjs",
|
|
19
|
+
"default": "./dist/lib/node/types.cjs",
|
|
20
|
+
"types": "./dist/types/src/types.d.ts"
|
|
14
21
|
}
|
|
15
22
|
},
|
|
16
23
|
"types": "dist/types/src/index.d.ts",
|
|
24
|
+
"typesVersions": {
|
|
25
|
+
"*": {
|
|
26
|
+
"types": [
|
|
27
|
+
"dist/types/src/types.d.ts"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
},
|
|
17
31
|
"files": [
|
|
18
32
|
"dist",
|
|
19
33
|
"schema",
|
|
20
34
|
"src"
|
|
21
35
|
],
|
|
22
36
|
"dependencies": {
|
|
23
|
-
"@effect/schema": "^0.64.20",
|
|
24
37
|
"@preact/signals-core": "^1.6.0",
|
|
25
38
|
"cron": "^3.1.6",
|
|
26
39
|
"effect": "^2.4.19",
|
|
27
40
|
"express": "^4.19.2",
|
|
28
41
|
"get-port-please": "^3.1.1",
|
|
29
42
|
"ws": "^8.14.2",
|
|
30
|
-
"@braneframe/types": "0.5.3-main.
|
|
31
|
-
"@dxos/
|
|
32
|
-
"@dxos/async": "0.5.3-main.
|
|
33
|
-
"@dxos/echo-
|
|
34
|
-
"@dxos/
|
|
35
|
-
"@dxos/
|
|
36
|
-
"@dxos/
|
|
37
|
-
"@dxos/
|
|
38
|
-
"@dxos/
|
|
43
|
+
"@braneframe/types": "0.5.3-main.a09cd97",
|
|
44
|
+
"@dxos/client": "0.5.3-main.a09cd97",
|
|
45
|
+
"@dxos/async": "0.5.3-main.a09cd97",
|
|
46
|
+
"@dxos/echo-db": "0.5.3-main.a09cd97",
|
|
47
|
+
"@dxos/context": "0.5.3-main.a09cd97",
|
|
48
|
+
"@dxos/echo-schema": "0.5.3-main.a09cd97",
|
|
49
|
+
"@dxos/keys": "0.5.3-main.a09cd97",
|
|
50
|
+
"@dxos/invariant": "0.5.3-main.a09cd97",
|
|
51
|
+
"@dxos/log": "0.5.3-main.a09cd97",
|
|
52
|
+
"@dxos/node-std": "0.5.3-main.a09cd97",
|
|
53
|
+
"@dxos/util": "0.5.3-main.a09cd97",
|
|
54
|
+
"@dxos/protocols": "0.5.3-main.a09cd97"
|
|
39
55
|
},
|
|
40
56
|
"devDependencies": {
|
|
41
57
|
"@types/express": "^4.17.17",
|
|
42
58
|
"@types/ws": "^7.4.0",
|
|
43
|
-
"@dxos/agent": "0.5.3-main.
|
|
59
|
+
"@dxos/agent": "0.5.3-main.a09cd97"
|
|
44
60
|
},
|
|
45
61
|
"publishConfig": {
|
|
46
62
|
"access": "public"
|