@dxos/functions 0.5.3-main.6e12b97 → 0.5.3-main.6f2dfea
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/index.mjs +422 -663
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +419 -648
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/types/src/handler.d.ts +12 -32
- package/dist/types/src/handler.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +0 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/runtime/dev-server.d.ts +10 -7
- package/dist/types/src/runtime/dev-server.d.ts.map +1 -1
- package/dist/types/src/runtime/scheduler.d.ts +59 -10
- package/dist/types/src/runtime/scheduler.d.ts.map +1 -1
- package/dist/types/src/testing/test/handler.d.ts +0 -1
- package/dist/types/src/testing/test/handler.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +112 -118
- package/dist/types/src/types.d.ts.map +1 -1
- package/package.json +13 -16
- package/schema/functions.json +103 -122
- package/src/handler.ts +27 -50
- package/src/index.ts +0 -2
- package/src/runtime/dev-server.test.ts +35 -15
- package/src/runtime/dev-server.ts +22 -40
- package/src/runtime/scheduler.test.ts +75 -54
- package/src/runtime/scheduler.ts +300 -67
- package/src/testing/test/handler.ts +2 -8
- package/src/types.ts +40 -56
- package/dist/types/src/registry/function-registry.d.ts +0 -24
- package/dist/types/src/registry/function-registry.d.ts.map +0 -1
- package/dist/types/src/registry/function-registry.test.d.ts +0 -2
- package/dist/types/src/registry/function-registry.test.d.ts.map +0 -1
- package/dist/types/src/registry/index.d.ts +0 -2
- package/dist/types/src/registry/index.d.ts.map +0 -1
- package/dist/types/src/testing/functions-integration.test.d.ts +0 -2
- package/dist/types/src/testing/functions-integration.test.d.ts.map +0 -1
- package/dist/types/src/testing/index.d.ts +0 -4
- package/dist/types/src/testing/index.d.ts.map +0 -1
- package/dist/types/src/testing/setup.d.ts +0 -5
- package/dist/types/src/testing/setup.d.ts.map +0 -1
- package/dist/types/src/testing/types.d.ts +0 -9
- package/dist/types/src/testing/types.d.ts.map +0 -1
- package/dist/types/src/testing/util.d.ts +0 -3
- package/dist/types/src/testing/util.d.ts.map +0 -1
- package/dist/types/src/trigger/index.d.ts +0 -2
- package/dist/types/src/trigger/index.d.ts.map +0 -1
- package/dist/types/src/trigger/trigger-registry.d.ts +0 -40
- package/dist/types/src/trigger/trigger-registry.d.ts.map +0 -1
- package/dist/types/src/trigger/trigger-registry.test.d.ts +0 -2
- package/dist/types/src/trigger/trigger-registry.test.d.ts.map +0 -1
- package/dist/types/src/trigger/type/index.d.ts +0 -5
- package/dist/types/src/trigger/type/index.d.ts.map +0 -1
- package/dist/types/src/trigger/type/subscription-trigger.d.ts +0 -4
- package/dist/types/src/trigger/type/subscription-trigger.d.ts.map +0 -1
- package/dist/types/src/trigger/type/timer-trigger.d.ts +0 -4
- package/dist/types/src/trigger/type/timer-trigger.d.ts.map +0 -1
- package/dist/types/src/trigger/type/webhook-trigger.d.ts +0 -4
- package/dist/types/src/trigger/type/webhook-trigger.d.ts.map +0 -1
- package/dist/types/src/trigger/type/websocket-trigger.d.ts +0 -13
- package/dist/types/src/trigger/type/websocket-trigger.d.ts.map +0 -1
- package/src/registry/function-registry.test.ts +0 -105
- package/src/registry/function-registry.ts +0 -84
- package/src/registry/index.ts +0 -5
- package/src/testing/functions-integration.test.ts +0 -99
- package/src/testing/index.ts +0 -7
- package/src/testing/setup.ts +0 -45
- package/src/testing/types.ts +0 -9
- package/src/testing/util.ts +0 -16
- package/src/trigger/index.ts +0 -5
- package/src/trigger/trigger-registry.test.ts +0 -229
- package/src/trigger/trigger-registry.ts +0 -176
- package/src/trigger/type/index.ts +0 -8
- package/src/trigger/type/subscription-trigger.ts +0 -73
- package/src/trigger/type/timer-trigger.ts +0 -44
- package/src/trigger/type/webhook-trigger.ts +0 -47
- package/src/trigger/type/websocket-trigger.ts +0 -91
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import * as S from '@effect/schema/Schema';
|
|
2
|
+
declare const TimerTriggerSchema: S.struct<{
|
|
3
|
+
cron: S.$string;
|
|
4
|
+
}>;
|
|
5
|
+
declare const WebhookTriggerSchema: S.mutable<S.struct<{
|
|
6
|
+
method: S.$string;
|
|
7
|
+
port: S.PropertySignature<"?:", number | undefined, never, "?:", number | undefined, never>;
|
|
8
|
+
}>>;
|
|
9
|
+
declare const WebsocketTriggerSchema: S.struct<{
|
|
10
|
+
url: S.$string;
|
|
11
|
+
init: S.PropertySignature<"?:", {
|
|
12
|
+
readonly [x: string]: any;
|
|
13
|
+
} | undefined, never, "?:", {
|
|
14
|
+
readonly [x: string]: any;
|
|
15
|
+
} | undefined, never>;
|
|
16
|
+
}>;
|
|
9
17
|
declare const SubscriptionTriggerSchema: S.struct<{
|
|
10
|
-
|
|
18
|
+
spaceKey: S.PropertySignature<"?:", string | undefined, never, "?:", string | undefined, never>;
|
|
11
19
|
filter: S.array<S.struct<{
|
|
12
20
|
type: S.$string;
|
|
13
21
|
props: S.PropertySignature<"?:", {
|
|
@@ -24,164 +32,150 @@ declare const SubscriptionTriggerSchema: S.struct<{
|
|
|
24
32
|
readonly delay?: number | undefined;
|
|
25
33
|
} | undefined, never>;
|
|
26
34
|
}>;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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.struct<{
|
|
40
|
-
type: S.literal<["websocket"]>;
|
|
41
|
-
url: S.$string;
|
|
42
|
-
init: S.PropertySignature<"?:", {
|
|
35
|
+
declare const FunctionTriggerSchema: S.struct<{
|
|
36
|
+
function: S.$string;
|
|
37
|
+
context: S.PropertySignature<"?:", {
|
|
43
38
|
readonly [x: string]: any;
|
|
44
39
|
} | undefined, never, "?:", {
|
|
45
40
|
readonly [x: string]: any;
|
|
46
41
|
} | undefined, never>;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
readonly
|
|
67
|
-
|
|
68
|
-
|
|
42
|
+
timer: S.PropertySignature<"?:", {
|
|
43
|
+
readonly cron: string;
|
|
44
|
+
} | undefined, never, "?:", {
|
|
45
|
+
readonly cron: string;
|
|
46
|
+
} | undefined, never>;
|
|
47
|
+
webhook: S.PropertySignature<"?:", {
|
|
48
|
+
port?: number | undefined;
|
|
49
|
+
method: string;
|
|
50
|
+
} | undefined, never, "?:", {
|
|
51
|
+
method: string;
|
|
52
|
+
port?: number | undefined;
|
|
53
|
+
} | undefined, never>;
|
|
54
|
+
websocket: S.PropertySignature<"?:", {
|
|
55
|
+
readonly url: string;
|
|
56
|
+
readonly init?: {
|
|
57
|
+
readonly [x: string]: any;
|
|
58
|
+
} | undefined;
|
|
59
|
+
} | undefined, never, "?:", {
|
|
60
|
+
readonly url: string;
|
|
61
|
+
readonly init?: {
|
|
62
|
+
readonly [x: string]: any;
|
|
63
|
+
} | undefined;
|
|
64
|
+
} | undefined, never>;
|
|
65
|
+
subscription: S.PropertySignature<"?:", {
|
|
69
66
|
readonly filter: readonly {
|
|
70
67
|
readonly type: string;
|
|
71
68
|
readonly props?: {
|
|
72
69
|
readonly [x: string]: any;
|
|
73
70
|
} | undefined;
|
|
74
71
|
}[];
|
|
75
|
-
readonly
|
|
72
|
+
readonly spaceKey?: string | undefined;
|
|
76
73
|
readonly options?: {
|
|
77
74
|
readonly deep?: boolean | undefined;
|
|
78
75
|
readonly delay?: number | undefined;
|
|
79
76
|
} | undefined;
|
|
80
|
-
} | {
|
|
81
|
-
readonly
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
readonly
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
readonly [x: string]: any;
|
|
77
|
+
} | undefined, never, "?:", {
|
|
78
|
+
readonly filter: readonly {
|
|
79
|
+
readonly type: string;
|
|
80
|
+
readonly props?: {
|
|
81
|
+
readonly [x: string]: any;
|
|
82
|
+
} | undefined;
|
|
83
|
+
}[];
|
|
84
|
+
readonly spaceKey?: string | undefined;
|
|
85
|
+
readonly options?: {
|
|
86
|
+
readonly deep?: boolean | undefined;
|
|
87
|
+
readonly delay?: number | undefined;
|
|
92
88
|
} | undefined;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
89
|
+
} | undefined, never>;
|
|
90
|
+
}>;
|
|
91
|
+
export type TimerTrigger = S.Schema.Type<typeof TimerTriggerSchema>;
|
|
92
|
+
export type WebhookTrigger = S.Schema.Type<typeof WebhookTriggerSchema>;
|
|
93
|
+
export type WebsocketTrigger = S.Schema.Type<typeof WebsocketTriggerSchema>;
|
|
94
|
+
export type SubscriptionTrigger = S.Schema.Type<typeof SubscriptionTriggerSchema>;
|
|
95
|
+
export type FunctionTrigger = S.Schema.Type<typeof FunctionTriggerSchema>;
|
|
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;
|
|
96
104
|
}>;
|
|
97
|
-
export
|
|
98
|
-
}
|
|
105
|
+
export type FunctionDef = S.Schema.Type<typeof FunctionDefSchema>;
|
|
99
106
|
/**
|
|
100
107
|
* Function manifest file.
|
|
101
108
|
*/
|
|
102
109
|
export declare const FunctionManifestSchema: S.struct<{
|
|
103
|
-
functions: S.
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
uri: string;
|
|
113
|
-
description?: string | undefined;
|
|
114
|
-
route: string;
|
|
115
|
-
} & {
|
|
116
|
-
id: string;
|
|
117
|
-
}, "id">[] | undefined, never>;
|
|
118
|
-
triggers: S.PropertySignature<"?:", Omit<{
|
|
119
|
-
function: string;
|
|
120
|
-
meta?: {
|
|
110
|
+
functions: S.mutable<S.array<S.struct<{
|
|
111
|
+
id: S.$string;
|
|
112
|
+
description: S.PropertySignature<"?:", string | undefined, never, "?:", string | undefined, never>;
|
|
113
|
+
path: S.$string;
|
|
114
|
+
handler: S.$string;
|
|
115
|
+
}>>>;
|
|
116
|
+
triggers: S.PropertySignature<"?:", {
|
|
117
|
+
readonly function: string;
|
|
118
|
+
readonly context?: {
|
|
121
119
|
readonly [x: string]: any;
|
|
122
120
|
} | undefined;
|
|
123
|
-
|
|
121
|
+
readonly timer?: {
|
|
122
|
+
readonly cron: string;
|
|
123
|
+
} | undefined;
|
|
124
|
+
readonly webhook?: {
|
|
125
|
+
port?: number | undefined;
|
|
126
|
+
method: string;
|
|
127
|
+
} | undefined;
|
|
128
|
+
readonly websocket?: {
|
|
129
|
+
readonly url: string;
|
|
130
|
+
readonly init?: {
|
|
131
|
+
readonly [x: string]: any;
|
|
132
|
+
} | undefined;
|
|
133
|
+
} | undefined;
|
|
134
|
+
readonly subscription?: {
|
|
124
135
|
readonly filter: readonly {
|
|
125
136
|
readonly type: string;
|
|
126
137
|
readonly props?: {
|
|
127
138
|
readonly [x: string]: any;
|
|
128
139
|
} | undefined;
|
|
129
140
|
}[];
|
|
130
|
-
readonly
|
|
141
|
+
readonly spaceKey?: string | undefined;
|
|
131
142
|
readonly options?: {
|
|
132
143
|
readonly deep?: boolean | undefined;
|
|
133
144
|
readonly delay?: number | undefined;
|
|
134
145
|
} | undefined;
|
|
135
|
-
} |
|
|
136
|
-
|
|
146
|
+
} | undefined;
|
|
147
|
+
}[] | undefined, never, "?:", {
|
|
148
|
+
readonly function: string;
|
|
149
|
+
readonly context?: {
|
|
150
|
+
readonly [x: string]: any;
|
|
151
|
+
} | undefined;
|
|
152
|
+
readonly timer?: {
|
|
137
153
|
readonly cron: string;
|
|
138
|
-
} |
|
|
139
|
-
|
|
140
|
-
type: "webhook";
|
|
154
|
+
} | undefined;
|
|
155
|
+
readonly webhook?: {
|
|
141
156
|
method: string;
|
|
142
|
-
|
|
143
|
-
|
|
157
|
+
port?: number | undefined;
|
|
158
|
+
} | undefined;
|
|
159
|
+
readonly websocket?: {
|
|
144
160
|
readonly url: string;
|
|
145
161
|
readonly init?: {
|
|
146
162
|
readonly [x: string]: any;
|
|
147
163
|
} | undefined;
|
|
148
|
-
};
|
|
149
|
-
} & {
|
|
150
|
-
id: string;
|
|
151
|
-
}, "id">[] | undefined, never, "?:", Omit<{
|
|
152
|
-
function: string;
|
|
153
|
-
meta?: {
|
|
154
|
-
readonly [x: string]: any;
|
|
155
164
|
} | undefined;
|
|
156
|
-
|
|
165
|
+
readonly subscription?: {
|
|
157
166
|
readonly filter: readonly {
|
|
158
167
|
readonly type: string;
|
|
159
168
|
readonly props?: {
|
|
160
169
|
readonly [x: string]: any;
|
|
161
170
|
} | undefined;
|
|
162
171
|
}[];
|
|
163
|
-
readonly
|
|
172
|
+
readonly spaceKey?: string | undefined;
|
|
164
173
|
readonly options?: {
|
|
165
174
|
readonly deep?: boolean | undefined;
|
|
166
175
|
readonly delay?: number | undefined;
|
|
167
176
|
} | undefined;
|
|
168
|
-
} |
|
|
169
|
-
|
|
170
|
-
readonly cron: string;
|
|
171
|
-
} | {
|
|
172
|
-
port?: number | undefined;
|
|
173
|
-
type: "webhook";
|
|
174
|
-
method: string;
|
|
175
|
-
} | {
|
|
176
|
-
readonly type: "websocket";
|
|
177
|
-
readonly url: string;
|
|
178
|
-
readonly init?: {
|
|
179
|
-
readonly [x: string]: any;
|
|
180
|
-
} | undefined;
|
|
181
|
-
};
|
|
182
|
-
} & {
|
|
183
|
-
id: string;
|
|
184
|
-
}, "id">[] | undefined, never>;
|
|
177
|
+
} | undefined;
|
|
178
|
+
}[] | undefined, never>;
|
|
185
179
|
}>;
|
|
186
180
|
export type FunctionManifest = S.Schema.Type<typeof FunctionManifestSchema>;
|
|
187
181
|
export {};
|
|
@@ -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,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAE3C,QAAA,MAAM,kBAAkB;;EAEtB,CAAC;AAEH,QAAA,MAAM,oBAAoB;;;GAMzB,CAAC;AAEF,QAAA,MAAM,sBAAsB;;;;;;;EAG1B,CAAC;AAEH,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;EAiB7B,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWzB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAClF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E;;GAEG;AAEH,QAAA,MAAM,iBAAiB;;;;;EAOrB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/functions",
|
|
3
|
-
"version": "0.5.3-main.
|
|
3
|
+
"version": "0.5.3-main.6f2dfea",
|
|
4
4
|
"description": "Functions SDK and runtime.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -20,35 +20,32 @@
|
|
|
20
20
|
"src"
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
|
+
"@effect/schema": "^0.64.20",
|
|
23
24
|
"@preact/signals-core": "^1.6.0",
|
|
24
25
|
"cron": "^3.1.6",
|
|
25
26
|
"effect": "^2.4.19",
|
|
26
27
|
"express": "^4.19.2",
|
|
27
28
|
"get-port-please": "^3.1.1",
|
|
28
29
|
"ws": "^8.14.2",
|
|
29
|
-
"@braneframe/types": "0.5.3-main.
|
|
30
|
-
"@dxos/
|
|
31
|
-
"@dxos/
|
|
32
|
-
"@dxos/
|
|
33
|
-
"@dxos/
|
|
34
|
-
"@dxos/
|
|
35
|
-
"@dxos/
|
|
36
|
-
"@dxos/
|
|
37
|
-
"@dxos/
|
|
38
|
-
"@dxos/log": "0.5.3-main.6e12b97",
|
|
39
|
-
"@dxos/protocols": "0.5.3-main.6e12b97",
|
|
40
|
-
"@dxos/util": "0.5.3-main.6e12b97"
|
|
30
|
+
"@braneframe/types": "0.5.3-main.6f2dfea",
|
|
31
|
+
"@dxos/context": "0.5.3-main.6f2dfea",
|
|
32
|
+
"@dxos/async": "0.5.3-main.6f2dfea",
|
|
33
|
+
"@dxos/client": "0.5.3-main.6f2dfea",
|
|
34
|
+
"@dxos/log": "0.5.3-main.6f2dfea",
|
|
35
|
+
"@dxos/node-std": "0.5.3-main.6f2dfea",
|
|
36
|
+
"@dxos/invariant": "0.5.3-main.6f2dfea",
|
|
37
|
+
"@dxos/echo-schema": "0.5.3-main.6f2dfea",
|
|
38
|
+
"@dxos/util": "0.5.3-main.6f2dfea"
|
|
41
39
|
},
|
|
42
40
|
"devDependencies": {
|
|
43
41
|
"@types/express": "^4.17.17",
|
|
44
42
|
"@types/ws": "^7.4.0",
|
|
45
|
-
"@dxos/agent": "0.5.3-main.
|
|
43
|
+
"@dxos/agent": "0.5.3-main.6f2dfea"
|
|
46
44
|
},
|
|
47
45
|
"publishConfig": {
|
|
48
46
|
"access": "public"
|
|
49
47
|
},
|
|
50
48
|
"scripts": {
|
|
51
|
-
"gen-schema": "ts-node ./tools/schema.ts"
|
|
52
|
-
"prebuild": "pnpm gen-schema"
|
|
49
|
+
"gen-schema": "ts-node ./tools/schema.ts"
|
|
53
50
|
}
|
|
54
51
|
}
|
package/schema/functions.json
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"type": "object",
|
|
4
|
-
"required": [
|
|
4
|
+
"required": [
|
|
5
|
+
"functions"
|
|
6
|
+
],
|
|
5
7
|
"properties": {
|
|
6
8
|
"functions": {
|
|
7
9
|
"type": "array",
|
|
8
10
|
"items": {
|
|
9
11
|
"type": "object",
|
|
10
12
|
"required": [
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
+
"id",
|
|
14
|
+
"path",
|
|
13
15
|
"handler"
|
|
14
16
|
],
|
|
15
17
|
"properties": {
|
|
16
|
-
"
|
|
18
|
+
"id": {
|
|
17
19
|
"type": "string",
|
|
18
20
|
"description": "a string",
|
|
19
21
|
"title": "string"
|
|
20
22
|
},
|
|
21
|
-
"
|
|
23
|
+
"path": {
|
|
22
24
|
"type": "string",
|
|
23
25
|
"description": "a string",
|
|
24
26
|
"title": "string"
|
|
@@ -42,8 +44,7 @@
|
|
|
42
44
|
"items": {
|
|
43
45
|
"type": "object",
|
|
44
46
|
"required": [
|
|
45
|
-
"function"
|
|
46
|
-
"spec"
|
|
47
|
+
"function"
|
|
47
48
|
],
|
|
48
49
|
"properties": {
|
|
49
50
|
"function": {
|
|
@@ -51,7 +52,7 @@
|
|
|
51
52
|
"description": "Function ID/URI.",
|
|
52
53
|
"title": "string"
|
|
53
54
|
},
|
|
54
|
-
"
|
|
55
|
+
"context": {
|
|
55
56
|
"type": "object",
|
|
56
57
|
"required": [],
|
|
57
58
|
"properties": {},
|
|
@@ -60,133 +61,113 @@
|
|
|
60
61
|
"title": "any"
|
|
61
62
|
}
|
|
62
63
|
},
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
|
|
64
|
+
"timer": {
|
|
65
|
+
"type": "object",
|
|
66
|
+
"required": [
|
|
67
|
+
"cron"
|
|
68
|
+
],
|
|
69
|
+
"properties": {
|
|
70
|
+
"cron": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"description": "a string",
|
|
73
|
+
"title": "string"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"additionalProperties": false
|
|
77
|
+
},
|
|
78
|
+
"webhook": {
|
|
79
|
+
"type": "object",
|
|
80
|
+
"required": [
|
|
81
|
+
"port"
|
|
82
|
+
],
|
|
83
|
+
"properties": {
|
|
84
|
+
"port": {
|
|
85
|
+
"type": "number",
|
|
86
|
+
"description": "a number",
|
|
87
|
+
"title": "number"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"additionalProperties": false
|
|
91
|
+
},
|
|
92
|
+
"websocket": {
|
|
93
|
+
"type": "object",
|
|
94
|
+
"required": [
|
|
95
|
+
"url"
|
|
96
|
+
],
|
|
97
|
+
"properties": {
|
|
98
|
+
"url": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"description": "a string",
|
|
101
|
+
"title": "string"
|
|
102
|
+
},
|
|
103
|
+
"init": {
|
|
66
104
|
"type": "object",
|
|
67
|
-
"required": [
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
105
|
+
"required": [],
|
|
106
|
+
"properties": {},
|
|
107
|
+
"additionalProperties": {
|
|
108
|
+
"$id": "/schemas/any",
|
|
109
|
+
"title": "any"
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"additionalProperties": false
|
|
114
|
+
},
|
|
115
|
+
"subscription": {
|
|
116
|
+
"type": "object",
|
|
117
|
+
"required": [
|
|
118
|
+
"filter"
|
|
119
|
+
],
|
|
120
|
+
"properties": {
|
|
121
|
+
"spaceKey": {
|
|
122
|
+
"type": "string",
|
|
123
|
+
"description": "a string",
|
|
124
|
+
"title": "string"
|
|
125
|
+
},
|
|
126
|
+
"filter": {
|
|
127
|
+
"type": "array",
|
|
128
|
+
"items": {
|
|
129
|
+
"type": "object",
|
|
130
|
+
"required": [
|
|
131
|
+
"type"
|
|
132
|
+
],
|
|
133
|
+
"properties": {
|
|
134
|
+
"type": {
|
|
135
|
+
"type": "string",
|
|
136
|
+
"description": "a string",
|
|
137
|
+
"title": "string"
|
|
138
|
+
},
|
|
139
|
+
"props": {
|
|
140
|
+
"type": "object",
|
|
141
|
+
"required": [],
|
|
142
|
+
"properties": {},
|
|
143
|
+
"additionalProperties": {
|
|
144
|
+
"$id": "/schemas/any",
|
|
145
|
+
"title": "any"
|
|
146
|
+
}
|
|
147
|
+
}
|
|
74
148
|
},
|
|
75
|
-
"
|
|
76
|
-
|
|
77
|
-
"description": "a string",
|
|
78
|
-
"title": "string"
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
"additionalProperties": false
|
|
149
|
+
"additionalProperties": false
|
|
150
|
+
}
|
|
82
151
|
},
|
|
83
|
-
{
|
|
152
|
+
"options": {
|
|
84
153
|
"type": "object",
|
|
85
|
-
"required": [
|
|
86
|
-
"type",
|
|
87
|
-
"method"
|
|
88
|
-
],
|
|
154
|
+
"required": [],
|
|
89
155
|
"properties": {
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
"type": "string",
|
|
95
|
-
"description": "a string",
|
|
96
|
-
"title": "string"
|
|
156
|
+
"deep": {
|
|
157
|
+
"type": "boolean",
|
|
158
|
+
"description": "a boolean",
|
|
159
|
+
"title": "boolean"
|
|
97
160
|
},
|
|
98
|
-
"
|
|
161
|
+
"delay": {
|
|
99
162
|
"type": "number",
|
|
100
163
|
"description": "a number",
|
|
101
164
|
"title": "number"
|
|
102
165
|
}
|
|
103
166
|
},
|
|
104
167
|
"additionalProperties": false
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
"type": "object",
|
|
108
|
-
"required": [
|
|
109
|
-
"type",
|
|
110
|
-
"url"
|
|
111
|
-
],
|
|
112
|
-
"properties": {
|
|
113
|
-
"type": {
|
|
114
|
-
"const": "websocket"
|
|
115
|
-
},
|
|
116
|
-
"url": {
|
|
117
|
-
"type": "string",
|
|
118
|
-
"description": "a string",
|
|
119
|
-
"title": "string"
|
|
120
|
-
},
|
|
121
|
-
"init": {
|
|
122
|
-
"type": "object",
|
|
123
|
-
"required": [],
|
|
124
|
-
"properties": {},
|
|
125
|
-
"additionalProperties": {
|
|
126
|
-
"$id": "/schemas/any",
|
|
127
|
-
"title": "any"
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
"additionalProperties": false
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
"type": "object",
|
|
135
|
-
"required": [
|
|
136
|
-
"type",
|
|
137
|
-
"filter"
|
|
138
|
-
],
|
|
139
|
-
"properties": {
|
|
140
|
-
"type": {
|
|
141
|
-
"const": "subscription"
|
|
142
|
-
},
|
|
143
|
-
"filter": {
|
|
144
|
-
"type": "array",
|
|
145
|
-
"items": {
|
|
146
|
-
"type": "object",
|
|
147
|
-
"required": [
|
|
148
|
-
"type"
|
|
149
|
-
],
|
|
150
|
-
"properties": {
|
|
151
|
-
"type": {
|
|
152
|
-
"type": "string",
|
|
153
|
-
"description": "a string",
|
|
154
|
-
"title": "string"
|
|
155
|
-
},
|
|
156
|
-
"props": {
|
|
157
|
-
"type": "object",
|
|
158
|
-
"required": [],
|
|
159
|
-
"properties": {},
|
|
160
|
-
"additionalProperties": {
|
|
161
|
-
"$id": "/schemas/any",
|
|
162
|
-
"title": "any"
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
},
|
|
166
|
-
"additionalProperties": false
|
|
167
|
-
}
|
|
168
|
-
},
|
|
169
|
-
"options": {
|
|
170
|
-
"type": "object",
|
|
171
|
-
"required": [],
|
|
172
|
-
"properties": {
|
|
173
|
-
"deep": {
|
|
174
|
-
"type": "boolean",
|
|
175
|
-
"description": "a boolean",
|
|
176
|
-
"title": "boolean"
|
|
177
|
-
},
|
|
178
|
-
"delay": {
|
|
179
|
-
"type": "number",
|
|
180
|
-
"description": "a number",
|
|
181
|
-
"title": "number"
|
|
182
|
-
}
|
|
183
|
-
},
|
|
184
|
-
"additionalProperties": false
|
|
185
|
-
}
|
|
186
|
-
},
|
|
187
|
-
"additionalProperties": false
|
|
188
168
|
}
|
|
189
|
-
|
|
169
|
+
},
|
|
170
|
+
"additionalProperties": false
|
|
190
171
|
}
|
|
191
172
|
},
|
|
192
173
|
"additionalProperties": false
|